Class SqlDatabaseInstance.Builder

    • Method Detail

      • create

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

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

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

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

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

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

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

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

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

        @Stability(Stable)
        public SqlDatabaseInstance.Builder databaseVersion​(String databaseVersion)
        The MySQL, PostgreSQL or SQL Server (beta) version to use.

        Supported values include MYSQL_5_6, MYSQL_5_7, MYSQL_8_0, POSTGRES_9_6, POSTGRES_10, POSTGRES_11, POSTGRES_12, POSTGRES_13, POSTGRES_14, POSTGRES_15, SQLSERVER_2017_STANDARD, SQLSERVER_2017_ENTERPRISE, SQLSERVER_2017_EXPRESS, SQLSERVER_2017_WEB. Database Version Policies includes an up-to-date reference of supported versions. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/sql_database_instance#database_version SqlDatabaseInstance#database_version}

        Parameters:
        databaseVersion - The MySQL, PostgreSQL or SQL Server (beta) version to use. This parameter is required.
        Returns:
        this
      • clone

        @Stability(Stable)
        public SqlDatabaseInstance.Builder clone​(SqlDatabaseInstanceClone clone)
        clone block.

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

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

        @Stability(Stable)
        public SqlDatabaseInstance.Builder deletionProtection​(Boolean deletionProtection)
        Used to block Terraform from deleting a SQL Instance. Defaults to true.

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

        Parameters:
        deletionProtection - Used to block Terraform from deleting a SQL Instance. Defaults to true. This parameter is required.
        Returns:
        this
      • deletionProtection

        @Stability(Stable)
        public SqlDatabaseInstance.Builder deletionProtection​(com.hashicorp.cdktf.IResolvable deletionProtection)
        Used to block Terraform from deleting a SQL Instance. Defaults to true.

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

        Parameters:
        deletionProtection - Used to block Terraform from deleting a SQL Instance. Defaults to true. This parameter is required.
        Returns:
        this
      • encryptionKeyName

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

        Parameters:
        encryptionKeyName - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/sql_database_instance#encryption_key_name SqlDatabaseInstance#encryption_key_name}. This parameter is required.
        Returns:
        this
      • id

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

        @Stability(Stable)
        public SqlDatabaseInstance.Builder instanceType​(String instanceType)
        The type of the instance. The valid values are:- 'SQL_INSTANCE_TYPE_UNSPECIFIED', 'CLOUD_SQL_INSTANCE', 'ON_PREMISES_INSTANCE' and 'READ_REPLICA_INSTANCE'.

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

        Parameters:
        instanceType - The type of the instance. The valid values are:- 'SQL_INSTANCE_TYPE_UNSPECIFIED', 'CLOUD_SQL_INSTANCE', 'ON_PREMISES_INSTANCE' and 'READ_REPLICA_INSTANCE'. This parameter is required.
        Returns:
        this
      • maintenanceVersion

        @Stability(Stable)
        public SqlDatabaseInstance.Builder maintenanceVersion​(String maintenanceVersion)
        Maintenance version.

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

        Parameters:
        maintenanceVersion - Maintenance version. This parameter is required.
        Returns:
        this
      • masterInstanceName

        @Stability(Stable)
        public SqlDatabaseInstance.Builder masterInstanceName​(String masterInstanceName)
        The name of the instance that will act as the master in the replication setup.

        Note, this requires the master to have binary_log_enabled set, as well as existing backups. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/sql_database_instance#master_instance_name SqlDatabaseInstance#master_instance_name}

        Parameters:
        masterInstanceName - The name of the instance that will act as the master in the replication setup. This parameter is required.
        Returns:
        this
      • name

        @Stability(Stable)
        public SqlDatabaseInstance.Builder name​(String name)
        The name of the instance.

        If the name is left blank, Terraform will randomly generate one when the instance is first created. This is done because after a name is used, it cannot be reused for up to one week. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/sql_database_instance#name SqlDatabaseInstance#name}

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

        @Stability(Stable)
        public SqlDatabaseInstance.Builder project​(String project)
        The ID of the project in which the resource belongs.

        If it is not provided, the provider project is used. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/sql_database_instance#project SqlDatabaseInstance#project}

        Parameters:
        project - The ID of the project in which the resource belongs. This parameter is required.
        Returns:
        this
      • region

        @Stability(Stable)
        public SqlDatabaseInstance.Builder region​(String region)
        The region the instance will sit in.

        Note, Cloud SQL is not available in all regions. A valid region must be provided to use this resource. If a region is not provided in the resource definition, the provider region will be used instead, but this will be an apply-time error for instances if the provider region is not supported with Cloud SQL. If you choose not to provide the region argument for this resource, make sure you understand this. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/sql_database_instance#region SqlDatabaseInstance#region}

        Parameters:
        region - The region the instance will sit in. This parameter is required.
        Returns:
        this
      • replicaConfiguration

        @Stability(Stable)
        public SqlDatabaseInstance.Builder replicaConfiguration​(SqlDatabaseInstanceReplicaConfiguration replicaConfiguration)
        replica_configuration block.

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

        Parameters:
        replicaConfiguration - replica_configuration block. This parameter is required.
        Returns:
        this
      • restoreBackupContext

        @Stability(Stable)
        public SqlDatabaseInstance.Builder restoreBackupContext​(SqlDatabaseInstanceRestoreBackupContext restoreBackupContext)
        restore_backup_context block.

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

        Parameters:
        restoreBackupContext - restore_backup_context block. This parameter is required.
        Returns:
        this
      • rootPassword

        @Stability(Stable)
        public SqlDatabaseInstance.Builder rootPassword​(String rootPassword)
        Initial root password. Required for MS SQL Server.

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

        Parameters:
        rootPassword - Initial root password. Required for MS SQL Server. This parameter is required.
        Returns:
        this
      • settings

        @Stability(Stable)
        public SqlDatabaseInstance.Builder settings​(SqlDatabaseInstanceSettings settings)
        settings block.

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

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

        @Stability(Stable)
        public SqlDatabaseInstance.Builder timeouts​(SqlDatabaseInstanceTimeouts timeouts)
        timeouts block.

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

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