Class ComputeReservation.Builder
- java.lang.Object
-
- com.hashicorp.cdktf.providers.google.compute_reservation.ComputeReservation.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<ComputeReservation>
- Enclosing class:
- ComputeReservation
@Stability(Stable) public static final class ComputeReservation.Builder extends Object implements software.amazon.jsii.Builder<ComputeReservation>
A fluent builder forComputeReservation.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ComputeReservationbuild()ComputeReservation.Builderconnection(com.hashicorp.cdktf.SSHProvisionerConnection connection)ComputeReservation.Builderconnection(com.hashicorp.cdktf.WinrmProvisionerConnection connection)ComputeReservation.Buildercount(com.hashicorp.cdktf.TerraformCount count)ComputeReservation.Buildercount(Number count)static ComputeReservation.Buildercreate(software.constructs.Construct scope, String id)ComputeReservation.BuilderdependsOn(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)ComputeReservation.Builderdescription(String description)An optional description of this resource.ComputeReservation.BuilderforEach(com.hashicorp.cdktf.ITerraformIterator forEach)ComputeReservation.Builderid(String id)Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_reservation#id ComputeReservation#id}.ComputeReservation.Builderlifecycle(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)ComputeReservation.Buildername(String name)Name of the resource.ComputeReservation.Builderproject(String project)Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_reservation#project ComputeReservation#project}.ComputeReservation.Builderprovider(com.hashicorp.cdktf.TerraformProvider provider)ComputeReservation.Builderprovisioners(List<? extends Object> provisioners)ComputeReservation.BuildershareSettings(ComputeReservationShareSettings shareSettings)share_settings block.ComputeReservation.BuilderspecificReservation(ComputeReservationSpecificReservation specificReservation)specific_reservation block.ComputeReservation.BuilderspecificReservationRequired(com.hashicorp.cdktf.IResolvable specificReservationRequired)When set to true, only VMs that target this reservation by name can consume this reservation.ComputeReservation.BuilderspecificReservationRequired(Boolean specificReservationRequired)When set to true, only VMs that target this reservation by name can consume this reservation.ComputeReservation.Buildertimeouts(ComputeReservationTimeouts timeouts)timeouts block.ComputeReservation.Builderzone(String zone)The zone where the reservation is made.
-
-
-
Method Detail
-
create
@Stability(Stable) public static ComputeReservation.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
ComputeReservation.Builder.
-
connection
@Stability(Experimental) public ComputeReservation.Builder connection(com.hashicorp.cdktf.SSHProvisionerConnection connection)
- Parameters:
connection- This parameter is required.- Returns:
this
-
connection
@Stability(Experimental) public ComputeReservation.Builder connection(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
- Parameters:
connection- This parameter is required.- Returns:
this
-
count
@Stability(Experimental) public ComputeReservation.Builder count(Number count)
- Parameters:
count- This parameter is required.- Returns:
this
-
count
@Stability(Experimental) public ComputeReservation.Builder count(com.hashicorp.cdktf.TerraformCount count)
- Parameters:
count- This parameter is required.- Returns:
this
-
dependsOn
@Stability(Experimental) public ComputeReservation.Builder dependsOn(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
- Parameters:
dependsOn- This parameter is required.- Returns:
this
-
forEach
@Stability(Experimental) public ComputeReservation.Builder forEach(com.hashicorp.cdktf.ITerraformIterator forEach)
- Parameters:
forEach- This parameter is required.- Returns:
this
-
lifecycle
@Stability(Experimental) public ComputeReservation.Builder lifecycle(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
- Parameters:
lifecycle- This parameter is required.- Returns:
this
-
provider
@Stability(Experimental) public ComputeReservation.Builder provider(com.hashicorp.cdktf.TerraformProvider provider)
- Parameters:
provider- This parameter is required.- Returns:
this
-
provisioners
@Stability(Experimental) public ComputeReservation.Builder provisioners(List<? extends Object> provisioners)
- Parameters:
provisioners- This parameter is required.- Returns:
this
-
name
@Stability(Stable) public ComputeReservation.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_reservation#name ComputeReservation#name}
- Parameters:
name- Name of the resource. This parameter is required.- Returns:
this
-
specificReservation
@Stability(Stable) public ComputeReservation.Builder specificReservation(ComputeReservationSpecificReservation specificReservation)
specific_reservation block.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_reservation#specific_reservation ComputeReservation#specific_reservation}
- Parameters:
specificReservation- specific_reservation block. This parameter is required.- Returns:
this
-
zone
@Stability(Stable) public ComputeReservation.Builder zone(String zone)
The zone where the reservation is made.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_reservation#zone ComputeReservation#zone}
- Parameters:
zone- The zone where the reservation is made. This parameter is required.- Returns:
this
-
description
@Stability(Stable) public ComputeReservation.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_reservation#description ComputeReservation#description}
- Parameters:
description- An optional description of this resource. This parameter is required.- Returns:
this
-
id
@Stability(Stable) public ComputeReservation.Builder id(String id)
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_reservation#id ComputeReservation#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_reservation#id ComputeReservation#id}. This parameter is required.- Returns:
this
-
project
@Stability(Stable) public ComputeReservation.Builder project(String project)
Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_reservation#project ComputeReservation#project}.- Parameters:
project- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_reservation#project ComputeReservation#project}. This parameter is required.- Returns:
this
-
shareSettings
@Stability(Stable) public ComputeReservation.Builder shareSettings(ComputeReservationShareSettings shareSettings)
share_settings block.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_reservation#share_settings ComputeReservation#share_settings}
- Parameters:
shareSettings- share_settings block. This parameter is required.- Returns:
this
-
specificReservationRequired
@Stability(Stable) public ComputeReservation.Builder specificReservationRequired(Boolean specificReservationRequired)
When set to true, only VMs that target this reservation by name can consume this reservation.Otherwise, it can be consumed by VMs with affinity for any reservation. Defaults to false. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_reservation#specific_reservation_required ComputeReservation#specific_reservation_required}
- Parameters:
specificReservationRequired- When set to true, only VMs that target this reservation by name can consume this reservation. This parameter is required.- Returns:
this
-
specificReservationRequired
@Stability(Stable) public ComputeReservation.Builder specificReservationRequired(com.hashicorp.cdktf.IResolvable specificReservationRequired)
When set to true, only VMs that target this reservation by name can consume this reservation.Otherwise, it can be consumed by VMs with affinity for any reservation. Defaults to false. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_reservation#specific_reservation_required ComputeReservation#specific_reservation_required}
- Parameters:
specificReservationRequired- When set to true, only VMs that target this reservation by name can consume this reservation. This parameter is required.- Returns:
this
-
timeouts
@Stability(Stable) public ComputeReservation.Builder timeouts(ComputeReservationTimeouts timeouts)
timeouts block.Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_reservation#timeouts ComputeReservation#timeouts}
- Parameters:
timeouts- timeouts block. This parameter is required.- Returns:
this
-
build
@Stability(Stable) public ComputeReservation build()
- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<ComputeReservation>- Returns:
- a newly built instance of
ComputeReservation.
-
-