import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface MqttAuthorizationPolicyConfig extends cdktf.TerraformMetaArguments { /** * Operation - connect: connect; pub: publish; sub: subscribe. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy#actions MqttAuthorizationPolicy#actions} */ readonly actions: string; /** * Condition - Client ID, supports regular expressions. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy#client_id MqttAuthorizationPolicy#client_id} */ readonly clientId?: string; /** * Decision: allow/deny. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy#effect MqttAuthorizationPolicy#effect} */ readonly effect: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy#id MqttAuthorizationPolicy#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; /** * MQTT instance ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy#instance_id MqttAuthorizationPolicy#instance_id} */ readonly instanceId: string; /** * Condition - Client IP address, supports IP or CIDR. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy#ip MqttAuthorizationPolicy#ip} */ readonly ip?: string; /** * Policy name, cannot be empty, 3-64 characters, supports Chinese characters, letters, numbers, "-" and "_". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy#policy_name MqttAuthorizationPolicy#policy_name} */ readonly policyName: string; /** * Policy version, default is 1, currently only 1 is supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy#policy_version MqttAuthorizationPolicy#policy_version} */ readonly policyVersion: number; /** * The strategy priority, the smaller the higher the priority, cannot be repeated. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy#priority MqttAuthorizationPolicy#priority} */ readonly priority: number; /** * Condition: Quality of Service 0: At most once 1: At least once 2: Exactly once. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy#qos MqttAuthorizationPolicy#qos} */ readonly qos: string; /** * Remarks, up to 128 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy#remark MqttAuthorizationPolicy#remark} */ readonly remark?: string; /** * Resources, requiring matching subscriptions. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy#resources MqttAuthorizationPolicy#resources} */ readonly resources?: string; /** * Condition - Reserved message 1, match reserved message; 2, match unreserved message, 3. match reserved and unreserved message. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy#retain MqttAuthorizationPolicy#retain} */ readonly retain: number; /** * Condition - Username. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy#username MqttAuthorizationPolicy#username} */ readonly username?: string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy tencentcloud_mqtt_authorization_policy} */ export declare class MqttAuthorizationPolicy extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_mqtt_authorization_policy"; /** * Generates CDKTF code for importing a MqttAuthorizationPolicy 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 MqttAuthorizationPolicy to import * @param importFromId The id of the existing MqttAuthorizationPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mqtt_authorization_policy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the MqttAuthorizationPolicy 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_authorization_policy tencentcloud_mqtt_authorization_policy} 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 MqttAuthorizationPolicyConfig */ constructor(scope: Construct, id: string, config: MqttAuthorizationPolicyConfig); private _actions?; get actions(): string; set actions(value: string); get actionsInput(): string; private _clientId?; get clientId(): string; set clientId(value: string); resetClientId(): void; get clientIdInput(): string; private _effect?; get effect(): string; set effect(value: string); get effectInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceId?; get instanceId(): string; set instanceId(value: string); get instanceIdInput(): string; private _ip?; get ip(): string; set ip(value: string); resetIp(): void; get ipInput(): string; get policyId(): any; private _policyName?; get policyName(): string; set policyName(value: string); get policyNameInput(): string; private _policyVersion?; get policyVersion(): number; set policyVersion(value: number); get policyVersionInput(): number; private _priority?; get priority(): number; set priority(value: number); get priorityInput(): number; private _qos?; get qos(): string; set qos(value: string); get qosInput(): string; private _remark?; get remark(): string; set remark(value: string); resetRemark(): void; get remarkInput(): string; private _resources?; get resources(): string; set resources(value: string); resetResources(): void; get resourcesInput(): string; private _retain?; get retain(): number; set retain(value: number); get retainInput(): number; private _username?; get username(): string; set username(value: string); resetUsername(): void; get usernameInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }