import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface MariadbInstanceConfig extends cdktf.TerraformMetaArguments { /** * Automatic renewal flag, 1: automatic renewal, 2: no automatic renewal. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#auto_renew_flag MariadbInstance#auto_renew_flag} */ readonly autoRenewFlag?: number; /** * Whether to automatically use the voucher for payment, the default is not used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#auto_voucher MariadbInstance#auto_voucher} */ readonly autoVoucher?: boolean | cdktf.IResolvable; /** * Database engine version, currently available: 8.0.18, 10.1.9, 5.7.17. If not passed, the default is Percona 5.7.17. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#db_version_id MariadbInstance#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/mariadb_instance#dcn_instance_id MariadbInstance#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/mariadb_instance#dcn_region MariadbInstance#dcn_region} */ readonly dcnRegion?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#id MariadbInstance#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/mariadb_instance#instance_name MariadbInstance#instance_name} */ readonly instanceName?: string; /** * Whether IPv6 is supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#ipv6_flag MariadbInstance#ipv6_flag} */ readonly ipv6Flag?: number; /** * Memory size, unit: GB, can be obtained by querying instance specifications through DescribeDBInstanceSpecs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#memory MariadbInstance#memory} */ readonly memory: number; /** * Number of nodes, 2 is one master and one slave, 3 is one master and two slaves. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#node_count MariadbInstance#node_count} */ readonly nodeCount: number; /** * The duration of the purchase, unit: month. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#period MariadbInstance#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/mariadb_instance#project_id MariadbInstance#project_id} */ readonly projectId?: number; /** * Security group ID list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#security_group_ids MariadbInstance#security_group_ids} */ readonly securityGroupIds?: string[]; /** * Storage size, unit: GB. You can query instance specifications through DescribeDBInstanceSpecs to obtain the lower and upper limits of disk specifications corresponding to different memory sizes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#storage MariadbInstance#storage} */ readonly storage: 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/mariadb_instance#subnet_id MariadbInstance#subnet_id} */ readonly subnetId?: string; /** * tag list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#tags MariadbInstance#tags} */ readonly tags?: { [key: string]: string; }; /** * Intranet IP address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#vip MariadbInstance#vip} */ readonly vip?: string; /** * A list of voucher IDs. Currently, only one voucher can be specified. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#voucher_ids MariadbInstance#voucher_ids} */ readonly voucherIds?: string[]; /** * Virtual private network ID, if not passed, 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/mariadb_instance#vpc_id MariadbInstance#vpc_id} */ readonly vpcId?: string; /** * Instance node availability zone distribution, up to two availability zones can be filled. When the shard specification is one master and two slaves, two of the nodes are in the first availability zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#zones MariadbInstance#zones} */ readonly zones: string[]; /** * init_params block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#init_params MariadbInstance#init_params} */ readonly initParams?: MariadbInstanceInitParams[] | cdktf.IResolvable; } export interface MariadbInstanceInitParams { /** * parameter name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#param MariadbInstance#param} */ readonly param: string; /** * parameter value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#value MariadbInstance#value} */ readonly value: string; } export declare function mariadbInstanceInitParamsToTerraform(struct?: MariadbInstanceInitParams | cdktf.IResolvable): any; export declare function mariadbInstanceInitParamsToHclTerraform(struct?: MariadbInstanceInitParams | cdktf.IResolvable): any; export declare class MariadbInstanceInitParamsOutputReference 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(): MariadbInstanceInitParams | cdktf.IResolvable | undefined; set internalValue(value: MariadbInstanceInitParams | 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 MariadbInstanceInitParamsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: MariadbInstanceInitParams[] | 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): MariadbInstanceInitParamsOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance tencentcloud_mariadb_instance} */ export declare class MariadbInstance extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_mariadb_instance"; /** * Generates CDKTF code for importing a MariadbInstance 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 MariadbInstance to import * @param importFromId The id of the existing MariadbInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mariadb_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the MariadbInstance 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/mariadb_instance tencentcloud_mariadb_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 MariadbInstanceConfig */ constructor(scope: Construct, id: string, config: MariadbInstanceConfig); get appId(): any; 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; get cpu(): any; get createTime(): any; get dbEngine(): any; private _dbVersionId?; get dbVersionId(): string; set dbVersionId(value: string); resetDbVersionId(): void; get dbVersionIdInput(): string; get dcnDstNum(): any; get dcnFlag(): any; 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; get dcnStatus(): any; get exclusterId(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; get instanceId(): any; private _instanceName?; get instanceName(): string; set instanceName(value: string); resetInstanceName(): void; get instanceNameInput(): string; get instanceType(): any; private _ipv6Flag?; get ipv6Flag(): number; set ipv6Flag(value: number); resetIpv6Flag(): void; get ipv6FlagInput(): number; get isAuditSupported(): any; get isEncryptSupported(): any; get isTmp(): any; get locker(): any; get machine(): any; private _memory?; get memory(): number; set memory(value: number); get memoryInput(): number; private _nodeCount?; get nodeCount(): number; set nodeCount(value: number); get nodeCountInput(): number; get paymode(): any; private _period?; get period(): number; set period(value: number); resetPeriod(): void; get periodInput(): number; get periodEndTime(): any; get pid(): any; private _projectId?; get projectId(): number; set projectId(value: number); resetProjectId(): void; get projectIdInput(): number; get qps(): any; get region(): any; private _securityGroupIds?; get securityGroupIds(): string[]; set securityGroupIds(value: string[]); resetSecurityGroupIds(): void; get securityGroupIdsInput(): string[]; get status(): any; get statusDesc(): any; private _storage?; get storage(): number; set storage(value: number); get storageInput(): 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; }; get tdsqlVersion(): any; get uin(): any; get updateTime(): any; private _vip?; get vip(): string; set vip(value: string); resetVip(): void; get vipInput(): string; get vipv6(): any; 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; get wanDomain(): any; get wanPort(): any; get wanPortIpv6(): any; get wanStatus(): any; get wanStatusIpv6(): any; get wanVip(): any; get wanVipv6(): any; private _zones?; get zones(): string[]; set zones(value: string[]); get zonesInput(): string[]; private _initParams; get initParams(): MariadbInstanceInitParamsList; putInitParams(value: MariadbInstanceInitParams[] | cdktf.IResolvable): void; resetInitParams(): void; get initParamsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }