import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface MysqlReadonlyInstanceConfig 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_readonly_instance#auto_renew_flag MysqlReadonlyInstance#auto_renew_flag} */ readonly autoRenewFlag?: number; /** * 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_readonly_instance#charge_type MysqlReadonlyInstance#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_readonly_instance#cpu MysqlReadonlyInstance#cpu} */ readonly cpu?: number; /** * Specify device type, available values: * - `UNIVERSAL` (default): universal instance, * - `EXCLUSIVE`: exclusive instance, * - `BASIC_V2`: ONTKE single-node instance, * - `CLOUD_NATIVE_CLUSTER`: cluster version standard type, * - `CLOUD_NATIVE_CLUSTER_EXCLUSIVE`: cluster version enhanced type. * If it is not specified, it defaults to a universal instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#device_type MysqlReadonlyInstance#device_type} */ readonly deviceType?: string; /** * Specify whether to enable fast upgrade when upgrade instance spec, available value: `1` - enabled, `0` - disabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#fast_upgrade MysqlReadonlyInstance#fast_upgrade} */ readonly fastUpgrade?: number; /** * 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. When the main mysql instance set true, this para of the readonly mysql instance will not take effect. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#force_delete MysqlReadonlyInstance#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_readonly_instance#id MysqlReadonlyInstance#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_readonly_instance#instance_name MysqlReadonlyInstance#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_readonly_instance#intranet_port MysqlReadonlyInstance#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_readonly_instance#master_instance_id MysqlReadonlyInstance#master_instance_id} */ readonly masterInstanceId: string; /** * The region information of the master instance. This field is required when purchasing a cross-region subscription. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#master_region MysqlReadonlyInstance#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_readonly_instance#mem_size MysqlReadonlyInstance#mem_size} */ readonly memSize: number; /** * Specify parameter template id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#param_template_id MysqlReadonlyInstance#param_template_id} */ readonly paramTemplateId?: 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_readonly_instance#pay_type MysqlReadonlyInstance#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_readonly_instance#period MysqlReadonlyInstance#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_readonly_instance#prepaid_period MysqlReadonlyInstance#prepaid_period} */ readonly prepaidPeriod?: number; /** * Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. Cross-region query requires master instance permission. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#ro_group_id MysqlReadonlyInstance#ro_group_id} */ readonly roGroupId?: string; /** * Security groups to use. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#security_groups MysqlReadonlyInstance#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_readonly_instance#slave_deploy_mode MysqlReadonlyInstance#slave_deploy_mode} */ readonly slaveDeployMode?: 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_readonly_instance#subnet_id MysqlReadonlyInstance#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_readonly_instance#tags MysqlReadonlyInstance#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_readonly_instance#volume_size MysqlReadonlyInstance#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_readonly_instance#vpc_id MysqlReadonlyInstance#vpc_id} */ readonly vpcId?: string; /** * Switch the method of accessing new instances, default is `0`. Supported values include: `0` - switch immediately, `1` - switch in time window. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#wait_switch MysqlReadonlyInstance#wait_switch} */ readonly waitSwitch?: number; /** * Zone information, this parameter defaults to, the system automatically selects an Availability Zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#zone MysqlReadonlyInstance#zone} */ readonly zone?: string; /** * cluster_topology block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#cluster_topology MysqlReadonlyInstance#cluster_topology} */ readonly clusterTopology?: MysqlReadonlyInstanceClusterTopology; } export interface MysqlReadonlyInstanceClusterTopologyReadOnlyNodes { /** * Whether to distribute in random availability zones. Enter `true` to specify a random availability zone. Otherwise, use the availability zone specified by Zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#is_random_zone MysqlReadonlyInstance#is_random_zone} */ readonly isRandomZone?: boolean | cdktf.IResolvable; /** * When upgrading a cluster instance, if you want to adjust the availability zone of a read-only node, you need to specify the node ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#node_id MysqlReadonlyInstance#node_id} */ readonly nodeId?: string; /** * Specifies the availability zone where the node is distributed. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#zone MysqlReadonlyInstance#zone} */ readonly zone?: string; } export declare function mysqlReadonlyInstanceClusterTopologyReadOnlyNodesToTerraform(struct?: MysqlReadonlyInstanceClusterTopologyReadOnlyNodes | cdktf.IResolvable): any; export declare function mysqlReadonlyInstanceClusterTopologyReadOnlyNodesToHclTerraform(struct?: MysqlReadonlyInstanceClusterTopologyReadOnlyNodes | cdktf.IResolvable): any; export declare class MysqlReadonlyInstanceClusterTopologyReadOnlyNodesOutputReference 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(): MysqlReadonlyInstanceClusterTopologyReadOnlyNodes | cdktf.IResolvable | undefined; set internalValue(value: MysqlReadonlyInstanceClusterTopologyReadOnlyNodes | cdktf.IResolvable | undefined); private _isRandomZone?; get isRandomZone(): boolean | cdktf.IResolvable; set isRandomZone(value: boolean | cdktf.IResolvable); resetIsRandomZone(): void; get isRandomZoneInput(): any; private _nodeId?; get nodeId(): string; set nodeId(value: string); resetNodeId(): void; get nodeIdInput(): string; private _zone?; get zone(): string; set zone(value: string); resetZone(): void; get zoneInput(): string; } export declare class MysqlReadonlyInstanceClusterTopologyReadOnlyNodesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: MysqlReadonlyInstanceClusterTopologyReadOnlyNodes[] | 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): MysqlReadonlyInstanceClusterTopologyReadOnlyNodesOutputReference; } export interface MysqlReadonlyInstanceClusterTopologyReadWriteNode { /** * When upgrading a cluster instance, if you want to adjust the availability zone of a read-only node, you need to specify the node ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#node_id MysqlReadonlyInstance#node_id} */ readonly nodeId?: string; /** * The availability zone where the RW node is located. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#zone MysqlReadonlyInstance#zone} */ readonly zone: string; } export declare function mysqlReadonlyInstanceClusterTopologyReadWriteNodeToTerraform(struct?: MysqlReadonlyInstanceClusterTopologyReadWriteNodeOutputReference | MysqlReadonlyInstanceClusterTopologyReadWriteNode): any; export declare function mysqlReadonlyInstanceClusterTopologyReadWriteNodeToHclTerraform(struct?: MysqlReadonlyInstanceClusterTopologyReadWriteNodeOutputReference | MysqlReadonlyInstanceClusterTopologyReadWriteNode): any; export declare class MysqlReadonlyInstanceClusterTopologyReadWriteNodeOutputReference 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(): MysqlReadonlyInstanceClusterTopologyReadWriteNode | undefined; set internalValue(value: MysqlReadonlyInstanceClusterTopologyReadWriteNode | undefined); private _nodeId?; get nodeId(): string; set nodeId(value: string); resetNodeId(): void; get nodeIdInput(): string; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; } export interface MysqlReadonlyInstanceClusterTopology { /** * read_only_nodes block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#read_only_nodes MysqlReadonlyInstance#read_only_nodes} */ readonly readOnlyNodes?: MysqlReadonlyInstanceClusterTopologyReadOnlyNodes[] | cdktf.IResolvable; /** * read_write_node block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#read_write_node MysqlReadonlyInstance#read_write_node} */ readonly readWriteNode?: MysqlReadonlyInstanceClusterTopologyReadWriteNode; } export declare function mysqlReadonlyInstanceClusterTopologyToTerraform(struct?: MysqlReadonlyInstanceClusterTopologyOutputReference | MysqlReadonlyInstanceClusterTopology): any; export declare function mysqlReadonlyInstanceClusterTopologyToHclTerraform(struct?: MysqlReadonlyInstanceClusterTopologyOutputReference | MysqlReadonlyInstanceClusterTopology): any; export declare class MysqlReadonlyInstanceClusterTopologyOutputReference 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(): MysqlReadonlyInstanceClusterTopology | undefined; set internalValue(value: MysqlReadonlyInstanceClusterTopology | undefined); private _readOnlyNodes; get readOnlyNodes(): MysqlReadonlyInstanceClusterTopologyReadOnlyNodesList; putReadOnlyNodes(value: MysqlReadonlyInstanceClusterTopologyReadOnlyNodes[] | cdktf.IResolvable): void; resetReadOnlyNodes(): void; get readOnlyNodesInput(): any; private _readWriteNode; get readWriteNode(): MysqlReadonlyInstanceClusterTopologyReadWriteNodeOutputReference; putReadWriteNode(value: MysqlReadonlyInstanceClusterTopologyReadWriteNode): void; resetReadWriteNode(): void; get readWriteNodeInput(): MysqlReadonlyInstanceClusterTopologyReadWriteNode; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance tencentcloud_mysql_readonly_instance} */ export declare class MysqlReadonlyInstance extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_mysql_readonly_instance"; /** * Generates CDKTF code for importing a MysqlReadonlyInstance 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 MysqlReadonlyInstance to import * @param importFromId The id of the existing MysqlReadonlyInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_readonly_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the MysqlReadonlyInstance 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_readonly_instance tencentcloud_mysql_readonly_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 MysqlReadonlyInstanceConfig */ constructor(scope: Construct, id: string, config: MysqlReadonlyInstanceConfig); private _autoRenewFlag?; get autoRenewFlag(): number; set autoRenewFlag(value: number); resetAutoRenewFlag(): void; get autoRenewFlagInput(): number; 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 _fastUpgrade?; get fastUpgrade(): number; set fastUpgrade(value: number); resetFastUpgrade(): void; get fastUpgradeInput(): number; 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; get locked(): any; private _masterInstanceId?; get masterInstanceId(): string; set masterInstanceId(value: string); get masterInstanceIdInput(): string; private _masterRegion?; get masterRegion(): string; set masterRegion(value: string); resetMasterRegion(): void; get masterRegionInput(): string; private _memSize?; get memSize(): number; set memSize(value: number); get memSizeInput(): number; private _paramTemplateId?; get paramTemplateId(): number; set paramTemplateId(value: number); resetParamTemplateId(): void; get paramTemplateIdInput(): 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 _roGroupId?; get roGroupId(): string; set roGroupId(value: string); resetRoGroupId(): void; get roGroupIdInput(): 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; get status(): any; 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; }; get taskStatus(): any; 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; private _waitSwitch?; get waitSwitch(): number; set waitSwitch(value: number); resetWaitSwitch(): void; get waitSwitchInput(): number; private _zone?; get zone(): string; set zone(value: string); resetZone(): void; get zoneInput(): string; private _clusterTopology; get clusterTopology(): MysqlReadonlyInstanceClusterTopologyOutputReference; putClusterTopology(value: MysqlReadonlyInstanceClusterTopology): void; resetClusterTopology(): void; get clusterTopologyInput(): MysqlReadonlyInstanceClusterTopology; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }