Class ComputeSnapshot.Builder
- java.lang.Object
-
- com.hashicorp.cdktf.providers.google.compute_snapshot.ComputeSnapshot.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<ComputeSnapshot>
- Enclosing class:
- ComputeSnapshot
@Stability(Stable) public static final class ComputeSnapshot.Builder extends Object implements software.amazon.jsii.Builder<ComputeSnapshot>
A fluent builder forComputeSnapshot.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ComputeSnapshotbuild()ComputeSnapshot.BuilderchainName(String chainName)Creates the new snapshot in the snapshot chain labeled with the specified name.ComputeSnapshot.Builderconnection(com.hashicorp.cdktf.SSHProvisionerConnection connection)ComputeSnapshot.Builderconnection(com.hashicorp.cdktf.WinrmProvisionerConnection connection)ComputeSnapshot.Buildercount(com.hashicorp.cdktf.TerraformCount count)ComputeSnapshot.Buildercount(Number count)static ComputeSnapshot.Buildercreate(software.constructs.Construct scope, String id)ComputeSnapshot.BuilderdependsOn(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)ComputeSnapshot.Builderdescription(String description)An optional description of this resource.ComputeSnapshot.BuilderforEach(com.hashicorp.cdktf.ITerraformIterator forEach)ComputeSnapshot.Builderid(String id)Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_snapshot#id ComputeSnapshot#id}.ComputeSnapshot.Builderlabels(Map<String,String> labels)Labels to apply to this Snapshot.ComputeSnapshot.Builderlifecycle(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)ComputeSnapshot.Buildername(String name)Name of the resource;ComputeSnapshot.Builderproject(String project)Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_snapshot#project ComputeSnapshot#project}.ComputeSnapshot.Builderprovider(com.hashicorp.cdktf.TerraformProvider provider)ComputeSnapshot.Builderprovisioners(List<? extends Object> provisioners)ComputeSnapshot.BuildersnapshotEncryptionKey(ComputeSnapshotSnapshotEncryptionKey snapshotEncryptionKey)snapshot_encryption_key block.ComputeSnapshot.BuildersourceDisk(String sourceDisk)A reference to the disk used to create this snapshot.ComputeSnapshot.BuildersourceDiskEncryptionKey(ComputeSnapshotSourceDiskEncryptionKey sourceDiskEncryptionKey)source_disk_encryption_key block.ComputeSnapshot.BuilderstorageLocations(List<String> storageLocations)Cloud Storage bucket storage location of the snapshot (regional or multi-regional).ComputeSnapshot.Buildertimeouts(ComputeSnapshotTimeouts timeouts)timeouts block.ComputeSnapshot.Builderzone(String zone)A reference to the zone where the disk is hosted.
-
-
-
Method Detail
-
create
@Stability(Stable) public static ComputeSnapshot.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
ComputeSnapshot.Builder.
-
connection
@Stability(Experimental) public ComputeSnapshot.Builder connection(com.hashicorp.cdktf.SSHProvisionerConnection connection)
- Parameters:
connection- This parameter is required.- Returns:
this
-
connection
@Stability(Experimental) public ComputeSnapshot.Builder connection(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
- Parameters:
connection- This parameter is required.- Returns:
this
-
count
@Stability(Experimental) public ComputeSnapshot.Builder count(Number count)
- Parameters:
count- This parameter is required.- Returns:
this
-
count
@Stability(Experimental) public ComputeSnapshot.Builder count(com.hashicorp.cdktf.TerraformCount count)
- Parameters:
count- This parameter is required.- Returns:
this
-
dependsOn
@Stability(Experimental) public ComputeSnapshot.Builder dependsOn(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
- Parameters:
dependsOn- This parameter is required.- Returns:
this
-
forEach
@Stability(Experimental) public ComputeSnapshot.Builder forEach(com.hashicorp.cdktf.ITerraformIterator forEach)
- Parameters:
forEach- This parameter is required.- Returns:
this
-
lifecycle
@Stability(Experimental) public ComputeSnapshot.Builder lifecycle(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
- Parameters:
lifecycle- This parameter is required.- Returns:
this
-
provider
@Stability(Experimental) public ComputeSnapshot.Builder provider(com.hashicorp.cdktf.TerraformProvider provider)
- Parameters:
provider- This parameter is required.- Returns:
this
-
provisioners
@Stability(Experimental) public ComputeSnapshot.Builder provisioners(List<? extends Object> provisioners)
- Parameters:
provisioners- This parameter is required.- Returns:
this
-
name
@Stability(Stable) public ComputeSnapshot.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_snapshot#name ComputeSnapshot#name}
- Parameters:
name- Name of the resource;. This parameter is required.- Returns:
this
-
sourceDisk
@Stability(Stable) public ComputeSnapshot.Builder sourceDisk(String sourceDisk)
A reference to the disk used to create this snapshot.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_snapshot#source_disk ComputeSnapshot#source_disk}
- Parameters:
sourceDisk- A reference to the disk used to create this snapshot. This parameter is required.- Returns:
this
-
chainName
@Stability(Stable) public ComputeSnapshot.Builder chainName(String chainName)
Creates the new snapshot in the snapshot chain labeled with the specified name.The chain name must be 1-63 characters long and comply with RFC1035. This is an uncommon option only for advanced service owners who needs to create separate snapshot chains, for example, for chargeback tracking. When you describe your snapshot resource, this field is visible only if it has a non-empty value. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_snapshot#chain_name ComputeSnapshot#chain_name}
- Parameters:
chainName- Creates the new snapshot in the snapshot chain labeled with the specified name. This parameter is required.- Returns:
this
-
description
@Stability(Stable) public ComputeSnapshot.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/compute_snapshot#description ComputeSnapshot#description}
- Parameters:
description- An optional description of this resource. This parameter is required.- Returns:
this
-
id
@Stability(Stable) public ComputeSnapshot.Builder id(String id)
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_snapshot#id ComputeSnapshot#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_snapshot#id ComputeSnapshot#id}. This parameter is required.- Returns:
this
-
labels
@Stability(Stable) public ComputeSnapshot.Builder labels(Map<String,String> labels)
Labels to apply to this Snapshot.**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_snapshot#labels ComputeSnapshot#labels}
- Parameters:
labels- Labels to apply to this Snapshot. This parameter is required.- Returns:
this
-
project
@Stability(Stable) public ComputeSnapshot.Builder project(String project)
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_snapshot#project ComputeSnapshot#project}.- Parameters:
project- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_snapshot#project ComputeSnapshot#project}. This parameter is required.- Returns:
this
-
snapshotEncryptionKey
@Stability(Stable) public ComputeSnapshot.Builder snapshotEncryptionKey(ComputeSnapshotSnapshotEncryptionKey snapshotEncryptionKey)
snapshot_encryption_key block.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_snapshot#snapshot_encryption_key ComputeSnapshot#snapshot_encryption_key}
- Parameters:
snapshotEncryptionKey- snapshot_encryption_key block. This parameter is required.- Returns:
this
-
sourceDiskEncryptionKey
@Stability(Stable) public ComputeSnapshot.Builder sourceDiskEncryptionKey(ComputeSnapshotSourceDiskEncryptionKey sourceDiskEncryptionKey)
source_disk_encryption_key block.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_snapshot#source_disk_encryption_key ComputeSnapshot#source_disk_encryption_key}
- Parameters:
sourceDiskEncryptionKey- source_disk_encryption_key block. This parameter is required.- Returns:
this
-
storageLocations
@Stability(Stable) public ComputeSnapshot.Builder storageLocations(List<String> storageLocations)
Cloud Storage bucket storage location of the snapshot (regional or multi-regional).Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_snapshot#storage_locations ComputeSnapshot#storage_locations}
- Parameters:
storageLocations- Cloud Storage bucket storage location of the snapshot (regional or multi-regional). This parameter is required.- Returns:
this
-
timeouts
@Stability(Stable) public ComputeSnapshot.Builder timeouts(ComputeSnapshotTimeouts timeouts)
timeouts block.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_snapshot#timeouts ComputeSnapshot#timeouts}
- Parameters:
timeouts- timeouts block. This parameter is required.- Returns:
this
-
zone
@Stability(Stable) public ComputeSnapshot.Builder zone(String zone)
A reference to the zone where the disk is hosted.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_snapshot#zone ComputeSnapshot#zone}
- Parameters:
zone- A reference to the zone where the disk is hosted. This parameter is required.- Returns:
this
-
build
@Stability(Stable) public ComputeSnapshot build()
- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<ComputeSnapshot>- Returns:
- a newly built instance of
ComputeSnapshot.
-
-