Class ComputeRegionDisk.Builder
- java.lang.Object
-
- com.hashicorp.cdktf.providers.google.compute_region_disk.ComputeRegionDisk.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<ComputeRegionDisk>
- Enclosing class:
- ComputeRegionDisk
@Stability(Stable) public static final class ComputeRegionDisk.Builder extends Object implements software.amazon.jsii.Builder<ComputeRegionDisk>
A fluent builder forComputeRegionDisk.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ComputeRegionDisk.BuilderasyncPrimaryDisk(ComputeRegionDiskAsyncPrimaryDisk asyncPrimaryDisk)async_primary_disk block.ComputeRegionDiskbuild()ComputeRegionDisk.Builderconnection(com.hashicorp.cdktf.SSHProvisionerConnection connection)ComputeRegionDisk.Builderconnection(com.hashicorp.cdktf.WinrmProvisionerConnection connection)ComputeRegionDisk.Buildercount(com.hashicorp.cdktf.TerraformCount count)ComputeRegionDisk.Buildercount(Number count)static ComputeRegionDisk.Buildercreate(software.constructs.Construct scope, String id)ComputeRegionDisk.BuilderdependsOn(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)ComputeRegionDisk.Builderdescription(String description)An optional description of this resource.ComputeRegionDisk.BuilderdiskEncryptionKey(ComputeRegionDiskDiskEncryptionKey diskEncryptionKey)disk_encryption_key block.ComputeRegionDisk.BuilderforEach(com.hashicorp.cdktf.ITerraformIterator forEach)ComputeRegionDisk.BuilderguestOsFeatures(com.hashicorp.cdktf.IResolvable guestOsFeatures)guest_os_features block.ComputeRegionDisk.BuilderguestOsFeatures(List<? extends ComputeRegionDiskGuestOsFeatures> guestOsFeatures)guest_os_features block.ComputeRegionDisk.Builderid(String id)Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#id ComputeRegionDisk#id}.ComputeRegionDisk.Builderlabels(Map<String,String> labels)Labels to apply to this disk.ComputeRegionDisk.Builderlicenses(List<String> licenses)Any applicable license URI.ComputeRegionDisk.Builderlifecycle(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)ComputeRegionDisk.Buildername(String name)Name of the resource.ComputeRegionDisk.BuilderphysicalBlockSizeBytes(Number physicalBlockSizeBytes)Physical block size of the persistent disk, in bytes.ComputeRegionDisk.Builderproject(String project)Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#project ComputeRegionDisk#project}.ComputeRegionDisk.Builderprovider(com.hashicorp.cdktf.TerraformProvider provider)ComputeRegionDisk.Builderprovisioners(List<? extends Object> provisioners)ComputeRegionDisk.Builderregion(String region)A reference to the region where the disk resides.ComputeRegionDisk.BuilderreplicaZones(List<String> replicaZones)URLs of the zones where the disk should be replicated to.ComputeRegionDisk.Buildersize(Number size)Size of the persistent disk, specified in GB.ComputeRegionDisk.Buildersnapshot(String snapshot)The source snapshot used to create this disk.ComputeRegionDisk.BuildersourceDisk(String sourceDisk)The source disk used to create this disk.ComputeRegionDisk.BuildersourceSnapshotEncryptionKey(ComputeRegionDiskSourceSnapshotEncryptionKey sourceSnapshotEncryptionKey)source_snapshot_encryption_key block.ComputeRegionDisk.Buildertimeouts(ComputeRegionDiskTimeouts timeouts)timeouts block.ComputeRegionDisk.Buildertype(String type)URL of the disk type resource describing which disk type to use to create the disk.
-
-
-
Method Detail
-
create
@Stability(Stable) public static ComputeRegionDisk.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
ComputeRegionDisk.Builder.
-
connection
@Stability(Experimental) public ComputeRegionDisk.Builder connection(com.hashicorp.cdktf.SSHProvisionerConnection connection)
- Parameters:
connection- This parameter is required.- Returns:
this
-
connection
@Stability(Experimental) public ComputeRegionDisk.Builder connection(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
- Parameters:
connection- This parameter is required.- Returns:
this
-
count
@Stability(Experimental) public ComputeRegionDisk.Builder count(Number count)
- Parameters:
count- This parameter is required.- Returns:
this
-
count
@Stability(Experimental) public ComputeRegionDisk.Builder count(com.hashicorp.cdktf.TerraformCount count)
- Parameters:
count- This parameter is required.- Returns:
this
-
dependsOn
@Stability(Experimental) public ComputeRegionDisk.Builder dependsOn(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
- Parameters:
dependsOn- This parameter is required.- Returns:
this
-
forEach
@Stability(Experimental) public ComputeRegionDisk.Builder forEach(com.hashicorp.cdktf.ITerraformIterator forEach)
- Parameters:
forEach- This parameter is required.- Returns:
this
-
lifecycle
@Stability(Experimental) public ComputeRegionDisk.Builder lifecycle(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
- Parameters:
lifecycle- This parameter is required.- Returns:
this
-
provider
@Stability(Experimental) public ComputeRegionDisk.Builder provider(com.hashicorp.cdktf.TerraformProvider provider)
- Parameters:
provider- This parameter is required.- Returns:
this
-
provisioners
@Stability(Experimental) public ComputeRegionDisk.Builder provisioners(List<? extends Object> provisioners)
- Parameters:
provisioners- This parameter is required.- Returns:
this
-
name
@Stability(Stable) public ComputeRegionDisk.Builder name(String name)
Name of the resource.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}
- Parameters:
name- Name of the resource. This parameter is required.- Returns:
this
-
replicaZones
@Stability(Stable) public ComputeRegionDisk.Builder replicaZones(List<String> replicaZones)
URLs of the zones where the disk should be replicated to.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}
- Parameters:
replicaZones- URLs of the zones where the disk should be replicated to. This parameter is required.- Returns:
this
-
asyncPrimaryDisk
@Stability(Stable) public ComputeRegionDisk.Builder asyncPrimaryDisk(ComputeRegionDiskAsyncPrimaryDisk 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}
- Parameters:
asyncPrimaryDisk- async_primary_disk block. This parameter is required.- Returns:
this
-
description
@Stability(Stable) public ComputeRegionDisk.Builder description(String 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}
- Parameters:
description- An optional description of this resource. Provide this property when you create the resource. This parameter is required.- Returns:
this
-
diskEncryptionKey
@Stability(Stable) public ComputeRegionDisk.Builder diskEncryptionKey(ComputeRegionDiskDiskEncryptionKey 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}
- Parameters:
diskEncryptionKey- disk_encryption_key block. This parameter is required.- Returns:
this
-
guestOsFeatures
@Stability(Stable) public ComputeRegionDisk.Builder guestOsFeatures(com.hashicorp.cdktf.IResolvable 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}
- Parameters:
guestOsFeatures- guest_os_features block. This parameter is required.- Returns:
this
-
guestOsFeatures
@Stability(Stable) public ComputeRegionDisk.Builder guestOsFeatures(List<? extends ComputeRegionDiskGuestOsFeatures> 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}
- Parameters:
guestOsFeatures- guest_os_features block. This parameter is required.- Returns:
this
-
id
@Stability(Stable) public ComputeRegionDisk.Builder id(String 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.
- 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}. This parameter is required.- Returns:
this
-
labels
@Stability(Stable) public ComputeRegionDisk.Builder labels(Map<String,String> 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}
- Parameters:
labels- Labels to apply to this disk. A list of key->value pairs. This parameter is required.- Returns:
this
-
licenses
@Stability(Stable) public ComputeRegionDisk.Builder licenses(List<String> 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}
- Parameters:
licenses- Any applicable license URI. This parameter is required.- Returns:
this
-
physicalBlockSizeBytes
@Stability(Stable) public ComputeRegionDisk.Builder physicalBlockSizeBytes(Number 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}
- Parameters:
physicalBlockSizeBytes- Physical block size of the persistent disk, in bytes. This parameter is required.- Returns:
this
-
project
@Stability(Stable) public ComputeRegionDisk.Builder project(String project)
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_disk#project ComputeRegionDisk#project}.- 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}. This parameter is required.- Returns:
this
-
region
@Stability(Stable) public ComputeRegionDisk.Builder region(String 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}
- Parameters:
region- A reference to the region where the disk resides. This parameter is required.- Returns:
this
-
size
@Stability(Stable) public ComputeRegionDisk.Builder size(Number 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}
- Parameters:
size- Size of the persistent disk, specified in GB. This parameter is required.- Returns:
this
-
snapshot
@Stability(Stable) public ComputeRegionDisk.Builder snapshot(String 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}
- Parameters:
snapshot- The source snapshot used to create this disk. This parameter is required.- Returns:
this
-
sourceDisk
@Stability(Stable) public ComputeRegionDisk.Builder sourceDisk(String 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}
- Parameters:
sourceDisk- The source disk used to create this disk. This parameter is required.- Returns:
this
-
sourceSnapshotEncryptionKey
@Stability(Stable) public ComputeRegionDisk.Builder sourceSnapshotEncryptionKey(ComputeRegionDiskSourceSnapshotEncryptionKey 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}
- Parameters:
sourceSnapshotEncryptionKey- source_snapshot_encryption_key block. This parameter is required.- Returns:
this
-
timeouts
@Stability(Stable) public ComputeRegionDisk.Builder timeouts(ComputeRegionDiskTimeouts 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}
- Parameters:
timeouts- timeouts block. This parameter is required.- Returns:
this
-
type
@Stability(Stable) public ComputeRegionDisk.Builder type(String 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}
- Parameters:
type- URL of the disk type resource describing which disk type to use to create the disk. This parameter is required.- Returns:
this
-
build
@Stability(Stable) public ComputeRegionDisk build()
- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<ComputeRegionDisk>- Returns:
- a newly built instance of
ComputeRegionDisk.
-
-