import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ClickhouseAccountPermissionConfig extends cdktf.TerraformMetaArguments { /** * Whether all database tables. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_account_permission#all_database ClickhouseAccountPermission#all_database} */ readonly allDatabase: boolean | cdktf.IResolvable; /** * Cluster name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_account_permission#cluster ClickhouseAccountPermission#cluster} */ readonly cluster: string; /** * Global privileges. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_account_permission#global_privileges ClickhouseAccountPermission#global_privileges} */ readonly globalPrivileges?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_account_permission#id ClickhouseAccountPermission#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 id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_account_permission#instance_id ClickhouseAccountPermission#instance_id} */ readonly instanceId: string; /** * User name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_account_permission#user_name ClickhouseAccountPermission#user_name} */ readonly userName: string; /** * database_privilege_list block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_account_permission#database_privilege_list ClickhouseAccountPermission#database_privilege_list} */ readonly databasePrivilegeList?: ClickhouseAccountPermissionDatabasePrivilegeListStruct[] | cdktf.IResolvable; } export interface ClickhouseAccountPermissionDatabasePrivilegeListTablePrivilegeListStruct { /** * Table name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_account_permission#table_name ClickhouseAccountPermission#table_name} */ readonly tableName: string; /** * Table privileges. Valid values: SELECT, INSERT_ALL, ALTER, TRUNCATE, DROP_TABLE. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_account_permission#table_privileges ClickhouseAccountPermission#table_privileges} */ readonly tablePrivileges: string[]; } export declare function clickhouseAccountPermissionDatabasePrivilegeListTablePrivilegeListStructToTerraform(struct?: ClickhouseAccountPermissionDatabasePrivilegeListTablePrivilegeListStruct | cdktf.IResolvable): any; export declare function clickhouseAccountPermissionDatabasePrivilegeListTablePrivilegeListStructToHclTerraform(struct?: ClickhouseAccountPermissionDatabasePrivilegeListTablePrivilegeListStruct | cdktf.IResolvable): any; export declare class ClickhouseAccountPermissionDatabasePrivilegeListTablePrivilegeListStructOutputReference 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(): ClickhouseAccountPermissionDatabasePrivilegeListTablePrivilegeListStruct | cdktf.IResolvable | undefined; set internalValue(value: ClickhouseAccountPermissionDatabasePrivilegeListTablePrivilegeListStruct | cdktf.IResolvable | undefined); private _tableName?; get tableName(): string; set tableName(value: string); get tableNameInput(): string; private _tablePrivileges?; get tablePrivileges(): string[]; set tablePrivileges(value: string[]); get tablePrivilegesInput(): string[]; } export declare class ClickhouseAccountPermissionDatabasePrivilegeListTablePrivilegeListStructList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ClickhouseAccountPermissionDatabasePrivilegeListTablePrivilegeListStruct[] | 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): ClickhouseAccountPermissionDatabasePrivilegeListTablePrivilegeListStructOutputReference; } export interface ClickhouseAccountPermissionDatabasePrivilegeListStruct { /** * Database name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_account_permission#database_name ClickhouseAccountPermission#database_name} */ readonly databaseName: string; /** * Database privileges. Valid valuse: SELECT, INSERT_ALL, ALTER, TRUNCATE, DROP_TABLE, CREATE_TABLE, DROP_DATABASE. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_account_permission#database_privileges ClickhouseAccountPermission#database_privileges} */ readonly databasePrivileges?: string[]; /** * table_privilege_list block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_account_permission#table_privilege_list ClickhouseAccountPermission#table_privilege_list} */ readonly tablePrivilegeList?: ClickhouseAccountPermissionDatabasePrivilegeListTablePrivilegeListStruct[] | cdktf.IResolvable; } export declare function clickhouseAccountPermissionDatabasePrivilegeListStructToTerraform(struct?: ClickhouseAccountPermissionDatabasePrivilegeListStruct | cdktf.IResolvable): any; export declare function clickhouseAccountPermissionDatabasePrivilegeListStructToHclTerraform(struct?: ClickhouseAccountPermissionDatabasePrivilegeListStruct | cdktf.IResolvable): any; export declare class ClickhouseAccountPermissionDatabasePrivilegeListStructOutputReference 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(): ClickhouseAccountPermissionDatabasePrivilegeListStruct | cdktf.IResolvable | undefined; set internalValue(value: ClickhouseAccountPermissionDatabasePrivilegeListStruct | cdktf.IResolvable | undefined); private _databaseName?; get databaseName(): string; set databaseName(value: string); get databaseNameInput(): string; private _databasePrivileges?; get databasePrivileges(): string[]; set databasePrivileges(value: string[]); resetDatabasePrivileges(): void; get databasePrivilegesInput(): string[]; private _tablePrivilegeList; get tablePrivilegeList(): ClickhouseAccountPermissionDatabasePrivilegeListTablePrivilegeListStructList; putTablePrivilegeList(value: ClickhouseAccountPermissionDatabasePrivilegeListTablePrivilegeListStruct[] | cdktf.IResolvable): void; resetTablePrivilegeList(): void; get tablePrivilegeListInput(): any; } export declare class ClickhouseAccountPermissionDatabasePrivilegeListStructList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ClickhouseAccountPermissionDatabasePrivilegeListStruct[] | 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): ClickhouseAccountPermissionDatabasePrivilegeListStructOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_account_permission tencentcloud_clickhouse_account_permission} */ export declare class ClickhouseAccountPermission extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_clickhouse_account_permission"; /** * Generates CDKTF code for importing a ClickhouseAccountPermission 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 ClickhouseAccountPermission to import * @param importFromId The id of the existing ClickhouseAccountPermission that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clickhouse_account_permission#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ClickhouseAccountPermission 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_account_permission tencentcloud_clickhouse_account_permission} 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 ClickhouseAccountPermissionConfig */ constructor(scope: Construct, id: string, config: ClickhouseAccountPermissionConfig); private _allDatabase?; get allDatabase(): boolean | cdktf.IResolvable; set allDatabase(value: boolean | cdktf.IResolvable); get allDatabaseInput(): any; private _cluster?; get cluster(): string; set cluster(value: string); get clusterInput(): string; private _globalPrivileges?; get globalPrivileges(): string[]; set globalPrivileges(value: string[]); resetGlobalPrivileges(): void; get globalPrivilegesInput(): 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 _userName?; get userName(): string; set userName(value: string); get userNameInput(): string; private _databasePrivilegeList; get databasePrivilegeList(): ClickhouseAccountPermissionDatabasePrivilegeListStructList; putDatabasePrivilegeList(value: ClickhouseAccountPermissionDatabasePrivilegeListStruct[] | cdktf.IResolvable): void; resetDatabasePrivilegeList(): void; get databasePrivilegeListInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }