Class ComputeRegionDiskConfig.Builder
- java.lang.Object
-
- com.hashicorp.cdktf.providers.google.compute_region_disk.ComputeRegionDiskConfig.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<ComputeRegionDiskConfig>
- Enclosing interface:
- ComputeRegionDiskConfig
@Stability(Stable) public static final class ComputeRegionDiskConfig.Builder extends Object implements software.amazon.jsii.Builder<ComputeRegionDiskConfig>
A builder forComputeRegionDiskConfig
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
name
@Stability(Stable) public ComputeRegionDiskConfig.Builder name(String name)
Sets the value ofComputeRegionDiskConfig.getName()- Parameters:
name- Name of the resource. This parameter is required. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z](%5B-a-z0-9%5D*%5Ba-z0-9%5D)?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#name ComputeRegionDisk#name}- Returns:
this
-
replicaZones
@Stability(Stable) public ComputeRegionDiskConfig.Builder replicaZones(List<String> replicaZones)
Sets the value ofComputeRegionDiskConfig.getReplicaZones()- Parameters:
replicaZones- URLs of the zones where the disk should be replicated to. This parameter is required. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#replica_zones ComputeRegionDisk#replica_zones}- Returns:
this
-
asyncPrimaryDisk
@Stability(Stable) public ComputeRegionDiskConfig.Builder asyncPrimaryDisk(ComputeRegionDiskAsyncPrimaryDisk asyncPrimaryDisk)
Sets the value ofComputeRegionDiskConfig.getAsyncPrimaryDisk()- Parameters:
asyncPrimaryDisk- async_primary_disk block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#async_primary_disk ComputeRegionDisk#async_primary_disk}- Returns:
this
-
description
@Stability(Stable) public ComputeRegionDiskConfig.Builder description(String description)
Sets the value ofComputeRegionDiskConfig.getDescription()- Parameters:
description- An optional description of this resource. Provide this property when you create the resource. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#description ComputeRegionDisk#description}- Returns:
this
-
diskEncryptionKey
@Stability(Stable) public ComputeRegionDiskConfig.Builder diskEncryptionKey(ComputeRegionDiskDiskEncryptionKey diskEncryptionKey)
Sets the value ofComputeRegionDiskConfig.getDiskEncryptionKey()- Parameters:
diskEncryptionKey- disk_encryption_key block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#disk_encryption_key ComputeRegionDisk#disk_encryption_key}- Returns:
this
-
guestOsFeatures
@Stability(Stable) public ComputeRegionDiskConfig.Builder guestOsFeatures(com.hashicorp.cdktf.IResolvable guestOsFeatures)
Sets the value ofComputeRegionDiskConfig.getGuestOsFeatures()- Parameters:
guestOsFeatures- guest_os_features block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#guest_os_features ComputeRegionDisk#guest_os_features}- Returns:
this
-
guestOsFeatures
@Stability(Stable) public ComputeRegionDiskConfig.Builder guestOsFeatures(List<? extends ComputeRegionDiskGuestOsFeatures> guestOsFeatures)
Sets the value ofComputeRegionDiskConfig.getGuestOsFeatures()- Parameters:
guestOsFeatures- guest_os_features block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#guest_os_features ComputeRegionDisk#guest_os_features}- Returns:
this
-
id
@Stability(Stable) public ComputeRegionDiskConfig.Builder id(String id)
Sets the value ofComputeRegionDiskConfig.getId()- Parameters:
id- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#id ComputeRegionDisk#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
-
labels
@Stability(Stable) public ComputeRegionDiskConfig.Builder labels(Map<String,String> labels)
Sets the value ofComputeRegionDiskConfig.getLabels()- Parameters:
labels- Labels to apply to this disk. A list of key->value pairs. **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/compute_region_disk#labels ComputeRegionDisk#labels}- Returns:
this
-
licenses
@Stability(Stable) public ComputeRegionDiskConfig.Builder licenses(List<String> licenses)
Sets the value ofComputeRegionDiskConfig.getLicenses()- Parameters:
licenses- Any applicable license URI. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#licenses ComputeRegionDisk#licenses}- Returns:
this
-
physicalBlockSizeBytes
@Stability(Stable) public ComputeRegionDiskConfig.Builder physicalBlockSizeBytes(Number physicalBlockSizeBytes)
Sets the value ofComputeRegionDiskConfig.getPhysicalBlockSizeBytes()- Parameters:
physicalBlockSizeBytes- Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently supported sizes are 4096 and 16384, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#physical_block_size_bytes ComputeRegionDisk#physical_block_size_bytes}- Returns:
this
-
project
@Stability(Stable) public ComputeRegionDiskConfig.Builder project(String project)
Sets the value ofComputeRegionDiskConfig.getProject()- Parameters:
project- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#project ComputeRegionDisk#project}.- Returns:
this
-
region
@Stability(Stable) public ComputeRegionDiskConfig.Builder region(String region)
Sets the value ofComputeRegionDiskConfig.getRegion()- Parameters:
region- A reference to the region where the disk resides. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#region ComputeRegionDisk#region}- Returns:
this
-
size
@Stability(Stable) public ComputeRegionDiskConfig.Builder size(Number size)
Sets the value ofComputeRegionDiskConfig.getSize()- Parameters:
size- Size of the persistent disk, specified in GB. You can specify this field when creating a persistent disk using the sourceImage or sourceSnapshot parameter, or specify it alone to create an empty persistent disk. If you specify this field along with sourceImage or sourceSnapshot, the value of sizeGb must not be less than the size of the sourceImage or the size of the snapshot. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#size ComputeRegionDisk#size}- Returns:
this
-
snapshot
@Stability(Stable) public ComputeRegionDiskConfig.Builder snapshot(String snapshot)
Sets the value ofComputeRegionDiskConfig.getSnapshot()- Parameters:
snapshot- The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: * 'https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot' * 'projects/project/global/snapshots/snapshot' * 'global/snapshots/snapshot' * 'snapshot' Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#snapshot ComputeRegionDisk#snapshot}- Returns:
this
-
sourceDisk
@Stability(Stable) public ComputeRegionDiskConfig.Builder sourceDisk(String sourceDisk)
Sets the value ofComputeRegionDiskConfig.getSourceDisk()- Parameters:
sourceDisk- The source disk used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: * https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/disks/{disk} * https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/disks/{disk} * projects/{project}/zones/{zone}/disks/{disk} * projects/{project}/regions/{region}/disks/{disk} * zones/{zone}/disks/{disk} * regions/{region}/disks/{disk} Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#source_disk ComputeRegionDisk#source_disk}- Returns:
this
-
sourceSnapshotEncryptionKey
@Stability(Stable) public ComputeRegionDiskConfig.Builder sourceSnapshotEncryptionKey(ComputeRegionDiskSourceSnapshotEncryptionKey sourceSnapshotEncryptionKey)
Sets the value ofComputeRegionDiskConfig.getSourceSnapshotEncryptionKey()- Parameters:
sourceSnapshotEncryptionKey- source_snapshot_encryption_key block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#source_snapshot_encryption_key ComputeRegionDisk#source_snapshot_encryption_key}- Returns:
this
-
timeouts
@Stability(Stable) public ComputeRegionDiskConfig.Builder timeouts(ComputeRegionDiskTimeouts timeouts)
Sets the value ofComputeRegionDiskConfig.getTimeouts()- Parameters:
timeouts- timeouts block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#timeouts ComputeRegionDisk#timeouts}- Returns:
this
-
type
@Stability(Stable) public ComputeRegionDiskConfig.Builder type(String type)
Sets the value ofComputeRegionDiskConfig.getType()- Parameters:
type- URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#type ComputeRegionDisk#type}- Returns:
this
-
connection
@Stability(Experimental) public ComputeRegionDiskConfig.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 ComputeRegionDiskConfig.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 ComputeRegionDiskConfig.Builder count(Number count)
Sets the value ofTerraformMetaArguments.getCount()- Parameters:
count- the value to be set.- Returns:
this
-
count
@Stability(Experimental) public ComputeRegionDiskConfig.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 ComputeRegionDiskConfig.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 ComputeRegionDiskConfig.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 ComputeRegionDiskConfig.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 ComputeRegionDiskConfig.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 ComputeRegionDiskConfig.Builder provisioners(List<? extends Object> provisioners)
Sets the value ofTerraformMetaArguments.getProvisioners()- Parameters:
provisioners- the value to be set.- Returns:
this
-
build
@Stability(Stable) public ComputeRegionDiskConfig build()
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<ComputeRegionDiskConfig>- Returns:
- a new instance of
ComputeRegionDiskConfig - Throws:
NullPointerException- if any required attribute was not provided
-
-