import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface MysqlPrivilegeConfig extends cdktf.TerraformMetaArguments { /** * Account host, default is `%`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#account_host MysqlPrivilege#account_host} */ readonly accountHost?: string; /** * Account name.the forbidden value is:root,mysql.sys,tencentroot. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#account_name MysqlPrivilege#account_name} */ readonly accountName: string; /** * Global privileges. available values for Privileges:ALTER,ALTER ROUTINE,CREATE,CREATE ROUTINE,CREATE TEMPORARY TABLES,CREATE USER,CREATE VIEW,DELETE,DROP,EVENT,EXECUTE,INDEX,INSERT,LOCK TABLES,PROCESS,REFERENCES,RELOAD,REPLICATION CLIENT,REPLICATION SLAVE,SELECT,SHOW DATABASES,SHOW VIEW,TRIGGER,UPDATE. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#global MysqlPrivilege#global} */ readonly global: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#id MysqlPrivilege#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/mysql_privilege#mysql_id MysqlPrivilege#mysql_id} */ readonly mysqlId: string; /** * column block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#column MysqlPrivilege#column} */ readonly column?: MysqlPrivilegeColumn[] | cdktf.IResolvable; /** * database block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#database MysqlPrivilege#database} */ readonly database?: MysqlPrivilegeDatabase[] | cdktf.IResolvable; /** * table block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#table MysqlPrivilege#table} */ readonly table?: MysqlPrivilegeTable[] | cdktf.IResolvable; } export interface MysqlPrivilegeColumn { /** * Column name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#column_name MysqlPrivilege#column_name} */ readonly columnName: string; /** * Database name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#database_name MysqlPrivilege#database_name} */ readonly databaseName: string; /** * Column privilege.available values for Privileges:SELECT,INSERT,UPDATE,REFERENCES. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#privileges MysqlPrivilege#privileges} */ readonly privileges: string[]; /** * Table name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#table_name MysqlPrivilege#table_name} */ readonly tableName: string; } export declare function mysqlPrivilegeColumnToTerraform(struct?: MysqlPrivilegeColumn | cdktf.IResolvable): any; export declare function mysqlPrivilegeColumnToHclTerraform(struct?: MysqlPrivilegeColumn | cdktf.IResolvable): any; export declare class MysqlPrivilegeColumnOutputReference 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(): MysqlPrivilegeColumn | cdktf.IResolvable | undefined; set internalValue(value: MysqlPrivilegeColumn | cdktf.IResolvable | undefined); private _columnName?; get columnName(): string; set columnName(value: string); get columnNameInput(): string; private _databaseName?; get databaseName(): string; set databaseName(value: string); get databaseNameInput(): string; private _privileges?; get privileges(): string[]; set privileges(value: string[]); get privilegesInput(): string[]; private _tableName?; get tableName(): string; set tableName(value: string); get tableNameInput(): string; } export declare class MysqlPrivilegeColumnList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: MysqlPrivilegeColumn[] | 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): MysqlPrivilegeColumnOutputReference; } export interface MysqlPrivilegeDatabase { /** * Database name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#database_name MysqlPrivilege#database_name} */ readonly databaseName: string; /** * Database privilege.available values for Privileges:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,EVENT,TRIGGER. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#privileges MysqlPrivilege#privileges} */ readonly privileges: string[]; } export declare function mysqlPrivilegeDatabaseToTerraform(struct?: MysqlPrivilegeDatabase | cdktf.IResolvable): any; export declare function mysqlPrivilegeDatabaseToHclTerraform(struct?: MysqlPrivilegeDatabase | cdktf.IResolvable): any; export declare class MysqlPrivilegeDatabaseOutputReference 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(): MysqlPrivilegeDatabase | cdktf.IResolvable | undefined; set internalValue(value: MysqlPrivilegeDatabase | cdktf.IResolvable | undefined); private _databaseName?; get databaseName(): string; set databaseName(value: string); get databaseNameInput(): string; private _privileges?; get privileges(): string[]; set privileges(value: string[]); get privilegesInput(): string[]; } export declare class MysqlPrivilegeDatabaseList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: MysqlPrivilegeDatabase[] | 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): MysqlPrivilegeDatabaseOutputReference; } export interface MysqlPrivilegeTable { /** * Database name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#database_name MysqlPrivilege#database_name} */ readonly databaseName: string; /** * Table privilege.available values for Privileges:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,INDEX,ALTER,CREATE VIEW,SHOW VIEW,TRIGGER. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#privileges MysqlPrivilege#privileges} */ readonly privileges: string[]; /** * Table name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#table_name MysqlPrivilege#table_name} */ readonly tableName: string; } export declare function mysqlPrivilegeTableToTerraform(struct?: MysqlPrivilegeTable | cdktf.IResolvable): any; export declare function mysqlPrivilegeTableToHclTerraform(struct?: MysqlPrivilegeTable | cdktf.IResolvable): any; export declare class MysqlPrivilegeTableOutputReference 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(): MysqlPrivilegeTable | cdktf.IResolvable | undefined; set internalValue(value: MysqlPrivilegeTable | cdktf.IResolvable | undefined); private _databaseName?; get databaseName(): string; set databaseName(value: string); get databaseNameInput(): string; private _privileges?; get privileges(): string[]; set privileges(value: string[]); get privilegesInput(): string[]; private _tableName?; get tableName(): string; set tableName(value: string); get tableNameInput(): string; } export declare class MysqlPrivilegeTableList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: MysqlPrivilegeTable[] | 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): MysqlPrivilegeTableOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege tencentcloud_mysql_privilege} */ export declare class MysqlPrivilege extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_mysql_privilege"; /** * Generates CDKTF code for importing a MysqlPrivilege 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 MysqlPrivilege to import * @param importFromId The id of the existing MysqlPrivilege that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/mysql_privilege#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the MysqlPrivilege 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/mysql_privilege tencentcloud_mysql_privilege} 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 MysqlPrivilegeConfig */ constructor(scope: Construct, id: string, config: MysqlPrivilegeConfig); private _accountHost?; get accountHost(): string; set accountHost(value: string); resetAccountHost(): void; get accountHostInput(): string; private _accountName?; get accountName(): string; set accountName(value: string); get accountNameInput(): string; private _global?; get global(): string[]; set global(value: string[]); get globalInput(): string[]; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _mysqlId?; get mysqlId(): string; set mysqlId(value: string); get mysqlIdInput(): string; private _column; get column(): MysqlPrivilegeColumnList; putColumn(value: MysqlPrivilegeColumn[] | cdktf.IResolvable): void; resetColumn(): void; get columnInput(): any; private _database; get database(): MysqlPrivilegeDatabaseList; putDatabase(value: MysqlPrivilegeDatabase[] | cdktf.IResolvable): void; resetDatabase(): void; get databaseInput(): any; private _table; get table(): MysqlPrivilegeTableList; putTable(value: MysqlPrivilegeTable[] | cdktf.IResolvable): void; resetTable(): void; get tableInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }