terraform-provider-aws icon indicating copy to clipboard operation
terraform-provider-aws copied to clipboard

Allow empty values for tags for S3 resources

Open gdavison opened this issue 1 year ago • 5 comments

Description

Allows empty values for tags for S3 resources that support tagging.

  • aws_s3_bucket
  • aws_s3_object
  • aws_s3_object_copy
  • aws_s3_bucket_object

Relations

Closes #31941 Closes #33717 Closes #30801 Closes #34185

Depends on #35709

References

Output from Acceptance Testing

% make testacc PKG=s3 TESTS='TestAccS3Bucket_|Object'

--- PASS: TestAccS3Object_objectBucketKeyEnabled (39.60s)
--- PASS: TestAccS3ObjectsDataSource_basic (39.46s)
--- SKIP: TestAccS3Object_optInRegion (0.63s)
--- PASS: TestAccS3ObjectsDataSource_prefixes (40.57s)
--- PASS: TestAccS3ObjectsDataSource_startAfter (40.66s)
--- PASS: TestAccS3Object_contentBase64 (41.21s)
--- PASS: TestAccS3ObjectsDataSource_directoryBucket (41.33s)
--- PASS: TestAccS3ObjectsDataSource_encoded (42.02s)
--- PASS: TestAccS3ObjectsDataSource_basicViaAccessPoint (42.29s)
--- PASS: TestAccS3ObjectsDataSource_fetchOwner (42.46s)
--- PASS: TestAccS3Object_withContentCharacteristics (42.56s)
--- PASS: TestAccS3Object_content (49.95s)
--- PASS: TestAccS3Object_etagEncryption (52.26s)
--- PASS: TestAccS3ObjectsDataSource_maxKeysSmall (68.55s)
--- PASS: TestAccS3Object_crossRegion (33.86s)
--- PASS: TestAccS3Bucket_Manage_lifecycleBasic (77.28s)
--- PASS: TestAccS3Object_DirectoryBucket_DefaultTags_providerOnly (37.20s)
--- PASS: TestAccS3Object_updateSameFile (78.10s)
--- PASS: TestAccS3Object_bucketBucketKeyEnabled (37.60s)
--- PASS: TestAccS3Object_DirectoryBucket_disappears (39.95s)
--- PASS: TestAccS3Object_sourceHashTrigger (82.20s)
--- PASS: TestAccS3Object_defaultBucketSSE (40.25s)
--- PASS: TestAccS3Object_updates (83.21s)
--- PASS: TestAccS3Object_updatesWithVersioning (85.42s)
--- PASS: TestAccS3Object_prefix (45.81s)
--- PASS: TestAccS3Object_directoryBucket (53.23s)
--- PASS: TestAccS3BucketLifecycleConfiguration_Filter_ObjectSizeGreaterThan (103.92s)
--- PASS: TestAccS3Object_tags_EmptyTag_OnCreate (54.97s)
--- PASS: TestAccS3Object_keyWithSlashesMigrated (69.60s)
--- PASS: TestAccS3Object_checksumAlgorithm (75.80s)
--- SKIP: TestAccS3Bucket_Duplicate_UsEast1AltAccount (0.00s)
--- PASS: TestAccS3Object_ignoreTags (78.57s)
--- PASS: TestAccS3Bucket_Basic_emptyString (47.73s)
--- PASS: TestAccS3Object_DefaultTags_providerOnly (50.52s)
--- PASS: TestAccS3Bucket_Duplicate_basic (18.59s)
--- PASS: TestAccS3Bucket_Duplicate_UsEast1 (22.08s)
--- PASS: TestAccS3Object_objectLockLegalHoldStartWithOn (71.31s)
--- PASS: TestAccS3Object_DefaultTags_providerAndResourceWithOverride (69.88s)
--- PASS: TestAccS3Bucket_Tags_EmptyTag_OnCreate (45.66s)
--- PASS: TestAccS3Bucket_Tags_ignoreTags (68.70s)
--- PASS: TestAccS3ObjectsDataSource_maxKeysLarge (152.24s)
--- PASS: TestAccS3Object_DefaultTags_providerAndResource (77.19s)
--- PASS: TestAccS3Bucket_Tags_basic (46.15s)
--- PASS: TestAccS3Bucket_Tags_EmptyTag_OnUpdate_Replace (72.75s)
--- PASS: TestAccS3Object_tags_EmptyTag_OnUpdate_Replace (81.42s)
--- PASS: TestAccS3Bucket_Tags_EmptyTag_OnUpdate_Add (70.14s)
--- PASS: TestAccS3Object_tags_EmptyTag_OnUpdate_Add (82.51s)
--- PASS: TestAccS3Bucket_disappears (35.28s)
--- PASS: TestAccS3Object_objectLockRetentionStartWithNone (100.61s)
--- PASS: TestAccS3Object_objectLockLegalHoldStartWithNone (99.30s)
--- PASS: TestAccS3BucketObjectLockConfiguration_directoryBucket (19.83s)
--- PASS: TestAccS3Bucket_Basic_forceDestroyWithObjectLockEnabled (34.88s)
--- PASS: TestAccS3Bucket_Basic_forceDestroyWithEmptyPrefixes (34.32s)
--- PASS: TestAccS3Object_objectLockRetentionStartWithSet (132.40s)
--- PASS: TestAccS3Bucket_Basic_forceDestroy (34.17s)
--- PASS: TestAccS3Bucket_Basic_forceDestroyWithObjectVersions (37.93s)
--- PASS: TestAccS3Bucket_Basic_keyEnabled (49.84s)
--- PASS: TestAccS3ObjectCopy_disappears (37.50s)
--- PASS: TestAccS3Bucket_Basic_namePrefix (44.78s)
--- PASS: TestAccS3Bucket_Basic_nameGenerated (47.43s)
--- PASS: TestAccS3Bucket_Basic_requestPayer (77.65s)
--- PASS: TestAccS3Bucket_Basic_acceleration (79.55s)
--- PASS: TestAccS3BucketObject_kms (45.86s)
--- PASS: TestAccS3BucketObject_sse (52.66s)
--- PASS: TestAccS3Bucket_Basic_basic (47.55s)
--- PASS: TestAccS3Bucket_Tags_withNoSystemTags (124.84s)
--- PASS: TestAccS3BucketObjectsDataSource_fetchOwner (58.72s)
--- PASS: TestAccS3BucketObjectsDataSource_startAfter (59.41s)
--- PASS: TestAccS3BucketObjectsDataSource_maxKeys (62.73s)
--- PASS: TestAccS3BucketObjectsDataSource_encoded (64.69s)
--- PASS: TestAccS3BucketObjectsDataSource_all (61.98s)
--- PASS: TestAccS3BucketObjectsDataSource_prefixes (64.65s)
--- PASS: TestAccS3BucketObject_defaultBucketSSE (42.52s)
--- PASS: TestAccS3BucketObjectsDataSource_basicViaAccessPoint (66.19s)
--- PASS: TestAccS3BucketObject_objectBucketKeyEnabled (39.42s)
--- PASS: TestAccS3BucketObject_bucketBucketKeyEnabled (40.16s)
--- PASS: TestAccS3BucketObject_metadata (105.97s)
--- PASS: TestAccS3BucketObjectsDataSource_basic (63.68s)
--- PASS: TestAccS3Bucket_Tags_withSystemTags (191.57s)
--- PASS: TestAccS3BucketObject_acl (117.27s)
--- PASS: TestAccS3BucketObject_ignoreTags (77.51s)
--- PASS: TestAccS3BucketObjectDataSource_allParams (38.47s)
--- PASS: TestAccS3BucketObject_tags_EmptyTag_OnCreate (48.49s)
--- PASS: TestAccS3BucketObject_tagsLeadingSingleSlash (146.28s)
--- PASS: TestAccS3BucketObject_tags (151.34s)
--- PASS: TestAccS3BucketObjectLockConfiguration_noRule (50.82s)
--- PASS: TestAccS3BucketObject_objectLockLegalHoldStartWithOn (74.44s)
--- PASS: TestAccS3Object_source (46.08s)
--- PASS: TestAccS3BucketObject_tagsLeadingMultipleSlashes (143.96s)
--- PASS: TestAccS3BucketObjectLockConfiguration_disappears (46.89s)
--- PASS: TestAccS3BucketObject_storageClass (171.17s)
--- SKIP: TestAccS3BucketObject_nonVersioned (0.00s)
--- PASS: TestAccS3BucketObjectLockConfiguration_migrate_withChange (66.58s)
--- PASS: TestAccS3BucketObjectLockConfiguration_migrate_noChange (67.00s)
--- PASS: TestAccS3BucketObject_tags_EmptyTag_OnUpdate_Replace (87.69s)
--- PASS: TestAccS3BucketObject_tags_EmptyTag_OnUpdate_Add (85.69s)
--- PASS: TestAccS3BucketObjectLockConfiguration_update (75.81s)
--- PASS: TestAccS3BucketObject_objectLockRetentionStartWithNone (104.71s)
--- PASS: TestAccS3Object_Disappears_bucket (46.25s)
--- PASS: TestAccS3BucketObjectLockConfiguration_basic (49.72s)
--- PASS: TestAccS3BucketObject_objectLockLegalHoldStartWithNone (106.91s)
--- PASS: TestAccS3ObjectDataSource_directoryBucket (39.62s)
--- PASS: TestAccS3BucketObject_noNameNoKey (7.42s)
--- PASS: TestAccS3Object_basic (48.06s)
--- PASS: TestAccS3Object_upgradeFromV4 (67.27s)
--- PASS: TestAccS3BucketObject_objectLockRetentionStartWithSet (142.97s)
--- PASS: TestAccS3BucketObjectDataSource_multipleSlashes (69.39s)
--- PASS: TestAccS3BucketObject_withContentCharacteristics (42.14s)
--- PASS: TestAccS3BucketObject_contentBase64 (39.37s)
--- PASS: TestAccS3BucketObject_etagEncryption (53.52s)
--- PASS: TestAccS3BucketObject_updatesWithVersioningViaAccessPoint (77.66s)
--- PASS: TestAccS3BucketObject_content (57.67s)
--- PASS: TestAccS3BucketObject_source (55.02s)
--- PASS: TestAccS3BucketObject_basic (57.60s)
--- PASS: TestAccS3BucketObjectDataSource_basic (47.89s)
--- PASS: TestAccS3BucketObject_tagsMultipleSlashes (146.03s)
--- PASS: TestAccS3BucketObject_updateSameFile (89.44s)
--- PASS: TestAccS3BucketObjectDataSource_bucketKeyEnabled (41.59s)
--- PASS: TestAccS3BucketObject_updatesWithVersioning (92.65s)
--- PASS: TestAccS3BucketObjectDataSource_kmsEncrypted (44.16s)
--- PASS: TestAccS3BucketObject_updates (89.12s)
--- PASS: TestAccS3BucketObjectDataSource_basicViaAccessPoint (46.90s)
--- PASS: TestAccS3BucketObjectDataSource_readableBody (47.11s)
--- PASS: TestAccS3BucketObject_sourceHashTrigger (92.39s)
--- PASS: TestAccS3ObjectDataSource_metadata (37.48s)
--- PASS: TestAccS3ObjectDataSource_basic (44.70s)
--- PASS: TestAccS3BucketObjectDataSource_objectLockLegalHoldOn (45.92s)
--- PASS: TestAccS3ObjectDataSource_checksumMode (39.78s)
--- PASS: TestAccS3BucketObjectDataSource_objectLockLegalHoldOff (49.27s)
--- PASS: TestAccS3Object_disappears (41.37s)
--- PASS: TestAccS3BucketObjectDataSource_leadingSlash (60.62s)
--- PASS: TestAccS3ObjectDataSource_leadingMultipleSlashes (62.07s)
--- PASS: TestAccS3ObjectDataSource_leadingDotSlash (64.57s)
--- FAIL: TestAccS3ObjectCopy_basicViaAccessPoint (25.58s)
--- PASS: TestAccS3Bucket_Manage_objectLockWithVersioning_deprecatedEnabled (51.74s)
--- PASS: TestAccS3Bucket_Manage_objectLockWithVersioning (53.01s)
--- PASS: TestAccS3Bucket_Manage_objectLock_migrate (54.32s)
--- PASS: TestAccS3Bucket_Manage_objectLock (75.69s)
--- PASS: TestAccS3ObjectCopy_directoryBucket (37.61s)
--- PASS: TestAccS3Object_tagsMultipleSlashes (144.35s)
--- PASS: TestAccS3Bucket_Manage_versioning (83.26s)
--- PASS: TestAccS3Object_tagsLeadingMultipleSlashes (149.36s)
--- PASS: TestAccS3ObjectDataSource_metadataUppercaseKey (65.33s)
--- PASS: TestAccS3ObjectCopy_targetWithMultipleSlashes (38.24s)
--- PASS: TestAccS3BucketLifecycleConfiguration_Filter_ObjectSizeRange (102.28s)
--- PASS: TestAccS3Object_tagsLeadingSingleSlash (154.11s)
--- PASS: TestAccS3Object_tags (151.71s)
--- PASS: TestAccS3BucketLifecycleConfiguration_Filter_ObjectSizeRangeAndPrefix (99.59s)
--- PASS: TestAccS3Object_storageClass (174.95s)
--- PASS: TestAccS3ObjectCopy_BucketKeyEnabled_object (39.83s)
--- PASS: TestAccS3ObjectCopy_BucketKeyEnabled_bucket (36.77s)
--- PASS: TestAccS3ObjectCopy_metadata (38.86s)
--- PASS: TestAccS3ObjectCopy_grant (40.72s)
--- PASS: TestAccS3Object_sse (49.12s)
--- PASS: TestAccS3ObjectCopy_targetWithMultipleSlashesMigrated (87.26s)
--- PASS: TestAccS3ObjectCopy_objectLockLegalHold (72.70s)
--- PASS: TestAccS3ObjectCopy_checksumAlgorithm (69.63s)
--- PASS: TestAccS3ObjectCopy_tags_EmptyTag_OnCreate (41.33s)
--- PASS: TestAccS3ObjectCopy_sourceWithSlashes (66.14s)
--- PASS: TestAccS3ObjectDataSource_allParams (46.28s)
--- PASS: TestAccS3BucketLogging_withTargetObjectKeyFormat (156.91s)
--- PASS: TestAccS3Bucket_Replication_ruleDestinationAddAccessControlTranslation (144.77s)
--- PASS: TestAccS3ObjectCopy_tags_EmptyTag_OnUpdate_Replace (77.03s)
--- PASS: TestAccS3ObjectCopy_tags_EmptyTag_OnUpdate_Add (77.78s)
--- PASS: TestAccS3ObjectDataSource_objectLockLegalHoldOn (48.52s)
--- PASS: TestAccS3ObjectDataSource_objectLockLegalHoldOff (54.49s)
--- PASS: TestAccS3ObjectDataSource_leadingSlash (72.73s)
--- PASS: TestAccS3ObjectDataSource_multipleSlashes (75.47s)
--- PASS: TestAccS3Bucket_Manage_lifecycleRuleAbortIncompleteMultipartUploadDaysNoExpiration (66.78s)
--- SKIP: TestDeleteAllObjectVersions (0.00s)
--- PASS: TestAccS3Bucket_Security_corsDelete (54.81s)
--- PASS: TestAccS3Bucket_Security_corsSingleMethodAndEmptyOrigin (71.50s)
--- PASS: TestAccS3Bucket_Security_corsEmptyOrigin (65.27s)
--- PASS: TestAccS3Object_metadata (129.00s)
--- PASS: TestAccS3ObjectCopy_tags (123.39s)
--- PASS: TestAccS3Bucket_Manage_lifecycleRemove (84.55s)
--- PASS: TestAccS3Bucket_Replication_twoDestination (111.88s)
--- PASS: TestAccS3Bucket_Replication_multipleDestinationsNonEmptyFilter (112.88s)
--- PASS: TestAccS3ObjectDataSource_singleSlashAsKey (28.36s)
--- PASS: TestAccS3Bucket_Manage_lifecycleRuleExpirationEmptyBlock (53.58s)
--- PASS: TestAccS3ObjectCopy_basic (54.73s)
--- PASS: TestAccS3Bucket_Replication_schemaV2SameRegion (73.46s)
--- PASS: TestAccS3Object_acl (150.48s)
--- PASS: TestAccS3Bucket_Replication_multipleDestinationsEmptyFilter (117.91s)
--- PASS: TestAccS3BucketLifecycleConfiguration_Filter_ObjectSizeLessThan (121.58s)
--- PASS: TestAccS3Bucket_Replication_expectVersioningValidationError (45.86s)
--- PASS: TestAccS3ObjectDataSource_bucketKeyEnabled (48.57s)
--- PASS: TestAccS3Bucket_Security_corsUpdate (108.97s)
--- PASS: TestAccS3Bucket_Manage_versioningAndMFADeleteDisabled (60.51s)
--- PASS: TestAccS3Bucket_Manage_MFADeleteDisabled (65.04s)
--- PASS: TestAccS3Bucket_Manage_versioningDisabled (57.73s)
--- PASS: TestAccS3ObjectDataSource_readableBody (42.83s)
--- PASS: TestAccS3ObjectDataSource_kmsEncrypted (45.46s)
--- PASS: TestAccS3ObjectDataSource_basicViaAccessPoint (42.41s)
--- PASS: TestAccS3Bucket_Web_routingRules (94.59s)
--- PASS: TestAccS3Bucket_Web_redirect (116.38s)
--- PASS: TestAccS3Bucket_Replication_basic (203.41s)
--- PASS: TestAccS3Object_kms (47.50s)
--- PASS: TestAccS3Bucket_Replication_withoutPrefix (89.82s)
--- PASS: TestAccS3Bucket_Security_enableDefaultEncryptionWhenAES256IsUsed (44.51s)
--- PASS: TestAccS3Bucket_Security_disableDefaultEncryptionWhenDefaultEncryptionIsEnabled (66.99s)
--- PASS: TestAccS3Bucket_Security_enableDefaultEncryptionWhenTypical (39.63s)
--- PASS: TestAccS3Bucket_Manage_lifecycleExpireMarkerOnly (66.53s)
--- PASS: TestAccS3Bucket_Manage_objectLock_deprecatedEnabled (36.36s)
--- PASS: TestAccS3Bucket_Security_logging (35.62s)
--- PASS: TestAccS3Bucket_Web_simple (78.92s)
--- PASS: TestAccS3Object_updatesWithVersioningViaAccessPoint (51.26s)
--- PASS: TestAccS3BucketLifecycleConfiguration_Filter_ObjectSizeGreaterThanZero (95.24s)
--- PASS: TestAccS3Bucket_Replication_withoutStorageClass (50.22s)
--- PASS: TestAccS3Bucket_Replication_RTC_valid (200.78s)
--- PASS: TestAccS3Bucket_Replication_ruleDestinationAccessControlTranslation (67.12s)
--- PASS: TestAccS3Bucket_Replication_schemaV2 (194.56s)

