GCP.NetApp reference
ActiveDirectory
Section titled “ActiveDirectory”Source:
src/GCP/NetApp/ActiveDirectory.ts
A Cloud NetApp Volumes Active Directory connection used by SMB and Kerberos volumes.
Changing activeDirectoryId, location, domain, or netBiosPrefix
replaces the directory. Credentials, operators, description, and labels
update in place.
ActiveDirectory: Creating an Active Directory
Section titled “ActiveDirectory: Creating an Active Directory”Generated name
const ad = yield* GCP.NetApp.ActiveDirectory("Corp", { domain: "ad.example.com", dns: "10.0.0.2", netBiosPrefix: "netapp", username: "admin", password: secret,});Operators and encryption
const ad = yield* GCP.NetApp.ActiveDirectory("Corp", { domain: "ad.example.com", dns: "10.0.0.2,10.0.0.3", netBiosPrefix: "netapp", username: "admin", password: secret, administrators: ["alice"], aesEncryption: true, labels: { env: "prod" },});ActiveDirectory: Updating an Active Directory
Section titled “ActiveDirectory: Updating an Active Directory”const ad = yield* GCP.NetApp.ActiveDirectory("Corp", { domain: "ad.example.com", dns: "10.0.0.2", netBiosPrefix: "netapp", username: "admin", description: "corp ad v2", labels: { env: "prod", team: "storage" },});BackupPolicy
Section titled “BackupPolicy”Source:
src/GCP/NetApp/BackupPolicy.ts
A Cloud NetApp Volumes backup policy that schedules daily, weekly, and monthly volume backups.
Changing backupPolicyId or location replaces the policy. Retention
limits, enabled, description, and labels update in place.
BackupPolicy: Creating a Backup Policy
Section titled “BackupPolicy: Creating a Backup Policy”Generated name
const policy = yield* GCP.NetApp.BackupPolicy("Nightly", {});Explicit id and limits
const policy = yield* GCP.NetApp.BackupPolicy("Nightly", { backupPolicyId: "app-nightly", dailyBackupLimit: 2, weeklyBackupLimit: 1, monthlyBackupLimit: 1, description: "nightly backups", labels: { env: "prod" },});BackupPolicy: Updating a Backup Policy
Section titled “BackupPolicy: Updating a Backup Policy”const policy = yield* GCP.NetApp.BackupPolicy("Nightly", { description: "nightly backups v2", labels: { env: "prod", team: "storage" },});BackupVault
Section titled “BackupVault”Source:
src/GCP/NetApp/BackupVault.ts
A Cloud NetApp Volumes backup vault that stores volume backups.
Changing backupVaultId, location, backupVaultType, backupRegion,
or kmsConfig replaces the vault. Description, labels, and retention
policy update in place.
BackupVault: Creating a Backup Vault
Section titled “BackupVault: Creating a Backup Vault”Generated name
const vault = yield* GCP.NetApp.BackupVault("Vault", {});Explicit id and description
const vault = yield* GCP.NetApp.BackupVault("Vault", { backupVaultId: "app-backups", description: "nightly backups", labels: { env: "prod" },});BackupVault: Updating a Backup Vault
Section titled “BackupVault: Updating a Backup Vault”const vault = yield* GCP.NetApp.BackupVault("Vault", { description: "nightly backups v2", labels: { env: "prod", team: "storage" },});BackupVaultsBackup
Section titled “BackupVaultsBackup”Source:
src/GCP/NetApp/BackupVaultsBackup.ts
A Cloud NetApp Volumes backup stored in a backup vault.
Changing backupId, backupVault, location, sourceVolume,
sourceSnapshot, or ontapSource replaces the backup. Description and
labels update in place.
BackupVaultsBackup: Creating a Backup
Section titled “BackupVaultsBackup: Creating a Backup”From a volume
const backup = yield* GCP.NetApp.BackupVaultsBackup("Nightly", { backupVault: vault.name, sourceVolume: volume.name,});From a snapshot
const backup = yield* GCP.NetApp.BackupVaultsBackup("Nightly", { backupVault: vault.name, sourceVolume: volume.name, sourceSnapshot: snapshot.name, description: "pre-release", labels: { env: "prod" },});BackupVaultsBackup: Updating a Backup
Section titled “BackupVaultsBackup: Updating a Backup”const backup = yield* GCP.NetApp.BackupVaultsBackup("Nightly", { backupVault: vault.name, sourceVolume: volume.name, description: "pre-release v2", labels: { env: "prod", team: "storage" },});HostGroup
Section titled “HostGroup”Source:
src/GCP/NetApp/HostGroup.ts
A Cloud NetApp Volumes host group — a set of iSCSI initiators that can mount a block volume.
Changing hostGroupId, location, type, or osType replaces the
group. Hosts, description, and labels update in place.
HostGroup: Creating a Host Group
Section titled “HostGroup: Creating a Host Group”Generated name
const group = yield* GCP.NetApp.HostGroup("Initiators", { hosts: ["iqn.1993-08.org.debian:01:db"],});Explicit id and OS
const group = yield* GCP.NetApp.HostGroup("Initiators", { hostGroupId: "db-hosts", hosts: ["iqn.1993-08.org.debian:01:db"], osType: "LINUX", description: "database initiators", labels: { env: "prod" },});HostGroup: Updating a Host Group
Section titled “HostGroup: Updating a Host Group”const group = yield* GCP.NetApp.HostGroup("Initiators", { hosts: [ "iqn.1993-08.org.debian:01:db", "iqn.1993-08.org.debian:01:db2", ], labels: { env: "prod", team: "storage" },});KmsConfig
Section titled “KmsConfig”Source:
src/GCP/NetApp/KmsConfig.ts
A Cloud NetApp Volumes CMEK configuration that encrypts volumes with a customer-managed Cloud KMS key.
Changing kmsConfigId, location, or cryptoKeyName replaces the
config. Description and labels update in place.
KmsConfig: Creating a KMS Config
Section titled “KmsConfig: Creating a KMS Config”Generated name
const kms = yield* GCP.NetApp.KmsConfig("Cmek", { cryptoKeyName: key.name,});Explicit id and description
const kms = yield* GCP.NetApp.KmsConfig("Cmek", { kmsConfigId: "app-cmek", cryptoKeyName: key.name, description: "volume encryption", labels: { env: "prod" },});KmsConfig: Updating a KMS Config
Section titled “KmsConfig: Updating a KMS Config”const kms = yield* GCP.NetApp.KmsConfig("Cmek", { cryptoKeyName: key.name, description: "volume encryption v2", labels: { env: "prod", team: "storage" },});StoragePool
Section titled “StoragePool”Source:
src/GCP/NetApp/StoragePool.ts
A Cloud NetApp Volumes storage pool — billed capacity that hosts volumes at a service level.
Changing storagePoolId, location, network, serviceLevel,
zone, replicaZone, kmsConfig, ldapEnabled, type, mode,
customPerformanceEnabled, or scaleType replaces the pool. Capacity,
description, labels, QoS, and auto-tiering update in place.
StoragePool: Creating a Storage Pool
Section titled “StoragePool: Creating a Storage Pool”Generated name
const pool = yield* GCP.NetApp.StoragePool("Pool", { network: "default", serviceLevel: "STANDARD", capacityGib: 2048,});Explicit id and labels
const pool = yield* GCP.NetApp.StoragePool("Pool", { storagePoolId: "app-pool", network: "default", serviceLevel: "PREMIUM", capacityGib: 4096, description: "app volumes", labels: { env: "prod" },});StoragePool: Updating a Storage Pool
Section titled “StoragePool: Updating a Storage Pool”const pool = yield* GCP.NetApp.StoragePool("Pool", { network: "default", serviceLevel: "STANDARD", capacityGib: 4096, description: "app volumes v2", labels: { env: "prod", team: "storage" },});Volume
Section titled “Volume”Source:
src/GCP/NetApp/Volume.ts
A Cloud NetApp Volumes file or block volume hosted in a storage pool.
Changing volumeId, location, storagePool, shareName,
protocols, securityStyle, kerberosEnabled, restoreParameters,
or large-capacity flags replaces the volume. Capacity, export policy,
snapshots, backups, description, and labels update in place.
Volume: Creating a Volume
Section titled “Volume: Creating a Volume”NFS volume
const volume = yield* GCP.NetApp.Volume("Share", { storagePool: pool.name, protocols: ["NFSV3"], capacityGib: 100,});Explicit share name and export policy
const volume = yield* GCP.NetApp.Volume("Share", { storagePool: pool.name, shareName: "app", protocols: ["NFSV3"], capacityGib: 200, unixPermissions: "0770", exportPolicy: { rules: [{ allowedClients: "10.0.0.0/24", accessType: "READ_WRITE" }], }, labels: { env: "prod" },});Volume: Updating a Volume
Section titled “Volume: Updating a Volume”const volume = yield* GCP.NetApp.Volume("Share", { storagePool: pool.name, capacityGib: 300, description: "app share v2", labels: { env: "prod", team: "storage" },});VolumesQuotaRule
Section titled “VolumesQuotaRule”Source:
src/GCP/NetApp/VolumesQuotaRule.ts
A Cloud NetApp Volumes quota rule that caps disk usage for a user or group on a volume.
Changing quotaRuleId, volume, location, type, or target
replaces the rule. Disk limit, description, and labels update in place.
VolumesQuotaRule: Creating a Quota Rule
Section titled “VolumesQuotaRule: Creating a Quota Rule”Default user quota
const rule = yield* GCP.NetApp.VolumesQuotaRule("DefaultUser", { volume: volume.name, type: "DEFAULT_USER_QUOTA", diskLimitMib: 1024,});Individual user quota
const rule = yield* GCP.NetApp.VolumesQuotaRule("Alice", { volume: volume.name, type: "INDIVIDUAL_USER_QUOTA", target: "1001", diskLimitMib: 2048, labels: { env: "prod" },});VolumesQuotaRule: Updating a Quota Rule
Section titled “VolumesQuotaRule: Updating a Quota Rule”const rule = yield* GCP.NetApp.VolumesQuotaRule("DefaultUser", { volume: volume.name, diskLimitMib: 4096, description: "default user v2", labels: { env: "prod", team: "storage" },});VolumesReplication
Section titled “VolumesReplication”Source:
src/GCP/NetApp/VolumesReplication.ts
A Cloud NetApp Volumes cross-region replication. Creating it also creates a destination volume in the destination pool.
Changing replicationId, volume, location, or destination
identity (storagePool / volumeId / shareName) replaces the
replication. Schedule, description, labels, clusterLocation, and
replicationEnabled update in place.
VolumesReplication: Creating a Replication
Section titled “VolumesReplication: Creating a Replication”Hourly mirror into another region
const replica = yield* GCP.NetApp.VolumesReplication("Dr", { volume: sourceVolume.name, replicationSchedule: "HOURLY", destinationVolumeParameters: { storagePool: destPool.name, volumeId: "app-dr", shareName: "app", }, labels: { env: "prod" },});Ten-minute schedule with description
const replica = yield* GCP.NetApp.VolumesReplication("Dr", { volume: sourceVolume.name, replicationSchedule: "EVERY_10_MINUTES", destinationVolumeParameters: { storagePool: destPool.name, }, description: "us-central1 to us-east1",});VolumesReplication: Updating a Replication
Section titled “VolumesReplication: Updating a Replication”const replica = yield* GCP.NetApp.VolumesReplication("Dr", { volume: sourceVolume.name, replicationSchedule: "HOURLY", destinationVolumeParameters: { storagePool: destPool.name, }, replicationEnabled: false,});VolumesSnapshot
Section titled “VolumesSnapshot”Source:
src/GCP/NetApp/VolumesSnapshot.ts
A Cloud NetApp Volumes snapshot — a point-in-time copy of a volume.
Changing snapshotId, volume, or location replaces the snapshot.
Description and labels update in place.
VolumesSnapshot: Creating a Snapshot
Section titled “VolumesSnapshot: Creating a Snapshot”Generated name
const snap = yield* GCP.NetApp.VolumesSnapshot("Nightly", { volume: volume.name,});Explicit id, description, and labels
const snap = yield* GCP.NetApp.VolumesSnapshot("Nightly", { volume: volume.name, snapshotId: "app-nightly", description: "nightly snapshot", labels: { env: "prod" },});VolumesSnapshot: Updating a Snapshot
Section titled “VolumesSnapshot: Updating a Snapshot”const snap = yield* GCP.NetApp.VolumesSnapshot("Nightly", { volume: volume.name, description: "nightly snapshot v2", labels: { env: "prod", team: "storage" },});