import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ClickhouseInstanceConfig extends cdktf.TerraformMetaArguments { /** * Billing type: `PREPAID` prepaid, `POSTPAID_BY_HOUR` postpaid. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#charge_type ClickhouseInstance#charge_type} */ readonly chargeType: string; /** * The password for the default account to log in to the instance. 8-16 characters, including at least three of the following: uppercase letters, lowercase letters, numbers, and special characters `!@#%^*`. The first character cannot be a special character. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#ck_default_user_pwd ClickhouseInstance#ck_default_user_pwd} */ readonly ckDefaultUserPwd?: string; /** * CLS log set id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#cls_log_set_id ClickhouseInstance#cls_log_set_id} */ readonly clsLogSetId?: string; /** * COS bucket name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#cos_bucket_name ClickhouseInstance#cos_bucket_name} */ readonly cosBucketName?: string; /** * Whether it is highly available. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#ha_flag ClickhouseInstance#ha_flag} */ readonly haFlag: boolean | cdktf.IResolvable; /** * Whether ZK is highly available. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#ha_zk ClickhouseInstance#ha_zk} */ readonly haZk?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#id ClickhouseInstance#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. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#instance_name ClickhouseInstance#instance_name} */ readonly instanceName: string; /** * Whether it is mounted on a bare disk. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#mount_disk_type ClickhouseInstance#mount_disk_type} */ readonly mountDiskType?: number; /** * Product version. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#product_version ClickhouseInstance#product_version} */ readonly productVersion: string; /** * PREPAID needs to be passed. Whether to renew automatically. 1 means auto renewal is enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#renew_flag ClickhouseInstance#renew_flag} */ readonly renewFlag?: number; /** * Subnet. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#subnet_id ClickhouseInstance#subnet_id} */ readonly subnetId: string; /** * Tag description list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#tags ClickhouseInstance#tags} */ readonly tags?: { [key: string]: string; }; /** * Prepaid needs to be delivered, billing time length, how many months. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#time_span ClickhouseInstance#time_span} */ readonly timeSpan?: number; /** * Private network. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#vpc_id ClickhouseInstance#vpc_id} */ readonly vpcId: string; /** * Availability zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#zone ClickhouseInstance#zone} */ readonly zone: string; /** * common_spec block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#common_spec ClickhouseInstance#common_spec} */ readonly commonSpec?: ClickhouseInstanceCommonSpec; /** * data_spec block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#data_spec ClickhouseInstance#data_spec} */ readonly dataSpec: ClickhouseInstanceDataSpec; /** * secondary_zone_info block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#secondary_zone_info ClickhouseInstance#secondary_zone_info} */ readonly secondaryZoneInfo?: ClickhouseInstanceSecondaryZoneInfo[] | cdktf.IResolvable; } export interface ClickhouseInstanceCommonSpec { /** * Node count. NOTE: Only support value 3. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#count ClickhouseInstance#count} */ readonly count: number; /** * Disk size. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#disk_size ClickhouseInstance#disk_size} */ readonly diskSize: number; /** * Spec name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#spec_name ClickhouseInstance#spec_name} */ readonly specName: string; } export declare function clickhouseInstanceCommonSpecToTerraform(struct?: ClickhouseInstanceCommonSpecOutputReference | ClickhouseInstanceCommonSpec): any; export declare function clickhouseInstanceCommonSpecToHclTerraform(struct?: ClickhouseInstanceCommonSpecOutputReference | ClickhouseInstanceCommonSpec): any; export declare class ClickhouseInstanceCommonSpecOutputReference 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(): ClickhouseInstanceCommonSpec | undefined; set internalValue(value: ClickhouseInstanceCommonSpec | undefined); private _count?; get count(): number; set count(value: number); get countInput(): number; private _diskSize?; get diskSize(): number; set diskSize(value: number); get diskSizeInput(): number; private _specName?; get specName(): string; set specName(value: string); get specNameInput(): string; } export interface ClickhouseInstanceDataSpec { /** * Data spec count. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#count ClickhouseInstance#count} */ readonly count: number; /** * Disk size. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#disk_size ClickhouseInstance#disk_size} */ readonly diskSize: number; /** * Spec name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#spec_name ClickhouseInstance#spec_name} */ readonly specName: string; } export declare function clickhouseInstanceDataSpecToTerraform(struct?: ClickhouseInstanceDataSpecOutputReference | ClickhouseInstanceDataSpec): any; export declare function clickhouseInstanceDataSpecToHclTerraform(struct?: ClickhouseInstanceDataSpecOutputReference | ClickhouseInstanceDataSpec): any; export declare class ClickhouseInstanceDataSpecOutputReference 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(): ClickhouseInstanceDataSpec | undefined; set internalValue(value: ClickhouseInstanceDataSpec | undefined); private _count?; get count(): number; set count(value: number); get countInput(): number; private _diskSize?; get diskSize(): number; set diskSize(value: number); get diskSizeInput(): number; private _specName?; get specName(): string; set specName(value: string); get specNameInput(): string; } export interface ClickhouseInstanceSecondaryZoneInfo { /** * Secondary subnet. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#secondary_subnet ClickhouseInstance#secondary_subnet} */ readonly secondarySubnet?: string; /** * Secondary zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#secondary_zone ClickhouseInstance#secondary_zone} */ readonly secondaryZone?: string; } export declare function clickhouseInstanceSecondaryZoneInfoToTerraform(struct?: ClickhouseInstanceSecondaryZoneInfo | cdktf.IResolvable): any; export declare function clickhouseInstanceSecondaryZoneInfoToHclTerraform(struct?: ClickhouseInstanceSecondaryZoneInfo | cdktf.IResolvable): any; export declare class ClickhouseInstanceSecondaryZoneInfoOutputReference 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(): ClickhouseInstanceSecondaryZoneInfo | cdktf.IResolvable | undefined; set internalValue(value: ClickhouseInstanceSecondaryZoneInfo | cdktf.IResolvable | undefined); private _secondarySubnet?; get secondarySubnet(): string; set secondarySubnet(value: string); resetSecondarySubnet(): void; get secondarySubnetInput(): string; private _secondaryZone?; get secondaryZone(): string; set secondaryZone(value: string); resetSecondaryZone(): void; get secondaryZoneInput(): string; } export declare class ClickhouseInstanceSecondaryZoneInfoList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ClickhouseInstanceSecondaryZoneInfo[] | 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): ClickhouseInstanceSecondaryZoneInfoOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance tencentcloud_clickhouse_instance} */ export declare class ClickhouseInstance extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_clickhouse_instance"; /** * Generates CDKTF code for importing a ClickhouseInstance 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 ClickhouseInstance to import * @param importFromId The id of the existing ClickhouseInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ClickhouseInstance 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/clickhouse_instance tencentcloud_clickhouse_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 ClickhouseInstanceConfig */ constructor(scope: Construct, id: string, config: ClickhouseInstanceConfig); get accessInfo(): any; private _chargeType?; get chargeType(): string; set chargeType(value: string); get chargeTypeInput(): string; private _ckDefaultUserPwd?; get ckDefaultUserPwd(): string; set ckDefaultUserPwd(value: string); resetCkDefaultUserPwd(): void; get ckDefaultUserPwdInput(): string; private _clsLogSetId?; get clsLogSetId(): string; set clsLogSetId(value: string); resetClsLogSetId(): void; get clsLogSetIdInput(): string; private _cosBucketName?; get cosBucketName(): string; set cosBucketName(value: string); resetCosBucketName(): void; get cosBucketNameInput(): string; get expireTime(): any; private _haFlag?; get haFlag(): boolean | cdktf.IResolvable; set haFlag(value: boolean | cdktf.IResolvable); get haFlagInput(): any; private _haZk?; get haZk(): boolean | cdktf.IResolvable; set haZk(value: boolean | cdktf.IResolvable); resetHaZk(): void; get haZkInput(): 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; private _mountDiskType?; get mountDiskType(): number; set mountDiskType(value: number); resetMountDiskType(): void; get mountDiskTypeInput(): number; private _productVersion?; get productVersion(): string; set productVersion(value: string); get productVersionInput(): string; private _renewFlag?; get renewFlag(): number; set renewFlag(value: number); resetRenewFlag(): void; get renewFlagInput(): number; private _subnetId?; get subnetId(): string; set subnetId(value: string); get subnetIdInput(): string; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _timeSpan?; get timeSpan(): number; set timeSpan(value: number); resetTimeSpan(): void; get timeSpanInput(): number; private _vpcId?; get vpcId(): string; set vpcId(value: string); get vpcIdInput(): string; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; private _commonSpec; get commonSpec(): ClickhouseInstanceCommonSpecOutputReference; putCommonSpec(value: ClickhouseInstanceCommonSpec): void; resetCommonSpec(): void; get commonSpecInput(): ClickhouseInstanceCommonSpec; private _dataSpec; get dataSpec(): ClickhouseInstanceDataSpecOutputReference; putDataSpec(value: ClickhouseInstanceDataSpec): void; get dataSpecInput(): ClickhouseInstanceDataSpec; private _secondaryZoneInfo; get secondaryZoneInfo(): ClickhouseInstanceSecondaryZoneInfoList; putSecondaryZoneInfo(value: ClickhouseInstanceSecondaryZoneInfo[] | cdktf.IResolvable): void; resetSecondaryZoneInfo(): void; get secondaryZoneInfoInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }