Class Project.Builder

  • All Implemented Interfaces:
    software.amazon.jsii.Builder<Project>
    Enclosing class:
    Project

    @Stability(Stable)
    public static final class Project.Builder
    extends Object
    implements software.amazon.jsii.Builder<Project>
    A fluent builder for Project.
    • Method Detail

      • create

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

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

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

        @Stability(Experimental)
        public Project.Builder count​(Number count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • count

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

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

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

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

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

        @Stability(Experimental)
        public Project.Builder provisioners​(List<? extends Object> provisioners)
        Parameters:
        provisioners - This parameter is required.
        Returns:
        this
      • name

        @Stability(Stable)
        public Project.Builder name​(String name)
        The display name of the project.

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

        Parameters:
        name - The display name of the project. This parameter is required.
        Returns:
        this
      • projectId

        @Stability(Stable)
        public Project.Builder projectId​(String projectId)
        The project ID. Changing this forces a new project to be created.

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

        Parameters:
        projectId - The project ID. Changing this forces a new project to be created. This parameter is required.
        Returns:
        this
      • autoCreateNetwork

        @Stability(Stable)
        public Project.Builder autoCreateNetwork​(Boolean autoCreateNetwork)
        Create the 'default' network automatically.

        Default true. If set to false, the default network will be deleted. Note that, for quota purposes, you will still need to have 1 network slot available to create the project successfully, even if you set auto_create_network to false, since the network will exist momentarily. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/project#auto_create_network Project#auto_create_network}

        Parameters:
        autoCreateNetwork - Create the 'default' network automatically. This parameter is required.
        Returns:
        this
      • autoCreateNetwork

        @Stability(Stable)
        public Project.Builder autoCreateNetwork​(com.hashicorp.cdktf.IResolvable autoCreateNetwork)
        Create the 'default' network automatically.

        Default true. If set to false, the default network will be deleted. Note that, for quota purposes, you will still need to have 1 network slot available to create the project successfully, even if you set auto_create_network to false, since the network will exist momentarily. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/project#auto_create_network Project#auto_create_network}

        Parameters:
        autoCreateNetwork - Create the 'default' network automatically. This parameter is required.
        Returns:
        this
      • billingAccount

        @Stability(Stable)
        public Project.Builder billingAccount​(String billingAccount)
        The alphanumeric ID of the billing account this project belongs to.

        The user or service account performing this operation with Terraform must have Billing Account Administrator privileges (roles/billing.admin) in the organization. See Google Cloud Billing API Access Control for more details. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/project#billing_account Project#billing_account}

        Parameters:
        billingAccount - The alphanumeric ID of the billing account this project belongs to. This parameter is required.
        Returns:
        this
      • deletionPolicy

        @Stability(Stable)
        public Project.Builder deletionPolicy​(String deletionPolicy)
        The deletion policy for the Project.

        Setting PREVENT will protect the project against any destroy actions caused by a terraform apply or terraform destroy. Setting ABANDON allows the resource to be abandoned rather than deleted. Possible values are: "PREVENT", "ABANDON", "DELETE" Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/project#deletion_policy Project#deletion_policy}

        Parameters:
        deletionPolicy - The deletion policy for the Project. This parameter is required.
        Returns:
        this
      • folderId

        @Stability(Stable)
        public Project.Builder folderId​(String folderId)
        The numeric ID of the folder this project should be created under.

        Only one of org_id or folder_id may be specified. If the folder_id is specified, then the project is created under the specified folder. Changing this forces the project to be migrated to the newly specified folder. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/project#folder_id Project#folder_id}

        Parameters:
        folderId - The numeric ID of the folder this project should be created under. This parameter is required.
        Returns:
        this
      • id

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

        @Stability(Stable)
        public Project.Builder labels​(Map<String,​String> labels)
        A set of key/value label pairs to assign to the project.

        **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/project#labels Project#labels}

        Parameters:
        labels - A set of key/value label pairs to assign to the project. This parameter is required.
        Returns:
        this
      • orgId

        @Stability(Stable)
        public Project.Builder orgId​(String orgId)
        The numeric ID of the organization this project belongs to.

        Changing this forces a new project to be created. Only one of org_id or folder_id may be specified. If the org_id is specified then the project is created at the top level. Changing this forces the project to be migrated to the newly specified organization. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/project#org_id Project#org_id}

        Parameters:
        orgId - The numeric ID of the organization this project belongs to. This parameter is required.
        Returns:
        this
      • skipDelete

        @Stability(Stable)
        public Project.Builder skipDelete​(Boolean skipDelete)
        If true, the Terraform resource can be deleted without deleting the Project via the Google API.

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

        Parameters:
        skipDelete - If true, the Terraform resource can be deleted without deleting the Project via the Google API. This parameter is required.
        Returns:
        this
      • skipDelete

        @Stability(Stable)
        public Project.Builder skipDelete​(com.hashicorp.cdktf.IResolvable skipDelete)
        If true, the Terraform resource can be deleted without deleting the Project via the Google API.

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

        Parameters:
        skipDelete - If true, the Terraform resource can be deleted without deleting the Project via the Google API. This parameter is required.
        Returns:
        this
      • timeouts

        @Stability(Stable)
        public Project.Builder timeouts​(ProjectTimeouts timeouts)
        timeouts block.

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

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

        @Stability(Stable)
        public Project build()
        Specified by:
        build in interface software.amazon.jsii.Builder<Project>
        Returns:
        a newly built instance of Project.