import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TdmqProfessionalClusterConfig extends cdktf.TerraformMetaArguments { /** * Whether to turn on automatic monthly renewal. `1`: turn on, `0`: turn off. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tdmq_professional_cluster#auto_renew_flag TdmqProfessionalCluster#auto_renew_flag} */ readonly autoRenewFlag: number; /** * Whether to automatically select vouchers. `1`: Yes, `0`: No. Default is `0`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tdmq_professional_cluster#auto_voucher TdmqProfessionalCluster#auto_voucher} */ readonly autoVoucher?: number; /** * Name of cluster. It does not support Chinese characters and special characters except dashes and underscores and cannot exceed 64 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tdmq_professional_cluster#cluster_name TdmqProfessionalCluster#cluster_name} */ readonly clusterName: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tdmq_professional_cluster#id TdmqProfessionalCluster#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; /** * Cluster specification code. Reference[Professional Cluster Specifications](https://cloud.tencent.com/document/product/1179/83705). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tdmq_professional_cluster#product_name TdmqProfessionalCluster#product_name} */ readonly productName: string; /** * Storage specifications. Reference[Professional Cluster Specifications](https://cloud.tencent.com/document/product/1179/83705). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tdmq_professional_cluster#storage_size TdmqProfessionalCluster#storage_size} */ readonly storageSize: number; /** * Tag description list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tdmq_professional_cluster#tags TdmqProfessionalCluster#tags} */ readonly tags?: { [key: string]: string; }; /** * Purchase duration, value range: 1~50. Default: 1. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tdmq_professional_cluster#time_span TdmqProfessionalCluster#time_span} */ readonly timeSpan?: number; /** * Multi-AZ deployment select three Availability Zones, like: [200002,200003,200004]. Single availability zone deployment selects an availability zone, like [200002]. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tdmq_professional_cluster#zone_ids TdmqProfessionalCluster#zone_ids} */ readonly zoneIds: number[]; /** * vpc block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tdmq_professional_cluster#vpc TdmqProfessionalCluster#vpc} */ readonly vpc?: TdmqProfessionalClusterVpc; } export interface TdmqProfessionalClusterVpc { /** * Id of Subnet. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tdmq_professional_cluster#subnet_id TdmqProfessionalCluster#subnet_id} */ readonly subnetId: string; /** * Id of VPC. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tdmq_professional_cluster#vpc_id TdmqProfessionalCluster#vpc_id} */ readonly vpcId: string; } export declare function tdmqProfessionalClusterVpcToTerraform(struct?: TdmqProfessionalClusterVpcOutputReference | TdmqProfessionalClusterVpc): any; export declare function tdmqProfessionalClusterVpcToHclTerraform(struct?: TdmqProfessionalClusterVpcOutputReference | TdmqProfessionalClusterVpc): any; export declare class TdmqProfessionalClusterVpcOutputReference 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(): TdmqProfessionalClusterVpc | undefined; set internalValue(value: TdmqProfessionalClusterVpc | undefined); private _subnetId?; get subnetId(): string; set subnetId(value: string); get subnetIdInput(): string; private _vpcId?; get vpcId(): string; set vpcId(value: string); get vpcIdInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tdmq_professional_cluster tencentcloud_tdmq_professional_cluster} */ export declare class TdmqProfessionalCluster extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_tdmq_professional_cluster"; /** * Generates CDKTF code for importing a TdmqProfessionalCluster 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 TdmqProfessionalCluster to import * @param importFromId The id of the existing TdmqProfessionalCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tdmq_professional_cluster#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TdmqProfessionalCluster 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/tdmq_professional_cluster tencentcloud_tdmq_professional_cluster} 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 TdmqProfessionalClusterConfig */ constructor(scope: Construct, id: string, config: TdmqProfessionalClusterConfig); private _autoRenewFlag?; get autoRenewFlag(): number; set autoRenewFlag(value: number); get autoRenewFlagInput(): number; private _autoVoucher?; get autoVoucher(): number; set autoVoucher(value: number); resetAutoVoucher(): void; get autoVoucherInput(): number; private _clusterName?; get clusterName(): string; set clusterName(value: string); get clusterNameInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _productName?; get productName(): string; set productName(value: string); get productNameInput(): string; private _storageSize?; get storageSize(): number; set storageSize(value: number); get storageSizeInput(): number; 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 _zoneIds?; get zoneIds(): number[]; set zoneIds(value: number[]); get zoneIdsInput(): number[]; private _vpc; get vpc(): TdmqProfessionalClusterVpcOutputReference; putVpc(value: TdmqProfessionalClusterVpc): void; resetVpc(): void; get vpcInput(): TdmqProfessionalClusterVpc; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }