Class ComputeRegionCommitment.Builder

    • Method Detail

      • create

        @Stability(Stable)
        public static ComputeRegionCommitment.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 ComputeRegionCommitment.Builder.
      • connection

        @Stability(Experimental)
        public ComputeRegionCommitment.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public ComputeRegionCommitment.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • count

        @Stability(Experimental)
        public ComputeRegionCommitment.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public ComputeRegionCommitment.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Parameters:
        dependsOn - This parameter is required.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public ComputeRegionCommitment.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Parameters:
        forEach - This parameter is required.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public ComputeRegionCommitment.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Parameters:
        lifecycle - This parameter is required.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public ComputeRegionCommitment.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Parameters:
        provider - This parameter is required.
        Returns:
        this
      • name

        @Stability(Stable)
        public ComputeRegionCommitment.Builder name​(String name)
        Name of the resource.

        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_commitment#name ComputeRegionCommitment#name}

        Parameters:
        name - Name of the resource. This parameter is required.
        Returns:
        this
      • plan

        @Stability(Stable)
        public ComputeRegionCommitment.Builder plan​(String plan)
        The plan for this commitment, which determines duration and discount rate.

        The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years). Possible values: ["TWELVE_MONTH", "THIRTY_SIX_MONTH"] Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_commitment#plan ComputeRegionCommitment#plan}

        Parameters:
        plan - The plan for this commitment, which determines duration and discount rate. This parameter is required.
        Returns:
        this
      • autoRenew

        @Stability(Stable)
        public ComputeRegionCommitment.Builder autoRenew​(Boolean autoRenew)
        Specifies whether to enable automatic renewal for the commitment.

        The default value is false if not specified. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_commitment#auto_renew ComputeRegionCommitment#auto_renew}

        Parameters:
        autoRenew - Specifies whether to enable automatic renewal for the commitment. This parameter is required.
        Returns:
        this
      • autoRenew

        @Stability(Stable)
        public ComputeRegionCommitment.Builder autoRenew​(com.hashicorp.cdktf.IResolvable autoRenew)
        Specifies whether to enable automatic renewal for the commitment.

        The default value is false if not specified. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_commitment#auto_renew ComputeRegionCommitment#auto_renew}

        Parameters:
        autoRenew - Specifies whether to enable automatic renewal for the commitment. This parameter is required.
        Returns:
        this
      • category

        @Stability(Stable)
        public ComputeRegionCommitment.Builder category​(String category)
        The category of the commitment.

        Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified. Possible values: ["LICENSE", "MACHINE"] Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_commitment#category ComputeRegionCommitment#category}

        Parameters:
        category - The category of the commitment. This parameter is required.
        Returns:
        this
      • description

        @Stability(Stable)
        public ComputeRegionCommitment.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_region_commitment#description ComputeRegionCommitment#description}

        Parameters:
        description - An optional description of this resource. This parameter is required.
        Returns:
        this
      • id

        @Stability(Stable)
        public ComputeRegionCommitment.Builder id​(String id)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_commitment#id ComputeRegionCommitment#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_commitment#id ComputeRegionCommitment#id}. This parameter is required.
        Returns:
        this
      • licenseResource

        @Stability(Stable)
        public ComputeRegionCommitment.Builder licenseResource​(ComputeRegionCommitmentLicenseResource licenseResource)
        license_resource block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_commitment#license_resource ComputeRegionCommitment#license_resource}

        Parameters:
        licenseResource - license_resource block. This parameter is required.
        Returns:
        this
      • project

        @Stability(Stable)
        public ComputeRegionCommitment.Builder project​(String project)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_commitment#project ComputeRegionCommitment#project}.

        Parameters:
        project - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_commitment#project ComputeRegionCommitment#project}. This parameter is required.
        Returns:
        this
      • region

        @Stability(Stable)
        public ComputeRegionCommitment.Builder region​(String region)
        URL of the region where this commitment may be used.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_commitment#region ComputeRegionCommitment#region}

        Parameters:
        region - URL of the region where this commitment may be used. This parameter is required.
        Returns:
        this
      • resources

        @Stability(Stable)
        public ComputeRegionCommitment.Builder resources​(com.hashicorp.cdktf.IResolvable resources)
        resources block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_commitment#resources ComputeRegionCommitment#resources}

        Parameters:
        resources - resources block. This parameter is required.
        Returns:
        this
      • resources

        @Stability(Stable)
        public ComputeRegionCommitment.Builder resources​(List<? extends ComputeRegionCommitmentResources> resources)
        resources block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_commitment#resources ComputeRegionCommitment#resources}

        Parameters:
        resources - resources block. This parameter is required.
        Returns:
        this
      • timeouts

        @Stability(Stable)
        public ComputeRegionCommitment.Builder timeouts​(ComputeRegionCommitmentTimeouts timeouts)
        timeouts block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_commitment#timeouts ComputeRegionCommitment#timeouts}

        Parameters:
        timeouts - timeouts block. This parameter is required.
        Returns:
        this
      • type

        @Stability(Stable)
        public ComputeRegionCommitment.Builder type​(String type)
        The type of commitment, which affects the discount rate and the eligible resources.

        The type could be one of the following value: 'MEMORY_OPTIMIZED', 'ACCELERATOR_OPTIMIZED', 'GENERAL_PURPOSE_N1', 'GENERAL_PURPOSE_N2', 'GENERAL_PURPOSE_N2D', 'GENERAL_PURPOSE_E2', 'GENERAL_PURPOSE_T2D', 'GENERAL_PURPOSE_C3', 'COMPUTE_OPTIMIZED_C2', 'COMPUTE_OPTIMIZED_C2D' and 'GRAPHICS_OPTIMIZED_G2' Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_commitment#type ComputeRegionCommitment#type}

        Parameters:
        type - The type of commitment, which affects the discount rate and the eligible resources. This parameter is required.
        Returns:
        this