Class NetappVolumeConfig.Builder
- java.lang.Object
-
- com.hashicorp.cdktf.providers.google.netapp_volume.NetappVolumeConfig.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<NetappVolumeConfig>
- Enclosing interface:
- NetappVolumeConfig
@Stability(Stable) public static final class NetappVolumeConfig.Builder extends Object implements software.amazon.jsii.Builder<NetappVolumeConfig>
A builder forNetappVolumeConfig
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
capacityGib
@Stability(Stable) public NetappVolumeConfig.Builder capacityGib(String capacityGib)
Sets the value ofNetappVolumeConfig.getCapacityGib()- Parameters:
capacityGib- Capacity of the volume (in GiB). This parameter is required. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#capacity_gib NetappVolume#capacity_gib}- Returns:
this
-
location
@Stability(Stable) public NetappVolumeConfig.Builder location(String location)
Sets the value ofNetappVolumeConfig.getLocation()- Parameters:
location- Name of the pool location. This parameter is required. 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}- Returns:
this
-
name
@Stability(Stable) public NetappVolumeConfig.Builder name(String name)
Sets the value ofNetappVolumeConfig.getName()- Parameters:
name- The name of the volume. Needs to be unique per location. This parameter is required. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#name NetappVolume#name}- Returns:
this
-
protocols
@Stability(Stable) public NetappVolumeConfig.Builder protocols(List<String> protocols)
Sets the value ofNetappVolumeConfig.getProtocols()- Parameters:
protocols- The protocol of the volume. This parameter is required. 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}- Returns:
this
-
shareName
@Stability(Stable) public NetappVolumeConfig.Builder shareName(String shareName)
Sets the value ofNetappVolumeConfig.getShareName()- Parameters:
shareName- Share name (SMB) or export path (NFS) of the volume. Needs to be unique per location. This parameter is required. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#share_name NetappVolume#share_name}- Returns:
this
-
storagePool
@Stability(Stable) public NetappVolumeConfig.Builder storagePool(String storagePool)
Sets the value ofNetappVolumeConfig.getStoragePool()- 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. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#storage_pool NetappVolume#storage_pool}- Returns:
this
-
backupConfig
@Stability(Stable) public NetappVolumeConfig.Builder backupConfig(NetappVolumeBackupConfig backupConfig)
Sets the value ofNetappVolumeConfig.getBackupConfig()- Parameters:
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}- Returns:
this
-
deletionPolicy
@Stability(Stable) public NetappVolumeConfig.Builder deletionPolicy(String deletionPolicy)
Sets the value ofNetappVolumeConfig.getDeletionPolicy()- Parameters:
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}- Returns:
this
-
description
@Stability(Stable) public NetappVolumeConfig.Builder description(String description)
Sets the value ofNetappVolumeConfig.getDescription()- Parameters:
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}- Returns:
this
-
exportPolicy
@Stability(Stable) public NetappVolumeConfig.Builder exportPolicy(NetappVolumeExportPolicy exportPolicy)
Sets the value ofNetappVolumeConfig.getExportPolicy()- Parameters:
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}- Returns:
this
-
id
@Stability(Stable) public NetappVolumeConfig.Builder id(String id)
Sets the value ofNetappVolumeConfig.getId()- Parameters:
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.- Returns:
this
-
kerberosEnabled
@Stability(Stable) public NetappVolumeConfig.Builder kerberosEnabled(Boolean kerberosEnabled)
Sets the value ofNetappVolumeConfig.getKerberosEnabled()- Parameters:
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}- Returns:
this
-
kerberosEnabled
@Stability(Stable) public NetappVolumeConfig.Builder kerberosEnabled(com.hashicorp.cdktf.IResolvable kerberosEnabled)
Sets the value ofNetappVolumeConfig.getKerberosEnabled()- Parameters:
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}- Returns:
this
-
labels
@Stability(Stable) public NetappVolumeConfig.Builder labels(Map<String,String> labels)
Sets the value ofNetappVolumeConfig.getLabels()- Parameters:
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}- Returns:
this
-
project
@Stability(Stable) public NetappVolumeConfig.Builder project(String project)
Sets the value ofNetappVolumeConfig.getProject()- Parameters:
project- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#project NetappVolume#project}.- Returns:
this
-
restoreParameters
@Stability(Stable) public NetappVolumeConfig.Builder restoreParameters(NetappVolumeRestoreParameters restoreParameters)
Sets the value ofNetappVolumeConfig.getRestoreParameters()- Parameters:
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}- Returns:
this
-
restrictedActions
@Stability(Stable) public NetappVolumeConfig.Builder restrictedActions(List<String> restrictedActions)
Sets the value ofNetappVolumeConfig.getRestrictedActions()- Parameters:
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}- Returns:
this
-
securityStyle
@Stability(Stable) public NetappVolumeConfig.Builder securityStyle(String securityStyle)
Sets the value ofNetappVolumeConfig.getSecurityStyle()- Parameters:
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}- Returns:
this
-
smbSettings
@Stability(Stable) public NetappVolumeConfig.Builder smbSettings(List<String> smbSettings)
Sets the value ofNetappVolumeConfig.getSmbSettings()- 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"]. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#smb_settings NetappVolume#smb_settings}- Returns:
this
-
snapshotDirectory
@Stability(Stable) public NetappVolumeConfig.Builder snapshotDirectory(Boolean snapshotDirectory)
Sets the value ofNetappVolumeConfig.getSnapshotDirectory()- 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. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#snapshot_directory NetappVolume#snapshot_directory}- Returns:
this
-
snapshotDirectory
@Stability(Stable) public NetappVolumeConfig.Builder snapshotDirectory(com.hashicorp.cdktf.IResolvable snapshotDirectory)
Sets the value ofNetappVolumeConfig.getSnapshotDirectory()- 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. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/netapp_volume#snapshot_directory NetappVolume#snapshot_directory}- Returns:
this
-
snapshotPolicy
@Stability(Stable) public NetappVolumeConfig.Builder snapshotPolicy(NetappVolumeSnapshotPolicy snapshotPolicy)
Sets the value ofNetappVolumeConfig.getSnapshotPolicy()- Parameters:
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}- Returns:
this
-
timeouts
@Stability(Stable) public NetappVolumeConfig.Builder timeouts(NetappVolumeTimeouts timeouts)
Sets the value ofNetappVolumeConfig.getTimeouts()- Parameters:
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}- Returns:
this
-
unixPermissions
@Stability(Stable) public NetappVolumeConfig.Builder unixPermissions(String unixPermissions)
Sets the value ofNetappVolumeConfig.getUnixPermissions()- Parameters:
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}- Returns:
this
-
connection
@Stability(Experimental) public NetappVolumeConfig.Builder connection(com.hashicorp.cdktf.SSHProvisionerConnection connection)
Sets the value ofTerraformMetaArguments.getConnection()- Parameters:
connection- the value to be set.- Returns:
this
-
connection
@Stability(Experimental) public NetappVolumeConfig.Builder connection(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
Sets the value ofTerraformMetaArguments.getConnection()- Parameters:
connection- the value to be set.- Returns:
this
-
count
@Stability(Experimental) public NetappVolumeConfig.Builder count(Number count)
Sets the value ofTerraformMetaArguments.getCount()- Parameters:
count- the value to be set.- Returns:
this
-
count
@Stability(Experimental) public NetappVolumeConfig.Builder count(com.hashicorp.cdktf.TerraformCount count)
Sets the value ofTerraformMetaArguments.getCount()- Parameters:
count- the value to be set.- Returns:
this
-
dependsOn
@Stability(Experimental) public NetappVolumeConfig.Builder dependsOn(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
Sets the value ofTerraformMetaArguments.getDependsOn()- Parameters:
dependsOn- the value to be set.- Returns:
this
-
forEach
@Stability(Experimental) public NetappVolumeConfig.Builder forEach(com.hashicorp.cdktf.ITerraformIterator forEach)
Sets the value ofTerraformMetaArguments.getForEach()- Parameters:
forEach- the value to be set.- Returns:
this
-
lifecycle
@Stability(Experimental) public NetappVolumeConfig.Builder lifecycle(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
Sets the value ofTerraformMetaArguments.getLifecycle()- Parameters:
lifecycle- the value to be set.- Returns:
this
-
provider
@Stability(Experimental) public NetappVolumeConfig.Builder provider(com.hashicorp.cdktf.TerraformProvider provider)
Sets the value ofTerraformMetaArguments.getProvider()- Parameters:
provider- the value to be set.- Returns:
this
-
provisioners
@Stability(Experimental) public NetappVolumeConfig.Builder provisioners(List<? extends Object> provisioners)
Sets the value ofTerraformMetaArguments.getProvisioners()- Parameters:
provisioners- the value to be set.- Returns:
this
-
build
@Stability(Stable) public NetappVolumeConfig build()
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<NetappVolumeConfig>- Returns:
- a new instance of
NetappVolumeConfig - Throws:
NullPointerException- if any required attribute was not provided
-
-