@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
|
@@ -19,6 +19,60 @@ import * as outputs from "./types/output";
|
|
|
19
19
|
*
|
|
20
20
|
* You must configure this during workspace creation
|
|
21
21
|
*
|
|
22
|
+
* ### For AWS
|
|
23
|
+
*
|
|
24
|
+
* ```typescript
|
|
25
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
26
|
+
* import * as aws from "@pulumi/aws";
|
|
27
|
+
* import * as databricks from "@pulumi/databricks";
|
|
28
|
+
*
|
|
29
|
+
* const config = new pulumi.Config();
|
|
30
|
+
* // Account Id that could be found in the top right corner of https://accounts.cloud.databricks.com/
|
|
31
|
+
* const databricksAccountId = config.requireObject<any>("databricksAccountId");
|
|
32
|
+
* const current = aws.getCallerIdentity({});
|
|
33
|
+
* const databricksManagedServicesCmk = current.then(current => aws.iam.getPolicyDocument({
|
|
34
|
+
* version: "2012-10-17",
|
|
35
|
+
* statements: [
|
|
36
|
+
* {
|
|
37
|
+
* sid: "Enable IAM User Permissions",
|
|
38
|
+
* effect: "Allow",
|
|
39
|
+
* principals: [{
|
|
40
|
+
* type: "AWS",
|
|
41
|
+
* identifiers: [current.accountId],
|
|
42
|
+
* }],
|
|
43
|
+
* actions: ["kms:*"],
|
|
44
|
+
* resources: ["*"],
|
|
45
|
+
* },
|
|
46
|
+
* {
|
|
47
|
+
* sid: "Allow Databricks to use KMS key for control plane managed services",
|
|
48
|
+
* effect: "Allow",
|
|
49
|
+
* principals: [{
|
|
50
|
+
* type: "AWS",
|
|
51
|
+
* identifiers: ["arn:aws:iam::414351767826:root"],
|
|
52
|
+
* }],
|
|
53
|
+
* actions: [
|
|
54
|
+
* "kms:Encrypt",
|
|
55
|
+
* "kms:Decrypt",
|
|
56
|
+
* ],
|
|
57
|
+
* resources: ["*"],
|
|
58
|
+
* },
|
|
59
|
+
* ],
|
|
60
|
+
* }));
|
|
61
|
+
* const managedServicesCustomerManagedKey = new aws.kms.Key("managed_services_customer_managed_key", {policy: databricksManagedServicesCmk.then(databricksManagedServicesCmk => databricksManagedServicesCmk.json)});
|
|
62
|
+
* const managedServicesCustomerManagedKeyAlias = new aws.kms.Alias("managed_services_customer_managed_key_alias", {
|
|
63
|
+
* name: "alias/managed-services-customer-managed-key-alias",
|
|
64
|
+
* targetKeyId: managedServicesCustomerManagedKey.keyId,
|
|
65
|
+
* });
|
|
66
|
+
* const managedServices = new databricks.MwsCustomerManagedKeys("managed_services", {
|
|
67
|
+
* accountId: databricksAccountId,
|
|
68
|
+
* awsKeyInfo: {
|
|
69
|
+
* keyArn: managedServicesCustomerManagedKey.arn,
|
|
70
|
+
* keyAlias: managedServicesCustomerManagedKeyAlias.name,
|
|
71
|
+
* },
|
|
72
|
+
* useCases: ["MANAGED_SERVICES"],
|
|
73
|
+
* });
|
|
74
|
+
* ```
|
|
75
|
+
*
|
|
22
76
|
* ### For GCP
|
|
23
77
|
*
|
|
24
78
|
* ```typescript
|
|
@@ -41,6 +95,104 @@ import * as outputs from "./types/output";
|
|
|
41
95
|
*
|
|
42
96
|
* ### Customer-managed key for workspace storage
|
|
43
97
|
*
|
|
98
|
+
* ### For AWS
|
|
99
|
+
*
|
|
100
|
+
* ```typescript
|
|
101
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
102
|
+
* import * as aws from "@pulumi/aws";
|
|
103
|
+
* import * as databricks from "@pulumi/databricks";
|
|
104
|
+
*
|
|
105
|
+
* const config = new pulumi.Config();
|
|
106
|
+
* // Account Id that could be found in the top right corner of https://accounts.cloud.databricks.com/
|
|
107
|
+
* const databricksAccountId = config.requireObject<any>("databricksAccountId");
|
|
108
|
+
* // AWS ARN for the Databricks cross account role
|
|
109
|
+
* const databricksCrossAccountRole = config.requireObject<any>("databricksCrossAccountRole");
|
|
110
|
+
* const current = aws.getCallerIdentity({});
|
|
111
|
+
* const databricksStorageCmk = current.then(current => aws.iam.getPolicyDocument({
|
|
112
|
+
* version: "2012-10-17",
|
|
113
|
+
* statements: [
|
|
114
|
+
* {
|
|
115
|
+
* sid: "Enable IAM User Permissions",
|
|
116
|
+
* effect: "Allow",
|
|
117
|
+
* principals: [{
|
|
118
|
+
* type: "AWS",
|
|
119
|
+
* identifiers: [current.accountId],
|
|
120
|
+
* }],
|
|
121
|
+
* actions: ["kms:*"],
|
|
122
|
+
* resources: ["*"],
|
|
123
|
+
* },
|
|
124
|
+
* {
|
|
125
|
+
* sid: "Allow Databricks to use KMS key for DBFS",
|
|
126
|
+
* effect: "Allow",
|
|
127
|
+
* principals: [{
|
|
128
|
+
* type: "AWS",
|
|
129
|
+
* identifiers: ["arn:aws:iam::414351767826:root"],
|
|
130
|
+
* }],
|
|
131
|
+
* actions: [
|
|
132
|
+
* "kms:Encrypt",
|
|
133
|
+
* "kms:Decrypt",
|
|
134
|
+
* "kms:ReEncrypt*",
|
|
135
|
+
* "kms:GenerateDataKey*",
|
|
136
|
+
* "kms:DescribeKey",
|
|
137
|
+
* ],
|
|
138
|
+
* resources: ["*"],
|
|
139
|
+
* },
|
|
140
|
+
* {
|
|
141
|
+
* sid: "Allow Databricks to use KMS key for DBFS (Grants)",
|
|
142
|
+
* effect: "Allow",
|
|
143
|
+
* principals: [{
|
|
144
|
+
* type: "AWS",
|
|
145
|
+
* identifiers: ["arn:aws:iam::414351767826:root"],
|
|
146
|
+
* }],
|
|
147
|
+
* actions: [
|
|
148
|
+
* "kms:CreateGrant",
|
|
149
|
+
* "kms:ListGrants",
|
|
150
|
+
* "kms:RevokeGrant",
|
|
151
|
+
* ],
|
|
152
|
+
* resources: ["*"],
|
|
153
|
+
* conditions: [{
|
|
154
|
+
* test: "Bool",
|
|
155
|
+
* variable: "kms:GrantIsForAWSResource",
|
|
156
|
+
* values: ["true"],
|
|
157
|
+
* }],
|
|
158
|
+
* },
|
|
159
|
+
* {
|
|
160
|
+
* sid: "Allow Databricks to use KMS key for EBS",
|
|
161
|
+
* effect: "Allow",
|
|
162
|
+
* principals: [{
|
|
163
|
+
* type: "AWS",
|
|
164
|
+
* identifiers: [databricksCrossAccountRole],
|
|
165
|
+
* }],
|
|
166
|
+
* actions: [
|
|
167
|
+
* "kms:Decrypt",
|
|
168
|
+
* "kms:GenerateDataKey*",
|
|
169
|
+
* "kms:CreateGrant",
|
|
170
|
+
* "kms:DescribeKey",
|
|
171
|
+
* ],
|
|
172
|
+
* resources: ["*"],
|
|
173
|
+
* conditions: [{
|
|
174
|
+
* test: "ForAnyValue:StringLike",
|
|
175
|
+
* variable: "kms:ViaService",
|
|
176
|
+
* values: ["ec2.*.amazonaws.com"],
|
|
177
|
+
* }],
|
|
178
|
+
* },
|
|
179
|
+
* ],
|
|
180
|
+
* }));
|
|
181
|
+
* const storageCustomerManagedKey = new aws.kms.Key("storage_customer_managed_key", {policy: databricksStorageCmk.then(databricksStorageCmk => databricksStorageCmk.json)});
|
|
182
|
+
* const storageCustomerManagedKeyAlias = new aws.kms.Alias("storage_customer_managed_key_alias", {
|
|
183
|
+
* name: "alias/storage-customer-managed-key-alias",
|
|
184
|
+
* targetKeyId: storageCustomerManagedKey.keyId,
|
|
185
|
+
* });
|
|
186
|
+
* const storage = new databricks.MwsCustomerManagedKeys("storage", {
|
|
187
|
+
* accountId: databricksAccountId,
|
|
188
|
+
* awsKeyInfo: {
|
|
189
|
+
* keyArn: storageCustomerManagedKey.arn,
|
|
190
|
+
* keyAlias: storageCustomerManagedKeyAlias.name,
|
|
191
|
+
* },
|
|
192
|
+
* useCases: ["STORAGE"],
|
|
193
|
+
* });
|
|
194
|
+
* ```
|
|
195
|
+
*
|
|
44
196
|
* ### For GCP
|
|
45
197
|
*
|
|
46
198
|
* ```typescript
|
|
@@ -23,6 +23,60 @@ const utilities = require("./utilities");
|
|
|
23
23
|
*
|
|
24
24
|
* You must configure this during workspace creation
|
|
25
25
|
*
|
|
26
|
+
* ### For AWS
|
|
27
|
+
*
|
|
28
|
+
* ```typescript
|
|
29
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
30
|
+
* import * as aws from "@pulumi/aws";
|
|
31
|
+
* import * as databricks from "@pulumi/databricks";
|
|
32
|
+
*
|
|
33
|
+
* const config = new pulumi.Config();
|
|
34
|
+
* // Account Id that could be found in the top right corner of https://accounts.cloud.databricks.com/
|
|
35
|
+
* const databricksAccountId = config.requireObject<any>("databricksAccountId");
|
|
36
|
+
* const current = aws.getCallerIdentity({});
|
|
37
|
+
* const databricksManagedServicesCmk = current.then(current => aws.iam.getPolicyDocument({
|
|
38
|
+
* version: "2012-10-17",
|
|
39
|
+
* statements: [
|
|
40
|
+
* {
|
|
41
|
+
* sid: "Enable IAM User Permissions",
|
|
42
|
+
* effect: "Allow",
|
|
43
|
+
* principals: [{
|
|
44
|
+
* type: "AWS",
|
|
45
|
+
* identifiers: [current.accountId],
|
|
46
|
+
* }],
|
|
47
|
+
* actions: ["kms:*"],
|
|
48
|
+
* resources: ["*"],
|
|
49
|
+
* },
|
|
50
|
+
* {
|
|
51
|
+
* sid: "Allow Databricks to use KMS key for control plane managed services",
|
|
52
|
+
* effect: "Allow",
|
|
53
|
+
* principals: [{
|
|
54
|
+
* type: "AWS",
|
|
55
|
+
* identifiers: ["arn:aws:iam::414351767826:root"],
|
|
56
|
+
* }],
|
|
57
|
+
* actions: [
|
|
58
|
+
* "kms:Encrypt",
|
|
59
|
+
* "kms:Decrypt",
|
|
60
|
+
* ],
|
|
61
|
+
* resources: ["*"],
|
|
62
|
+
* },
|
|
63
|
+
* ],
|
|
64
|
+
* }));
|
|
65
|
+
* const managedServicesCustomerManagedKey = new aws.kms.Key("managed_services_customer_managed_key", {policy: databricksManagedServicesCmk.then(databricksManagedServicesCmk => databricksManagedServicesCmk.json)});
|
|
66
|
+
* const managedServicesCustomerManagedKeyAlias = new aws.kms.Alias("managed_services_customer_managed_key_alias", {
|
|
67
|
+
* name: "alias/managed-services-customer-managed-key-alias",
|
|
68
|
+
* targetKeyId: managedServicesCustomerManagedKey.keyId,
|
|
69
|
+
* });
|
|
70
|
+
* const managedServices = new databricks.MwsCustomerManagedKeys("managed_services", {
|
|
71
|
+
* accountId: databricksAccountId,
|
|
72
|
+
* awsKeyInfo: {
|
|
73
|
+
* keyArn: managedServicesCustomerManagedKey.arn,
|
|
74
|
+
* keyAlias: managedServicesCustomerManagedKeyAlias.name,
|
|
75
|
+
* },
|
|
76
|
+
* useCases: ["MANAGED_SERVICES"],
|
|
77
|
+
* });
|
|
78
|
+
* ```
|
|
79
|
+
*
|
|
26
80
|
* ### For GCP
|
|
27
81
|
*
|
|
28
82
|
* ```typescript
|
|
@@ -45,6 +99,104 @@ const utilities = require("./utilities");
|
|
|
45
99
|
*
|
|
46
100
|
* ### Customer-managed key for workspace storage
|
|
47
101
|
*
|
|
102
|
+
* ### For AWS
|
|
103
|
+
*
|
|
104
|
+
* ```typescript
|
|
105
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
106
|
+
* import * as aws from "@pulumi/aws";
|
|
107
|
+
* import * as databricks from "@pulumi/databricks";
|
|
108
|
+
*
|
|
109
|
+
* const config = new pulumi.Config();
|
|
110
|
+
* // Account Id that could be found in the top right corner of https://accounts.cloud.databricks.com/
|
|
111
|
+
* const databricksAccountId = config.requireObject<any>("databricksAccountId");
|
|
112
|
+
* // AWS ARN for the Databricks cross account role
|
|
113
|
+
* const databricksCrossAccountRole = config.requireObject<any>("databricksCrossAccountRole");
|
|
114
|
+
* const current = aws.getCallerIdentity({});
|
|
115
|
+
* const databricksStorageCmk = current.then(current => aws.iam.getPolicyDocument({
|
|
116
|
+
* version: "2012-10-17",
|
|
117
|
+
* statements: [
|
|
118
|
+
* {
|
|
119
|
+
* sid: "Enable IAM User Permissions",
|
|
120
|
+
* effect: "Allow",
|
|
121
|
+
* principals: [{
|
|
122
|
+
* type: "AWS",
|
|
123
|
+
* identifiers: [current.accountId],
|
|
124
|
+
* }],
|
|
125
|
+
* actions: ["kms:*"],
|
|
126
|
+
* resources: ["*"],
|
|
127
|
+
* },
|
|
128
|
+
* {
|
|
129
|
+
* sid: "Allow Databricks to use KMS key for DBFS",
|
|
130
|
+
* effect: "Allow",
|
|
131
|
+
* principals: [{
|
|
132
|
+
* type: "AWS",
|
|
133
|
+
* identifiers: ["arn:aws:iam::414351767826:root"],
|
|
134
|
+
* }],
|
|
135
|
+
* actions: [
|
|
136
|
+
* "kms:Encrypt",
|
|
137
|
+
* "kms:Decrypt",
|
|
138
|
+
* "kms:ReEncrypt*",
|
|
139
|
+
* "kms:GenerateDataKey*",
|
|
140
|
+
* "kms:DescribeKey",
|
|
141
|
+
* ],
|
|
142
|
+
* resources: ["*"],
|
|
143
|
+
* },
|
|
144
|
+
* {
|
|
145
|
+
* sid: "Allow Databricks to use KMS key for DBFS (Grants)",
|
|
146
|
+
* effect: "Allow",
|
|
147
|
+
* principals: [{
|
|
148
|
+
* type: "AWS",
|
|
149
|
+
* identifiers: ["arn:aws:iam::414351767826:root"],
|
|
150
|
+
* }],
|
|
151
|
+
* actions: [
|
|
152
|
+
* "kms:CreateGrant",
|
|
153
|
+
* "kms:ListGrants",
|
|
154
|
+
* "kms:RevokeGrant",
|
|
155
|
+
* ],
|
|
156
|
+
* resources: ["*"],
|
|
157
|
+
* conditions: [{
|
|
158
|
+
* test: "Bool",
|
|
159
|
+
* variable: "kms:GrantIsForAWSResource",
|
|
160
|
+
* values: ["true"],
|
|
161
|
+
* }],
|
|
162
|
+
* },
|
|
163
|
+
* {
|
|
164
|
+
* sid: "Allow Databricks to use KMS key for EBS",
|
|
165
|
+
* effect: "Allow",
|
|
166
|
+
* principals: [{
|
|
167
|
+
* type: "AWS",
|
|
168
|
+
* identifiers: [databricksCrossAccountRole],
|
|
169
|
+
* }],
|
|
170
|
+
* actions: [
|
|
171
|
+
* "kms:Decrypt",
|
|
172
|
+
* "kms:GenerateDataKey*",
|
|
173
|
+
* "kms:CreateGrant",
|
|
174
|
+
* "kms:DescribeKey",
|
|
175
|
+
* ],
|
|
176
|
+
* resources: ["*"],
|
|
177
|
+
* conditions: [{
|
|
178
|
+
* test: "ForAnyValue:StringLike",
|
|
179
|
+
* variable: "kms:ViaService",
|
|
180
|
+
* values: ["ec2.*.amazonaws.com"],
|
|
181
|
+
* }],
|
|
182
|
+
* },
|
|
183
|
+
* ],
|
|
184
|
+
* }));
|
|
185
|
+
* const storageCustomerManagedKey = new aws.kms.Key("storage_customer_managed_key", {policy: databricksStorageCmk.then(databricksStorageCmk => databricksStorageCmk.json)});
|
|
186
|
+
* const storageCustomerManagedKeyAlias = new aws.kms.Alias("storage_customer_managed_key_alias", {
|
|
187
|
+
* name: "alias/storage-customer-managed-key-alias",
|
|
188
|
+
* targetKeyId: storageCustomerManagedKey.keyId,
|
|
189
|
+
* });
|
|
190
|
+
* const storage = new databricks.MwsCustomerManagedKeys("storage", {
|
|
191
|
+
* accountId: databricksAccountId,
|
|
192
|
+
* awsKeyInfo: {
|
|
193
|
+
* keyArn: storageCustomerManagedKey.arn,
|
|
194
|
+
* keyAlias: storageCustomerManagedKeyAlias.name,
|
|
195
|
+
* },
|
|
196
|
+
* useCases: ["STORAGE"],
|
|
197
|
+
* });
|
|
198
|
+
* ```
|
|
199
|
+
*
|
|
48
200
|
* ### For GCP
|
|
49
201
|
*
|
|
50
202
|
* ```typescript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mwsCustomerManagedKeys.js","sourceRoot":"","sources":["../mwsCustomerManagedKeys.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"mwsCustomerManagedKeys.js","sourceRoot":"","sources":["../mwsCustomerManagedKeys.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8NG;AACH,MAAa,sBAAuB,SAAQ,MAAM,CAAC,cAAc;IAC7D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAmC,EAAE,IAAmC;QACjI,OAAO,IAAI,sBAAsB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7E,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,sBAAsB,CAAC,YAAY,CAAC;IACvE,CAAC;IAqCD,YAAY,IAAY,EAAE,WAAsE,EAAE,IAAmC;QACjI,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAsD,CAAC;YACrE,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC;YACrD,cAAc,CAAC,sBAAsB,CAAC,GAAG,KAAK,EAAE,oBAAoB,CAAC;YACrE,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;SAChD;aAAM;YACH,MAAM,IAAI,GAAG,WAAqD,CAAC;YACnE,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC;YACpD,cAAc,CAAC,sBAAsB,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC;YACpE,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;SAC/C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,sBAAsB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;;AA3FL,wDA4FC;AA9EG,gBAAgB;AACO,mCAAY,GAAG,gEAAgE,CAAC"}
|
package/mwsLogDelivery.d.ts
CHANGED
|
@@ -20,9 +20,9 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
20
20
|
* const config = new pulumi.Config();
|
|
21
21
|
* // Account Id that could be found in the top right corner of https://accounts.cloud.databricks.com/
|
|
22
22
|
* const databricksAccountId = config.requireObject<any>("databricksAccountId");
|
|
23
|
-
* const
|
|
23
|
+
* const logdeliveryBucket = new aws.s3.Bucket("logdelivery", {
|
|
24
24
|
* bucket: `${prefix}-logdelivery`,
|
|
25
|
-
* acl:
|
|
25
|
+
* acl: aws.s3.CannedAcl.Private,
|
|
26
26
|
* forceDestroy: true,
|
|
27
27
|
* tags: std.merge({
|
|
28
28
|
* input: [
|
|
@@ -31,50 +31,50 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
31
31
|
* name: `${prefix}-logdelivery`,
|
|
32
32
|
* },
|
|
33
33
|
* ],
|
|
34
|
-
* }).result,
|
|
34
|
+
* }).then(invoke => invoke.result),
|
|
35
35
|
* });
|
|
36
|
-
* const
|
|
37
|
-
* bucket:
|
|
36
|
+
* const logdeliveryBucketPublicAccessBlock = new aws.s3.BucketPublicAccessBlock("logdelivery", {
|
|
37
|
+
* bucket: logdeliveryBucket.id,
|
|
38
38
|
* ignorePublicAcls: true,
|
|
39
39
|
* });
|
|
40
40
|
* const logdelivery = databricks.getAwsAssumeRolePolicy({
|
|
41
41
|
* externalId: databricksAccountId,
|
|
42
42
|
* forLogDelivery: true,
|
|
43
43
|
* });
|
|
44
|
-
* const logdeliveryVersioning = new aws.
|
|
45
|
-
* bucket:
|
|
46
|
-
* versioningConfiguration:
|
|
44
|
+
* const logdeliveryVersioning = new aws.s3.BucketVersioning("logdelivery_versioning", {
|
|
45
|
+
* bucket: logdeliveryBucket.id,
|
|
46
|
+
* versioningConfiguration: {
|
|
47
47
|
* status: "Disabled",
|
|
48
|
-
* }
|
|
48
|
+
* },
|
|
49
49
|
* });
|
|
50
|
-
* const
|
|
50
|
+
* const logdeliveryRole = new aws.iam.Role("logdelivery", {
|
|
51
51
|
* name: `${prefix}-logdelivery`,
|
|
52
52
|
* description: `(${prefix}) UsageDelivery role`,
|
|
53
|
-
* assumeRolePolicy: logdelivery.json,
|
|
53
|
+
* assumeRolePolicy: logdelivery.then(logdelivery => logdelivery.json),
|
|
54
54
|
* tags: tags,
|
|
55
55
|
* });
|
|
56
|
-
* const logdeliveryGetAwsBucketPolicy = databricks.
|
|
57
|
-
* fullAccessRole:
|
|
58
|
-
* bucket:
|
|
56
|
+
* const logdeliveryGetAwsBucketPolicy = databricks.getAwsBucketPolicyOutput({
|
|
57
|
+
* fullAccessRole: logdeliveryRole.arn,
|
|
58
|
+
* bucket: logdeliveryBucket.bucket,
|
|
59
59
|
* });
|
|
60
|
-
* const
|
|
61
|
-
* bucket:
|
|
62
|
-
* policy: logdeliveryGetAwsBucketPolicy.json,
|
|
60
|
+
* const logdeliveryBucketPolicy = new aws.s3.BucketPolicy("logdelivery", {
|
|
61
|
+
* bucket: logdeliveryBucket.id,
|
|
62
|
+
* policy: logdeliveryGetAwsBucketPolicy.apply(logdeliveryGetAwsBucketPolicy => logdeliveryGetAwsBucketPolicy.json),
|
|
63
63
|
* });
|
|
64
64
|
* const wait = new time.Sleep("wait", {createDuration: "10s"}, {
|
|
65
|
-
* dependsOn: [
|
|
65
|
+
* dependsOn: [logdeliveryRole],
|
|
66
66
|
* });
|
|
67
67
|
* const logWriter = new databricks.MwsCredentials("log_writer", {
|
|
68
68
|
* accountId: databricksAccountId,
|
|
69
69
|
* credentialsName: "Usage Delivery",
|
|
70
|
-
* roleArn:
|
|
70
|
+
* roleArn: logdeliveryRole.arn,
|
|
71
71
|
* }, {
|
|
72
72
|
* dependsOn: [wait],
|
|
73
73
|
* });
|
|
74
74
|
* const logBucket = new databricks.MwsStorageConfigurations("log_bucket", {
|
|
75
75
|
* accountId: databricksAccountId,
|
|
76
76
|
* storageConfigurationName: "Usage Logs",
|
|
77
|
-
* bucketName:
|
|
77
|
+
* bucketName: logdeliveryBucket.bucket,
|
|
78
78
|
* });
|
|
79
79
|
* const usageLogs = new databricks.MwsLogDelivery("usage_logs", {
|
|
80
80
|
* accountId: databricksAccountId,
|
package/mwsLogDelivery.js
CHANGED
|
@@ -26,9 +26,9 @@ const utilities = require("./utilities");
|
|
|
26
26
|
* const config = new pulumi.Config();
|
|
27
27
|
* // Account Id that could be found in the top right corner of https://accounts.cloud.databricks.com/
|
|
28
28
|
* const databricksAccountId = config.requireObject<any>("databricksAccountId");
|
|
29
|
-
* const
|
|
29
|
+
* const logdeliveryBucket = new aws.s3.Bucket("logdelivery", {
|
|
30
30
|
* bucket: `${prefix}-logdelivery`,
|
|
31
|
-
* acl:
|
|
31
|
+
* acl: aws.s3.CannedAcl.Private,
|
|
32
32
|
* forceDestroy: true,
|
|
33
33
|
* tags: std.merge({
|
|
34
34
|
* input: [
|
|
@@ -37,50 +37,50 @@ const utilities = require("./utilities");
|
|
|
37
37
|
* name: `${prefix}-logdelivery`,
|
|
38
38
|
* },
|
|
39
39
|
* ],
|
|
40
|
-
* }).result,
|
|
40
|
+
* }).then(invoke => invoke.result),
|
|
41
41
|
* });
|
|
42
|
-
* const
|
|
43
|
-
* bucket:
|
|
42
|
+
* const logdeliveryBucketPublicAccessBlock = new aws.s3.BucketPublicAccessBlock("logdelivery", {
|
|
43
|
+
* bucket: logdeliveryBucket.id,
|
|
44
44
|
* ignorePublicAcls: true,
|
|
45
45
|
* });
|
|
46
46
|
* const logdelivery = databricks.getAwsAssumeRolePolicy({
|
|
47
47
|
* externalId: databricksAccountId,
|
|
48
48
|
* forLogDelivery: true,
|
|
49
49
|
* });
|
|
50
|
-
* const logdeliveryVersioning = new aws.
|
|
51
|
-
* bucket:
|
|
52
|
-
* versioningConfiguration:
|
|
50
|
+
* const logdeliveryVersioning = new aws.s3.BucketVersioning("logdelivery_versioning", {
|
|
51
|
+
* bucket: logdeliveryBucket.id,
|
|
52
|
+
* versioningConfiguration: {
|
|
53
53
|
* status: "Disabled",
|
|
54
|
-
* }
|
|
54
|
+
* },
|
|
55
55
|
* });
|
|
56
|
-
* const
|
|
56
|
+
* const logdeliveryRole = new aws.iam.Role("logdelivery", {
|
|
57
57
|
* name: `${prefix}-logdelivery`,
|
|
58
58
|
* description: `(${prefix}) UsageDelivery role`,
|
|
59
|
-
* assumeRolePolicy: logdelivery.json,
|
|
59
|
+
* assumeRolePolicy: logdelivery.then(logdelivery => logdelivery.json),
|
|
60
60
|
* tags: tags,
|
|
61
61
|
* });
|
|
62
|
-
* const logdeliveryGetAwsBucketPolicy = databricks.
|
|
63
|
-
* fullAccessRole:
|
|
64
|
-
* bucket:
|
|
62
|
+
* const logdeliveryGetAwsBucketPolicy = databricks.getAwsBucketPolicyOutput({
|
|
63
|
+
* fullAccessRole: logdeliveryRole.arn,
|
|
64
|
+
* bucket: logdeliveryBucket.bucket,
|
|
65
65
|
* });
|
|
66
|
-
* const
|
|
67
|
-
* bucket:
|
|
68
|
-
* policy: logdeliveryGetAwsBucketPolicy.json,
|
|
66
|
+
* const logdeliveryBucketPolicy = new aws.s3.BucketPolicy("logdelivery", {
|
|
67
|
+
* bucket: logdeliveryBucket.id,
|
|
68
|
+
* policy: logdeliveryGetAwsBucketPolicy.apply(logdeliveryGetAwsBucketPolicy => logdeliveryGetAwsBucketPolicy.json),
|
|
69
69
|
* });
|
|
70
70
|
* const wait = new time.Sleep("wait", {createDuration: "10s"}, {
|
|
71
|
-
* dependsOn: [
|
|
71
|
+
* dependsOn: [logdeliveryRole],
|
|
72
72
|
* });
|
|
73
73
|
* const logWriter = new databricks.MwsCredentials("log_writer", {
|
|
74
74
|
* accountId: databricksAccountId,
|
|
75
75
|
* credentialsName: "Usage Delivery",
|
|
76
|
-
* roleArn:
|
|
76
|
+
* roleArn: logdeliveryRole.arn,
|
|
77
77
|
* }, {
|
|
78
78
|
* dependsOn: [wait],
|
|
79
79
|
* });
|
|
80
80
|
* const logBucket = new databricks.MwsStorageConfigurations("log_bucket", {
|
|
81
81
|
* accountId: databricksAccountId,
|
|
82
82
|
* storageConfigurationName: "Usage Logs",
|
|
83
|
-
* bucketName:
|
|
83
|
+
* bucketName: logdeliveryBucket.bucket,
|
|
84
84
|
* });
|
|
85
85
|
* const usageLogs = new databricks.MwsLogDelivery("usage_logs", {
|
|
86
86
|
* accountId: databricksAccountId,
|
|
@@ -18,15 +18,15 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
18
18
|
* const config = new pulumi.Config();
|
|
19
19
|
* // Account Id that could be found in the top right corner of https://accounts.cloud.databricks.com/
|
|
20
20
|
* const databricksAccountId = config.requireObject<any>("databricksAccountId");
|
|
21
|
-
* const rootStorageBucket = new aws.
|
|
21
|
+
* const rootStorageBucket = new aws.s3.Bucket("root_storage_bucket", {
|
|
22
22
|
* bucket: `${prefix}-rootbucket`,
|
|
23
|
-
* acl:
|
|
23
|
+
* acl: aws.s3.CannedAcl.Private,
|
|
24
24
|
* });
|
|
25
|
-
* const rootVersioning = new aws.
|
|
25
|
+
* const rootVersioning = new aws.s3.BucketVersioning("root_versioning", {
|
|
26
26
|
* bucket: rootStorageBucket.id,
|
|
27
|
-
* versioningConfiguration:
|
|
27
|
+
* versioningConfiguration: {
|
|
28
28
|
* status: "Disabled",
|
|
29
|
-
* }
|
|
29
|
+
* },
|
|
30
30
|
* });
|
|
31
31
|
* const _this = new databricks.MwsStorageConfigurations("this", {
|
|
32
32
|
* accountId: databricksAccountId,
|
|
@@ -24,15 +24,15 @@ const utilities = require("./utilities");
|
|
|
24
24
|
* const config = new pulumi.Config();
|
|
25
25
|
* // Account Id that could be found in the top right corner of https://accounts.cloud.databricks.com/
|
|
26
26
|
* const databricksAccountId = config.requireObject<any>("databricksAccountId");
|
|
27
|
-
* const rootStorageBucket = new aws.
|
|
27
|
+
* const rootStorageBucket = new aws.s3.Bucket("root_storage_bucket", {
|
|
28
28
|
* bucket: `${prefix}-rootbucket`,
|
|
29
|
-
* acl:
|
|
29
|
+
* acl: aws.s3.CannedAcl.Private,
|
|
30
30
|
* });
|
|
31
|
-
* const rootVersioning = new aws.
|
|
31
|
+
* const rootVersioning = new aws.s3.BucketVersioning("root_versioning", {
|
|
32
32
|
* bucket: rootStorageBucket.id,
|
|
33
|
-
* versioningConfiguration:
|
|
33
|
+
* versioningConfiguration: {
|
|
34
34
|
* status: "Disabled",
|
|
35
|
-
* }
|
|
35
|
+
* },
|
|
36
36
|
* });
|
|
37
37
|
* const _this = new databricks.MwsStorageConfigurations("this", {
|
|
38
38
|
* accountId: databricksAccountId,
|
package/mwsVpcEndpoint.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ import * as outputs from "./types/output";
|
|
|
18
18
|
* import * as pulumi from "@pulumi/pulumi";
|
|
19
19
|
* import * as aws from "@pulumi/aws";
|
|
20
20
|
*
|
|
21
|
-
* const workspace = new aws.
|
|
21
|
+
* const workspace = new aws.ec2.VpcEndpoint("workspace", {
|
|
22
22
|
* vpcId: vpc.vpcId,
|
|
23
23
|
* serviceName: privateLink.workspaceService,
|
|
24
24
|
* vpcEndpointType: "Interface",
|
|
@@ -28,7 +28,7 @@ import * as outputs from "./types/output";
|
|
|
28
28
|
* }, {
|
|
29
29
|
* dependsOn: [plSubnet],
|
|
30
30
|
* });
|
|
31
|
-
* const relay = new aws.
|
|
31
|
+
* const relay = new aws.ec2.VpcEndpoint("relay", {
|
|
32
32
|
* vpcId: vpc.vpcId,
|
|
33
33
|
* serviceName: privateLink.relayService,
|
|
34
34
|
* vpcEndpointType: "Interface",
|
|
@@ -47,14 +47,14 @@ import * as outputs from "./types/output";
|
|
|
47
47
|
* import * as pulumi from "@pulumi/pulumi";
|
|
48
48
|
* import * as aws from "@pulumi/aws";
|
|
49
49
|
*
|
|
50
|
-
* const s3 = new aws.
|
|
50
|
+
* const s3 = new aws.ec2.VpcEndpoint("s3", {
|
|
51
51
|
* vpcId: vpc.vpcId,
|
|
52
52
|
* routeTableIds: vpc.privateRouteTableIds,
|
|
53
53
|
* serviceName: `com.amazonaws.${region}.s3`,
|
|
54
54
|
* }, {
|
|
55
55
|
* dependsOn: [vpc],
|
|
56
56
|
* });
|
|
57
|
-
* const sts = new aws.
|
|
57
|
+
* const sts = new aws.ec2.VpcEndpoint("sts", {
|
|
58
58
|
* vpcId: vpc.vpcId,
|
|
59
59
|
* serviceName: `com.amazonaws.${region}.sts`,
|
|
60
60
|
* vpcEndpointType: "Interface",
|
|
@@ -64,7 +64,7 @@ import * as outputs from "./types/output";
|
|
|
64
64
|
* }, {
|
|
65
65
|
* dependsOn: [vpc],
|
|
66
66
|
* });
|
|
67
|
-
* const kinesis_streams = new aws.
|
|
67
|
+
* const kinesis_streams = new aws.ec2.VpcEndpoint("kinesis-streams", {
|
|
68
68
|
* vpcId: vpc.vpcId,
|
|
69
69
|
* serviceName: `com.amazonaws.${region}.kinesis-streams`,
|
|
70
70
|
* vpcEndpointType: "Interface",
|
package/mwsVpcEndpoint.js
CHANGED
|
@@ -22,7 +22,7 @@ const utilities = require("./utilities");
|
|
|
22
22
|
* import * as pulumi from "@pulumi/pulumi";
|
|
23
23
|
* import * as aws from "@pulumi/aws";
|
|
24
24
|
*
|
|
25
|
-
* const workspace = new aws.
|
|
25
|
+
* const workspace = new aws.ec2.VpcEndpoint("workspace", {
|
|
26
26
|
* vpcId: vpc.vpcId,
|
|
27
27
|
* serviceName: privateLink.workspaceService,
|
|
28
28
|
* vpcEndpointType: "Interface",
|
|
@@ -32,7 +32,7 @@ const utilities = require("./utilities");
|
|
|
32
32
|
* }, {
|
|
33
33
|
* dependsOn: [plSubnet],
|
|
34
34
|
* });
|
|
35
|
-
* const relay = new aws.
|
|
35
|
+
* const relay = new aws.ec2.VpcEndpoint("relay", {
|
|
36
36
|
* vpcId: vpc.vpcId,
|
|
37
37
|
* serviceName: privateLink.relayService,
|
|
38
38
|
* vpcEndpointType: "Interface",
|
|
@@ -51,14 +51,14 @@ const utilities = require("./utilities");
|
|
|
51
51
|
* import * as pulumi from "@pulumi/pulumi";
|
|
52
52
|
* import * as aws from "@pulumi/aws";
|
|
53
53
|
*
|
|
54
|
-
* const s3 = new aws.
|
|
54
|
+
* const s3 = new aws.ec2.VpcEndpoint("s3", {
|
|
55
55
|
* vpcId: vpc.vpcId,
|
|
56
56
|
* routeTableIds: vpc.privateRouteTableIds,
|
|
57
57
|
* serviceName: `com.amazonaws.${region}.s3`,
|
|
58
58
|
* }, {
|
|
59
59
|
* dependsOn: [vpc],
|
|
60
60
|
* });
|
|
61
|
-
* const sts = new aws.
|
|
61
|
+
* const sts = new aws.ec2.VpcEndpoint("sts", {
|
|
62
62
|
* vpcId: vpc.vpcId,
|
|
63
63
|
* serviceName: `com.amazonaws.${region}.sts`,
|
|
64
64
|
* vpcEndpointType: "Interface",
|
|
@@ -68,7 +68,7 @@ const utilities = require("./utilities");
|
|
|
68
68
|
* }, {
|
|
69
69
|
* dependsOn: [vpc],
|
|
70
70
|
* });
|
|
71
|
-
* const kinesis_streams = new aws.
|
|
71
|
+
* const kinesis_streams = new aws.ec2.VpcEndpoint("kinesis-streams", {
|
|
72
72
|
* vpcId: vpc.vpcId,
|
|
73
73
|
* serviceName: `com.amazonaws.${region}.kinesis-streams`,
|
|
74
74
|
* vpcEndpointType: "Interface",
|