Skip to content

Commit 9889a94

Browse files
alexottnkvuong
andauthored
[Feature] Add multipart permissions to databricks_aws_unity_catalog_policy data source (#4440)
## Changes <!-- Summary of your changes that are easy to understand --> To support uploading of big files to UC volumes, etc. we need to give permissions to perform operations related to AWS multipart uploads APIs. ## Tests <!-- How is this tested? Please see the checklist below and also describe any other relevant tests --> - [x] `make test` run locally - [ ] relevant change in `docs/` folder - [ ] covered with integration tests in `internal/acceptance` - [ ] using Go SDK - [ ] using TF Plugin Framework --------- Co-authored-by: vuong-nguyen <[email protected]>
1 parent 4839e7c commit 9889a94

File tree

3 files changed

+21
-6
lines changed

3 files changed

+21
-6
lines changed

NEXT_CHANGELOG.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44

55
### New Features and Improvements
66

7-
* Support updating `options` in `databricks_catalog` ([#4476](https://github.com/databricks/terraform-provider-databricks/pull/4476)).
8-
* Increase `databricks_library` timeout from 15m to 30m.
7+
* Add multipart permissions to `databricks_aws_unity_catalog_policy` data source ([#4440](https://github.com/databricks/terraform-provider-databricks/pull/4440)).
98

109
### Bug Fixes
1110
* Fixed an issue where reordering objects in a (pluginfw) Share wouldn’t update properly unless other changes were made ([#4481](https://github.com/databricks/terraform-provider-databricks/pull/4481)).

aws/data_aws_unity_catalog_policy.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ func generateReadContext(ctx context.Context, d *schema.ResourceData, m *common.
2828
"s3:DeleteObject",
2929
"s3:ListBucket",
3030
"s3:GetBucketLocation",
31+
// Multipart uploads support
32+
"s3:ListBucketMultipartUploads",
33+
"s3:ListMultipartUploadParts",
34+
"s3:AbortMultipartUpload",
3135
},
3236
Resources: []string{
3337
fmt.Sprintf("arn:%s:s3:::%s/*", awsPartition, bucket),

aws/data_aws_unity_catalog_policy_test.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ func TestDataAwsUnityCatalogPolicy(t *testing.T) {
3333
"s3:PutObject",
3434
"s3:DeleteObject",
3535
"s3:ListBucket",
36-
"s3:GetBucketLocation"
36+
"s3:GetBucketLocation",
37+
"s3:ListBucketMultipartUploads",
38+
"s3:ListMultipartUploadParts",
39+
"s3:AbortMultipartUpload"
3740
],
3841
"Resource": [
3942
"arn:aws:s3:::databricks-bucket/*",
@@ -146,7 +149,10 @@ func TestDataAwsUnityCatalogPolicyFullKms(t *testing.T) {
146149
"s3:PutObject",
147150
"s3:DeleteObject",
148151
"s3:ListBucket",
149-
"s3:GetBucketLocation"
152+
"s3:GetBucketLocation",
153+
"s3:ListBucketMultipartUploads",
154+
"s3:ListMultipartUploadParts",
155+
"s3:AbortMultipartUpload"
150156
],
151157
"Resource": [
152158
"arn:aws:s3:::databricks-bucket/*",
@@ -258,7 +264,10 @@ func TestDataAwsUnityCatalogPolicyWithoutKMS(t *testing.T) {
258264
"s3:PutObject",
259265
"s3:DeleteObject",
260266
"s3:ListBucket",
261-
"s3:GetBucketLocation"
267+
"s3:GetBucketLocation",
268+
"s3:ListBucketMultipartUploads",
269+
"s3:ListMultipartUploadParts",
270+
"s3:AbortMultipartUpload"
262271
],
263272
"Resource": [
264273
"arn:aws:s3:::databricks-bucket/*",
@@ -361,7 +370,10 @@ func TestDataAwsUnityCatalogPolicyPartionGov(t *testing.T) {
361370
"s3:PutObject",
362371
"s3:DeleteObject",
363372
"s3:ListBucket",
364-
"s3:GetBucketLocation"
373+
"s3:GetBucketLocation",
374+
"s3:ListBucketMultipartUploads",
375+
"s3:ListMultipartUploadParts",
376+
"s3:AbortMultipartUpload"
365377
],
366378
"Resource": [
367379
"arn:aws-us-gov:s3:::databricks-bucket/*",

0 commit comments

Comments
 (0)