@pulumi/databricks 1.90.0 → 1.91.0-alpha.1775067146
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cluster.d.ts +4 -0
- package/cluster.js +4 -0
- package/cluster.js.map +1 -1
- package/disableLegacyAccessSetting.d.ts +4 -0
- package/disableLegacyAccessSetting.js +4 -0
- package/disableLegacyAccessSetting.js.map +1 -1
- package/getAwsAssumeRolePolicy.d.ts +10 -10
- package/getAwsAssumeRolePolicy.js +10 -10
- package/getAwsBucketPolicy.d.ts +132 -12
- package/getAwsBucketPolicy.js +132 -12
- package/getAwsBucketPolicy.js.map +1 -1
- package/getAwsUnityCatalogAssumeRolePolicy.d.ts +10 -10
- package/getAwsUnityCatalogAssumeRolePolicy.js +10 -10
- package/getAwsUnityCatalogPolicy.d.ts +10 -10
- package/getAwsUnityCatalogPolicy.js +10 -10
- package/getCurrentConfig.d.ts +4 -4
- package/getCurrentConfig.js +4 -4
- package/getMetastore.d.ts +4 -4
- package/getMetastore.js +4 -4
- package/instanceProfile.d.ts +107 -0
- package/instanceProfile.js +107 -0
- package/instanceProfile.js.map +1 -1
- package/mount.d.ts +10 -10
- package/mount.js +10 -10
- package/mwsCredentials.d.ts +4 -4
- package/mwsCredentials.js +4 -4
- package/mwsCustomerManagedKeys.d.ts +152 -0
- package/mwsCustomerManagedKeys.js +152 -0
- package/mwsCustomerManagedKeys.js.map +1 -1
- package/mwsLogDelivery.d.ts +20 -20
- package/mwsLogDelivery.js +20 -20
- package/mwsStorageConfigurations.d.ts +5 -5
- package/mwsStorageConfigurations.js +5 -5
- package/mwsVpcEndpoint.d.ts +5 -5
- package/mwsVpcEndpoint.js +5 -5
- package/mwsWorkspaces.d.ts +20 -20
- package/mwsWorkspaces.js +20 -20
- package/package.json +2 -2
- package/recipient.d.ts +1 -1
- package/recipient.js +1 -1
package/cluster.d.ts
CHANGED
|
@@ -60,6 +60,10 @@ import * as outputs from "./types/output";
|
|
|
60
60
|
* ## Import
|
|
61
61
|
*
|
|
62
62
|
* The resource cluster can be imported using cluster id.
|
|
63
|
+
*
|
|
64
|
+
* ```sh
|
|
65
|
+
* $ pulumi import databricks:index/cluster:Cluster this <cluster-id>
|
|
66
|
+
* ```
|
|
63
67
|
*/
|
|
64
68
|
export declare class Cluster extends pulumi.CustomResource {
|
|
65
69
|
/**
|
package/cluster.js
CHANGED
|
@@ -64,6 +64,10 @@ const utilities = require("./utilities");
|
|
|
64
64
|
* ## Import
|
|
65
65
|
*
|
|
66
66
|
* The resource cluster can be imported using cluster id.
|
|
67
|
+
*
|
|
68
|
+
* ```sh
|
|
69
|
+
* $ pulumi import databricks:index/cluster:Cluster this <cluster-id>
|
|
70
|
+
* ```
|
|
67
71
|
*/
|
|
68
72
|
class Cluster extends pulumi.CustomResource {
|
|
69
73
|
/**
|
package/cluster.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cluster.js","sourceRoot":"","sources":["../cluster.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"cluster.js","sourceRoot":"","sources":["../cluster.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,10 @@ import * as outputs from "./types/output";
|
|
|
28
28
|
* ## Import
|
|
29
29
|
*
|
|
30
30
|
* This resource can be imported by predefined name `global`:
|
|
31
|
+
*
|
|
32
|
+
* ```sh
|
|
33
|
+
* $ pulumi import databricks:index/disableLegacyAccessSetting:DisableLegacyAccessSetting this global
|
|
34
|
+
* ```
|
|
31
35
|
*/
|
|
32
36
|
export declare class DisableLegacyAccessSetting extends pulumi.CustomResource {
|
|
33
37
|
/**
|
|
@@ -32,6 +32,10 @@ const utilities = require("./utilities");
|
|
|
32
32
|
* ## Import
|
|
33
33
|
*
|
|
34
34
|
* This resource can be imported by predefined name `global`:
|
|
35
|
+
*
|
|
36
|
+
* ```sh
|
|
37
|
+
* $ pulumi import databricks:index/disableLegacyAccessSetting:DisableLegacyAccessSetting this global
|
|
38
|
+
* ```
|
|
35
39
|
*/
|
|
36
40
|
class DisableLegacyAccessSetting extends pulumi.CustomResource {
|
|
37
41
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disableLegacyAccessSetting.js","sourceRoot":"","sources":["../disableLegacyAccessSetting.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"disableLegacyAccessSetting.js","sourceRoot":"","sources":["../disableLegacyAccessSetting.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAa,0BAA2B,SAAQ,MAAM,CAAC,cAAc;IACjE;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAuC,EAAE,IAAmC;QACrI,OAAO,IAAI,0BAA0B,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,0BAA0B,CAAC,YAAY,CAAC;IAC3E,CAAC;IAqBD,YAAY,IAAY,EAAE,WAA8E,EAAE,IAAmC;QACzI,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA0D,CAAC;YACzE,cAAc,CAAC,qBAAqB,CAAC,GAAG,KAAK,EAAE,mBAAmB,CAAC;YACnE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;YACzD,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;SACtD;aAAM;YACH,MAAM,IAAI,GAAG,WAAyD,CAAC;YACvE,IAAI,IAAI,EAAE,mBAAmB,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;aACtE;YACD,cAAc,CAAC,qBAAqB,CAAC,GAAG,IAAI,EAAE,mBAAmB,CAAC;YAClE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;YACxD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;SACrD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,0BAA0B,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC/E,CAAC;;AApEL,gEAqEC;AAvDG,gBAAgB;AACO,uCAAY,GAAG,wEAAwE,CAAC"}
|
|
@@ -17,19 +17,19 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
17
17
|
* // Account Id that could be found in the top right corner of https://accounts.cloud.databricks.com/
|
|
18
18
|
* const databricksAccountId = config.requireObject<any>("databricksAccountId");
|
|
19
19
|
* const _this = databricks.getAwsCrossAccountPolicy({});
|
|
20
|
-
* const crossAccountPolicy = new aws.
|
|
20
|
+
* const crossAccountPolicy = new aws.iam.Policy("cross_account_policy", {
|
|
21
21
|
* name: `${prefix}-crossaccount-iam-policy`,
|
|
22
|
-
* policy: _this.json,
|
|
22
|
+
* policy: _this.then(_this => _this.json),
|
|
23
23
|
* });
|
|
24
24
|
* const thisGetAwsAssumeRolePolicy = databricks.getAwsAssumeRolePolicy({
|
|
25
25
|
* externalId: databricksAccountId,
|
|
26
26
|
* });
|
|
27
|
-
* const crossAccount = new aws.
|
|
27
|
+
* const crossAccount = new aws.iam.Role("cross_account", {
|
|
28
28
|
* name: `${prefix}-crossaccount-iam-role`,
|
|
29
|
-
* assumeRolePolicy: thisGetAwsAssumeRolePolicy.json,
|
|
29
|
+
* assumeRolePolicy: thisGetAwsAssumeRolePolicy.then(thisGetAwsAssumeRolePolicy => thisGetAwsAssumeRolePolicy.json),
|
|
30
30
|
* description: "Grants Databricks full access to VPC resources",
|
|
31
31
|
* });
|
|
32
|
-
* const
|
|
32
|
+
* const crossAccountRolePolicyAttachment = new aws.iam.RolePolicyAttachment("cross_account", {
|
|
33
33
|
* policyArn: crossAccountPolicy.arn,
|
|
34
34
|
* role: crossAccount.name,
|
|
35
35
|
* });
|
|
@@ -109,19 +109,19 @@ export interface GetAwsAssumeRolePolicyResult {
|
|
|
109
109
|
* // Account Id that could be found in the top right corner of https://accounts.cloud.databricks.com/
|
|
110
110
|
* const databricksAccountId = config.requireObject<any>("databricksAccountId");
|
|
111
111
|
* const _this = databricks.getAwsCrossAccountPolicy({});
|
|
112
|
-
* const crossAccountPolicy = new aws.
|
|
112
|
+
* const crossAccountPolicy = new aws.iam.Policy("cross_account_policy", {
|
|
113
113
|
* name: `${prefix}-crossaccount-iam-policy`,
|
|
114
|
-
* policy: _this.json,
|
|
114
|
+
* policy: _this.then(_this => _this.json),
|
|
115
115
|
* });
|
|
116
116
|
* const thisGetAwsAssumeRolePolicy = databricks.getAwsAssumeRolePolicy({
|
|
117
117
|
* externalId: databricksAccountId,
|
|
118
118
|
* });
|
|
119
|
-
* const crossAccount = new aws.
|
|
119
|
+
* const crossAccount = new aws.iam.Role("cross_account", {
|
|
120
120
|
* name: `${prefix}-crossaccount-iam-role`,
|
|
121
|
-
* assumeRolePolicy: thisGetAwsAssumeRolePolicy.json,
|
|
121
|
+
* assumeRolePolicy: thisGetAwsAssumeRolePolicy.then(thisGetAwsAssumeRolePolicy => thisGetAwsAssumeRolePolicy.json),
|
|
122
122
|
* description: "Grants Databricks full access to VPC resources",
|
|
123
123
|
* });
|
|
124
|
-
* const
|
|
124
|
+
* const crossAccountRolePolicyAttachment = new aws.iam.RolePolicyAttachment("cross_account", {
|
|
125
125
|
* policyArn: crossAccountPolicy.arn,
|
|
126
126
|
* role: crossAccount.name,
|
|
127
127
|
* });
|
|
@@ -23,19 +23,19 @@ const utilities = require("./utilities");
|
|
|
23
23
|
* // Account Id that could be found in the top right corner of https://accounts.cloud.databricks.com/
|
|
24
24
|
* const databricksAccountId = config.requireObject<any>("databricksAccountId");
|
|
25
25
|
* const _this = databricks.getAwsCrossAccountPolicy({});
|
|
26
|
-
* const crossAccountPolicy = new aws.
|
|
26
|
+
* const crossAccountPolicy = new aws.iam.Policy("cross_account_policy", {
|
|
27
27
|
* name: `${prefix}-crossaccount-iam-policy`,
|
|
28
|
-
* policy: _this.json,
|
|
28
|
+
* policy: _this.then(_this => _this.json),
|
|
29
29
|
* });
|
|
30
30
|
* const thisGetAwsAssumeRolePolicy = databricks.getAwsAssumeRolePolicy({
|
|
31
31
|
* externalId: databricksAccountId,
|
|
32
32
|
* });
|
|
33
|
-
* const crossAccount = new aws.
|
|
33
|
+
* const crossAccount = new aws.iam.Role("cross_account", {
|
|
34
34
|
* name: `${prefix}-crossaccount-iam-role`,
|
|
35
|
-
* assumeRolePolicy: thisGetAwsAssumeRolePolicy.json,
|
|
35
|
+
* assumeRolePolicy: thisGetAwsAssumeRolePolicy.then(thisGetAwsAssumeRolePolicy => thisGetAwsAssumeRolePolicy.json),
|
|
36
36
|
* description: "Grants Databricks full access to VPC resources",
|
|
37
37
|
* });
|
|
38
|
-
* const
|
|
38
|
+
* const crossAccountRolePolicyAttachment = new aws.iam.RolePolicyAttachment("cross_account", {
|
|
39
39
|
* policyArn: crossAccountPolicy.arn,
|
|
40
40
|
* role: crossAccount.name,
|
|
41
41
|
* });
|
|
@@ -83,19 +83,19 @@ exports.getAwsAssumeRolePolicy = getAwsAssumeRolePolicy;
|
|
|
83
83
|
* // Account Id that could be found in the top right corner of https://accounts.cloud.databricks.com/
|
|
84
84
|
* const databricksAccountId = config.requireObject<any>("databricksAccountId");
|
|
85
85
|
* const _this = databricks.getAwsCrossAccountPolicy({});
|
|
86
|
-
* const crossAccountPolicy = new aws.
|
|
86
|
+
* const crossAccountPolicy = new aws.iam.Policy("cross_account_policy", {
|
|
87
87
|
* name: `${prefix}-crossaccount-iam-policy`,
|
|
88
|
-
* policy: _this.json,
|
|
88
|
+
* policy: _this.then(_this => _this.json),
|
|
89
89
|
* });
|
|
90
90
|
* const thisGetAwsAssumeRolePolicy = databricks.getAwsAssumeRolePolicy({
|
|
91
91
|
* externalId: databricksAccountId,
|
|
92
92
|
* });
|
|
93
|
-
* const crossAccount = new aws.
|
|
93
|
+
* const crossAccount = new aws.iam.Role("cross_account", {
|
|
94
94
|
* name: `${prefix}-crossaccount-iam-role`,
|
|
95
|
-
* assumeRolePolicy: thisGetAwsAssumeRolePolicy.json,
|
|
95
|
+
* assumeRolePolicy: thisGetAwsAssumeRolePolicy.then(thisGetAwsAssumeRolePolicy => thisGetAwsAssumeRolePolicy.json),
|
|
96
96
|
* description: "Grants Databricks full access to VPC resources",
|
|
97
97
|
* });
|
|
98
|
-
* const
|
|
98
|
+
* const crossAccountRolePolicyAttachment = new aws.iam.RolePolicyAttachment("cross_account", {
|
|
99
99
|
* policyArn: crossAccountPolicy.arn,
|
|
100
100
|
* role: crossAccount.name,
|
|
101
101
|
* });
|
package/getAwsBucketPolicy.d.ts
CHANGED
|
@@ -11,20 +11,80 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
11
11
|
* import * as aws from "@pulumi/aws";
|
|
12
12
|
* import * as databricks from "@pulumi/databricks";
|
|
13
13
|
*
|
|
14
|
-
* const
|
|
14
|
+
* const thisBucket = new aws.s3.Bucket("this", {
|
|
15
15
|
* bucket: "<unique_bucket_name>",
|
|
16
16
|
* forceDestroy: true,
|
|
17
17
|
* });
|
|
18
|
-
* const _this = databricks.
|
|
19
|
-
* bucket:
|
|
18
|
+
* const _this = databricks.getAwsBucketPolicyOutput({
|
|
19
|
+
* bucket: thisBucket.bucket,
|
|
20
20
|
* });
|
|
21
|
-
* const
|
|
22
|
-
* bucket:
|
|
23
|
-
* policy: _this.json,
|
|
21
|
+
* const thisBucketPolicy = new aws.s3.BucketPolicy("this", {
|
|
22
|
+
* bucket: thisBucket.id,
|
|
23
|
+
* policy: _this.apply(_this => _this.json),
|
|
24
24
|
* });
|
|
25
25
|
* ```
|
|
26
26
|
*
|
|
27
27
|
* Bucket policy with full access:
|
|
28
|
+
*
|
|
29
|
+
* ```typescript
|
|
30
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
31
|
+
* import * as aws from "@pulumi/aws";
|
|
32
|
+
* import * as databricks from "@pulumi/databricks";
|
|
33
|
+
* import * as std from "@pulumi/std";
|
|
34
|
+
*
|
|
35
|
+
* const dsBucket = new aws.s3.Bucket("ds", {
|
|
36
|
+
* bucket: `${prefix}-ds`,
|
|
37
|
+
* forceDestroy: true,
|
|
38
|
+
* tags: std.merge({
|
|
39
|
+
* input: [
|
|
40
|
+
* tags,
|
|
41
|
+
* {
|
|
42
|
+
* name: `${prefix}-ds`,
|
|
43
|
+
* },
|
|
44
|
+
* ],
|
|
45
|
+
* }).then(invoke => invoke.result),
|
|
46
|
+
* });
|
|
47
|
+
* const dsVersioning = new aws.s3.BucketVersioning("ds_versioning", {
|
|
48
|
+
* bucket: dsBucket.id,
|
|
49
|
+
* versioningConfiguration: {
|
|
50
|
+
* status: "Disabled",
|
|
51
|
+
* },
|
|
52
|
+
* });
|
|
53
|
+
* const assumeRoleForEc2 = aws.iam.getPolicyDocument({
|
|
54
|
+
* statements: [{
|
|
55
|
+
* effect: "Allow",
|
|
56
|
+
* actions: ["sts:AssumeRole"],
|
|
57
|
+
* principals: [{
|
|
58
|
+
* identifiers: ["ec2.amazonaws.com"],
|
|
59
|
+
* type: "Service",
|
|
60
|
+
* }],
|
|
61
|
+
* }],
|
|
62
|
+
* });
|
|
63
|
+
* const dataRole = new aws.iam.Role("data_role", {
|
|
64
|
+
* name: `${prefix}-first-ec2s3`,
|
|
65
|
+
* description: `(${prefix}) EC2 Assume Role role for S3 access`,
|
|
66
|
+
* assumeRolePolicy: assumeRoleForEc2.then(assumeRoleForEc2 => assumeRoleForEc2.json),
|
|
67
|
+
* tags: tags,
|
|
68
|
+
* });
|
|
69
|
+
* const ds = databricks.getAwsBucketPolicyOutput({
|
|
70
|
+
* fullAccessRole: dataRole.arn,
|
|
71
|
+
* bucket: dsBucket.bucket,
|
|
72
|
+
* });
|
|
73
|
+
* // allow databricks to access this bucket
|
|
74
|
+
* const dsBucketPolicy = new aws.s3.BucketPolicy("ds", {
|
|
75
|
+
* bucket: dsBucket.id,
|
|
76
|
+
* policy: ds.apply(ds => ds.json),
|
|
77
|
+
* });
|
|
78
|
+
* ```
|
|
79
|
+
*
|
|
80
|
+
* ## Related Resources
|
|
81
|
+
*
|
|
82
|
+
* The following resources are used in the same context:
|
|
83
|
+
*
|
|
84
|
+
* * Provisioning AWS Databricks workspaces with a Hub & Spoke firewall for data exfiltration protection guide.
|
|
85
|
+
* * End to end workspace management guide
|
|
86
|
+
* * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
|
|
87
|
+
* * databricks.Mount to [mount your cloud storage](https://docs.databricks.com/data/databricks-file-system.html#mount-object-storage-to-dbfs) on `dbfs:/mnt/name`.
|
|
28
88
|
*/
|
|
29
89
|
export declare function getAwsBucketPolicy(args: GetAwsBucketPolicyArgs, opts?: pulumi.InvokeOptions): Promise<GetAwsBucketPolicyResult>;
|
|
30
90
|
/**
|
|
@@ -85,20 +145,80 @@ export interface GetAwsBucketPolicyResult {
|
|
|
85
145
|
* import * as aws from "@pulumi/aws";
|
|
86
146
|
* import * as databricks from "@pulumi/databricks";
|
|
87
147
|
*
|
|
88
|
-
* const
|
|
148
|
+
* const thisBucket = new aws.s3.Bucket("this", {
|
|
89
149
|
* bucket: "<unique_bucket_name>",
|
|
90
150
|
* forceDestroy: true,
|
|
91
151
|
* });
|
|
92
|
-
* const _this = databricks.
|
|
93
|
-
* bucket:
|
|
152
|
+
* const _this = databricks.getAwsBucketPolicyOutput({
|
|
153
|
+
* bucket: thisBucket.bucket,
|
|
94
154
|
* });
|
|
95
|
-
* const
|
|
96
|
-
* bucket:
|
|
97
|
-
* policy: _this.json,
|
|
155
|
+
* const thisBucketPolicy = new aws.s3.BucketPolicy("this", {
|
|
156
|
+
* bucket: thisBucket.id,
|
|
157
|
+
* policy: _this.apply(_this => _this.json),
|
|
98
158
|
* });
|
|
99
159
|
* ```
|
|
100
160
|
*
|
|
101
161
|
* Bucket policy with full access:
|
|
162
|
+
*
|
|
163
|
+
* ```typescript
|
|
164
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
165
|
+
* import * as aws from "@pulumi/aws";
|
|
166
|
+
* import * as databricks from "@pulumi/databricks";
|
|
167
|
+
* import * as std from "@pulumi/std";
|
|
168
|
+
*
|
|
169
|
+
* const dsBucket = new aws.s3.Bucket("ds", {
|
|
170
|
+
* bucket: `${prefix}-ds`,
|
|
171
|
+
* forceDestroy: true,
|
|
172
|
+
* tags: std.merge({
|
|
173
|
+
* input: [
|
|
174
|
+
* tags,
|
|
175
|
+
* {
|
|
176
|
+
* name: `${prefix}-ds`,
|
|
177
|
+
* },
|
|
178
|
+
* ],
|
|
179
|
+
* }).then(invoke => invoke.result),
|
|
180
|
+
* });
|
|
181
|
+
* const dsVersioning = new aws.s3.BucketVersioning("ds_versioning", {
|
|
182
|
+
* bucket: dsBucket.id,
|
|
183
|
+
* versioningConfiguration: {
|
|
184
|
+
* status: "Disabled",
|
|
185
|
+
* },
|
|
186
|
+
* });
|
|
187
|
+
* const assumeRoleForEc2 = aws.iam.getPolicyDocument({
|
|
188
|
+
* statements: [{
|
|
189
|
+
* effect: "Allow",
|
|
190
|
+
* actions: ["sts:AssumeRole"],
|
|
191
|
+
* principals: [{
|
|
192
|
+
* identifiers: ["ec2.amazonaws.com"],
|
|
193
|
+
* type: "Service",
|
|
194
|
+
* }],
|
|
195
|
+
* }],
|
|
196
|
+
* });
|
|
197
|
+
* const dataRole = new aws.iam.Role("data_role", {
|
|
198
|
+
* name: `${prefix}-first-ec2s3`,
|
|
199
|
+
* description: `(${prefix}) EC2 Assume Role role for S3 access`,
|
|
200
|
+
* assumeRolePolicy: assumeRoleForEc2.then(assumeRoleForEc2 => assumeRoleForEc2.json),
|
|
201
|
+
* tags: tags,
|
|
202
|
+
* });
|
|
203
|
+
* const ds = databricks.getAwsBucketPolicyOutput({
|
|
204
|
+
* fullAccessRole: dataRole.arn,
|
|
205
|
+
* bucket: dsBucket.bucket,
|
|
206
|
+
* });
|
|
207
|
+
* // allow databricks to access this bucket
|
|
208
|
+
* const dsBucketPolicy = new aws.s3.BucketPolicy("ds", {
|
|
209
|
+
* bucket: dsBucket.id,
|
|
210
|
+
* policy: ds.apply(ds => ds.json),
|
|
211
|
+
* });
|
|
212
|
+
* ```
|
|
213
|
+
*
|
|
214
|
+
* ## Related Resources
|
|
215
|
+
*
|
|
216
|
+
* The following resources are used in the same context:
|
|
217
|
+
*
|
|
218
|
+
* * Provisioning AWS Databricks workspaces with a Hub & Spoke firewall for data exfiltration protection guide.
|
|
219
|
+
* * End to end workspace management guide
|
|
220
|
+
* * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
|
|
221
|
+
* * databricks.Mount to [mount your cloud storage](https://docs.databricks.com/data/databricks-file-system.html#mount-object-storage-to-dbfs) on `dbfs:/mnt/name`.
|
|
102
222
|
*/
|
|
103
223
|
export declare function getAwsBucketPolicyOutput(args: GetAwsBucketPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetAwsBucketPolicyResult>;
|
|
104
224
|
/**
|
package/getAwsBucketPolicy.js
CHANGED
|
@@ -17,20 +17,80 @@ const utilities = require("./utilities");
|
|
|
17
17
|
* import * as aws from "@pulumi/aws";
|
|
18
18
|
* import * as databricks from "@pulumi/databricks";
|
|
19
19
|
*
|
|
20
|
-
* const
|
|
20
|
+
* const thisBucket = new aws.s3.Bucket("this", {
|
|
21
21
|
* bucket: "<unique_bucket_name>",
|
|
22
22
|
* forceDestroy: true,
|
|
23
23
|
* });
|
|
24
|
-
* const _this = databricks.
|
|
25
|
-
* bucket:
|
|
24
|
+
* const _this = databricks.getAwsBucketPolicyOutput({
|
|
25
|
+
* bucket: thisBucket.bucket,
|
|
26
26
|
* });
|
|
27
|
-
* const
|
|
28
|
-
* bucket:
|
|
29
|
-
* policy: _this.json,
|
|
27
|
+
* const thisBucketPolicy = new aws.s3.BucketPolicy("this", {
|
|
28
|
+
* bucket: thisBucket.id,
|
|
29
|
+
* policy: _this.apply(_this => _this.json),
|
|
30
30
|
* });
|
|
31
31
|
* ```
|
|
32
32
|
*
|
|
33
33
|
* Bucket policy with full access:
|
|
34
|
+
*
|
|
35
|
+
* ```typescript
|
|
36
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
37
|
+
* import * as aws from "@pulumi/aws";
|
|
38
|
+
* import * as databricks from "@pulumi/databricks";
|
|
39
|
+
* import * as std from "@pulumi/std";
|
|
40
|
+
*
|
|
41
|
+
* const dsBucket = new aws.s3.Bucket("ds", {
|
|
42
|
+
* bucket: `${prefix}-ds`,
|
|
43
|
+
* forceDestroy: true,
|
|
44
|
+
* tags: std.merge({
|
|
45
|
+
* input: [
|
|
46
|
+
* tags,
|
|
47
|
+
* {
|
|
48
|
+
* name: `${prefix}-ds`,
|
|
49
|
+
* },
|
|
50
|
+
* ],
|
|
51
|
+
* }).then(invoke => invoke.result),
|
|
52
|
+
* });
|
|
53
|
+
* const dsVersioning = new aws.s3.BucketVersioning("ds_versioning", {
|
|
54
|
+
* bucket: dsBucket.id,
|
|
55
|
+
* versioningConfiguration: {
|
|
56
|
+
* status: "Disabled",
|
|
57
|
+
* },
|
|
58
|
+
* });
|
|
59
|
+
* const assumeRoleForEc2 = aws.iam.getPolicyDocument({
|
|
60
|
+
* statements: [{
|
|
61
|
+
* effect: "Allow",
|
|
62
|
+
* actions: ["sts:AssumeRole"],
|
|
63
|
+
* principals: [{
|
|
64
|
+
* identifiers: ["ec2.amazonaws.com"],
|
|
65
|
+
* type: "Service",
|
|
66
|
+
* }],
|
|
67
|
+
* }],
|
|
68
|
+
* });
|
|
69
|
+
* const dataRole = new aws.iam.Role("data_role", {
|
|
70
|
+
* name: `${prefix}-first-ec2s3`,
|
|
71
|
+
* description: `(${prefix}) EC2 Assume Role role for S3 access`,
|
|
72
|
+
* assumeRolePolicy: assumeRoleForEc2.then(assumeRoleForEc2 => assumeRoleForEc2.json),
|
|
73
|
+
* tags: tags,
|
|
74
|
+
* });
|
|
75
|
+
* const ds = databricks.getAwsBucketPolicyOutput({
|
|
76
|
+
* fullAccessRole: dataRole.arn,
|
|
77
|
+
* bucket: dsBucket.bucket,
|
|
78
|
+
* });
|
|
79
|
+
* // allow databricks to access this bucket
|
|
80
|
+
* const dsBucketPolicy = new aws.s3.BucketPolicy("ds", {
|
|
81
|
+
* bucket: dsBucket.id,
|
|
82
|
+
* policy: ds.apply(ds => ds.json),
|
|
83
|
+
* });
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* ## Related Resources
|
|
87
|
+
*
|
|
88
|
+
* The following resources are used in the same context:
|
|
89
|
+
*
|
|
90
|
+
* * Provisioning AWS Databricks workspaces with a Hub & Spoke firewall for data exfiltration protection guide.
|
|
91
|
+
* * End to end workspace management guide
|
|
92
|
+
* * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
|
|
93
|
+
* * databricks.Mount to [mount your cloud storage](https://docs.databricks.com/data/databricks-file-system.html#mount-object-storage-to-dbfs) on `dbfs:/mnt/name`.
|
|
34
94
|
*/
|
|
35
95
|
function getAwsBucketPolicy(args, opts) {
|
|
36
96
|
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
|
|
@@ -55,20 +115,80 @@ exports.getAwsBucketPolicy = getAwsBucketPolicy;
|
|
|
55
115
|
* import * as aws from "@pulumi/aws";
|
|
56
116
|
* import * as databricks from "@pulumi/databricks";
|
|
57
117
|
*
|
|
58
|
-
* const
|
|
118
|
+
* const thisBucket = new aws.s3.Bucket("this", {
|
|
59
119
|
* bucket: "<unique_bucket_name>",
|
|
60
120
|
* forceDestroy: true,
|
|
61
121
|
* });
|
|
62
|
-
* const _this = databricks.
|
|
63
|
-
* bucket:
|
|
122
|
+
* const _this = databricks.getAwsBucketPolicyOutput({
|
|
123
|
+
* bucket: thisBucket.bucket,
|
|
64
124
|
* });
|
|
65
|
-
* const
|
|
66
|
-
* bucket:
|
|
67
|
-
* policy: _this.json,
|
|
125
|
+
* const thisBucketPolicy = new aws.s3.BucketPolicy("this", {
|
|
126
|
+
* bucket: thisBucket.id,
|
|
127
|
+
* policy: _this.apply(_this => _this.json),
|
|
68
128
|
* });
|
|
69
129
|
* ```
|
|
70
130
|
*
|
|
71
131
|
* Bucket policy with full access:
|
|
132
|
+
*
|
|
133
|
+
* ```typescript
|
|
134
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
135
|
+
* import * as aws from "@pulumi/aws";
|
|
136
|
+
* import * as databricks from "@pulumi/databricks";
|
|
137
|
+
* import * as std from "@pulumi/std";
|
|
138
|
+
*
|
|
139
|
+
* const dsBucket = new aws.s3.Bucket("ds", {
|
|
140
|
+
* bucket: `${prefix}-ds`,
|
|
141
|
+
* forceDestroy: true,
|
|
142
|
+
* tags: std.merge({
|
|
143
|
+
* input: [
|
|
144
|
+
* tags,
|
|
145
|
+
* {
|
|
146
|
+
* name: `${prefix}-ds`,
|
|
147
|
+
* },
|
|
148
|
+
* ],
|
|
149
|
+
* }).then(invoke => invoke.result),
|
|
150
|
+
* });
|
|
151
|
+
* const dsVersioning = new aws.s3.BucketVersioning("ds_versioning", {
|
|
152
|
+
* bucket: dsBucket.id,
|
|
153
|
+
* versioningConfiguration: {
|
|
154
|
+
* status: "Disabled",
|
|
155
|
+
* },
|
|
156
|
+
* });
|
|
157
|
+
* const assumeRoleForEc2 = aws.iam.getPolicyDocument({
|
|
158
|
+
* statements: [{
|
|
159
|
+
* effect: "Allow",
|
|
160
|
+
* actions: ["sts:AssumeRole"],
|
|
161
|
+
* principals: [{
|
|
162
|
+
* identifiers: ["ec2.amazonaws.com"],
|
|
163
|
+
* type: "Service",
|
|
164
|
+
* }],
|
|
165
|
+
* }],
|
|
166
|
+
* });
|
|
167
|
+
* const dataRole = new aws.iam.Role("data_role", {
|
|
168
|
+
* name: `${prefix}-first-ec2s3`,
|
|
169
|
+
* description: `(${prefix}) EC2 Assume Role role for S3 access`,
|
|
170
|
+
* assumeRolePolicy: assumeRoleForEc2.then(assumeRoleForEc2 => assumeRoleForEc2.json),
|
|
171
|
+
* tags: tags,
|
|
172
|
+
* });
|
|
173
|
+
* const ds = databricks.getAwsBucketPolicyOutput({
|
|
174
|
+
* fullAccessRole: dataRole.arn,
|
|
175
|
+
* bucket: dsBucket.bucket,
|
|
176
|
+
* });
|
|
177
|
+
* // allow databricks to access this bucket
|
|
178
|
+
* const dsBucketPolicy = new aws.s3.BucketPolicy("ds", {
|
|
179
|
+
* bucket: dsBucket.id,
|
|
180
|
+
* policy: ds.apply(ds => ds.json),
|
|
181
|
+
* });
|
|
182
|
+
* ```
|
|
183
|
+
*
|
|
184
|
+
* ## Related Resources
|
|
185
|
+
*
|
|
186
|
+
* The following resources are used in the same context:
|
|
187
|
+
*
|
|
188
|
+
* * Provisioning AWS Databricks workspaces with a Hub & Spoke firewall for data exfiltration protection guide.
|
|
189
|
+
* * End to end workspace management guide
|
|
190
|
+
* * databricks.InstanceProfile to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount.
|
|
191
|
+
* * databricks.Mount to [mount your cloud storage](https://docs.databricks.com/data/databricks-file-system.html#mount-object-storage-to-dbfs) on `dbfs:/mnt/name`.
|
|
72
192
|
*/
|
|
73
193
|
function getAwsBucketPolicyOutput(args, opts) {
|
|
74
194
|
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAwsBucketPolicy.js","sourceRoot":"","sources":["../getAwsBucketPolicy.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"getAwsBucketPolicy.js","sourceRoot":"","sources":["../getAwsBucketPolicy.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AACH,SAAgB,kBAAkB,CAAC,IAA4B,EAAE,IAA2B;IACxF,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,wDAAwD,EAAE;QACnF,cAAc,EAAE,IAAI,CAAC,YAAY;QACjC,QAAQ,EAAE,IAAI,CAAC,MAAM;QACrB,qBAAqB,EAAE,IAAI,CAAC,mBAAmB;QAC/C,uBAAuB,EAAE,IAAI,CAAC,qBAAqB;QACnD,gBAAgB,EAAE,IAAI,CAAC,cAAc;KACxC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AATD,gDASC;AAiDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AACH,SAAgB,wBAAwB,CAAC,IAAkC,EAAE,IAAiC;IAC1G,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,wDAAwD,EAAE;QACzF,cAAc,EAAE,IAAI,CAAC,YAAY;QACjC,QAAQ,EAAE,IAAI,CAAC,MAAM;QACrB,qBAAqB,EAAE,IAAI,CAAC,mBAAmB;QAC/C,uBAAuB,EAAE,IAAI,CAAC,qBAAqB;QACnD,gBAAgB,EAAE,IAAI,CAAC,cAAc;KACxC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AATD,4DASC"}
|
|
@@ -24,15 +24,15 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
24
24
|
* roleName: `${prefix}-uc-access`,
|
|
25
25
|
* externalId: "12345",
|
|
26
26
|
* });
|
|
27
|
-
* const unityMetastore = new aws.
|
|
27
|
+
* const unityMetastore = new aws.iam.Policy("unity_metastore", {
|
|
28
28
|
* name: `${prefix}-unity-catalog-metastore-access-iam-policy`,
|
|
29
|
-
* policy: _this.json,
|
|
29
|
+
* policy: _this.then(_this => _this.json),
|
|
30
30
|
* });
|
|
31
|
-
* const metastoreDataAccess = new aws.
|
|
31
|
+
* const metastoreDataAccess = new aws.iam.Role("metastore_data_access", {
|
|
32
32
|
* name: `${prefix}-uc-access`,
|
|
33
|
-
* assumeRolePolicy: thisGetAwsUnityCatalogAssumeRolePolicy.json,
|
|
33
|
+
* assumeRolePolicy: thisGetAwsUnityCatalogAssumeRolePolicy.then(thisGetAwsUnityCatalogAssumeRolePolicy => thisGetAwsUnityCatalogAssumeRolePolicy.json),
|
|
34
34
|
* });
|
|
35
|
-
* const
|
|
35
|
+
* const metastoreDataAccessRolePolicyAttachment = new aws.iam.RolePolicyAttachment("metastore_data_access", {
|
|
36
36
|
* role: metastoreDataAccess.name,
|
|
37
37
|
* policyArn: unityMetastore.arn,
|
|
38
38
|
* });
|
|
@@ -104,15 +104,15 @@ export interface GetAwsUnityCatalogAssumeRolePolicyResult {
|
|
|
104
104
|
* roleName: `${prefix}-uc-access`,
|
|
105
105
|
* externalId: "12345",
|
|
106
106
|
* });
|
|
107
|
-
* const unityMetastore = new aws.
|
|
107
|
+
* const unityMetastore = new aws.iam.Policy("unity_metastore", {
|
|
108
108
|
* name: `${prefix}-unity-catalog-metastore-access-iam-policy`,
|
|
109
|
-
* policy: _this.json,
|
|
109
|
+
* policy: _this.then(_this => _this.json),
|
|
110
110
|
* });
|
|
111
|
-
* const metastoreDataAccess = new aws.
|
|
111
|
+
* const metastoreDataAccess = new aws.iam.Role("metastore_data_access", {
|
|
112
112
|
* name: `${prefix}-uc-access`,
|
|
113
|
-
* assumeRolePolicy: thisGetAwsUnityCatalogAssumeRolePolicy.json,
|
|
113
|
+
* assumeRolePolicy: thisGetAwsUnityCatalogAssumeRolePolicy.then(thisGetAwsUnityCatalogAssumeRolePolicy => thisGetAwsUnityCatalogAssumeRolePolicy.json),
|
|
114
114
|
* });
|
|
115
|
-
* const
|
|
115
|
+
* const metastoreDataAccessRolePolicyAttachment = new aws.iam.RolePolicyAttachment("metastore_data_access", {
|
|
116
116
|
* role: metastoreDataAccess.name,
|
|
117
117
|
* policyArn: unityMetastore.arn,
|
|
118
118
|
* });
|
|
@@ -30,15 +30,15 @@ const utilities = require("./utilities");
|
|
|
30
30
|
* roleName: `${prefix}-uc-access`,
|
|
31
31
|
* externalId: "12345",
|
|
32
32
|
* });
|
|
33
|
-
* const unityMetastore = new aws.
|
|
33
|
+
* const unityMetastore = new aws.iam.Policy("unity_metastore", {
|
|
34
34
|
* name: `${prefix}-unity-catalog-metastore-access-iam-policy`,
|
|
35
|
-
* policy: _this.json,
|
|
35
|
+
* policy: _this.then(_this => _this.json),
|
|
36
36
|
* });
|
|
37
|
-
* const metastoreDataAccess = new aws.
|
|
37
|
+
* const metastoreDataAccess = new aws.iam.Role("metastore_data_access", {
|
|
38
38
|
* name: `${prefix}-uc-access`,
|
|
39
|
-
* assumeRolePolicy: thisGetAwsUnityCatalogAssumeRolePolicy.json,
|
|
39
|
+
* assumeRolePolicy: thisGetAwsUnityCatalogAssumeRolePolicy.then(thisGetAwsUnityCatalogAssumeRolePolicy => thisGetAwsUnityCatalogAssumeRolePolicy.json),
|
|
40
40
|
* });
|
|
41
|
-
* const
|
|
41
|
+
* const metastoreDataAccessRolePolicyAttachment = new aws.iam.RolePolicyAttachment("metastore_data_access", {
|
|
42
42
|
* role: metastoreDataAccess.name,
|
|
43
43
|
* policyArn: unityMetastore.arn,
|
|
44
44
|
* });
|
|
@@ -80,15 +80,15 @@ exports.getAwsUnityCatalogAssumeRolePolicy = getAwsUnityCatalogAssumeRolePolicy;
|
|
|
80
80
|
* roleName: `${prefix}-uc-access`,
|
|
81
81
|
* externalId: "12345",
|
|
82
82
|
* });
|
|
83
|
-
* const unityMetastore = new aws.
|
|
83
|
+
* const unityMetastore = new aws.iam.Policy("unity_metastore", {
|
|
84
84
|
* name: `${prefix}-unity-catalog-metastore-access-iam-policy`,
|
|
85
|
-
* policy: _this.json,
|
|
85
|
+
* policy: _this.then(_this => _this.json),
|
|
86
86
|
* });
|
|
87
|
-
* const metastoreDataAccess = new aws.
|
|
87
|
+
* const metastoreDataAccess = new aws.iam.Role("metastore_data_access", {
|
|
88
88
|
* name: `${prefix}-uc-access`,
|
|
89
|
-
* assumeRolePolicy: thisGetAwsUnityCatalogAssumeRolePolicy.json,
|
|
89
|
+
* assumeRolePolicy: thisGetAwsUnityCatalogAssumeRolePolicy.then(thisGetAwsUnityCatalogAssumeRolePolicy => thisGetAwsUnityCatalogAssumeRolePolicy.json),
|
|
90
90
|
* });
|
|
91
|
-
* const
|
|
91
|
+
* const metastoreDataAccessRolePolicyAttachment = new aws.iam.RolePolicyAttachment("metastore_data_access", {
|
|
92
92
|
* role: metastoreDataAccess.name,
|
|
93
93
|
* policyArn: unityMetastore.arn,
|
|
94
94
|
* });
|