import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface PostgresqlAccountPrivilegesOperationConfig extends cdktf.TerraformMetaArguments { /** * Instance ID in the format of postgres-4wdeb0zv. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation#db_instance_id PostgresqlAccountPrivilegesOperation#db_instance_id} */ readonly dbInstanceId: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation#id PostgresqlAccountPrivilegesOperation#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 username. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation#user_name PostgresqlAccountPrivilegesOperation#user_name} */ readonly userName: string; /** * modify_privilege_set block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation#modify_privilege_set PostgresqlAccountPrivilegesOperation#modify_privilege_set} */ readonly modifyPrivilegeSet: PostgresqlAccountPrivilegesOperationModifyPrivilegeSet[] | cdktf.IResolvable; } export interface PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject { /** * Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database. Note: This field may return null, indicating that no valid value can be obtained. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation#database_name PostgresqlAccountPrivilegesOperation#database_name} */ readonly databaseName?: string; /** * Database object Name. Note: This field may return null, indicating that no valid value can be obtained. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation#object_name PostgresqlAccountPrivilegesOperation#object_name} */ readonly objectName: string; /** * Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation#object_type PostgresqlAccountPrivilegesOperation#object_type} */ readonly objectType: string; /** * Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema. Note: This field may return null, indicating that no valid value can be obtained. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation#schema_name PostgresqlAccountPrivilegesOperation#schema_name} */ readonly schemaName?: string; /** * Table name to which the database object belongs. This parameter is mandatory when ObjectType is column. Note: This field may return null, indicating that no valid value can be obtained. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation#table_name PostgresqlAccountPrivilegesOperation#table_name} */ readonly tableName?: string; } export declare function postgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectToTerraform(struct?: PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutputReference | PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject): any; export declare function postgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectToHclTerraform(struct?: PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutputReference | PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject): any; export declare class PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutputReference 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(): PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject | undefined; set internalValue(value: PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject | undefined); private _databaseName?; get databaseName(): string; set databaseName(value: string); resetDatabaseName(): void; get databaseNameInput(): string; private _objectName?; get objectName(): string; set objectName(value: string); get objectNameInput(): string; private _objectType?; get objectType(): string; set objectType(value: string); get objectTypeInput(): string; private _schemaName?; get schemaName(): string; set schemaName(value: string); resetSchemaName(): void; get schemaNameInput(): string; private _tableName?; get tableName(): string; set tableName(value: string); resetTableName(): void; get tableNameInput(): string; } export interface PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege { /** * Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation#privilege_set PostgresqlAccountPrivilegesOperation#privilege_set} */ readonly privilegeSet?: string[]; /** * object block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation#object PostgresqlAccountPrivilegesOperation#object} */ readonly object?: PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject; } export declare function postgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeToTerraform(struct?: PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutputReference | PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege): any; export declare function postgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeToHclTerraform(struct?: PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutputReference | PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege): any; export declare class PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutputReference 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(): PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege | undefined; set internalValue(value: PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege | undefined); private _privilegeSet?; get privilegeSet(): string[]; set privilegeSet(value: string[]); resetPrivilegeSet(): void; get privilegeSetInput(): string[]; private _object; get object(): PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutputReference; putObject(value: PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject): void; resetObject(): void; get objectInput(): PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject; } export interface PostgresqlAccountPrivilegesOperationModifyPrivilegeSet { /** * Required only when ModifyType is revokeObject. When the parameter is true, revoking permissions will cascade. The default value is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation#is_cascade PostgresqlAccountPrivilegesOperation#is_cascade} */ readonly isCascade?: boolean | cdktf.IResolvable; /** * Supported modification method: grantObject, revokeObject, alterRole. grantObject represents granting permissions on object, revokeObject represents revoking permissions on object, and alterRole represents modifying the account type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation#modify_type PostgresqlAccountPrivilegesOperation#modify_type} */ readonly modifyType?: string; /** * database_privilege block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation#database_privilege PostgresqlAccountPrivilegesOperation#database_privilege} */ readonly databasePrivilege?: PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege; } export declare function postgresqlAccountPrivilegesOperationModifyPrivilegeSetToTerraform(struct?: PostgresqlAccountPrivilegesOperationModifyPrivilegeSet | cdktf.IResolvable): any; export declare function postgresqlAccountPrivilegesOperationModifyPrivilegeSetToHclTerraform(struct?: PostgresqlAccountPrivilegesOperationModifyPrivilegeSet | cdktf.IResolvable): any; export declare class PostgresqlAccountPrivilegesOperationModifyPrivilegeSetOutputReference 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(): PostgresqlAccountPrivilegesOperationModifyPrivilegeSet | cdktf.IResolvable | undefined; set internalValue(value: PostgresqlAccountPrivilegesOperationModifyPrivilegeSet | cdktf.IResolvable | undefined); private _isCascade?; get isCascade(): boolean | cdktf.IResolvable; set isCascade(value: boolean | cdktf.IResolvable); resetIsCascade(): void; get isCascadeInput(): any; private _modifyType?; get modifyType(): string; set modifyType(value: string); resetModifyType(): void; get modifyTypeInput(): string; private _databasePrivilege; get databasePrivilege(): PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutputReference; putDatabasePrivilege(value: PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege): void; resetDatabasePrivilege(): void; get databasePrivilegeInput(): PostgresqlAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege; } export declare class PostgresqlAccountPrivilegesOperationModifyPrivilegeSetList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: PostgresqlAccountPrivilegesOperationModifyPrivilegeSet[] | 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): PostgresqlAccountPrivilegesOperationModifyPrivilegeSetOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation tencentcloud_postgresql_account_privileges_operation} */ export declare class PostgresqlAccountPrivilegesOperation extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_postgresql_account_privileges_operation"; /** * Generates CDKTF code for importing a PostgresqlAccountPrivilegesOperation 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 PostgresqlAccountPrivilegesOperation to import * @param importFromId The id of the existing PostgresqlAccountPrivilegesOperation that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/postgresql_account_privileges_operation#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the PostgresqlAccountPrivilegesOperation 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/postgresql_account_privileges_operation tencentcloud_postgresql_account_privileges_operation} 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 PostgresqlAccountPrivilegesOperationConfig */ constructor(scope: Construct, id: string, config: PostgresqlAccountPrivilegesOperationConfig); private _dbInstanceId?; get dbInstanceId(): string; set dbInstanceId(value: string); get dbInstanceIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _userName?; get userName(): string; set userName(value: string); get userNameInput(): string; private _modifyPrivilegeSet; get modifyPrivilegeSet(): PostgresqlAccountPrivilegesOperationModifyPrivilegeSetList; putModifyPrivilegeSet(value: PostgresqlAccountPrivilegesOperationModifyPrivilegeSet[] | cdktf.IResolvable): void; get modifyPrivilegeSetInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }