Class NetappVolumeConfig.Builder

    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • capacityGib

        @Stability(Stable)
        public NetappVolumeConfig.Builder capacityGib​(String capacityGib)
        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)
        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)
        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)
        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)
        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)
        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
      • deletionPolicy

        @Stability(Stable)
        public NetappVolumeConfig.Builder deletionPolicy​(String deletionPolicy)
        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)
        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
      • id

        @Stability(Stable)
        public NetappVolumeConfig.Builder id​(String id)
        Sets the value of NetappVolumeConfig.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)
        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)
        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)
        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)
        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
      • restrictedActions

        @Stability(Stable)
        public NetappVolumeConfig.Builder restrictedActions​(List<String> restrictedActions)
        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)
        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)
        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)
        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)
        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
      • unixPermissions

        @Stability(Stable)
        public NetappVolumeConfig.Builder unixPermissions​(String unixPermissions)
        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 of TerraformMetaArguments.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 of TerraformMetaArguments.getConnection()
        Parameters:
        connection - the value to be set.
        Returns:
        this
      • count

        @Stability(Experimental)
        public NetappVolumeConfig.Builder count​(Number count)
        Sets the value of TerraformMetaArguments.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 of TerraformMetaArguments.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 of TerraformMetaArguments.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 of TerraformMetaArguments.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 of TerraformMetaArguments.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 of TerraformMetaArguments.getProvider()
        Parameters:
        provider - the value to be set.
        Returns:
        this
      • provisioners

        @Stability(Experimental)
        public NetappVolumeConfig.Builder provisioners​(List<? extends Object> provisioners)
        Sets the value of TerraformMetaArguments.getProvisioners()
        Parameters:
        provisioners - the value to be set.
        Returns:
        this