import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DlcAttachUserPolicyOperationConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#id DlcAttachUserPolicyOperation#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; /** * User ID, which is the same as the sub-user UIN. The CreateUser API is needed to create a user at first. The DescribeUsers API can be used for viewing. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#user_id DlcAttachUserPolicyOperation#user_id} */ readonly userId: string; /** * policy_set block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#policy_set DlcAttachUserPolicyOperation#policy_set} */ readonly policySet?: DlcAttachUserPolicyOperationPolicySet[] | cdktf.IResolvable; } export interface DlcAttachUserPolicyOperationPolicySet { /** * The name of the target data source. To grant admin permission, it must be `*` (all resources at this level); to grant data source and database permissions, it must be `COSDataCatalog` or `*`; to grant table permissions, it can be a custom data source; if it is left empty, `DataLakeCatalog` is used. Note: To grant permissions on a custom data source, the permissions that can be managed in the Data Lake Compute console are subsets of the account permissions granted when you connect the data source to the console. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#catalog DlcAttachUserPolicyOperation#catalog} */ readonly catalog: string; /** * The name of the target column. `*` represents all columns. To grant admin permissions, it must be `*`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#column DlcAttachUserPolicyOperation#column} */ readonly column?: string; /** * The permission policy creation time, which is not required as an input parameter. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#create_time DlcAttachUserPolicyOperation#create_time} */ readonly createTime?: string; /** * The name of the target data engine. `*` represents all engines. To grant admin permissions, it must be `*`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#data_engine DlcAttachUserPolicyOperation#data_engine} */ readonly dataEngine?: string; /** * The name of the target database. `*` represents all databases in the current catalog. To grant admin permissions, it must be `*`; to grant data connection permissions, it must be null; to grant other permissions, it can be any database. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#database DlcAttachUserPolicyOperation#database} */ readonly database: string; /** * The name of the target function. `*` represents all functions in the current catalog. To grant admin permissions, it must be `*`; to grant data connection permissions, it must be null; to grant other permissions, it can be any function. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#function DlcAttachUserPolicyOperation#function} */ readonly function?: string; /** * The policy ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#id DlcAttachUserPolicyOperation#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?: number; /** * The grant mode, which is not required as an input parameter. Valid values: `COMMON` and `SENIOR`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#mode DlcAttachUserPolicyOperation#mode} */ readonly mode?: string; /** * The target permissions, which vary by permission level. Admin: `ALL` (default); data connection: `CREATE`; database: `ALL`, `CREATE`, `ALTER`, and `DROP`; table: `ALL`, `SELECT`, `INSERT`, `ALTER`, `DELETE`, `DROP`, and `UPDATE`. Note: For table permissions, if a data source other than `COSDataCatalog` is specified, only the `SELECT` permission can be granted here. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#operation DlcAttachUserPolicyOperation#operation} */ readonly operation: string; /** * The operator, which is not required as an input parameter. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#operator DlcAttachUserPolicyOperation#operator} */ readonly operator?: string; /** * The permission type. Valid values: `ADMIN`, `DATASOURCE`, `DATABASE`, `TABLE`, `VIEW`, `FUNCTION`, `COLUMN`, and `ENGINE`. Note: If it is left empty, `ADMIN` is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#policy_type DlcAttachUserPolicyOperation#policy_type} */ readonly policyType?: string; /** * Whether the grantee is allowed to further grant the permissions. Valid values: `false` (default) and `true` (the grantee can grant permissions gained here to other sub-users). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#re_auth DlcAttachUserPolicyOperation#re_auth} */ readonly reAuth?: boolean | cdktf.IResolvable; /** * The permission source, which is not required when input parameters are passed in. Valid values: `USER` (from the user) and `WORKGROUP` (from one or more associated work groups). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#source DlcAttachUserPolicyOperation#source} */ readonly source?: string; /** * The ID of the work group, which applies only when the value of the `Source` field is `WORKGROUP`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#source_id DlcAttachUserPolicyOperation#source_id} */ readonly sourceId?: number; /** * The name of the work group, which applies only when the value of the `Source` field is `WORKGROUP`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#source_name DlcAttachUserPolicyOperation#source_name} */ readonly sourceName?: string; /** * The name of the target table. `*` represents all tables in the current database. To grant admin permissions, it must be `*`; to grant data connection and database permissions, it must be null; to grant other permissions, it can be any table. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#table DlcAttachUserPolicyOperation#table} */ readonly table: string; /** * The name of the target view. `*` represents all views in the current database. To grant admin permissions, it must be `*`; to grant data connection and database permissions, it must be null; to grant other permissions, it can be any view. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#view DlcAttachUserPolicyOperation#view} */ readonly view?: string; } export declare function dlcAttachUserPolicyOperationPolicySetToTerraform(struct?: DlcAttachUserPolicyOperationPolicySet | cdktf.IResolvable): any; export declare function dlcAttachUserPolicyOperationPolicySetToHclTerraform(struct?: DlcAttachUserPolicyOperationPolicySet | cdktf.IResolvable): any; export declare class DlcAttachUserPolicyOperationPolicySetOutputReference 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(): DlcAttachUserPolicyOperationPolicySet | cdktf.IResolvable | undefined; set internalValue(value: DlcAttachUserPolicyOperationPolicySet | cdktf.IResolvable | undefined); private _catalog?; get catalog(): string; set catalog(value: string); get catalogInput(): string; private _column?; get column(): string; set column(value: string); resetColumn(): void; get columnInput(): string; private _createTime?; get createTime(): string; set createTime(value: string); resetCreateTime(): void; get createTimeInput(): string; private _dataEngine?; get dataEngine(): string; set dataEngine(value: string); resetDataEngine(): void; get dataEngineInput(): string; private _database?; get database(): string; set database(value: string); get databaseInput(): string; private _function?; get function(): string; set function(value: string); resetFunction(): void; get functionInput(): string; private _id?; get id(): number; set id(value: number); resetId(): void; get idInput(): number; private _mode?; get mode(): string; set mode(value: string); resetMode(): void; get modeInput(): string; private _operation?; get operation(): string; set operation(value: string); get operationInput(): string; private _operator?; get operator(): string; set operator(value: string); resetOperator(): void; get operatorInput(): string; private _policyType?; get policyType(): string; set policyType(value: string); resetPolicyType(): void; get policyTypeInput(): string; private _reAuth?; get reAuth(): boolean | cdktf.IResolvable; set reAuth(value: boolean | cdktf.IResolvable); resetReAuth(): void; get reAuthInput(): any; private _source?; get source(): string; set source(value: string); resetSource(): void; get sourceInput(): string; private _sourceId?; get sourceId(): number; set sourceId(value: number); resetSourceId(): void; get sourceIdInput(): number; private _sourceName?; get sourceName(): string; set sourceName(value: string); resetSourceName(): void; get sourceNameInput(): string; private _table?; get table(): string; set table(value: string); get tableInput(): string; private _view?; get view(): string; set view(value: string); resetView(): void; get viewInput(): string; } export declare class DlcAttachUserPolicyOperationPolicySetList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DlcAttachUserPolicyOperationPolicySet[] | 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): DlcAttachUserPolicyOperationPolicySetOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation tencentcloud_dlc_attach_user_policy_operation} */ export declare class DlcAttachUserPolicyOperation extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_dlc_attach_user_policy_operation"; /** * Generates CDKTF code for importing a DlcAttachUserPolicyOperation 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 DlcAttachUserPolicyOperation to import * @param importFromId The id of the existing DlcAttachUserPolicyOperation that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_user_policy_operation#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DlcAttachUserPolicyOperation 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/dlc_attach_user_policy_operation tencentcloud_dlc_attach_user_policy_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 DlcAttachUserPolicyOperationConfig */ constructor(scope: Construct, id: string, config: DlcAttachUserPolicyOperationConfig); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _userId?; get userId(): string; set userId(value: string); get userIdInput(): string; private _policySet; get policySet(): DlcAttachUserPolicyOperationPolicySetList; putPolicySet(value: DlcAttachUserPolicyOperationPolicySet[] | cdktf.IResolvable): void; resetPolicySet(): void; get policySetInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }