UNPKG

@pulumi/databricks

Version:

A Pulumi package for creating and managing databricks cloud resources.

148 lines (147 loc) 5.14 kB
import * as pulumi from "@pulumi/pulumi"; /** * > **Note** If you have a fully automated setup with workspaces created by databricks.MwsWorkspaces or azurerm_databricks_workspace, please make sure to add dependsOn attribute in order to prevent _default auth: cannot configure default credentials_ errors. * * Retrieves a list of databricks.Job ids, that were created by Pulumi or manually, so that special handling could be applied. * * > **Note** Data resource will error in case of jobs with duplicate names. * * ## Example Usage * * Granting view databricks.Permissions to all databricks.Job within the workspace: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as databricks from "@pulumi/databricks"; * * export = async () => { * const _this = await databricks.getJobs({}); * const tests = await databricks.getJobs({ * jobNameContains: "test", * }); * const everyoneCanViewAllJobs: databricks.Permissions[] = []; * for (const range of Object.entries(_this.ids).map(([k, v]) => ({key: k, value: v}))) { * everyoneCanViewAllJobs.push(new databricks.Permissions(`everyone_can_view_all_jobs-${range.key}`, { * jobId: range.value, * accessControls: [{ * groupName: "users", * permissionLevel: "CAN_VIEW", * }], * })); * } * } * ``` * * Getting ID of specific databricks.Job by name: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as databricks from "@pulumi/databricks"; * * const _this = databricks.getJobs({}); * export const x = _this.then(_this => `ID of `x` job is ${_this.ids?.x}`); * ``` * * ## Related Resources * * The following resources are used in the same context: * * * databricks.Job to manage [Databricks Jobs](https://docs.databricks.com/jobs.html) to run non-interactive code in a databricks_cluster. */ export declare function getJobs(args?: GetJobsArgs, opts?: pulumi.InvokeOptions): Promise<GetJobsResult>; /** * A collection of arguments for invoking getJobs. */ export interface GetJobsArgs { /** * map of databricks.Job names to ids */ ids?: { [key: string]: string; }; /** * Only return databricks.Job ids that match the given name string (case-insensitive). */ jobNameContains?: string; } /** * A collection of values returned by getJobs. */ export interface GetJobsResult { /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * map of databricks.Job names to ids */ readonly ids: { [key: string]: string; }; readonly jobNameContains?: string; } /** * > **Note** If you have a fully automated setup with workspaces created by databricks.MwsWorkspaces or azurerm_databricks_workspace, please make sure to add dependsOn attribute in order to prevent _default auth: cannot configure default credentials_ errors. * * Retrieves a list of databricks.Job ids, that were created by Pulumi or manually, so that special handling could be applied. * * > **Note** Data resource will error in case of jobs with duplicate names. * * ## Example Usage * * Granting view databricks.Permissions to all databricks.Job within the workspace: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as databricks from "@pulumi/databricks"; * * export = async () => { * const _this = await databricks.getJobs({}); * const tests = await databricks.getJobs({ * jobNameContains: "test", * }); * const everyoneCanViewAllJobs: databricks.Permissions[] = []; * for (const range of Object.entries(_this.ids).map(([k, v]) => ({key: k, value: v}))) { * everyoneCanViewAllJobs.push(new databricks.Permissions(`everyone_can_view_all_jobs-${range.key}`, { * jobId: range.value, * accessControls: [{ * groupName: "users", * permissionLevel: "CAN_VIEW", * }], * })); * } * } * ``` * * Getting ID of specific databricks.Job by name: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as databricks from "@pulumi/databricks"; * * const _this = databricks.getJobs({}); * export const x = _this.then(_this => `ID of `x` job is ${_this.ids?.x}`); * ``` * * ## Related Resources * * The following resources are used in the same context: * * * databricks.Job to manage [Databricks Jobs](https://docs.databricks.com/jobs.html) to run non-interactive code in a databricks_cluster. */ export declare function getJobsOutput(args?: GetJobsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetJobsResult>; /** * A collection of arguments for invoking getJobs. */ export interface GetJobsOutputArgs { /** * map of databricks.Job names to ids */ ids?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * Only return databricks.Job ids that match the given name string (case-insensitive). */ jobNameContains?: pulumi.Input<string>; }