Class ComputeReservation.Builder

    • 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​(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