import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface MysqlDrInstanceConfig extends cdktf.TerraformMetaArguments { /** * Auto renew flag. NOTES: Only supported prepaid instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#auto_renew_flag MysqlDrInstance#auto_renew_flag} */ readonly autoRenewFlag?: number; /** * Indicates which availability zone will be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#availability_zone MysqlDrInstance#availability_zone} */ readonly availabilityZone?: string; /** * Pay type of instance. Valid values:`PREPAID`, `POSTPAID`. Default is `POSTPAID`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#charge_type MysqlDrInstance#charge_type} */ readonly chargeType?: string; /** * CPU cores. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#cpu MysqlDrInstance#cpu} */ readonly cpu?: number; /** * Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#device_type MysqlDrInstance#device_type} */ readonly deviceType?: string; /** * Zone information about first slave instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#first_slave_zone MysqlDrInstance#first_slave_zone} */ readonly firstSlaveZone?: string; /** * Indicate whether to delete instance directly or not. Default is `false`. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#force_delete MysqlDrInstance#force_delete} */ readonly forceDelete?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#id MysqlDrInstance#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 name of a mysql instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#instance_name MysqlDrInstance#instance_name} */ readonly instanceName: string; /** * Public access port. Valid value ranges: [1024~65535]. The default value is `3306`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#intranet_port MysqlDrInstance#intranet_port} */ readonly intranetPort?: number; /** * Indicates the master instance ID of recovery instances. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#master_instance_id MysqlDrInstance#master_instance_id} */ readonly masterInstanceId: string; /** * The zone information of the primary instance is required when you purchase a disaster recovery instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#master_region MysqlDrInstance#master_region} */ readonly masterRegion: string; /** * Memory size (in MB). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#mem_size MysqlDrInstance#mem_size} */ readonly memSize: number; /** * Pay type of instance. Valid values: `0`, `1`. `0`: prepaid, `1`: postpaid. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#pay_type MysqlDrInstance#pay_type} */ readonly payType?: number; /** * Period of instance. NOTES: Only supported prepaid instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#period MysqlDrInstance#period} */ readonly period?: number; /** * Period of instance. NOTES: Only supported prepaid instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#prepaid_period MysqlDrInstance#prepaid_period} */ readonly prepaidPeriod?: number; /** * Project ID, default value is 0. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#project_id MysqlDrInstance#project_id} */ readonly projectId?: number; /** * Zone information about second slave instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#second_slave_zone MysqlDrInstance#second_slave_zone} */ readonly secondSlaveZone?: string; /** * Security groups to use. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#security_groups MysqlDrInstance#security_groups} */ readonly securityGroups?: string[]; /** * Availability zone deployment method. Available values: 0 - Single availability zone; 1 - Multiple availability zones. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#slave_deploy_mode MysqlDrInstance#slave_deploy_mode} */ readonly slaveDeployMode?: number; /** * Data replication mode. 0 - Async replication; 1 - Semisync replication; 2 - Strongsync replication. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#slave_sync_mode MysqlDrInstance#slave_sync_mode} */ readonly slaveSyncMode?: number; /** * Private network ID. If `vpc_id` is set, this value is required. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#subnet_id MysqlDrInstance#subnet_id} */ readonly subnetId?: string; /** * Instance tags. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#tags MysqlDrInstance#tags} */ readonly tags?: { [key: string]: string; }; /** * Disk size (in GB). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#volume_size MysqlDrInstance#volume_size} */ readonly volumeSize: number; /** * ID of VPC, which can be modified once every 24 hours and can't be removed. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#vpc_id MysqlDrInstance#vpc_id} */ readonly vpcId?: string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance tencentcloud_mysql_dr_instance} */ export declare class MysqlDrInstance extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_mysql_dr_instance"; /** * Generates CDKTF code for importing a MysqlDrInstance 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 MysqlDrInstance to import * @param importFromId The id of the existing MysqlDrInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the MysqlDrInstance 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/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_dr_instance tencentcloud_mysql_dr_instance} 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 MysqlDrInstanceConfig */ constructor(scope: Construct, id: string, config: MysqlDrInstanceConfig); private _autoRenewFlag?; get autoRenewFlag(): number; set autoRenewFlag(value: number); resetAutoRenewFlag(): void; get autoRenewFlagInput(): number; private _availabilityZone?; get availabilityZone(): string; set availabilityZone(value: string); resetAvailabilityZone(): void; get availabilityZoneInput(): string; private _chargeType?; get chargeType(): string; set chargeType(value: string); resetChargeType(): void; get chargeTypeInput(): string; private _cpu?; get cpu(): number; set cpu(value: number); resetCpu(): void; get cpuInput(): number; private _deviceType?; get deviceType(): string; set deviceType(value: string); resetDeviceType(): void; get deviceTypeInput(): string; private _firstSlaveZone?; get firstSlaveZone(): string; set firstSlaveZone(value: string); resetFirstSlaveZone(): void; get firstSlaveZoneInput(): string; private _forceDelete?; get forceDelete(): boolean | cdktf.IResolvable; set forceDelete(value: boolean | cdktf.IResolvable); resetForceDelete(): void; get forceDeleteInput(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceName?; get instanceName(): string; set instanceName(value: string); get instanceNameInput(): string; get intranetIp(): any; private _intranetPort?; get intranetPort(): number; set intranetPort(value: number); resetIntranetPort(): void; get intranetPortInput(): number; private _masterInstanceId?; get masterInstanceId(): string; set masterInstanceId(value: string); get masterInstanceIdInput(): string; private _masterRegion?; get masterRegion(): string; set masterRegion(value: string); get masterRegionInput(): string; private _memSize?; get memSize(): number; set memSize(value: number); get memSizeInput(): number; private _payType?; get payType(): number; set payType(value: number); resetPayType(): void; get payTypeInput(): number; private _period?; get period(): number; set period(value: number); resetPeriod(): void; get periodInput(): number; private _prepaidPeriod?; get prepaidPeriod(): number; set prepaidPeriod(value: number); resetPrepaidPeriod(): void; get prepaidPeriodInput(): number; private _projectId?; get projectId(): number; set projectId(value: number); resetProjectId(): void; get projectIdInput(): number; private _secondSlaveZone?; get secondSlaveZone(): string; set secondSlaveZone(value: string); resetSecondSlaveZone(): void; get secondSlaveZoneInput(): string; private _securityGroups?; get securityGroups(): string[]; set securityGroups(value: string[]); resetSecurityGroups(): void; get securityGroupsInput(): string[]; private _slaveDeployMode?; get slaveDeployMode(): number; set slaveDeployMode(value: number); resetSlaveDeployMode(): void; get slaveDeployModeInput(): number; private _slaveSyncMode?; get slaveSyncMode(): number; set slaveSyncMode(value: number); resetSlaveSyncMode(): void; get slaveSyncModeInput(): number; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _volumeSize?; get volumeSize(): number; set volumeSize(value: number); get volumeSizeInput(): number; private _vpcId?; get vpcId(): string; set vpcId(value: string); resetVpcId(): void; get vpcIdInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }