@pulumi/databricks
Version:
A Pulumi package for creating and managing databricks cloud resources.
118 lines (117 loc) • 4.98 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
* [](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[];
}
/**
* [](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>;
}