UNPKG

@pulumi/databricks

Version:

A Pulumi package for creating and managing databricks cloud resources.

118 lines (117 loc) 4.98 kB
import * as pulumi from "@pulumi/pulumi"; import * as outputs from "./types/output"; /** * [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types) * * Retrieves a list of all ABAC (Attribute-Based Access Control) policies defined on a specific securable in Unity Catalog. Use this data source to query all policies for a given securable type and name. * * ABAC policies provide governance for enforcing compliance through data attributes, allowing flexible and comprehensive access control based on conditions rather than specific resources. * * ## Example Usage * * ### List All Policies on a Securable * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as databricks from "@pulumi/databricks"; * * const catalogPolicies = databricks.getPolicyInfos({ * onSecurableType: "catalog", * onSecurableFullname: "main", * }); * ``` */ export declare function getPolicyInfos(args: GetPolicyInfosArgs, opts?: pulumi.InvokeOptions): Promise<GetPolicyInfosResult>; /** * A collection of arguments for invoking getPolicyInfos. */ export interface GetPolicyInfosArgs { /** * Optional. Whether to include policies defined on parent securables. * By default, the inherited policies are not included */ includeInherited?: boolean; /** * Optional. Maximum number of policies to return on a single page (page length). * - When not set or set to 0, the page length is set to a server configured value (recommended); * - When set to a value greater than 0, the page length is the minimum of this value and a server configured value; */ maxResults?: number; /** * Required. The fully qualified name of securable to list policies for */ onSecurableFullname: string; /** * Required. The type of the securable to list policies for */ onSecurableType: string; } /** * A collection of values returned by getPolicyInfos. */ export interface GetPolicyInfosResult { /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly includeInherited?: boolean; readonly maxResults?: number; /** * (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; readonly policies: outputs.GetPolicyInfosPolicy[]; } /** * [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types) * * Retrieves a list of all ABAC (Attribute-Based Access Control) policies defined on a specific securable in Unity Catalog. Use this data source to query all policies for a given securable type and name. * * ABAC policies provide governance for enforcing compliance through data attributes, allowing flexible and comprehensive access control based on conditions rather than specific resources. * * ## Example Usage * * ### List All Policies on a Securable * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as databricks from "@pulumi/databricks"; * * const catalogPolicies = databricks.getPolicyInfos({ * onSecurableType: "catalog", * onSecurableFullname: "main", * }); * ``` */ export declare function getPolicyInfosOutput(args: GetPolicyInfosOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetPolicyInfosResult>; /** * A collection of arguments for invoking getPolicyInfos. */ export interface GetPolicyInfosOutputArgs { /** * Optional. Whether to include policies defined on parent securables. * By default, the inherited policies are not included */ includeInherited?: pulumi.Input<boolean>; /** * Optional. Maximum number of policies to return on a single page (page length). * - When not set or set to 0, the page length is set to a server configured value (recommended); * - When set to a value greater than 0, the page length is the minimum of this value and a server configured value; */ maxResults?: pulumi.Input<number>; /** * Required. The fully qualified name of securable to list policies for */ onSecurableFullname: pulumi.Input<string>; /** * Required. The type of the securable to list policies for */ onSecurableType: pulumi.Input<string>; }