import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DcdbDbInstanceConfig extends cdktf.TerraformMetaArguments { /** * Automatic renewal flag, 0 means the default state (the user has not set it, that is, the initial state is manual renewal, and the user has activated the prepaid non-stop privilege and will also perform automatic renewal). 1 means automatic renewal, 2 means no automatic renewal (user setting). if the business has no concept of renewal or automatic renewal is not required, it needs to be set to 0. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#auto_renew_flag DcdbDbInstance#auto_renew_flag} */ readonly autoRenewFlag?: number; /** * Whether to automatically use vouchers for payment, not used by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#auto_voucher DcdbDbInstance#auto_voucher} */ readonly autoVoucher?: boolean | cdktf.IResolvable; /** * Database engine version, currently available: 8.0.18, 10.1.9, 5.7.17. 8.0.18 - MySQL 8.0.18; 10.1.9 - Mariadb 10.1.9; 5.7.17 - Percona 5.7.17 If not filled, the default is 5.7.17, which means Percona 5.7.17. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#db_version_id DcdbDbInstance#db_version_id} */ readonly dbVersionId?: string; /** * DCN source instance ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#dcn_instance_id DcdbDbInstance#dcn_instance_id} */ readonly dcnInstanceId?: string; /** * DCN source region. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#dcn_region DcdbDbInstance#dcn_region} */ readonly dcnRegion?: string; /** * Whether to open the extranet access. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#extranet_access DcdbDbInstance#extranet_access} */ readonly extranetAccess?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#id DcdbDbInstance#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; /** * Instance name, you can set the name of the instance independently through this field. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#instance_name DcdbDbInstance#instance_name} */ readonly instanceName?: string; /** * Whether to support IPv6. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#ipv6_flag DcdbDbInstance#ipv6_flag} */ readonly ipv6Flag?: number; /** * The length of time you want to buy, unit: month. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#period DcdbDbInstance#period} */ readonly period: number; /** * Project ID, which can be obtained by viewing the project list, if not passed, it will be associated with the default project. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#project_id DcdbDbInstance#project_id} */ readonly projectId?: number; /** * Security group ids, the security group can be passed in the form of an array, compatible with the previous SecurityGroupId parameter. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#security_group_ids DcdbDbInstance#security_group_ids} */ readonly securityGroupIds?: string[]; /** * The number of instance fragments, the optional range is 2-8, and new fragments can be added to a maximum of 64 fragments by upgrading the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#shard_count DcdbDbInstance#shard_count} */ readonly shardCount: number; /** * Shard memory size, unit: GB, can pass DescribeShardSpec Query the instance specification to obtain. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#shard_memory DcdbDbInstance#shard_memory} */ readonly shardMemory: number; /** * Number of single shard nodes, can pass DescribeShardSpec Query the instance specification to obtain. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#shard_node_count DcdbDbInstance#shard_node_count} */ readonly shardNodeCount: number; /** * Shard storage size, unit: GB, can pass DescribeShardSpec Query the instance specification to obtain. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#shard_storage DcdbDbInstance#shard_storage} */ readonly shardStorage: number; /** * Virtual private network subnet ID, required when VpcId is not empty. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#subnet_id DcdbDbInstance#subnet_id} */ readonly subnetId?: string; /** * The field is required to specify VIP. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#vip DcdbDbInstance#vip} */ readonly vip?: string; /** * The field is required to specify VIPv6. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#vipv6 DcdbDbInstance#vipv6} */ readonly vipv6?: string; /** * Voucher ID list, currently only supports specifying one voucher. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#voucher_ids DcdbDbInstance#voucher_ids} */ readonly voucherIds?: string[]; /** * Virtual private network ID, if not passed or passed empty, it means that it is created as a basic network. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#vpc_id DcdbDbInstance#vpc_id} */ readonly vpcId?: string; /** * The availability zone distribution of shard nodes can be filled with up to two availability zones. When the shard specification is one master and two slaves, two of the nodes are in the first availability zone.Note that the current availability zone that can be sold needs to be pulled through the DescribeDCDBSaleInfo interface. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#zones DcdbDbInstance#zones} */ readonly zones: string[]; /** * init_params block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#init_params DcdbDbInstance#init_params} */ readonly initParams?: DcdbDbInstanceInitParams[] | cdktf.IResolvable; /** * resource_tags block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#resource_tags DcdbDbInstance#resource_tags} */ readonly resourceTags?: DcdbDbInstanceResourceTags[] | cdktf.IResolvable; } export interface DcdbDbInstanceInitParams { /** * The name of parameter. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#param DcdbDbInstance#param} */ readonly param: string; /** * The value of parameter. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#value DcdbDbInstance#value} */ readonly value: string; } export declare function dcdbDbInstanceInitParamsToTerraform(struct?: DcdbDbInstanceInitParams | cdktf.IResolvable): any; export declare function dcdbDbInstanceInitParamsToHclTerraform(struct?: DcdbDbInstanceInitParams | cdktf.IResolvable): any; export declare class DcdbDbInstanceInitParamsOutputReference 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(): DcdbDbInstanceInitParams | cdktf.IResolvable | undefined; set internalValue(value: DcdbDbInstanceInitParams | cdktf.IResolvable | undefined); private _param?; get param(): string; set param(value: string); get paramInput(): string; private _value?; get value(): string; set value(value: string); get valueInput(): string; } export declare class DcdbDbInstanceInitParamsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DcdbDbInstanceInitParams[] | 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): DcdbDbInstanceInitParamsOutputReference; } export interface DcdbDbInstanceResourceTags { /** * The key of tag. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#tag_key DcdbDbInstance#tag_key} */ readonly tagKey: string; /** * The value of tag. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#tag_value DcdbDbInstance#tag_value} */ readonly tagValue: string; } export declare function dcdbDbInstanceResourceTagsToTerraform(struct?: DcdbDbInstanceResourceTags | cdktf.IResolvable): any; export declare function dcdbDbInstanceResourceTagsToHclTerraform(struct?: DcdbDbInstanceResourceTags | cdktf.IResolvable): any; export declare class DcdbDbInstanceResourceTagsOutputReference 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(): DcdbDbInstanceResourceTags | cdktf.IResolvable | undefined; set internalValue(value: DcdbDbInstanceResourceTags | cdktf.IResolvable | undefined); private _tagKey?; get tagKey(): string; set tagKey(value: string); get tagKeyInput(): string; private _tagValue?; get tagValue(): string; set tagValue(value: string); get tagValueInput(): string; } export declare class DcdbDbInstanceResourceTagsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DcdbDbInstanceResourceTags[] | 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): DcdbDbInstanceResourceTagsOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance tencentcloud_dcdb_db_instance} */ export declare class DcdbDbInstance extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_dcdb_db_instance"; /** * Generates CDKTF code for importing a DcdbDbInstance 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 DcdbDbInstance to import * @param importFromId The id of the existing DcdbDbInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dcdb_db_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DcdbDbInstance 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/dcdb_db_instance tencentcloud_dcdb_db_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 DcdbDbInstanceConfig */ constructor(scope: Construct, id: string, config: DcdbDbInstanceConfig); private _autoRenewFlag?; get autoRenewFlag(): number; set autoRenewFlag(value: number); resetAutoRenewFlag(): void; get autoRenewFlagInput(): number; private _autoVoucher?; get autoVoucher(): boolean | cdktf.IResolvable; set autoVoucher(value: boolean | cdktf.IResolvable); resetAutoVoucher(): void; get autoVoucherInput(): any; private _dbVersionId?; get dbVersionId(): string; set dbVersionId(value: string); resetDbVersionId(): void; get dbVersionIdInput(): string; private _dcnInstanceId?; get dcnInstanceId(): string; set dcnInstanceId(value: string); resetDcnInstanceId(): void; get dcnInstanceIdInput(): string; private _dcnRegion?; get dcnRegion(): string; set dcnRegion(value: string); resetDcnRegion(): void; get dcnRegionInput(): string; private _extranetAccess?; get extranetAccess(): boolean | cdktf.IResolvable; set extranetAccess(value: boolean | cdktf.IResolvable); resetExtranetAccess(): void; get extranetAccessInput(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceName?; get instanceName(): string; set instanceName(value: string); resetInstanceName(): void; get instanceNameInput(): string; private _ipv6Flag?; get ipv6Flag(): number; set ipv6Flag(value: number); resetIpv6Flag(): void; get ipv6FlagInput(): number; private _period?; get period(): number; set period(value: number); get periodInput(): number; private _projectId?; get projectId(): number; set projectId(value: number); resetProjectId(): void; get projectIdInput(): number; private _securityGroupIds?; get securityGroupIds(): string[]; set securityGroupIds(value: string[]); resetSecurityGroupIds(): void; get securityGroupIdsInput(): string[]; private _shardCount?; get shardCount(): number; set shardCount(value: number); get shardCountInput(): number; private _shardMemory?; get shardMemory(): number; set shardMemory(value: number); get shardMemoryInput(): number; private _shardNodeCount?; get shardNodeCount(): number; set shardNodeCount(value: number); get shardNodeCountInput(): number; private _shardStorage?; get shardStorage(): number; set shardStorage(value: number); get shardStorageInput(): number; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; private _vip?; get vip(): string; set vip(value: string); resetVip(): void; get vipInput(): string; private _vipv6?; get vipv6(): string; set vipv6(value: string); resetVipv6(): void; get vipv6Input(): string; private _voucherIds?; get voucherIds(): string[]; set voucherIds(value: string[]); resetVoucherIds(): void; get voucherIdsInput(): string[]; private _vpcId?; get vpcId(): string; set vpcId(value: string); resetVpcId(): void; get vpcIdInput(): string; get vport(): any; private _zones?; get zones(): string[]; set zones(value: string[]); get zonesInput(): string[]; private _initParams; get initParams(): DcdbDbInstanceInitParamsList; putInitParams(value: DcdbDbInstanceInitParams[] | cdktf.IResolvable): void; resetInitParams(): void; get initParamsInput(): any; private _resourceTags; get resourceTags(): DcdbDbInstanceResourceTagsList; putResourceTags(value: DcdbDbInstanceResourceTags[] | cdktf.IResolvable): void; resetResourceTags(): void; get resourceTagsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }