import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DlcAttachWorkGroupPolicyOperationConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_work_group_policy_operation#id DlcAttachWorkGroupPolicyOperation#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; /** * Work group ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_work_group_policy_operation#work_group_id DlcAttachWorkGroupPolicyOperation#work_group_id} */ readonly workGroupId: number; /** * policy_set block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_work_group_policy_operation#policy_set DlcAttachWorkGroupPolicyOperation#policy_set} */ readonly policySet?: DlcAttachWorkGroupPolicyOperationPolicySet[] | cdktf.IResolvable; } export interface DlcAttachWorkGroupPolicyOperationPolicySet { /** * 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_work_group_policy_operation#catalog DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#column DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#create_time DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#data_engine DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#database DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#function DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#id DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#mode DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#operation DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#operator DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#policy_type DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#re_auth DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#source DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#source_id DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#source_name DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#table DlcAttachWorkGroupPolicyOperation#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_work_group_policy_operation#view DlcAttachWorkGroupPolicyOperation#view} */ readonly view?: string; } export declare function dlcAttachWorkGroupPolicyOperationPolicySetToTerraform(struct?: DlcAttachWorkGroupPolicyOperationPolicySet | cdktf.IResolvable): any; export declare function dlcAttachWorkGroupPolicyOperationPolicySetToHclTerraform(struct?: DlcAttachWorkGroupPolicyOperationPolicySet | cdktf.IResolvable): any; export declare class DlcAttachWorkGroupPolicyOperationPolicySetOutputReference 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(): DlcAttachWorkGroupPolicyOperationPolicySet | cdktf.IResolvable | undefined; set internalValue(value: DlcAttachWorkGroupPolicyOperationPolicySet | 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 DlcAttachWorkGroupPolicyOperationPolicySetList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DlcAttachWorkGroupPolicyOperationPolicySet[] | 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): DlcAttachWorkGroupPolicyOperationPolicySetOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_work_group_policy_operation tencentcloud_dlc_attach_work_group_policy_operation} */ export declare class DlcAttachWorkGroupPolicyOperation extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_dlc_attach_work_group_policy_operation"; /** * Generates CDKTF code for importing a DlcAttachWorkGroupPolicyOperation 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 DlcAttachWorkGroupPolicyOperation to import * @param importFromId The id of the existing DlcAttachWorkGroupPolicyOperation that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_attach_work_group_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 DlcAttachWorkGroupPolicyOperation 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_work_group_policy_operation tencentcloud_dlc_attach_work_group_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 DlcAttachWorkGroupPolicyOperationConfig */ constructor(scope: Construct, id: string, config: DlcAttachWorkGroupPolicyOperationConfig); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _workGroupId?; get workGroupId(): number; set workGroupId(value: number); get workGroupIdInput(): number; private _policySet; get policySet(): DlcAttachWorkGroupPolicyOperationPolicySetList; putPolicySet(value: DlcAttachWorkGroupPolicyOperationPolicySet[] | cdktf.IResolvable): void; resetPolicySet(): void; get policySetInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }