import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface MqttInstanceConfig extends cdktf.TerraformMetaArguments { /** * Authorization policy switch. Default is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#authorization_policy MqttInstance#authorization_policy} */ readonly authorizationPolicy?: boolean | cdktf.IResolvable; /** * Is the automatic registration certificate automatically activated. Default is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#automatic_activation MqttInstance#automatic_activation} */ readonly automaticActivation?: boolean | cdktf.IResolvable; /** * Indicate whether to force delete the instance. Default is `false`. If set true, the instance will be permanently deleted instead of being moved into the recycle bin. Note: only works for `PREPAID` instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#force_delete MqttInstance#force_delete} */ readonly forceDelete?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#id MqttInstance#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 type. PRO for Professional Edition; PLATINUM for Platinum Edition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#instance_type MqttInstance#instance_type} */ readonly instanceType: string; /** * Instance name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#name MqttInstance#name} */ readonly name: string; /** * Payment mode (0: Postpaid; 1: Prepaid). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#pay_mode MqttInstance#pay_mode} */ readonly payMode?: number; /** * Remarks. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#remark MqttInstance#remark} */ readonly remark?: string; /** * Whether to enable auto-renewal (0: Disabled; 1: Enabled). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#renew_flag MqttInstance#renew_flag} */ readonly renewFlag?: number; /** * Product SKU, available SKUs can be queried via the DescribeProductSKUList API. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#sku_code MqttInstance#sku_code} */ readonly skuCode: string; /** * Tags of the MQTT instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#tags MqttInstance#tags} */ readonly tags?: { [key: string]: string; }; /** * Purchase duration (unit: months). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#time_span MqttInstance#time_span} */ readonly timeSpan?: number; /** * vpc_list block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#vpc_list MqttInstance#vpc_list} */ readonly vpcList?: MqttInstanceVpcListStruct; } export interface MqttInstanceVpcListStruct { /** * Subnet ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#subnet_id MqttInstance#subnet_id} */ readonly subnetId: string; /** * VPC ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#vpc_id MqttInstance#vpc_id} */ readonly vpcId: string; } export declare function mqttInstanceVpcListStructToTerraform(struct?: MqttInstanceVpcListStructOutputReference | MqttInstanceVpcListStruct): any; export declare function mqttInstanceVpcListStructToHclTerraform(struct?: MqttInstanceVpcListStructOutputReference | MqttInstanceVpcListStruct): any; export declare class MqttInstanceVpcListStructOutputReference 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(): MqttInstanceVpcListStruct | undefined; set internalValue(value: MqttInstanceVpcListStruct | 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/mqtt_instance tencentcloud_mqtt_instance} */ export declare class MqttInstance extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_mqtt_instance"; /** * Generates CDKTF code for importing a MqttInstance 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 MqttInstance to import * @param importFromId The id of the existing MqttInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the MqttInstance 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/mqtt_instance tencentcloud_mqtt_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 MqttInstanceConfig */ constructor(scope: Construct, id: string, config: MqttInstanceConfig); private _authorizationPolicy?; get authorizationPolicy(): boolean | cdktf.IResolvable; set authorizationPolicy(value: boolean | cdktf.IResolvable); resetAuthorizationPolicy(): void; get authorizationPolicyInput(): any; private _automaticActivation?; get automaticActivation(): boolean | cdktf.IResolvable; set automaticActivation(value: boolean | cdktf.IResolvable); resetAutomaticActivation(): void; get automaticActivationInput(): any; get deviceCertificateProvisionType(): any; 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 _instanceType?; get instanceType(): string; set instanceType(value: string); get instanceTypeInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _payMode?; get payMode(): number; set payMode(value: number); resetPayMode(): void; get payModeInput(): number; private _remark?; get remark(): string; set remark(value: string); resetRemark(): void; get remarkInput(): string; private _renewFlag?; get renewFlag(): number; set renewFlag(value: number); resetRenewFlag(): void; get renewFlagInput(): number; private _skuCode?; get skuCode(): string; set skuCode(value: string); get skuCodeInput(): 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 _vpcList; get vpcList(): MqttInstanceVpcListStructOutputReference; putVpcList(value: MqttInstanceVpcListStruct): void; resetVpcList(): void; get vpcListInput(): MqttInstanceVpcListStruct; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }