@pulumi/databricks
Version:
A Pulumi package for creating and managing databricks cloud resources.
233 lines (232 loc) • 11 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
export declare function getPolicyInfo(args: GetPolicyInfoArgs, opts?: pulumi.InvokeOptions): Promise<GetPolicyInfoResult>;
/**
* A collection of arguments for invoking getPolicyInfo.
*/
export interface GetPolicyInfoArgs {
/**
* (ColumnMaskOptions) - Options for column mask policies. Valid only if `policyType` is `POLICY_TYPE_COLUMN_MASK`.
* Required on create and optional on update. When specified on update,
* the new options will replace the existing options as a whole
*/
columnMask?: inputs.GetPolicyInfoColumnMask;
/**
* (string) - Optional description of the policy
*/
comment?: string;
/**
* (list of string) - Optional list of user or group names that should be excluded from the policy
*/
exceptPrincipals?: string[];
/**
* (string) - Type of securables that the policy should take effect on.
* Only `TABLE` is supported at this moment.
* Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
*/
forSecurableType: string;
/**
* (list of MatchColumn) - Optional list of condition expressions used to match table columns.
* Only valid when `forSecurableType` is `TABLE`.
* When specified, the policy only applies to tables whose columns satisfy all match conditions
*/
matchColumns?: inputs.GetPolicyInfoMatchColumn[];
/**
* Name of the policy. Required on create and optional on update.
* To rename the policy, set `name` to a different value on update
*/
name?: string;
/**
* Full name of the securable on which the policy is defined.
* Required on create and ignored on update
*/
onSecurableFullname?: string;
/**
* Type of the securable on which the policy is defined.
* Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
* Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
*/
onSecurableType?: string;
/**
* (string) - Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
*/
policyType: string;
/**
* (RowFilterOptions) - Options for row filter policies. Valid only if `policyType` is `POLICY_TYPE_ROW_FILTER`.
* Required on create and optional on update. When specified on update,
* the new options will replace the existing options as a whole
*/
rowFilter?: inputs.GetPolicyInfoRowFilter;
/**
* (list of string) - List of user or group names that the policy applies to.
* Required on create and optional on update
*/
toPrincipals: string[];
/**
* (string) - Optional condition when the policy should take effect
*/
whenCondition?: string;
/**
* Workspace ID of the resource
*/
workspaceId?: string;
}
/**
* A collection of values returned by getPolicyInfo.
*/
export interface GetPolicyInfoResult {
/**
* (ColumnMaskOptions) - Options for column mask policies. Valid only if `policyType` is `POLICY_TYPE_COLUMN_MASK`.
* Required on create and optional on update. When specified on update,
* the new options will replace the existing options as a whole
*/
readonly columnMask?: outputs.GetPolicyInfoColumnMask;
/**
* (string) - Optional description of the policy
*/
readonly comment?: string;
/**
* (integer) - Time at which the policy was created, in epoch milliseconds. Output only
*/
readonly createdAt: number;
/**
* (string) - Username of the user who created the policy. Output only
*/
readonly createdBy: string;
/**
* (list of string) - Optional list of user or group names that should be excluded from the policy
*/
readonly exceptPrincipals?: string[];
/**
* (string) - Type of securables that the policy should take effect on.
* Only `TABLE` is supported at this moment.
* Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
*/
readonly forSecurableType: string;
/**
* (string) - Unique identifier of the policy. This field is output only and is generated by the system
*/
readonly id: string;
/**
* (list of MatchColumn) - Optional list of condition expressions used to match table columns.
* Only valid when `forSecurableType` is `TABLE`.
* When specified, the policy only applies to tables whose columns satisfy all match conditions
*/
readonly matchColumns?: outputs.GetPolicyInfoMatchColumn[];
/**
* (string) - Name of the policy. Required on create and optional on update.
* To rename the policy, set `name` to a different value on update
*/
readonly name?: string;
/**
* (string) - Full name of the securable on which the policy is defined.
* Required on create and ignored on update
*/
readonly onSecurableFullname?: string;
/**
* (string) - Type of the securable on which the policy is defined.
* Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
* Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
*/
readonly onSecurableType?: string;
/**
* (string) - Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
*/
readonly policyType: string;
/**
* (RowFilterOptions) - Options for row filter policies. Valid only if `policyType` is `POLICY_TYPE_ROW_FILTER`.
* Required on create and optional on update. When specified on update,
* the new options will replace the existing options as a whole
*/
readonly rowFilter?: outputs.GetPolicyInfoRowFilter;
/**
* (list of string) - List of user or group names that the policy applies to.
* Required on create and optional on update
*/
readonly toPrincipals: string[];
/**
* (integer) - Time at which the policy was last modified, in epoch milliseconds. Output only
*/
readonly updatedAt: number;
/**
* (string) - Username of the user who last modified the policy. Output only
*/
readonly updatedBy: string;
/**
* (string) - Optional condition when the policy should take effect
*/
readonly whenCondition?: string;
readonly workspaceId?: string;
}
export declare function getPolicyInfoOutput(args: GetPolicyInfoOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetPolicyInfoResult>;
/**
* A collection of arguments for invoking getPolicyInfo.
*/
export interface GetPolicyInfoOutputArgs {
/**
* (ColumnMaskOptions) - Options for column mask policies. Valid only if `policyType` is `POLICY_TYPE_COLUMN_MASK`.
* Required on create and optional on update. When specified on update,
* the new options will replace the existing options as a whole
*/
columnMask?: pulumi.Input<inputs.GetPolicyInfoColumnMaskArgs>;
/**
* (string) - Optional description of the policy
*/
comment?: pulumi.Input<string>;
/**
* (list of string) - Optional list of user or group names that should be excluded from the policy
*/
exceptPrincipals?: pulumi.Input<pulumi.Input<string>[]>;
/**
* (string) - Type of securables that the policy should take effect on.
* Only `TABLE` is supported at this moment.
* Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
*/
forSecurableType: pulumi.Input<string>;
/**
* (list of MatchColumn) - Optional list of condition expressions used to match table columns.
* Only valid when `forSecurableType` is `TABLE`.
* When specified, the policy only applies to tables whose columns satisfy all match conditions
*/
matchColumns?: pulumi.Input<pulumi.Input<inputs.GetPolicyInfoMatchColumnArgs>[]>;
/**
* Name of the policy. Required on create and optional on update.
* To rename the policy, set `name` to a different value on update
*/
name?: pulumi.Input<string>;
/**
* Full name of the securable on which the policy is defined.
* Required on create and ignored on update
*/
onSecurableFullname?: pulumi.Input<string>;
/**
* Type of the securable on which the policy is defined.
* Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
* Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
*/
onSecurableType?: pulumi.Input<string>;
/**
* (string) - Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
*/
policyType: pulumi.Input<string>;
/**
* (RowFilterOptions) - Options for row filter policies. Valid only if `policyType` is `POLICY_TYPE_ROW_FILTER`.
* Required on create and optional on update. When specified on update,
* the new options will replace the existing options as a whole
*/
rowFilter?: pulumi.Input<inputs.GetPolicyInfoRowFilterArgs>;
/**
* (list of string) - List of user or group names that the policy applies to.
* Required on create and optional on update
*/
toPrincipals: pulumi.Input<pulumi.Input<string>[]>;
/**
* (string) - Optional condition when the policy should take effect
*/
whenCondition?: pulumi.Input<string>;
/**
* Workspace ID of the resource
*/
workspaceId?: pulumi.Input<string>;
}