@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
867 lines • 103 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface SqlDatabaseInstanceConfig extends cdktf.TerraformMetaArguments {
/**
* 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/6.13.0/docs/resources/sql_database_instance#database_version SqlDatabaseInstance#database_version}
*/
readonly databaseVersion: string;
/**
* Used to block Terraform from deleting a SQL Instance. Defaults to true.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#deletion_protection SqlDatabaseInstance#deletion_protection}
*/
readonly deletionProtection?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#encryption_key_name SqlDatabaseInstance#encryption_key_name}
*/
readonly encryptionKeyName?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/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.
*/
readonly id?: string;
/**
* 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/6.13.0/docs/resources/sql_database_instance#instance_type SqlDatabaseInstance#instance_type}
*/
readonly instanceType?: string;
/**
* Maintenance version.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#maintenance_version SqlDatabaseInstance#maintenance_version}
*/
readonly maintenanceVersion?: string;
/**
* 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/6.13.0/docs/resources/sql_database_instance#master_instance_name SqlDatabaseInstance#master_instance_name}
*/
readonly masterInstanceName?: string;
/**
* 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/6.13.0/docs/resources/sql_database_instance#name SqlDatabaseInstance#name}
*/
readonly name?: string;
/**
* 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/6.13.0/docs/resources/sql_database_instance#project SqlDatabaseInstance#project}
*/
readonly project?: string;
/**
* 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/6.13.0/docs/resources/sql_database_instance#region SqlDatabaseInstance#region}
*/
readonly region?: string;
/**
* The replicas of the instance.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#replica_names SqlDatabaseInstance#replica_names}
*/
readonly replicaNames?: string[];
/**
* Initial root password. Required for MS SQL Server.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#root_password SqlDatabaseInstance#root_password}
*/
readonly rootPassword?: string;
/**
* clone block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#clone SqlDatabaseInstance#clone}
*/
readonly clone?: SqlDatabaseInstanceClone;
/**
* replica_configuration block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#replica_configuration SqlDatabaseInstance#replica_configuration}
*/
readonly replicaConfiguration?: SqlDatabaseInstanceReplicaConfiguration;
/**
* restore_backup_context block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#restore_backup_context SqlDatabaseInstance#restore_backup_context}
*/
readonly restoreBackupContext?: SqlDatabaseInstanceRestoreBackupContext;
/**
* settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#settings SqlDatabaseInstance#settings}
*/
readonly settings?: SqlDatabaseInstanceSettings;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#timeouts SqlDatabaseInstance#timeouts}
*/
readonly timeouts?: SqlDatabaseInstanceTimeouts;
}
export interface SqlDatabaseInstanceIpAddress {
}
export declare function sqlDatabaseInstanceIpAddressToTerraform(struct?: SqlDatabaseInstanceIpAddress): any;
export declare function sqlDatabaseInstanceIpAddressToHclTerraform(struct?: SqlDatabaseInstanceIpAddress): any;
export declare class SqlDatabaseInstanceIpAddressOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): SqlDatabaseInstanceIpAddress | undefined;
set internalValue(value: SqlDatabaseInstanceIpAddress | undefined);
get ipAddress(): string;
get timeToRetire(): string;
get type(): string;
}
export declare class SqlDatabaseInstanceIpAddressList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): SqlDatabaseInstanceIpAddressOutputReference;
}
export interface SqlDatabaseInstanceServerCaCert {
}
export declare function sqlDatabaseInstanceServerCaCertToTerraform(struct?: SqlDatabaseInstanceServerCaCert): any;
export declare function sqlDatabaseInstanceServerCaCertToHclTerraform(struct?: SqlDatabaseInstanceServerCaCert): any;
export declare class SqlDatabaseInstanceServerCaCertOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): SqlDatabaseInstanceServerCaCert | undefined;
set internalValue(value: SqlDatabaseInstanceServerCaCert | undefined);
get cert(): string;
get commonName(): string;
get createTime(): string;
get expirationTime(): string;
get sha1Fingerprint(): string;
}
export declare class SqlDatabaseInstanceServerCaCertList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): SqlDatabaseInstanceServerCaCertOutputReference;
}
export interface SqlDatabaseInstanceClone {
/**
* The name of the allocated ip range for the private ip CloudSQL instance. For example: "google-managed-services-default". If set, the cloned instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#allocated_ip_range SqlDatabaseInstance#allocated_ip_range}
*/
readonly allocatedIpRange?: string;
/**
* (SQL Server only, use with point_in_time) clone only the specified databases from the source instance. Clone all databases if empty.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#database_names SqlDatabaseInstance#database_names}
*/
readonly databaseNames?: string[];
/**
* The timestamp of the point in time that should be restored.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#point_in_time SqlDatabaseInstance#point_in_time}
*/
readonly pointInTime?: string;
/**
* (Point-in-time recovery for PostgreSQL only) Clone to an instance in the specified zone. If no zone is specified, clone to the same zone as the source instance.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#preferred_zone SqlDatabaseInstance#preferred_zone}
*/
readonly preferredZone?: string;
/**
* The name of the instance from which the point in time should be restored.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#source_instance_name SqlDatabaseInstance#source_instance_name}
*/
readonly sourceInstanceName: string;
}
export declare function sqlDatabaseInstanceCloneToTerraform(struct?: SqlDatabaseInstanceCloneOutputReference | SqlDatabaseInstanceClone): any;
export declare function sqlDatabaseInstanceCloneToHclTerraform(struct?: SqlDatabaseInstanceCloneOutputReference | SqlDatabaseInstanceClone): any;
export declare class SqlDatabaseInstanceCloneOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): SqlDatabaseInstanceClone | undefined;
set internalValue(value: SqlDatabaseInstanceClone | undefined);
private _allocatedIpRange?;
get allocatedIpRange(): string;
set allocatedIpRange(value: string);
resetAllocatedIpRange(): void;
get allocatedIpRangeInput(): string | undefined;
private _databaseNames?;
get databaseNames(): string[];
set databaseNames(value: string[]);
resetDatabaseNames(): void;
get databaseNamesInput(): string[] | undefined;
private _pointInTime?;
get pointInTime(): string;
set pointInTime(value: string);
resetPointInTime(): void;
get pointInTimeInput(): string | undefined;
private _preferredZone?;
get preferredZone(): string;
set preferredZone(value: string);
resetPreferredZone(): void;
get preferredZoneInput(): string | undefined;
private _sourceInstanceName?;
get sourceInstanceName(): string;
set sourceInstanceName(value: string);
get sourceInstanceNameInput(): string | undefined;
}
export interface SqlDatabaseInstanceReplicaConfiguration {
/**
* PEM representation of the trusted CA's x509 certificate.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#ca_certificate SqlDatabaseInstance#ca_certificate}
*/
readonly caCertificate?: string;
/**
* Specifies if a SQL Server replica is a cascadable replica. A cascadable replica is a SQL Server cross region replica that supports replica(s) under it.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#cascadable_replica SqlDatabaseInstance#cascadable_replica}
*/
readonly cascadableReplica?: boolean | cdktf.IResolvable;
/**
* PEM representation of the replica's x509 certificate.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#client_certificate SqlDatabaseInstance#client_certificate}
*/
readonly clientCertificate?: string;
/**
* PEM representation of the replica's private key. The corresponding public key in encoded in the client_certificate.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#client_key SqlDatabaseInstance#client_key}
*/
readonly clientKey?: string;
/**
* The number of seconds between connect retries. MySQL's default is 60 seconds.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#connect_retry_interval SqlDatabaseInstance#connect_retry_interval}
*/
readonly connectRetryInterval?: number;
/**
* Path to a SQL file in Google Cloud Storage from which replica instances are created. Format is gs://bucket/filename.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#dump_file_path SqlDatabaseInstance#dump_file_path}
*/
readonly dumpFilePath?: string;
/**
* Specifies if the replica is the failover target. If the field is set to true the replica will be designated as a failover replica. If the master instance fails, the replica instance will be promoted as the new master instance. Not supported for Postgres
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#failover_target SqlDatabaseInstance#failover_target}
*/
readonly failoverTarget?: boolean | cdktf.IResolvable;
/**
* Time in ms between replication heartbeats.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#master_heartbeat_period SqlDatabaseInstance#master_heartbeat_period}
*/
readonly masterHeartbeatPeriod?: number;
/**
* Password for the replication connection.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#password SqlDatabaseInstance#password}
*/
readonly password?: string;
/**
* Permissible ciphers for use in SSL encryption.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#ssl_cipher SqlDatabaseInstance#ssl_cipher}
*/
readonly sslCipher?: string;
/**
* Username for replication connection.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#username SqlDatabaseInstance#username}
*/
readonly username?: string;
/**
* True if the master's common name value is checked during the SSL handshake.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#verify_server_certificate SqlDatabaseInstance#verify_server_certificate}
*/
readonly verifyServerCertificate?: boolean | cdktf.IResolvable;
}
export declare function sqlDatabaseInstanceReplicaConfigurationToTerraform(struct?: SqlDatabaseInstanceReplicaConfigurationOutputReference | SqlDatabaseInstanceReplicaConfiguration): any;
export declare function sqlDatabaseInstanceReplicaConfigurationToHclTerraform(struct?: SqlDatabaseInstanceReplicaConfigurationOutputReference | SqlDatabaseInstanceReplicaConfiguration): any;
export declare class SqlDatabaseInstanceReplicaConfigurationOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): SqlDatabaseInstanceReplicaConfiguration | undefined;
set internalValue(value: SqlDatabaseInstanceReplicaConfiguration | undefined);
private _caCertificate?;
get caCertificate(): string;
set caCertificate(value: string);
resetCaCertificate(): void;
get caCertificateInput(): string | undefined;
private _cascadableReplica?;
get cascadableReplica(): boolean | cdktf.IResolvable;
set cascadableReplica(value: boolean | cdktf.IResolvable);
resetCascadableReplica(): void;
get cascadableReplicaInput(): boolean | cdktf.IResolvable | undefined;
private _clientCertificate?;
get clientCertificate(): string;
set clientCertificate(value: string);
resetClientCertificate(): void;
get clientCertificateInput(): string | undefined;
private _clientKey?;
get clientKey(): string;
set clientKey(value: string);
resetClientKey(): void;
get clientKeyInput(): string | undefined;
private _connectRetryInterval?;
get connectRetryInterval(): number;
set connectRetryInterval(value: number);
resetConnectRetryInterval(): void;
get connectRetryIntervalInput(): number | undefined;
private _dumpFilePath?;
get dumpFilePath(): string;
set dumpFilePath(value: string);
resetDumpFilePath(): void;
get dumpFilePathInput(): string | undefined;
private _failoverTarget?;
get failoverTarget(): boolean | cdktf.IResolvable;
set failoverTarget(value: boolean | cdktf.IResolvable);
resetFailoverTarget(): void;
get failoverTargetInput(): boolean | cdktf.IResolvable | undefined;
private _masterHeartbeatPeriod?;
get masterHeartbeatPeriod(): number;
set masterHeartbeatPeriod(value: number);
resetMasterHeartbeatPeriod(): void;
get masterHeartbeatPeriodInput(): number | undefined;
private _password?;
get password(): string;
set password(value: string);
resetPassword(): void;
get passwordInput(): string | undefined;
private _sslCipher?;
get sslCipher(): string;
set sslCipher(value: string);
resetSslCipher(): void;
get sslCipherInput(): string | undefined;
private _username?;
get username(): string;
set username(value: string);
resetUsername(): void;
get usernameInput(): string | undefined;
private _verifyServerCertificate?;
get verifyServerCertificate(): boolean | cdktf.IResolvable;
set verifyServerCertificate(value: boolean | cdktf.IResolvable);
resetVerifyServerCertificate(): void;
get verifyServerCertificateInput(): boolean | cdktf.IResolvable | undefined;
}
export interface SqlDatabaseInstanceRestoreBackupContext {
/**
* The ID of the backup run to restore from.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#backup_run_id SqlDatabaseInstance#backup_run_id}
*/
readonly backupRunId: number;
/**
* The ID of the instance that the backup was taken from.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#instance_id SqlDatabaseInstance#instance_id}
*/
readonly instanceId?: string;
/**
* The full project ID of the source instance.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#project SqlDatabaseInstance#project}
*/
readonly project?: string;
}
export declare function sqlDatabaseInstanceRestoreBackupContextToTerraform(struct?: SqlDatabaseInstanceRestoreBackupContextOutputReference | SqlDatabaseInstanceRestoreBackupContext): any;
export declare function sqlDatabaseInstanceRestoreBackupContextToHclTerraform(struct?: SqlDatabaseInstanceRestoreBackupContextOutputReference | SqlDatabaseInstanceRestoreBackupContext): any;
export declare class SqlDatabaseInstanceRestoreBackupContextOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): SqlDatabaseInstanceRestoreBackupContext | undefined;
set internalValue(value: SqlDatabaseInstanceRestoreBackupContext | undefined);
private _backupRunId?;
get backupRunId(): number;
set backupRunId(value: number);
get backupRunIdInput(): number | undefined;
private _instanceId?;
get instanceId(): string;
set instanceId(value: string);
resetInstanceId(): void;
get instanceIdInput(): string | undefined;
private _project?;
get project(): string;
set project(value: string);
resetProject(): void;
get projectInput(): string | undefined;
}
export interface SqlDatabaseInstanceSettingsActiveDirectoryConfig {
/**
* Domain name of the Active Directory for SQL Server (e.g., mydomain.com).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#domain SqlDatabaseInstance#domain}
*/
readonly domain: string;
}
export declare function sqlDatabaseInstanceSettingsActiveDirectoryConfigToTerraform(struct?: SqlDatabaseInstanceSettingsActiveDirectoryConfigOutputReference | SqlDatabaseInstanceSettingsActiveDirectoryConfig): any;
export declare function sqlDatabaseInstanceSettingsActiveDirectoryConfigToHclTerraform(struct?: SqlDatabaseInstanceSettingsActiveDirectoryConfigOutputReference | SqlDatabaseInstanceSettingsActiveDirectoryConfig): any;
export declare class SqlDatabaseInstanceSettingsActiveDirectoryConfigOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): SqlDatabaseInstanceSettingsActiveDirectoryConfig | undefined;
set internalValue(value: SqlDatabaseInstanceSettingsActiveDirectoryConfig | undefined);
private _domain?;
get domain(): string;
set domain(value: string);
get domainInput(): string | undefined;
}
export interface SqlDatabaseInstanceSettingsAdvancedMachineFeatures {
/**
* The number of threads per physical core. Can be 1 or 2.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#threads_per_core SqlDatabaseInstance#threads_per_core}
*/
readonly threadsPerCore?: number;
}
export declare function sqlDatabaseInstanceSettingsAdvancedMachineFeaturesToTerraform(struct?: SqlDatabaseInstanceSettingsAdvancedMachineFeaturesOutputReference | SqlDatabaseInstanceSettingsAdvancedMachineFeatures): any;
export declare function sqlDatabaseInstanceSettingsAdvancedMachineFeaturesToHclTerraform(struct?: SqlDatabaseInstanceSettingsAdvancedMachineFeaturesOutputReference | SqlDatabaseInstanceSettingsAdvancedMachineFeatures): any;
export declare class SqlDatabaseInstanceSettingsAdvancedMachineFeaturesOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): SqlDatabaseInstanceSettingsAdvancedMachineFeatures | undefined;
set internalValue(value: SqlDatabaseInstanceSettingsAdvancedMachineFeatures | undefined);
private _threadsPerCore?;
get threadsPerCore(): number;
set threadsPerCore(value: number);
resetThreadsPerCore(): void;
get threadsPerCoreInput(): number | undefined;
}
export interface SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings {
/**
* Number of backups to retain.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#retained_backups SqlDatabaseInstance#retained_backups}
*/
readonly retainedBackups: number;
/**
* The unit that 'retainedBackups' represents. Defaults to COUNT
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#retention_unit SqlDatabaseInstance#retention_unit}
*/
readonly retentionUnit?: string;
}
export declare function sqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettingsToTerraform(struct?: SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettingsOutputReference | SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings): any;
export declare function sqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettingsToHclTerraform(struct?: SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettingsOutputReference | SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings): any;
export declare class SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettingsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings | undefined;
set internalValue(value: SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings | undefined);
private _retainedBackups?;
get retainedBackups(): number;
set retainedBackups(value: number);
get retainedBackupsInput(): number | undefined;
private _retentionUnit?;
get retentionUnit(): string;
set retentionUnit(value: string);
resetRetentionUnit(): void;
get retentionUnitInput(): string | undefined;
}
export interface SqlDatabaseInstanceSettingsBackupConfiguration {
/**
* True if binary logging is enabled. If settings.backup_configuration.enabled is false, this must be as well. Can only be used with MySQL.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#binary_log_enabled SqlDatabaseInstance#binary_log_enabled}
*/
readonly binaryLogEnabled?: boolean | cdktf.IResolvable;
/**
* True if backup configuration is enabled.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#enabled SqlDatabaseInstance#enabled}
*/
readonly enabled?: boolean | cdktf.IResolvable;
/**
* Location of the backup configuration.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#location SqlDatabaseInstance#location}
*/
readonly location?: string;
/**
* True if Point-in-time recovery is enabled.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#point_in_time_recovery_enabled SqlDatabaseInstance#point_in_time_recovery_enabled}
*/
readonly pointInTimeRecoveryEnabled?: boolean | cdktf.IResolvable;
/**
* HH:MM format time indicating when backup configuration starts.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#start_time SqlDatabaseInstance#start_time}
*/
readonly startTime?: string;
/**
* The number of days of transaction logs we retain for point in time restore, from 1-7. (For PostgreSQL Enterprise Plus instances, from 1 to 35.)
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#transaction_log_retention_days SqlDatabaseInstance#transaction_log_retention_days}
*/
readonly transactionLogRetentionDays?: number;
/**
* backup_retention_settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#backup_retention_settings SqlDatabaseInstance#backup_retention_settings}
*/
readonly backupRetentionSettings?: SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings;
}
export declare function sqlDatabaseInstanceSettingsBackupConfigurationToTerraform(struct?: SqlDatabaseInstanceSettingsBackupConfigurationOutputReference | SqlDatabaseInstanceSettingsBackupConfiguration): any;
export declare function sqlDatabaseInstanceSettingsBackupConfigurationToHclTerraform(struct?: SqlDatabaseInstanceSettingsBackupConfigurationOutputReference | SqlDatabaseInstanceSettingsBackupConfiguration): any;
export declare class SqlDatabaseInstanceSettingsBackupConfigurationOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): SqlDatabaseInstanceSettingsBackupConfiguration | undefined;
set internalValue(value: SqlDatabaseInstanceSettingsBackupConfiguration | undefined);
private _binaryLogEnabled?;
get binaryLogEnabled(): boolean | cdktf.IResolvable;
set binaryLogEnabled(value: boolean | cdktf.IResolvable);
resetBinaryLogEnabled(): void;
get binaryLogEnabledInput(): boolean | cdktf.IResolvable | undefined;
private _enabled?;
get enabled(): boolean | cdktf.IResolvable;
set enabled(value: boolean | cdktf.IResolvable);
resetEnabled(): void;
get enabledInput(): boolean | cdktf.IResolvable | undefined;
private _location?;
get location(): string;
set location(value: string);
resetLocation(): void;
get locationInput(): string | undefined;
private _pointInTimeRecoveryEnabled?;
get pointInTimeRecoveryEnabled(): boolean | cdktf.IResolvable;
set pointInTimeRecoveryEnabled(value: boolean | cdktf.IResolvable);
resetPointInTimeRecoveryEnabled(): void;
get pointInTimeRecoveryEnabledInput(): boolean | cdktf.IResolvable | undefined;
private _startTime?;
get startTime(): string;
set startTime(value: string);
resetStartTime(): void;
get startTimeInput(): string | undefined;
private _transactionLogRetentionDays?;
get transactionLogRetentionDays(): number;
set transactionLogRetentionDays(value: number);
resetTransactionLogRetentionDays(): void;
get transactionLogRetentionDaysInput(): number | undefined;
private _backupRetentionSettings;
get backupRetentionSettings(): SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettingsOutputReference;
putBackupRetentionSettings(value: SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings): void;
resetBackupRetentionSettings(): void;
get backupRetentionSettingsInput(): SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings | undefined;
}
export interface SqlDatabaseInstanceSettingsDataCacheConfig {
/**
* Whether data cache is enabled for the instance.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#data_cache_enabled SqlDatabaseInstance#data_cache_enabled}
*/
readonly dataCacheEnabled?: boolean | cdktf.IResolvable;
}
export declare function sqlDatabaseInstanceSettingsDataCacheConfigToTerraform(struct?: SqlDatabaseInstanceSettingsDataCacheConfigOutputReference | SqlDatabaseInstanceSettingsDataCacheConfig): any;
export declare function sqlDatabaseInstanceSettingsDataCacheConfigToHclTerraform(struct?: SqlDatabaseInstanceSettingsDataCacheConfigOutputReference | SqlDatabaseInstanceSettingsDataCacheConfig): any;
export declare class SqlDatabaseInstanceSettingsDataCacheConfigOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): SqlDatabaseInstanceSettingsDataCacheConfig | undefined;
set internalValue(value: SqlDatabaseInstanceSettingsDataCacheConfig | undefined);
private _dataCacheEnabled?;
get dataCacheEnabled(): boolean | cdktf.IResolvable;
set dataCacheEnabled(value: boolean | cdktf.IResolvable);
resetDataCacheEnabled(): void;
get dataCacheEnabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface SqlDatabaseInstanceSettingsDatabaseFlags {
/**
* Name of the flag.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#name SqlDatabaseInstance#name}
*/
readonly name: string;
/**
* Value of the flag.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#value SqlDatabaseInstance#value}
*/
readonly value: string;
}
export declare function sqlDatabaseInstanceSettingsDatabaseFlagsToTerraform(struct?: SqlDatabaseInstanceSettingsDatabaseFlags | cdktf.IResolvable): any;
export declare function sqlDatabaseInstanceSettingsDatabaseFlagsToHclTerraform(struct?: SqlDatabaseInstanceSettingsDatabaseFlags | cdktf.IResolvable): any;
export declare class SqlDatabaseInstanceSettingsDatabaseFlagsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): SqlDatabaseInstanceSettingsDatabaseFlags | cdktf.IResolvable | undefined;
set internalValue(value: SqlDatabaseInstanceSettingsDatabaseFlags | cdktf.IResolvable | undefined);
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
private _value?;
get value(): string;
set value(value: string);
get valueInput(): string | undefined;
}
export declare class SqlDatabaseInstanceSettingsDatabaseFlagsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: SqlDatabaseInstanceSettingsDatabaseFlags[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): SqlDatabaseInstanceSettingsDatabaseFlagsOutputReference;
}
export interface SqlDatabaseInstanceSettingsDenyMaintenancePeriod {
/**
* End date before which maintenance will not take place. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#end_date SqlDatabaseInstance#end_date}
*/
readonly endDate: string;
/**
* Start date after which maintenance will not take place. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#start_date SqlDatabaseInstance#start_date}
*/
readonly startDate: string;
/**
* Time in UTC when the "deny maintenance period" starts on start_date and ends on end_date. The time is in format: HH:mm:SS, i.e., 00:00:00
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#time SqlDatabaseInstance#time}
*/
readonly time: string;
}
export declare function sqlDatabaseInstanceSettingsDenyMaintenancePeriodToTerraform(struct?: SqlDatabaseInstanceSettingsDenyMaintenancePeriodOutputReference | SqlDatabaseInstanceSettingsDenyMaintenancePeriod): any;
export declare function sqlDatabaseInstanceSettingsDenyMaintenancePeriodToHclTerraform(struct?: SqlDatabaseInstanceSettingsDenyMaintenancePeriodOutputReference | SqlDatabaseInstanceSettingsDenyMaintenancePeriod): any;
export declare class SqlDatabaseInstanceSettingsDenyMaintenancePeriodOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): SqlDatabaseInstanceSettingsDenyMaintenancePeriod | undefined;
set internalValue(value: SqlDatabaseInstanceSettingsDenyMaintenancePeriod | undefined);
private _endDate?;
get endDate(): string;
set endDate(value: string);
get endDateInput(): string | undefined;
private _startDate?;
get startDate(): string;
set startDate(value: string);
get startDateInput(): string | undefined;
private _time?;
get time(): string;
set time(value: string);
get timeInput(): string | undefined;
}
export interface SqlDatabaseInstanceSettingsInsightsConfig {
/**
* True if Query Insights feature is enabled.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#query_insights_enabled SqlDatabaseInstance#query_insights_enabled}
*/
readonly queryInsightsEnabled?: boolean | cdktf.IResolvable;
/**
* Number of query execution plans captured by Insights per minute for all queries combined. Between 0 and 20. Default to 5.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#query_plans_per_minute SqlDatabaseInstance#query_plans_per_minute}
*/
readonly queryPlansPerMinute?: number;
/**
* Maximum query length stored in bytes. Between 256 and 4500. Default to 1024.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#query_string_length SqlDatabaseInstance#query_string_length}
*/
readonly queryStringLength?: number;
/**
* True if Query Insights will record application tags from query when enabled.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#record_application_tags SqlDatabaseInstance#record_application_tags}
*/
readonly recordApplicationTags?: boolean | cdktf.IResolvable;
/**
* True if Query Insights will record client address when enabled.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#record_client_address SqlDatabaseInstance#record_client_address}
*/
readonly recordClientAddress?: boolean | cdktf.IResolvable;
}
export declare function sqlDatabaseInstanceSettingsInsightsConfigToTerraform(struct?: SqlDatabaseInstanceSettingsInsightsConfigOutputReference | SqlDatabaseInstanceSettingsInsightsConfig): any;
export declare function sqlDatabaseInstanceSettingsInsightsConfigToHclTerraform(struct?: SqlDatabaseInstanceSettingsInsightsConfigOutputReference | SqlDatabaseInstanceSettingsInsightsConfig): any;
export declare class SqlDatabaseInstanceSettingsInsightsConfigOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): SqlDatabaseInstanceSettingsInsightsConfig | undefined;
set internalValue(value: SqlDatabaseInstanceSettingsInsightsConfig | undefined);
private _queryInsightsEnabled?;
get queryInsightsEnabled(): boolean | cdktf.IResolvable;
set queryInsightsEnabled(value: boolean | cdktf.IResolvable);
resetQueryInsightsEnabled(): void;
get queryInsightsEnabledInput(): boolean | cdktf.IResolvable | undefined;
private _queryPlansPerMinute?;
get queryPlansPerMinute(): number;
set queryPlansPerMinute(value: number);
resetQueryPlansPerMinute(): void;
get queryPlansPerMinuteInput(): number | undefined;
private _queryStringLength?;
get queryStringLength(): number;
set queryStringLength(value: number);
resetQueryStringLength(): void;
get queryStringLengthInput(): number | undefined;
private _recordApplicationTags?;
get recordApplicationTags(): boolean | cdktf.IResolvable;
set recordApplicationTags(value: boolean | cdktf.IResolvable);
resetRecordApplicationTags(): void;
get recordApplicationTagsInput(): boolean | cdktf.IResolvable | undefined;
private _recordClientAddress?;
get recordClientAddress(): boolean | cdktf.IResolvable;
set recordClientAddress(value: boolean | cdktf.IResolvable);
resetRecordClientAddress(): void;
get recordClientAddressInput(): boolean | cdktf.IResolvable | undefined;
}
export interface SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#expiration_time SqlDatabaseInstance#expiration_time}
*/
readonly expirationTime?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#name SqlDatabaseInstance#name}
*/
readonly name?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/sql_database_instance#value SqlDatabaseInstance#value}
*/
readonly value: string;
}
export declare function sqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksToTerraform(struct?: SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks | cdktf.IResolvable): any;
export declare function sqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksToHclTerraform(struct?: SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks | cdktf.IResolvable): any;
export declare class SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks | cdktf.IResolvable | undefined;
set internalValue(value: SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks | cdktf.IResolvable | undefined);
private _expirationTime?;
get expirationTime(): string;
set expirationTime(value: string);
resetExpirationTime(): void;
get expirationTimeInput(): string | undefined;
private _name?;
get name(): string;
set name(value: string);
resetName(): void;
get nameInput(): string | undefined;
private _value?;
get value(): string;
set value(value: string);
get valueInput(): string | undefined;
}
export declare class SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksOutputReference;
}
export interface SqlDatabaseInstanceSettingsIpConfigurationPscConfigPscAutoConnections {
/**
* The consumer network of this consumer endpoint. This must be a resource path that includes both the host project and the network name. The co