import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DatabaseReplicaConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database_replica#backup_hour DatabaseReplica#backup_hour} */ readonly backupHour?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database_replica#backup_minute DatabaseReplica#backup_minute} */ readonly backupMinute?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database_replica#database_id DatabaseReplica#database_id} */ readonly databaseId: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database_replica#eviction_policy DatabaseReplica#eviction_policy} */ readonly evictionPolicy?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database_replica#ferretdb_credentials DatabaseReplica#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_replica#label DatabaseReplica#label} */ readonly label: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database_replica#mysql_long_query_time DatabaseReplica#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_replica#mysql_require_primary_key DatabaseReplica#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_replica#mysql_slow_query_log DatabaseReplica#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_replica#mysql_sql_modes DatabaseReplica#mysql_sql_modes} */ readonly mysqlSqlModes?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database_replica#plan_disk DatabaseReplica#plan_disk} */ readonly planDisk?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database_replica#public_host DatabaseReplica#public_host} */ readonly publicHost?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database_replica#region DatabaseReplica#region} */ readonly region: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database_replica#tag DatabaseReplica#tag} */ readonly tag?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database_replica#trusted_ips DatabaseReplica#trusted_ips} */ readonly trustedIps?: string[]; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database_replica#timeouts DatabaseReplica#timeouts} */ readonly timeouts?: DatabaseReplicaTimeouts; } export interface DatabaseReplicaTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database_replica#create DatabaseReplica#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database_replica#update DatabaseReplica#update} */ readonly update?: string; } export declare function databaseReplicaTimeoutsToTerraform(struct?: DatabaseReplicaTimeouts | cdktf.IResolvable): any; export declare function databaseReplicaTimeoutsToHclTerraform(struct?: DatabaseReplicaTimeouts | cdktf.IResolvable): any; export declare class DatabaseReplicaTimeoutsOutputReference 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(): DatabaseReplicaTimeouts | cdktf.IResolvable | undefined; set internalValue(value: DatabaseReplicaTimeouts | 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_replica vultr_database_replica} */ export declare class DatabaseReplica extends cdktf.TerraformResource { static readonly tfResourceType = "vultr_database_replica"; /** * Generates CDKTF code for importing a DatabaseReplica 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 DatabaseReplica to import * @param importFromId The id of the existing DatabaseReplica that should be imported. Refer to the {@link https://registry.terraform.io/providers/vultr/vultr/2.28.0/docs/resources/database_replica#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DatabaseReplica 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_replica vultr_database_replica} 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 DatabaseReplicaConfig */ constructor(scope: Construct, id: string, config: DatabaseReplicaConfig); 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; private _databaseId?; get databaseId(): string; set databaseId(value: string); get databaseIdInput(): string; 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; private _timeouts; get timeouts(): DatabaseReplicaTimeoutsOutputReference; putTimeouts(value: DatabaseReplicaTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }