Class ProjectConfig.Builder

    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • name

        @Stability(Stable)
        public ProjectConfig.Builder name​(String name)
        Sets the value of ProjectConfig.getName()
        Parameters:
        name - The display name of the project. This parameter is required. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/project#name Project#name}
        Returns:
        this
      • projectId

        @Stability(Stable)
        public ProjectConfig.Builder projectId​(String projectId)
        Parameters:
        projectId - The project ID. Changing this forces a new project to be created. This parameter is required. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/project#project_id Project#project_id}
        Returns:
        this
      • autoCreateNetwork

        @Stability(Stable)
        public ProjectConfig.Builder autoCreateNetwork​(Boolean autoCreateNetwork)
        Parameters:
        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}
        Returns:
        this
      • autoCreateNetwork

        @Stability(Stable)
        public ProjectConfig.Builder autoCreateNetwork​(com.hashicorp.cdktf.IResolvable autoCreateNetwork)
        Parameters:
        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}
        Returns:
        this
      • billingAccount

        @Stability(Stable)
        public ProjectConfig.Builder billingAccount​(String billingAccount)
        Parameters:
        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}
        Returns:
        this
      • deletionPolicy

        @Stability(Stable)
        public ProjectConfig.Builder deletionPolicy​(String deletionPolicy)
        Parameters:
        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}
        Returns:
        this
      • folderId

        @Stability(Stable)
        public ProjectConfig.Builder folderId​(String folderId)
        Sets the value of ProjectConfig.getFolderId()
        Parameters:
        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}
        Returns:
        this
      • id

        @Stability(Stable)
        public ProjectConfig.Builder id​(String id)
        Sets the value of ProjectConfig.getId()
        Parameters:
        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.
        Returns:
        this
      • labels

        @Stability(Stable)
        public ProjectConfig.Builder labels​(Map<String,​String> labels)
        Sets the value of ProjectConfig.getLabels()
        Parameters:
        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}
        Returns:
        this
      • orgId

        @Stability(Stable)
        public ProjectConfig.Builder orgId​(String orgId)
        Sets the value of ProjectConfig.getOrgId()
        Parameters:
        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}
        Returns:
        this
      • skipDelete

        @Stability(Stable)
        public ProjectConfig.Builder skipDelete​(Boolean skipDelete)
        Parameters:
        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}
        Returns:
        this
      • skipDelete

        @Stability(Stable)
        public ProjectConfig.Builder skipDelete​(com.hashicorp.cdktf.IResolvable skipDelete)
        Parameters:
        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}
        Returns:
        this
      • timeouts

        @Stability(Stable)
        public ProjectConfig.Builder timeouts​(ProjectTimeouts timeouts)
        Sets the value of ProjectConfig.getTimeouts()
        Parameters:
        timeouts - timeouts block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/project#timeouts Project#timeouts}
        Returns:
        this
      • connection

        @Stability(Experimental)
        public ProjectConfig.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Sets the value of TerraformMetaArguments.getConnection()
        Parameters:
        connection - the value to be set.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public ProjectConfig.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Sets the value of TerraformMetaArguments.getConnection()
        Parameters:
        connection - the value to be set.
        Returns:
        this
      • count

        @Stability(Experimental)
        public ProjectConfig.Builder count​(Number count)
        Sets the value of TerraformMetaArguments.getCount()
        Parameters:
        count - the value to be set.
        Returns:
        this
      • count

        @Stability(Experimental)
        public ProjectConfig.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Sets the value of TerraformMetaArguments.getCount()
        Parameters:
        count - the value to be set.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public ProjectConfig.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Sets the value of TerraformMetaArguments.getDependsOn()
        Parameters:
        dependsOn - the value to be set.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public ProjectConfig.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Sets the value of TerraformMetaArguments.getForEach()
        Parameters:
        forEach - the value to be set.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public ProjectConfig.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Sets the value of TerraformMetaArguments.getLifecycle()
        Parameters:
        lifecycle - the value to be set.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public ProjectConfig.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Sets the value of TerraformMetaArguments.getProvider()
        Parameters:
        provider - the value to be set.
        Returns:
        this
      • provisioners

        @Stability(Experimental)
        public ProjectConfig.Builder provisioners​(List<? extends Object> provisioners)
        Sets the value of TerraformMetaArguments.getProvisioners()
        Parameters:
        provisioners - the value to be set.
        Returns:
        this