Class NetappVolume.Builder
- java.lang.Object
-
- com.hashicorp.cdktf.providers.google.netapp_volume.NetappVolume.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<NetappVolume>
- Enclosing class:
- NetappVolume
@Stability(Stable) public static final class NetappVolume.Builder extends Object implements software.amazon.jsii.Builder<NetappVolume>
A fluent builder forNetappVolume.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description NetappVolume.BuilderbackupConfig(NetappVolumeBackupConfig backupConfig)backup_config block.NetappVolumebuild()NetappVolume.BuildercapacityGib(String capacityGib)Capacity of the volume (in GiB).NetappVolume.Builderconnection(com.hashicorp.cdktf.SSHProvisionerConnection connection)NetappVolume.Builderconnection(com.hashicorp.cdktf.WinrmProvisionerConnection connection)NetappVolume.Buildercount(com.hashicorp.cdktf.TerraformCount count)NetappVolume.Buildercount(Number count)static NetappVolume.Buildercreate(software.constructs.Construct scope, String id)NetappVolume.BuilderdeletionPolicy(String deletionPolicy)Policy to determine if the volume should be deleted forcefully.NetappVolume.BuilderdependsOn(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)NetappVolume.Builderdescription(String description)An optional description of this resource.NetappVolume.BuilderexportPolicy(NetappVolumeExportPolicy exportPolicy)export_policy block.NetappVolume.BuilderforEach(com.hashicorp.cdktf.ITerraformIterator forEach)NetappVolume.Builderid(String id)Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#id NetappVolume#id}.NetappVolume.BuilderkerberosEnabled(com.hashicorp.cdktf.IResolvable kerberosEnabled)Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos security modes (krb5, krb5i, krb5p).NetappVolume.BuilderkerberosEnabled(Boolean kerberosEnabled)Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos security modes (krb5, krb5i, krb5p).NetappVolume.Builderlabels(Map<String,String> labels)Labels as key value pairs.NetappVolume.Builderlifecycle(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)NetappVolume.Builderlocation(String location)Name of the pool location.NetappVolume.Buildername(String name)The name of the volume.NetappVolume.Builderproject(String project)Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#project NetappVolume#project}.NetappVolume.Builderprotocols(List<String> protocols)The protocol of the volume.NetappVolume.Builderprovider(com.hashicorp.cdktf.TerraformProvider provider)NetappVolume.Builderprovisioners(List<? extends Object> provisioners)NetappVolume.BuilderrestoreParameters(NetappVolumeRestoreParameters restoreParameters)restore_parameters block.NetappVolume.BuilderrestrictedActions(List<String> restrictedActions)List of actions that are restricted on this volume.NetappVolume.BuildersecurityStyle(String securityStyle)Security Style of the Volume.NetappVolume.BuildershareName(String shareName)Share name (SMB) or export path (NFS) of the volume.NetappVolume.BuildersmbSettings(List<String> smbSettings)Settings for volumes with SMB access.NetappVolume.BuildersnapshotDirectory(com.hashicorp.cdktf.IResolvable snapshotDirectory)If enabled, a NFS volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots.NetappVolume.BuildersnapshotDirectory(Boolean snapshotDirectory)If enabled, a NFS volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots.NetappVolume.BuildersnapshotPolicy(NetappVolumeSnapshotPolicy snapshotPolicy)snapshot_policy block.NetappVolume.BuilderstoragePool(String storagePool)Name of the storage pool to create the volume in.NetappVolume.Buildertimeouts(NetappVolumeTimeouts timeouts)timeouts block.NetappVolume.BuilderunixPermissions(String unixPermissions)Unix permission the mount point will be created with.
-
-
-
Method Detail
-
create
@Stability(Stable) public static NetappVolume.Builder create(software.constructs.Construct scope, String id)
- Parameters:
scope- The scope in which to define this construct. This parameter is required.id- The scoped construct ID. This parameter is required.- Returns:
- a new instance of
NetappVolume.Builder.
-
connection
@Stability(Experimental) public NetappVolume.Builder connection(com.hashicorp.cdktf.SSHProvisionerConnection connection)
- Parameters:
connection- This parameter is required.- Returns:
this
-
connection
@Stability(Experimental) public NetappVolume.Builder connection(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
- Parameters:
connection- This parameter is required.- Returns:
this
-
count
@Stability(Experimental) public NetappVolume.Builder count(Number count)
- Parameters:
count- This parameter is required.- Returns:
this
-
count
@Stability(Experimental) public NetappVolume.Builder count(com.hashicorp.cdktf.TerraformCount count)
- Parameters:
count- This parameter is required.- Returns:
this
-
dependsOn
@Stability(Experimental) public NetappVolume.Builder dependsOn(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
- Parameters:
dependsOn- This parameter is required.- Returns:
this
-
forEach
@Stability(Experimental) public NetappVolume.Builder forEach(com.hashicorp.cdktf.ITerraformIterator forEach)
- Parameters:
forEach- This parameter is required.- Returns:
this
-
lifecycle
@Stability(Experimental) public NetappVolume.Builder lifecycle(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
- Parameters:
lifecycle- This parameter is required.- Returns:
this
-
provider
@Stability(Experimental) public NetappVolume.Builder provider(com.hashicorp.cdktf.TerraformProvider provider)
- Parameters:
provider- This parameter is required.- Returns:
this
-
provisioners
@Stability(Experimental) public NetappVolume.Builder provisioners(List<? extends Object> provisioners)
- Parameters:
provisioners- This parameter is required.- Returns:
this
-
capacityGib
@Stability(Stable) public NetappVolume.Builder capacityGib(String capacityGib)
Capacity of the volume (in GiB).Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#capacity_gib NetappVolume#capacity_gib}
- Parameters:
capacityGib- Capacity of the volume (in GiB). This parameter is required.- Returns:
this
-
location
@Stability(Stable) public NetappVolume.Builder location(String location)
Name of the pool location.Usually a region name, expect for some STANDARD service level pools which require a zone name. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#location NetappVolume#location}
- Parameters:
location- Name of the pool location. This parameter is required.- Returns:
this
-
name
@Stability(Stable) public NetappVolume.Builder name(String name)
The name of the volume. Needs to be unique per location.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#name NetappVolume#name}
- Parameters:
name- The name of the volume. Needs to be unique per location. This parameter is required.- Returns:
this
-
protocols
@Stability(Stable) public NetappVolume.Builder protocols(List<String> protocols)
The protocol of the volume.Allowed combinations are '['NFSV3']', '['NFSV4']', '['SMB']', '['NFSV3', 'NFSV4']', '['SMB', 'NFSV3']' and '['SMB', 'NFSV4']'. Possible values: ["NFSV3", "NFSV4", "SMB"] Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#protocols NetappVolume#protocols}
- Parameters:
protocols- The protocol of the volume. This parameter is required.- Returns:
this
-
shareName
@Stability(Stable) public NetappVolume.Builder shareName(String shareName)
Share name (SMB) or export path (NFS) of the volume. Needs to be unique per location.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#share_name NetappVolume#share_name}
- Parameters:
shareName- Share name (SMB) or export path (NFS) of the volume. Needs to be unique per location. This parameter is required.- Returns:
this
-
storagePool
@Stability(Stable) public NetappVolume.Builder storagePool(String storagePool)
Name of the storage pool to create the volume in. Pool needs enough spare capacity to accomodate the volume.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#storage_pool NetappVolume#storage_pool}
- Parameters:
storagePool- Name of the storage pool to create the volume in. Pool needs enough spare capacity to accomodate the volume. This parameter is required.- Returns:
this
-
backupConfig
@Stability(Stable) public NetappVolume.Builder backupConfig(NetappVolumeBackupConfig backupConfig)
backup_config block.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#backup_config NetappVolume#backup_config}
- Parameters:
backupConfig- backup_config block. This parameter is required.- Returns:
this
-
deletionPolicy
@Stability(Stable) public NetappVolume.Builder deletionPolicy(String deletionPolicy)
Policy to determine if the volume should be deleted forcefully.Volumes may have nested snapshot resources. Deleting such a volume will fail. Setting this parameter to FORCE will delete volumes including nested snapshots. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#deletion_policy NetappVolume#deletion_policy}
- Parameters:
deletionPolicy- Policy to determine if the volume should be deleted forcefully. This parameter is required.- Returns:
this
-
description
@Stability(Stable) public NetappVolume.Builder description(String description)
An optional description of this resource.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#description NetappVolume#description}
- Parameters:
description- An optional description of this resource. This parameter is required.- Returns:
this
-
exportPolicy
@Stability(Stable) public NetappVolume.Builder exportPolicy(NetappVolumeExportPolicy exportPolicy)
export_policy block.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#export_policy NetappVolume#export_policy}
- Parameters:
exportPolicy- export_policy block. This parameter is required.- Returns:
this
-
id
@Stability(Stable) public NetappVolume.Builder id(String id)
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#id NetappVolume#id}.Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
- Parameters:
id- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#id NetappVolume#id}. This parameter is required.- Returns:
this
-
kerberosEnabled
@Stability(Stable) public NetappVolume.Builder kerberosEnabled(Boolean kerberosEnabled)
Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos security modes (krb5, krb5i, krb5p).Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#kerberos_enabled NetappVolume#kerberos_enabled}
- Parameters:
kerberosEnabled- Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos security modes (krb5, krb5i, krb5p). This parameter is required.- Returns:
this
-
kerberosEnabled
@Stability(Stable) public NetappVolume.Builder kerberosEnabled(com.hashicorp.cdktf.IResolvable kerberosEnabled)
Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos security modes (krb5, krb5i, krb5p).Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#kerberos_enabled NetappVolume#kerberos_enabled}
- Parameters:
kerberosEnabled- Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos security modes (krb5, krb5i, krb5p). This parameter is required.- Returns:
this
-
labels
@Stability(Stable) public NetappVolume.Builder labels(Map<String,String> labels)
Labels as key value pairs. Example: '{ "owner": "Bob", "department": "finance", "purpose": "testing" }'.**Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#labels NetappVolume#labels}
- Parameters:
labels- Labels as key value pairs. Example: '{ "owner": "Bob", "department": "finance", "purpose": "testing" }'. This parameter is required.- Returns:
this
-
project
@Stability(Stable) public NetappVolume.Builder project(String project)
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#project NetappVolume#project}.- Parameters:
project- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#project NetappVolume#project}. This parameter is required.- Returns:
this
-
restoreParameters
@Stability(Stable) public NetappVolume.Builder restoreParameters(NetappVolumeRestoreParameters restoreParameters)
restore_parameters block.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#restore_parameters NetappVolume#restore_parameters}
- Parameters:
restoreParameters- restore_parameters block. This parameter is required.- Returns:
this
-
restrictedActions
@Stability(Stable) public NetappVolume.Builder restrictedActions(List<String> restrictedActions)
List of actions that are restricted on this volume. Possible values: ["DELETE"].Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#restricted_actions NetappVolume#restricted_actions}
- Parameters:
restrictedActions- List of actions that are restricted on this volume. Possible values: ["DELETE"]. This parameter is required.- Returns:
this
-
securityStyle
@Stability(Stable) public NetappVolume.Builder securityStyle(String securityStyle)
Security Style of the Volume.Use UNIX to use UNIX or NFSV4 ACLs for file permissions. Use NTFS to use NTFS ACLs for file permissions. Can only be set for volumes which use SMB together with NFS as protocol. Possible values: ["NTFS", "UNIX"] Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#security_style NetappVolume#security_style}
- Parameters:
securityStyle- Security Style of the Volume. This parameter is required.- Returns:
this
-
smbSettings
@Stability(Stable) public NetappVolume.Builder smbSettings(List<String> smbSettings)
Settings for volumes with SMB access. Possible values: ["ENCRYPT_DATA", "BROWSABLE", "CHANGE_NOTIFY", "NON_BROWSABLE", "OPLOCKS", "SHOW_SNAPSHOT", "SHOW_PREVIOUS_VERSIONS", "ACCESS_BASED_ENUMERATION", "CONTINUOUSLY_AVAILABLE"].Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#smb_settings NetappVolume#smb_settings}
- Parameters:
smbSettings- Settings for volumes with SMB access. Possible values: ["ENCRYPT_DATA", "BROWSABLE", "CHANGE_NOTIFY", "NON_BROWSABLE", "OPLOCKS", "SHOW_SNAPSHOT", "SHOW_PREVIOUS_VERSIONS", "ACCESS_BASED_ENUMERATION", "CONTINUOUSLY_AVAILABLE"]. This parameter is required.- Returns:
this
-
snapshotDirectory
@Stability(Stable) public NetappVolume.Builder snapshotDirectory(Boolean snapshotDirectory)
If enabled, a NFS volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots. Will enable "Previous Versions" support for SMB.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#snapshot_directory NetappVolume#snapshot_directory}
- Parameters:
snapshotDirectory- If enabled, a NFS volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots. Will enable "Previous Versions" support for SMB. This parameter is required.- Returns:
this
-
snapshotDirectory
@Stability(Stable) public NetappVolume.Builder snapshotDirectory(com.hashicorp.cdktf.IResolvable snapshotDirectory)
If enabled, a NFS volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots. Will enable "Previous Versions" support for SMB.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#snapshot_directory NetappVolume#snapshot_directory}
- Parameters:
snapshotDirectory- If enabled, a NFS volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots. Will enable "Previous Versions" support for SMB. This parameter is required.- Returns:
this
-
snapshotPolicy
@Stability(Stable) public NetappVolume.Builder snapshotPolicy(NetappVolumeSnapshotPolicy snapshotPolicy)
snapshot_policy block.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#snapshot_policy NetappVolume#snapshot_policy}
- Parameters:
snapshotPolicy- snapshot_policy block. This parameter is required.- Returns:
this
-
timeouts
@Stability(Stable) public NetappVolume.Builder timeouts(NetappVolumeTimeouts timeouts)
timeouts block.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#timeouts NetappVolume#timeouts}
- Parameters:
timeouts- timeouts block. This parameter is required.- Returns:
this
-
unixPermissions
@Stability(Stable) public NetappVolume.Builder unixPermissions(String unixPermissions)
Unix permission the mount point will be created with. Default is 0770. Applicable for UNIX security style volumes only.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#unix_permissions NetappVolume#unix_permissions}
- Parameters:
unixPermissions- Unix permission the mount point will be created with. Default is 0770. Applicable for UNIX security style volumes only. This parameter is required.- Returns:
this
-
build
@Stability(Stable) public NetappVolume build()
- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<NetappVolume>- Returns:
- a newly built instance of
NetappVolume.
-
-