gdavison avatar Feb 08 '24 01:02 gdavison

Community Note

Voting for Prioritization

  • Please vote on this pull request by adding a 👍 reaction to the original post to help the community and maintainers prioritize this pull request.
  • Please see our prioritization guide for information on how we prioritize.
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.

For Submitters

  • Review the contribution guide relating to the type of change you are making to ensure all of the necessary steps have been taken.
  • For new resources and data sources, use skaff to generate scaffolding with comments detailing common expectations.
  • Whether or not the branch has been rebased will not impact prioritization, but doing so is always a welcome surprise.

github-actions[bot] avatar Feb 08 '24 01:02 github-actions[bot]

Thank you for your contribution! :rocket:

A new usage of AWS SDK for Go V1 was detected. Please prefer AWS SDK for Go V2 for all net-new services. If this is an enhancement or bug fix to an existing AWS SDK Go V1 based resource, this comment can be safely ignored.

For additional information refer to the AWS SDK for Go Versions page in the contributor guide.

github-actions[bot] avatar Feb 08 '24 01:02 github-actions[bot]

I added some additional tests for more "esoteric" S3 object access, via various access points, and there were some failures:

% make testacc TESTARGS='-run=TestAccS3Object_tagsViaAccessPoint' PKG=s3
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./internal/service/s3/... -v -count 1 -parallel 20  -run=TestAccS3Object_tagsViaAccessPoint -timeout 360m
=== RUN   TestAccS3Object_tagsViaAccessPoint
=== PAUSE TestAccS3Object_tagsViaAccessPoint
=== CONT  TestAccS3Object_tagsViaAccessPoint
    object_test.go:1425: Step 1/2 error: Error running apply: exit status 1
        
        Error: listing tags for S3 (Simple Storage) Object (arn:aws:s3:::arn:aws:s3:us-west-2:123456789012:accesspoint/tf-acc-test-1278150080921754992/test-key): operation error S3: GetObjectTagging, resolve auth scheme: resolve endpoint: endpoint rule error, Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided
        
          with aws_s3_object.object,
          on terraform_plugin_test.tf line 29, in resource "aws_s3_object" "object":
          29: resource "aws_s3_object" "object" {
        
--- FAIL: TestAccS3Object_tagsViaAccessPoint (18.72s)
FAIL
FAIL	github.com/hashicorp/terraform-provider-aws/internal/service/s3	29.731s
FAIL
make: *** [testacc] Error 1
% make testacc TESTARGS='-run=TestAccS3Object_tagsViaMultiRegionAccessPoint' PKG=s3
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./internal/service/s3/... -v -count 1 -parallel 20  -run=TestAccS3Object_tagsViaMultiRegionAccessPoint -timeout 360m
=== RUN   TestAccS3Object_tagsViaMultiRegionAccessPoint
=== PAUSE TestAccS3Object_tagsViaMultiRegionAccessPoint
=== CONT  TestAccS3Object_tagsViaMultiRegionAccessPoint
    object_test.go:1507: Step 1/2 error: Error running apply: exit status 1
        
        Error: listing tags for S3 (Simple Storage) Object (arn:aws:s3:::arn:aws:s3::123456789012:accesspoint/mry65rhodtik7.mrap/test-key): operation error S3: GetObjectTagging, resolve auth scheme: resolve endpoint: endpoint rule error, Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided
        
          with aws_s3_object.object,
          on terraform_plugin_test.tf line 33, in resource "aws_s3_object" "object":
          33: resource "aws_s3_object" "object" {
        
    testing_new.go:91: Error running post-test destroy, there may be dangling resources: operation error S3: HeadObject, https response error StatusCode: 0, RequestID: , HostID: , request send failed, Head "https://mry65rhodtik7.mrap.accesspoint.s3-global.amazonaws.com/test-key": dial tcp: lookup mry65rhodtik7.mrap.accesspoint.s3-global.amazonaws.com: no such host
--- FAIL: TestAccS3Object_tagsViaMultiRegionAccessPoint (708.25s)
FAIL
FAIL	github.com/hashicorp/terraform-provider-aws/internal/service/s3	719.457s
FAIL
make: *** [testacc] Error 1
% make testacc TESTARGS='-run=TestAccS3Object_tagsViaObjectLambdaAccessPointARN' PKG=s3
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./internal/service/s3/... -v -count 1 -parallel 20  -run=TestAccS3Object_tagsViaObjectLambdaAccessPointARN -timeout 360m
=== RUN   TestAccS3Object_tagsViaObjectLambdaAccessPointARN
=== PAUSE TestAccS3Object_tagsViaObjectLambdaAccessPointARN
=== CONT  TestAccS3Object_tagsViaObjectLambdaAccessPointARN
    object_test.go:1548: Step 1/2 error: Error running apply: exit status 1
        
        Error: uploading S3 Object (test-key) to Bucket (arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/tf-acc-test-4255892800919882912): unable to initialize upload: manager does not support s3-object-lambda service ARNs
        
          with aws_s3_object.object,
          on terraform_plugin_test.tf line 198, in resource "aws_s3_object" "object":
         198: resource "aws_s3_object" "object" {
        
--- FAIL: TestAccS3Object_tagsViaObjectLambdaAccessPointARN (34.41s)
FAIL
FAIL	github.com/hashicorp/terraform-provider-aws/internal/service/s3	46.033s
FAIL
make: *** [testacc] Error 1

It looks like newObjectARN needs to handle these cases, plus maybe the S3 Outposts case, https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsGetObject.html (I didn't test that). Also, the ARN for an S3 Express directory bucket contains the account ID and Region, https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3express.html#amazons3express-resources-for-iam-policies, so maybe the S3 object ARN should include those fields also?

ewbankkit avatar Feb 22 '24 16:02 ewbankkit

It looks like using a Lambda access point doesn't work at all: TestAccS3Object_tagsViaObjectLambdaAccessPointARN says

unable to initialize upload: manager does not support s3-object-lambda service ARNs

We're also missing basic S3 Object tests for these "esoteric" accesses

gdavison avatar Feb 22 '24 19:02 gdavison

Yes, maybe we add a plan-time validation for s3-object-lambda service ARNs. I guess we have never supported them and I can find no Issues asking for support.

ewbankkit avatar Feb 22 '24 21:02 ewbankkit

This functionality has been released in v5.40.0 of the Terraform AWS Provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading.

For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template. Thank you!

github-actions[bot] avatar Mar 07 '24 23:03 github-actions[bot]

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

github-actions[bot] avatar Apr 07 '24 02:04 github-actions[bot]