@pulumi/databricks
Version:
A Pulumi package for creating and managing databricks cloud resources.
148 lines (147 loc) • 5.14 kB
TypeScript
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>;
}