Class ComputeSnapshotConfig.Builder
- java.lang.Object
-
- com.hashicorp.cdktf.providers.google.compute_snapshot.ComputeSnapshotConfig.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<ComputeSnapshotConfig>
- Enclosing interface:
- ComputeSnapshotConfig
@Stability(Stable) public static final class ComputeSnapshotConfig.Builder extends Object implements software.amazon.jsii.Builder<ComputeSnapshotConfig>
A builder forComputeSnapshotConfig
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
name
@Stability(Stable) public ComputeSnapshotConfig.Builder name(String name)
Sets the value ofComputeSnapshotConfig.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_snapshot#name ComputeSnapshot#name}- Returns:
this
-
sourceDisk
@Stability(Stable) public ComputeSnapshotConfig.Builder sourceDisk(String sourceDisk)
Sets the value ofComputeSnapshotConfig.getSourceDisk()- Parameters:
sourceDisk- A reference to the disk used to create this snapshot. This parameter is required. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_snapshot#source_disk ComputeSnapshot#source_disk}- Returns:
this
-
chainName
@Stability(Stable) public ComputeSnapshotConfig.Builder chainName(String chainName)
Sets the value ofComputeSnapshotConfig.getChainName()- Parameters:
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}- Returns:
this
-
description
@Stability(Stable) public ComputeSnapshotConfig.Builder description(String description)
Sets the value ofComputeSnapshotConfig.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/compute_snapshot#description ComputeSnapshot#description}- Returns:
this
-
id
@Stability(Stable) public ComputeSnapshotConfig.Builder id(String id)
Sets the value ofComputeSnapshotConfig.getId()- Parameters:
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.- Returns:
this
-
labels
@Stability(Stable) public ComputeSnapshotConfig.Builder labels(Map<String,String> labels)
Sets the value ofComputeSnapshotConfig.getLabels()- Parameters:
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}- Returns:
this
-
project
@Stability(Stable) public ComputeSnapshotConfig.Builder project(String project)
Sets the value ofComputeSnapshotConfig.getProject()- Parameters:
project- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_snapshot#project ComputeSnapshot#project}.- Returns:
this
-
snapshotEncryptionKey
@Stability(Stable) public ComputeSnapshotConfig.Builder snapshotEncryptionKey(ComputeSnapshotSnapshotEncryptionKey snapshotEncryptionKey)
Sets the value ofComputeSnapshotConfig.getSnapshotEncryptionKey()- Parameters:
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}- Returns:
this
-
sourceDiskEncryptionKey
@Stability(Stable) public ComputeSnapshotConfig.Builder sourceDiskEncryptionKey(ComputeSnapshotSourceDiskEncryptionKey sourceDiskEncryptionKey)
Sets the value ofComputeSnapshotConfig.getSourceDiskEncryptionKey()- Parameters:
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}- Returns:
this
-
storageLocations
@Stability(Stable) public ComputeSnapshotConfig.Builder storageLocations(List<String> storageLocations)
Sets the value ofComputeSnapshotConfig.getStorageLocations()- Parameters:
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}- Returns:
this
-
timeouts
@Stability(Stable) public ComputeSnapshotConfig.Builder timeouts(ComputeSnapshotTimeouts timeouts)
Sets the value ofComputeSnapshotConfig.getTimeouts()- Parameters:
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}- Returns:
this
-
zone
@Stability(Stable) public ComputeSnapshotConfig.Builder zone(String zone)
Sets the value ofComputeSnapshotConfig.getZone()- Parameters:
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}- Returns:
this
-
connection
@Stability(Experimental) public ComputeSnapshotConfig.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 ComputeSnapshotConfig.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 ComputeSnapshotConfig.Builder count(Number count)
Sets the value ofTerraformMetaArguments.getCount()- Parameters:
count- the value to be set.- Returns:
this
-
count
@Stability(Experimental) public ComputeSnapshotConfig.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 ComputeSnapshotConfig.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 ComputeSnapshotConfig.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 ComputeSnapshotConfig.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 ComputeSnapshotConfig.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 ComputeSnapshotConfig.Builder provisioners(List<? extends Object> provisioners)
Sets the value ofTerraformMetaArguments.getProvisioners()- Parameters:
provisioners- the value to be set.- Returns:
this
-
build
@Stability(Stable) public ComputeSnapshotConfig build()
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<ComputeSnapshotConfig>- Returns:
- a new instance of
ComputeSnapshotConfig - Throws:
NullPointerException- if any required attribute was not provided
-
-