import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DlcUpdateRowFilterOperationConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_update_row_filter_operation#id DlcUpdateRowFilterOperation#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; /** * The ID of the row filter policy, which can be obtained using the `DescribeUserInfo` or `DescribeWorkGroupInfo` API. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_update_row_filter_operation#policy_id DlcUpdateRowFilterOperation#policy_id} */ readonly policyId: number; /** * policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_update_row_filter_operation#policy DlcUpdateRowFilterOperation#policy} */ readonly policy: DlcUpdateRowFilterOperationPolicy; } export interface DlcUpdateRowFilterOperationPolicy { /** * 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_update_row_filter_operation#catalog DlcUpdateRowFilterOperation#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_update_row_filter_operation#column DlcUpdateRowFilterOperation#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_update_row_filter_operation#create_time DlcUpdateRowFilterOperation#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_update_row_filter_operation#data_engine DlcUpdateRowFilterOperation#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_update_row_filter_operation#database DlcUpdateRowFilterOperation#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_update_row_filter_operation#function DlcUpdateRowFilterOperation#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_update_row_filter_operation#id DlcUpdateRowFilterOperation#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_update_row_filter_operation#mode DlcUpdateRowFilterOperation#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_update_row_filter_operation#operation DlcUpdateRowFilterOperation#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_update_row_filter_operation#operator DlcUpdateRowFilterOperation#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_update_row_filter_operation#policy_type DlcUpdateRowFilterOperation#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_update_row_filter_operation#re_auth DlcUpdateRowFilterOperation#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_update_row_filter_operation#source DlcUpdateRowFilterOperation#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_update_row_filter_operation#source_id DlcUpdateRowFilterOperation#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_update_row_filter_operation#source_name DlcUpdateRowFilterOperation#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_update_row_filter_operation#table DlcUpdateRowFilterOperation#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_update_row_filter_operation#view DlcUpdateRowFilterOperation#view} */ readonly view?: string; } export declare function dlcUpdateRowFilterOperationPolicyToTerraform(struct?: DlcUpdateRowFilterOperationPolicyOutputReference | DlcUpdateRowFilterOperationPolicy): any; export declare function dlcUpdateRowFilterOperationPolicyToHclTerraform(struct?: DlcUpdateRowFilterOperationPolicyOutputReference | DlcUpdateRowFilterOperationPolicy): any; export declare class DlcUpdateRowFilterOperationPolicyOutputReference 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(): DlcUpdateRowFilterOperationPolicy | undefined; set internalValue(value: DlcUpdateRowFilterOperationPolicy | 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; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_update_row_filter_operation tencentcloud_dlc_update_row_filter_operation} */ export declare class DlcUpdateRowFilterOperation extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_dlc_update_row_filter_operation"; /** * Generates CDKTF code for importing a DlcUpdateRowFilterOperation 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 DlcUpdateRowFilterOperation to import * @param importFromId The id of the existing DlcUpdateRowFilterOperation that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/dlc_update_row_filter_operation#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DlcUpdateRowFilterOperation 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_update_row_filter_operation tencentcloud_dlc_update_row_filter_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 DlcUpdateRowFilterOperationConfig */ constructor(scope: Construct, id: string, config: DlcUpdateRowFilterOperationConfig); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _policyId?; get policyId(): number; set policyId(value: number); get policyIdInput(): number; private _policy; get policy(): DlcUpdateRowFilterOperationPolicyOutputReference; putPolicy(value: DlcUpdateRowFilterOperationPolicy): void; get policyInput(): DlcUpdateRowFilterOperationPolicy; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }