UNPKG

@pulumi/databricks

Version:

A Pulumi package for creating and managing databricks cloud resources.

108 lines 5.01 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.getAwsUnityCatalogPolicyOutput = exports.getAwsUnityCatalogPolicy = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("./utilities"); /** * This data source constructs the necessary AWS Unity Catalog policy for you. * * > This data source can be used with an account or workspace-level provider. * * > This data source has an evolving API, which may change in future versions of the provider. Please always consult [latest documentation](https://docs.databricks.com/data-governance/unity-catalog/get-started.html#configure-a-storage-bucket-and-iam-role-in-aws) in case of any questions. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * import * as databricks from "@pulumi/databricks"; * * const _this = databricks.getAwsUnityCatalogPolicy({ * awsAccountId: awsAccountId, * bucketName: "databricks-bucket", * roleName: `${prefix}-uc-access`, * kmsName: "arn:aws:kms:us-west-2:111122223333:key/databricks-kms", * }); * const thisGetAwsUnityCatalogAssumeRolePolicy = databricks.getAwsUnityCatalogAssumeRolePolicy({ * awsAccountId: awsAccountId, * roleName: `${prefix}-uc-access`, * externalId: "12345", * }); * const unityMetastore = new aws.iam.Policy("unity_metastore", { * name: `${prefix}-unity-catalog-metastore-access-iam-policy`, * policy: _this.then(_this => _this.json), * }); * const metastoreDataAccess = new aws.iam.Role("metastore_data_access", { * name: `${prefix}-uc-access`, * assumeRolePolicy: thisGetAwsUnityCatalogAssumeRolePolicy.then(thisGetAwsUnityCatalogAssumeRolePolicy => thisGetAwsUnityCatalogAssumeRolePolicy.json), * }); * const metastoreDataAccessRolePolicyAttachment = new aws.iam.RolePolicyAttachment("metastore_data_access", { * role: metastoreDataAccess.name, * policyArn: unityMetastore.arn, * }); * ``` */ function getAwsUnityCatalogPolicy(args, opts) { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("databricks:index/getAwsUnityCatalogPolicy:getAwsUnityCatalogPolicy", { "awsAccountId": args.awsAccountId, "awsPartition": args.awsPartition, "bucketName": args.bucketName, "kmsName": args.kmsName, "roleName": args.roleName, }, opts); } exports.getAwsUnityCatalogPolicy = getAwsUnityCatalogPolicy; /** * This data source constructs the necessary AWS Unity Catalog policy for you. * * > This data source can be used with an account or workspace-level provider. * * > This data source has an evolving API, which may change in future versions of the provider. Please always consult [latest documentation](https://docs.databricks.com/data-governance/unity-catalog/get-started.html#configure-a-storage-bucket-and-iam-role-in-aws) in case of any questions. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * import * as databricks from "@pulumi/databricks"; * * const _this = databricks.getAwsUnityCatalogPolicy({ * awsAccountId: awsAccountId, * bucketName: "databricks-bucket", * roleName: `${prefix}-uc-access`, * kmsName: "arn:aws:kms:us-west-2:111122223333:key/databricks-kms", * }); * const thisGetAwsUnityCatalogAssumeRolePolicy = databricks.getAwsUnityCatalogAssumeRolePolicy({ * awsAccountId: awsAccountId, * roleName: `${prefix}-uc-access`, * externalId: "12345", * }); * const unityMetastore = new aws.iam.Policy("unity_metastore", { * name: `${prefix}-unity-catalog-metastore-access-iam-policy`, * policy: _this.then(_this => _this.json), * }); * const metastoreDataAccess = new aws.iam.Role("metastore_data_access", { * name: `${prefix}-uc-access`, * assumeRolePolicy: thisGetAwsUnityCatalogAssumeRolePolicy.then(thisGetAwsUnityCatalogAssumeRolePolicy => thisGetAwsUnityCatalogAssumeRolePolicy.json), * }); * const metastoreDataAccessRolePolicyAttachment = new aws.iam.RolePolicyAttachment("metastore_data_access", { * role: metastoreDataAccess.name, * policyArn: unityMetastore.arn, * }); * ``` */ function getAwsUnityCatalogPolicyOutput(args, opts) { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("databricks:index/getAwsUnityCatalogPolicy:getAwsUnityCatalogPolicy", { "awsAccountId": args.awsAccountId, "awsPartition": args.awsPartition, "bucketName": args.bucketName, "kmsName": args.kmsName, "roleName": args.roleName, }, opts); } exports.getAwsUnityCatalogPolicyOutput = getAwsUnityCatalogPolicyOutput; //# sourceMappingURL=getAwsUnityCatalogPolicy.js.map