import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CkafkaAclConfig extends cdktf.TerraformMetaArguments { /** * The default is *, which means that any host can access it. Support filling in IP or network segment, and support `;`separation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_acl#host CkafkaAcl#host} */ readonly host?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_acl#id CkafkaAcl#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; /** * ID of the ckafka instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_acl#instance_id CkafkaAcl#instance_id} */ readonly instanceId: string; /** * ACL operation mode. Valid values: `UNKNOWN`, `ANY`, `ALL`, `READ`, `WRITE`, `CREATE`, `DELETE`, `ALTER`, `DESCRIBE`, `CLUSTER_ACTION`, `DESCRIBE_CONFIGS` and `ALTER_CONFIGS`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_acl#operation_type CkafkaAcl#operation_type} */ readonly operationType: string; /** * ACL permission type. Valid values: `UNKNOWN`, `ANY`, `DENY`, `ALLOW`. and `ALLOW` by default. Currently, CKafka supports `ALLOW` (equivalent to allow list), and other fields will be used for future ACLs compatible with open-source Kafka. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_acl#permission_type CkafkaAcl#permission_type} */ readonly permissionType?: string; /** * User list. The default value is `*`, which means that any user can access. The current user can only be one included in the user list. For example: `root` meaning user root can access. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_acl#principal CkafkaAcl#principal} */ readonly principal?: string; /** * ACL resource name, which is related to `resource_type`. For example, if `resource_type` is `TOPIC`, this field indicates the topic name; if `resource_type` is `GROUP`, this field indicates the group name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_acl#resource_name CkafkaAcl#resource_name} */ readonly resourceName: string; /** * ACL resource type. Valid values are `UNKNOWN`, `ANY`, `TOPIC`, `GROUP`, `CLUSTER`, `TRANSACTIONAL_ID`. and `TOPIC` by default. Currently, only `TOPIC` is available, and other fields will be used for future ACLs compatible with open-source Kafka. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_acl#resource_type CkafkaAcl#resource_type} */ readonly resourceType?: string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_acl tencentcloud_ckafka_acl} */ export declare class CkafkaAcl extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_ckafka_acl"; /** * Generates CDKTF code for importing a CkafkaAcl 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 CkafkaAcl to import * @param importFromId The id of the existing CkafkaAcl that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_acl#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CkafkaAcl 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/ckafka_acl tencentcloud_ckafka_acl} 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 CkafkaAclConfig */ constructor(scope: Construct, id: string, config: CkafkaAclConfig); private _host?; get host(): string; set host(value: string); resetHost(): void; get hostInput(): 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 _operationType?; get operationType(): string; set operationType(value: string); get operationTypeInput(): string; private _permissionType?; get permissionType(): string; set permissionType(value: string); resetPermissionType(): void; get permissionTypeInput(): string; private _principal?; get principal(): string; set principal(value: string); resetPrincipal(): void; get principalInput(): string; private _resourceName?; get resourceName(): string; set resourceName(value: string); get resourceNameInput(): string; private _resourceType?; get resourceType(): string; set resourceType(value: string); resetResourceType(): void; get resourceTypeInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }