import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DatabaseConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#access_cert Database#access_cert} */ readonly accessCert?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#access_key Database#access_key} */ readonly accessKey?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#backup_hour Database#backup_hour} */ readonly backupHour?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#backup_minute Database#backup_minute} */ readonly backupMinute?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#cluster_time_zone Database#cluster_time_zone} */ readonly clusterTimeZone?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#database_engine Database#database_engine} */ readonly databaseEngine: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#database_engine_version Database#database_engine_version} */ readonly databaseEngineVersion: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#enable_kafka_connect Database#enable_kafka_connect} */ readonly enableKafkaConnect?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#enable_kafka_rest Database#enable_kafka_rest} */ readonly enableKafkaRest?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#enable_schema_registry Database#enable_schema_registry} */ readonly enableSchemaRegistry?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#eviction_policy Database#eviction_policy} */ readonly evictionPolicy?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#ferretdb_credentials Database#ferretdb_credentials} */ readonly ferretdbCredentials?: { [key: string]: string; }; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#id Database#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; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#kafka_rest_uri Database#kafka_rest_uri} */ readonly kafkaRestUri?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#label Database#label} */ readonly label: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#maintenance_dow Database#maintenance_dow} */ readonly maintenanceDow?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#maintenance_time Database#maintenance_time} */ readonly maintenanceTime?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#mysql_long_query_time Database#mysql_long_query_time} */ readonly mysqlLongQueryTime?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#mysql_require_primary_key Database#mysql_require_primary_key} */ readonly mysqlRequirePrimaryKey?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#mysql_slow_query_log Database#mysql_slow_query_log} */ readonly mysqlSlowQueryLog?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#mysql_sql_modes Database#mysql_sql_modes} */ readonly mysqlSqlModes?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#password Database#password} */ readonly password?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#plan Database#plan} */ readonly plan: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#plan_brokers Database#plan_brokers} */ readonly planBrokers?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#plan_disk Database#plan_disk} */ readonly planDisk?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#plan_replicas Database#plan_replicas} */ readonly planReplicas?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#public_host Database#public_host} */ readonly publicHost?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#region Database#region} */ readonly region: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#sasl_port Database#sasl_port} */ readonly saslPort?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#schema_registry_uri Database#schema_registry_uri} */ readonly schemaRegistryUri?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#tag Database#tag} */ readonly tag?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#trusted_ips Database#trusted_ips} */ readonly trustedIps?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#vpc_id Database#vpc_id} */ readonly vpcId?: string; /** * read_replicas block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#read_replicas Database#read_replicas} */ readonly readReplicas?: DatabaseReadReplicas[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#timeouts Database#timeouts} */ readonly timeouts?: DatabaseTimeouts; } export interface DatabaseReadReplicas { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#backup_hour Database#backup_hour} */ readonly backupHour?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#backup_minute Database#backup_minute} */ readonly backupMinute?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#eviction_policy Database#eviction_policy} */ readonly evictionPolicy?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#ferretdb_credentials Database#ferretdb_credentials} */ readonly ferretdbCredentials?: { [key: string]: string; }; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#label Database#label} */ readonly label: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#mysql_long_query_time Database#mysql_long_query_time} */ readonly mysqlLongQueryTime?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#mysql_require_primary_key Database#mysql_require_primary_key} */ readonly mysqlRequirePrimaryKey?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#mysql_slow_query_log Database#mysql_slow_query_log} */ readonly mysqlSlowQueryLog?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#mysql_sql_modes Database#mysql_sql_modes} */ readonly mysqlSqlModes?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#plan_disk Database#plan_disk} */ readonly planDisk?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#public_host Database#public_host} */ readonly publicHost?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#region Database#region} */ readonly region: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#tag Database#tag} */ readonly tag?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#trusted_ips Database#trusted_ips} */ readonly trustedIps?: string[]; } export declare function databaseReadReplicasToTerraform(struct?: DatabaseReadReplicas | cdktf.IResolvable): any; export declare function databaseReadReplicasToHclTerraform(struct?: DatabaseReadReplicas | cdktf.IResolvable): any; export declare class DatabaseReadReplicasOutputReference 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(): DatabaseReadReplicas | cdktf.IResolvable | undefined; set internalValue(value: DatabaseReadReplicas | cdktf.IResolvable | undefined); private _backupHour?; get backupHour(): string; set backupHour(value: string); resetBackupHour(): void; get backupHourInput(): string; private _backupMinute?; get backupMinute(): string; set backupMinute(value: string); resetBackupMinute(): void; get backupMinuteInput(): string; get clusterTimeZone(): any; get databaseEngine(): any; get databaseEngineVersion(): any; get dateCreated(): any; get dbname(): any; private _evictionPolicy?; get evictionPolicy(): string; set evictionPolicy(value: string); resetEvictionPolicy(): void; get evictionPolicyInput(): string; private _ferretdbCredentials?; get ferretdbCredentials(): { [key: string]: string; }; set ferretdbCredentials(value: { [key: string]: string; }); resetFerretdbCredentials(): void; get ferretdbCredentialsInput(): { [key: string]: string; }; get host(): any; get id(): any; private _label?; get label(): string; set label(value: string); get labelInput(): string; get latestBackup(): any; get maintenanceDow(): any; get maintenanceTime(): any; private _mysqlLongQueryTime?; get mysqlLongQueryTime(): number; set mysqlLongQueryTime(value: number); resetMysqlLongQueryTime(): void; get mysqlLongQueryTimeInput(): number; private _mysqlRequirePrimaryKey?; get mysqlRequirePrimaryKey(): boolean | cdktf.IResolvable; set mysqlRequirePrimaryKey(value: boolean | cdktf.IResolvable); resetMysqlRequirePrimaryKey(): void; get mysqlRequirePrimaryKeyInput(): any; private _mysqlSlowQueryLog?; get mysqlSlowQueryLog(): boolean | cdktf.IResolvable; set mysqlSlowQueryLog(value: boolean | cdktf.IResolvable); resetMysqlSlowQueryLog(): void; get mysqlSlowQueryLogInput(): any; private _mysqlSqlModes?; get mysqlSqlModes(): string[]; set mysqlSqlModes(value: string[]); resetMysqlSqlModes(): void; get mysqlSqlModesInput(): string[]; get password(): any; get plan(): any; private _planDisk?; get planDisk(): number; set planDisk(value: number); resetPlanDisk(): void; get planDiskInput(): number; get planRam(): any; get planReplicas(): any; get planVcpus(): any; get port(): any; private _publicHost?; get publicHost(): string; set publicHost(value: string); resetPublicHost(): void; get publicHostInput(): string; private _region?; get region(): string; set region(value: string); get regionInput(): string; get status(): any; private _tag?; get tag(): string; set tag(value: string); resetTag(): void; get tagInput(): string; private _trustedIps?; get trustedIps(): string[]; set trustedIps(value: string[]); resetTrustedIps(): void; get trustedIpsInput(): string[]; get user(): any; get vpcId(): any; } export declare class DatabaseReadReplicasList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DatabaseReadReplicas[] | 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): DatabaseReadReplicasOutputReference; } export interface DatabaseTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#create Database#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#update Database#update} */ readonly update?: string; } export declare function databaseTimeoutsToTerraform(struct?: DatabaseTimeouts | cdktf.IResolvable): any; export declare function databaseTimeoutsToHclTerraform(struct?: DatabaseTimeouts | cdktf.IResolvable): any; export declare class DatabaseTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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(): DatabaseTimeouts | cdktf.IResolvable | undefined; set internalValue(value: DatabaseTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database vultr_database} */ export declare class Database extends cdktf.TerraformResource { static readonly tfResourceType = "vultr_database"; /** * Generates CDKTF code for importing a Database resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the Database to import * @param importFromId The id of the existing Database that should be imported. Refer to the {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Database to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database vultr_database} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options DatabaseConfig */ constructor(scope: Construct, id: string, config: DatabaseConfig); private _accessCert?; get accessCert(): string; set accessCert(value: string); resetAccessCert(): void; get accessCertInput(): string; private _accessKey?; get accessKey(): string; set accessKey(value: string); resetAccessKey(): void; get accessKeyInput(): string; private _backupHour?; get backupHour(): string; set backupHour(value: string); resetBackupHour(): void; get backupHourInput(): string; private _backupMinute?; get backupMinute(): string; set backupMinute(value: string); resetBackupMinute(): void; get backupMinuteInput(): string; get caCertificate(): any; private _clusterTimeZone?; get clusterTimeZone(): string; set clusterTimeZone(value: string); resetClusterTimeZone(): void; get clusterTimeZoneInput(): string; private _databaseEngine?; get databaseEngine(): string; set databaseEngine(value: string); get databaseEngineInput(): string; private _databaseEngineVersion?; get databaseEngineVersion(): string; set databaseEngineVersion(value: string); get databaseEngineVersionInput(): string; get dateCreated(): any; get dbname(): any; private _enableKafkaConnect?; get enableKafkaConnect(): boolean | cdktf.IResolvable; set enableKafkaConnect(value: boolean | cdktf.IResolvable); resetEnableKafkaConnect(): void; get enableKafkaConnectInput(): any; private _enableKafkaRest?; get enableKafkaRest(): boolean | cdktf.IResolvable; set enableKafkaRest(value: boolean | cdktf.IResolvable); resetEnableKafkaRest(): void; get enableKafkaRestInput(): any; private _enableSchemaRegistry?; get enableSchemaRegistry(): boolean | cdktf.IResolvable; set enableSchemaRegistry(value: boolean | cdktf.IResolvable); resetEnableSchemaRegistry(): void; get enableSchemaRegistryInput(): any; private _evictionPolicy?; get evictionPolicy(): string; set evictionPolicy(value: string); resetEvictionPolicy(): void; get evictionPolicyInput(): string; private _ferretdbCredentials?; get ferretdbCredentials(): { [key: string]: string; }; set ferretdbCredentials(value: { [key: string]: string; }); resetFerretdbCredentials(): void; get ferretdbCredentialsInput(): { [key: string]: string; }; get host(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _kafkaRestUri?; get kafkaRestUri(): string; set kafkaRestUri(value: string); resetKafkaRestUri(): void; get kafkaRestUriInput(): string; private _label?; get label(): string; set label(value: string); get labelInput(): string; get latestBackup(): any; private _maintenanceDow?; get maintenanceDow(): string; set maintenanceDow(value: string); resetMaintenanceDow(): void; get maintenanceDowInput(): string; private _maintenanceTime?; get maintenanceTime(): string; set maintenanceTime(value: string); resetMaintenanceTime(): void; get maintenanceTimeInput(): string; private _mysqlLongQueryTime?; get mysqlLongQueryTime(): number; set mysqlLongQueryTime(value: number); resetMysqlLongQueryTime(): void; get mysqlLongQueryTimeInput(): number; private _mysqlRequirePrimaryKey?; get mysqlRequirePrimaryKey(): boolean | cdktf.IResolvable; set mysqlRequirePrimaryKey(value: boolean | cdktf.IResolvable); resetMysqlRequirePrimaryKey(): void; get mysqlRequirePrimaryKeyInput(): any; private _mysqlSlowQueryLog?; get mysqlSlowQueryLog(): boolean | cdktf.IResolvable; set mysqlSlowQueryLog(value: boolean | cdktf.IResolvable); resetMysqlSlowQueryLog(): void; get mysqlSlowQueryLogInput(): any; private _mysqlSqlModes?; get mysqlSqlModes(): string[]; set mysqlSqlModes(value: string[]); resetMysqlSqlModes(): void; get mysqlSqlModesInput(): string[]; private _password?; get password(): string; set password(value: string); resetPassword(): void; get passwordInput(): string; private _plan?; get plan(): string; set plan(value: string); get planInput(): string; private _planBrokers?; get planBrokers(): number; set planBrokers(value: number); resetPlanBrokers(): void; get planBrokersInput(): number; private _planDisk?; get planDisk(): number; set planDisk(value: number); resetPlanDisk(): void; get planDiskInput(): number; get planRam(): any; private _planReplicas?; get planReplicas(): number; set planReplicas(value: number); resetPlanReplicas(): void; get planReplicasInput(): number; get planVcpus(): any; get port(): any; private _publicHost?; get publicHost(): string; set publicHost(value: string); resetPublicHost(): void; get publicHostInput(): string; private _region?; get region(): string; set region(value: string); get regionInput(): string; private _saslPort?; get saslPort(): string; set saslPort(value: string); resetSaslPort(): void; get saslPortInput(): string; private _schemaRegistryUri?; get schemaRegistryUri(): string; set schemaRegistryUri(value: string); resetSchemaRegistryUri(): void; get schemaRegistryUriInput(): string; get status(): any; private _tag?; get tag(): string; set tag(value: string); resetTag(): void; get tagInput(): string; private _trustedIps?; get trustedIps(): string[]; set trustedIps(value: string[]); resetTrustedIps(): void; get trustedIpsInput(): string[]; get user(): any; private _vpcId?; get vpcId(): string; set vpcId(value: string); resetVpcId(): void; get vpcIdInput(): string; private _readReplicas; get readReplicas(): DatabaseReadReplicasList; putReadReplicas(value: DatabaseReadReplicas[] | cdktf.IResolvable): void; resetReadReplicas(): void; get readReplicasInput(): any; private _timeouts; get timeouts(): DatabaseTimeoutsOutputReference; putTimeouts(value: DatabaseTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }