-
Notifications
You must be signed in to change notification settings - Fork 9.6k
Add ARN-based resource identity to iam
#43503
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Community GuidelinesThis comment is added to every new Pull Request to provide quick reference to how the Terraform AWS Provider is maintained. Please review the information below, and thank you for contributing to the community that keeps the provider thriving! 🚀 Voting for Prioritization
Pull Request Authors
|
iam
Full acceptance test suite: % make testacc PKG=iam TESTS="TestAccIAMOpenIDConnectProvider_|TestAccIAMPolicy_|TestAccIAMSAMLProvider_|TestAccIAMServiceLinkedRole_"
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go1.24.5 test ./internal/service/iam/... -v -count 1 -parallel 20 -run='TestAccIAMOpenIDConnectProvider_|TestAccIAMPolicy_|TestAccIAMSAMLProvider_|TestAccIAMServiceLinkedRole_' -timeout 360m -vet=off
2025/07/23 11:08:46 Creating Terraform AWS Provider (SDKv2-style)...
2025/07/23 11:08:46 Initializing Terraform AWS Provider (SDKv2-style)...
--- PASS: TestAccIAMPolicy_tags_DefaultTags_nullOverlappingResourceTag (51.08s)
=== CONT TestAccIAMServiceLinkedRole_basic
--- PASS: TestAccIAMPolicy_tags_DefaultTags_emptyResourceTag (51.31s)
=== CONT TestAccIAMServiceLinkedRole_disappears
--- PASS: TestAccIAMPolicy_tags_DefaultTags_emptyProviderOnlyTag (52.12s)
=== CONT TestAccIAMServiceLinkedRole_description
--- PASS: TestAccIAMPolicy_tags_ComputedTag_OnCreate (52.45s)
=== CONT TestAccIAMServiceLinkedRole_CustomSuffix_diffSuppressFunc
--- PASS: TestAccIAMPolicy_tags_DefaultTags_nullNonOverlappingResourceTag (54.02s)
=== CONT TestAccIAMServiceLinkedRole_customSuffix
--- PASS: TestAccIAMServiceLinkedRole_tags_DefaultTags_nullNonOverlappingResourceTag (60.97s)
=== CONT TestAccIAMServiceLinkedRole_tags_ComputedTag_OnUpdate_Replace
--- PASS: TestAccIAMOpenIDConnectProvider_Identity_Basic (65.30s)
=== CONT TestAccIAMServiceLinkedRole_tags_IgnoreTags_Overlap_ResourceTag
--- PASS: TestAccIAMPolicy_tags_EmptyMap (67.79s)
=== CONT TestAccIAMServiceLinkedRole_tags_IgnoreTags_Overlap_DefaultTag
--- PASS: TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Replace (74.62s)
=== CONT TestAccIAMPolicy_malformedCondition
--- PASS: TestAccIAMPolicy_tags_DefaultTags_updateToResourceOnly (79.19s)
=== CONT TestAccIAMServiceLinkedRole_tags_EmptyMap
--- PASS: TestAccIAMPolicy_tags_ComputedTag_OnUpdate_Replace (79.41s)
=== CONT TestAccIAMServiceLinkedRole_tags_null
--- PASS: TestAccIAMPolicy_tags_DefaultTags_updateToProviderOnly (81.25s)
=== CONT TestAccIAMServiceLinkedRole_tags
--- PASS: TestAccIAMPolicy_tags_AddOnUpdate (81.98s)
=== CONT TestAccIAMServiceLinkedRole_Identity_ExistingResource
--- PASS: TestAccIAMPolicy_tags_ComputedTag_OnUpdate_Add (85.05s)
=== CONT TestAccIAMServiceLinkedRole_Identity_Basic
--- PASS: TestAccIAMPolicy_tags_EmptyTag_OnCreate (86.56s)
=== CONT TestAccIAMSAMLProvider_disappears
--- PASS: TestAccIAMServiceLinkedRole_tags_AddOnUpdate (91.39s)
=== CONT TestAccIAMSAMLProvider_tags
--- PASS: TestAccIAMServiceLinkedRole_disappears (41.42s)
=== CONT TestAccIAMSAMLProvider_basic
--- PASS: TestAccIAMServiceLinkedRole_CustomSuffix_diffSuppressFunc (47.42s)
=== CONT TestAccIAMSAMLProvider_Identity_ExistingResource
--- PASS: TestAccIAMServiceLinkedRole_customSuffix (51.86s)
=== CONT TestAccIAMSAMLProvider_Identity_Basic
--- PASS: TestAccIAMServiceLinkedRole_basic (62.69s)
=== CONT TestAccIAMServiceLinkedRole_tags_ComputedTag_OnUpdate_Add
--- PASS: TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Add (120.29s)
=== CONT TestAccIAMPolicy_disappears
--- PASS: TestAccIAMSAMLProvider_disappears (36.36s)
=== CONT TestAccIAMPolicy_policyDuplicateKeys
--- PASS: TestAccIAMServiceLinkedRole_description (73.03s)
=== CONT TestAccIAMPolicy_diffs
--- PASS: TestAccIAMPolicy_policyDuplicateKeys (3.33s)
=== CONT TestAccIAMPolicy_policy
--- PASS: TestAccIAMPolicy_tags_DefaultTags_nonOverlapping (132.15s)
=== CONT TestAccIAMPolicy_path
--- PASS: TestAccIAMPolicy_tags_DefaultTags_overlapping (134.44s)
=== CONT TestAccIAMPolicy_namePrefix
--- PASS: TestAccIAMPolicy_malformedCondition (73.15s)
=== CONT TestAccIAMServiceLinkedRole_tags_DefaultTags_overlapping
--- PASS: TestAccIAMServiceLinkedRole_tags_ComputedTag_OnUpdate_Replace (95.03s)
=== CONT TestAccIAMServiceLinkedRole_tags_DefaultTags_nullOverlappingResourceTag
--- PASS: TestAccIAMPolicy_disappears (35.98s)
=== CONT TestAccIAMServiceLinkedRole_tags_DefaultTags_emptyProviderOnlyTag
--- PASS: TestAccIAMSAMLProvider_basic (66.32s)
=== CONT TestAccIAMServiceLinkedRole_tags_DefaultTags_emptyResourceTag
--- PASS: TestAccIAMServiceLinkedRole_tags_EmptyMap (81.09s)
=== CONT TestAccIAMServiceLinkedRole_tags_DefaultTags_updateToResourceOnly
--- PASS: TestAccIAMServiceLinkedRole_tags_null (81.25s)
=== CONT TestAccIAMServiceLinkedRole_tags_DefaultTags_updateToProviderOnly
--- PASS: TestAccIAMServiceLinkedRole_Identity_Basic (81.31s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_DefaultTags_nullOverlappingResourceTag
--- PASS: TestAccIAMServiceLinkedRole_Identity_ExistingResource (87.25s)
=== CONT TestAccIAMPolicy_tags_null
--- PASS: TestAccIAMSAMLProvider_Identity_Basic (65.02s)
=== CONT TestAccIAMPolicy_tags
--- PASS: TestAccIAMPolicy_tags_DefaultTags_providerOnly (171.82s)
=== CONT TestAccIAMPolicy_Identity_ExistingResource
--- PASS: TestAccIAMPolicy_namePrefix (38.53s)
=== CONT TestAccIAMPolicy_Identity_Basic
--- PASS: TestAccIAMSAMLProvider_Identity_ExistingResource (73.64s)
=== CONT TestAccIAMOpenIDConnectProvider_clientIDModification
--- PASS: TestAccIAMPolicy_path (43.24s)
=== CONT TestAccIAMOpenIDConnectProvider_clientIDListOrder
--- PASS: TestAccIAMServiceLinkedRole_tags_IgnoreTags_Overlap_DefaultTag (108.82s)
=== CONT TestAccIAMOpenIDConnectProvider_disappears
--- PASS: TestAccIAMSAMLProvider_tags (88.78s)
=== CONT TestAccIAMOpenIDConnectProvider_basic
--- PASS: TestAccIAMServiceLinkedRole_tags_IgnoreTags_Overlap_ResourceTag (121.97s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_IgnoreTags_Overlap_ResourceTag
--- PASS: TestAccIAMPolicy_policy (68.94s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_IgnoreTags_Overlap_DefaultTag
--- PASS: TestAccIAMServiceLinkedRole_tags_ComputedTag_OnUpdate_Add (89.96s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_ComputedTag_OnUpdate_Replace
--- PASS: TestAccIAMOpenIDConnectProvider_disappears (32.21s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_ComputedTag_OnUpdate_Add
--- PASS: TestAccIAMOpenIDConnectProvider_tags_DefaultTags_nullOverlappingResourceTag (44.26s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_ComputedTag_OnCreate
--- PASS: TestAccIAMServiceLinkedRole_tags_DefaultTags_emptyProviderOnlyTag (59.03s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_DefaultTags_nullNonOverlappingResourceTag
--- PASS: TestAccIAMServiceLinkedRole_tags_DefaultTags_nullOverlappingResourceTag (61.27s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_EmptyTag_OnUpdate_Replace
--- PASS: TestAccIAMServiceLinkedRole_tags_DefaultTags_emptyResourceTag (58.62s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_DefaultTags_emptyProviderOnlyTag
--- PASS: TestAccIAMPolicy_tags_null (66.00s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_DefaultTags_overlapping
--- PASS: TestAccIAMOpenIDConnectProvider_clientIDListOrder (62.55s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_DefaultTags_nonOverlapping
--- PASS: TestAccIAMPolicy_diffs (112.93s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_DefaultTags_providerOnly
--- PASS: TestAccIAMPolicy_Identity_Basic (68.89s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_DefaultTags_updateToProviderOnly
--- PASS: TestAccIAMServiceLinkedRole_tags_DefaultTags_updateToResourceOnly (83.25s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_DefaultTags_emptyResourceTag
--- PASS: TestAccIAMOpenIDConnectProvider_basic (69.84s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_DefaultTags_updateToResourceOnly
--- PASS: TestAccIAMPolicy_Identity_ExistingResource (78.42s)
=== CONT TestAccIAMOpenIDConnectProvider_tags
--- PASS: TestAccIAMServiceLinkedRole_tags_DefaultTags_updateToProviderOnly (89.93s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_null
--- PASS: TestAccIAMServiceLinkedRole_tags (170.39s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_EmptyMap
--- PASS: TestAccIAMOpenIDConnectProvider_tags_ComputedTag_OnCreate (50.31s)
=== CONT TestAccIAMPolicy_basic
--- PASS: TestAccIAMOpenIDConnectProvider_tags_DefaultTags_emptyProviderOnlyTag (48.28s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_EmptyTag_OnUpdate_Add
--- PASS: TestAccIAMOpenIDConnectProvider_tags_DefaultTags_nullNonOverlappingResourceTag (52.73s)
=== CONT TestAccIAMPolicy_whitespace
--- PASS: TestAccIAMOpenIDConnectProvider_clientIDModification (100.14s)
=== CONT TestAccIAMPolicy_description
--- PASS: TestAccIAMServiceLinkedRole_tags_DefaultTags_overlapping (136.17s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_EmptyTag_OnCreate
--- PASS: TestAccIAMOpenIDConnectProvider_tags_ComputedTag_OnUpdate_Replace (81.88s)
=== CONT TestAccIAMServiceLinkedRole_tags_EmptyTag_OnUpdate_Replace
--- PASS: TestAccIAMOpenIDConnectProvider_tags_ComputedTag_OnUpdate_Add (81.96s)
=== CONT TestAccIAMServiceLinkedRole_tags_DefaultTags_nonOverlapping
--- PASS: TestAccIAMOpenIDConnectProvider_tags_DefaultTags_emptyResourceTag (53.43s)
=== CONT TestAccIAMServiceLinkedRole_tags_DefaultTags_providerOnly
--- PASS: TestAccIAMOpenIDConnectProvider_tags_EmptyTag_OnUpdate_Replace (82.44s)
=== CONT TestAccIAMPolicy_tags_IgnoreTags_Overlap_ResourceTag
--- PASS: TestAccIAMOpenIDConnectProvider_tags_IgnoreTags_Overlap_DefaultTag (104.63s)
=== CONT TestAccIAMServiceLinkedRole_tags_EmptyTag_OnUpdate_Add
--- PASS: TestAccIAMPolicy_basic (43.74s)
=== CONT TestAccIAMServiceLinkedRole_tags_ComputedTag_OnCreate
--- PASS: TestAccIAMOpenIDConnectProvider_tags_IgnoreTags_Overlap_ResourceTag (121.84s)
=== CONT TestAccIAMServiceLinkedRole_tags_EmptyTag_OnCreate
--- PASS: TestAccIAMOpenIDConnectProvider_tags_null (70.45s)
=== CONT TestAccIAMPolicy_tags_IgnoreTags_Overlap_DefaultTag
--- PASS: TestAccIAMPolicy_description (48.34s)
=== CONT TestAccIAMOpenIDConnectProvider_tags_AddOnUpdate
--- PASS: TestAccIAMOpenIDConnectProvider_tags_EmptyMap (73.42s)
=== CONT TestAccIAMOpenIDConnectProvider_Identity_ExistingResource
--- PASS: TestAccIAMOpenIDConnectProvider_tags_DefaultTags_updateToProviderOnly (87.41s)
--- PASS: TestAccIAMOpenIDConnectProvider_tags_DefaultTags_updateToResourceOnly (82.47s)
--- PASS: TestAccIAMPolicy_tags (186.06s)
--- PASS: TestAccIAMServiceLinkedRole_tags_ComputedTag_OnCreate (68.19s)
--- PASS: TestAccIAMOpenIDConnectProvider_tags_DefaultTags_overlapping (139.91s)
--- PASS: TestAccIAMOpenIDConnectProvider_tags_EmptyTag_OnCreate (91.64s)
--- PASS: TestAccIAMOpenIDConnectProvider_tags_DefaultTags_nonOverlapping (138.34s)
--- PASS: TestAccIAMServiceLinkedRole_tags_EmptyTag_OnUpdate_Replace (95.74s)
--- PASS: TestAccIAMOpenIDConnectProvider_tags_EmptyTag_OnUpdate_Add (117.06s)
--- PASS: TestAccIAMOpenIDConnectProvider_tags_AddOnUpdate (67.32s)
--- PASS: TestAccIAMOpenIDConnectProvider_Identity_ExistingResource (70.95s)
--- PASS: TestAccIAMPolicy_whitespace (128.66s)
--- PASS: TestAccIAMOpenIDConnectProvider_tags_DefaultTags_providerOnly (163.74s)
--- PASS: TestAccIAMPolicy_tags_IgnoreTags_Overlap_DefaultTag (82.72s)
--- PASS: TestAccIAMOpenIDConnectProvider_tags (154.49s)
--- PASS: TestAccIAMPolicy_tags_IgnoreTags_Overlap_ResourceTag (105.56s)
--- PASS: TestAccIAMServiceLinkedRole_tags_EmptyTag_OnCreate (98.17s)
--- PASS: TestAccIAMServiceLinkedRole_tags_EmptyTag_OnUpdate_Add (113.31s)
--- PASS: TestAccIAMServiceLinkedRole_tags_DefaultTags_nonOverlapping (125.31s)
--- PASS: TestAccIAMServiceLinkedRole_tags_DefaultTags_providerOnly (132.42s)
PASS
ok github.com/hashicorp/terraform-provider-aws/internal/service/iam 479.503s |
…_document` This will avoid errant findings in generated test configurations which are ultimately run in a different directory than where the configuration file is stored in version control.
```console % make testacc PKG=iam TESTS="TestAccIAM.*_Identity" make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/iam/... -v -count 1 -parallel 20 -run='TestAccIAM.*_Identity' -timeout 360m -vet=off 2025/07/23 14:10:21 Creating Terraform AWS Provider (SDKv2-style)... 2025/07/23 14:10:21 Initializing Terraform AWS Provider (SDKv2-style)... --- PASS: TestAccIAMOpenIDConnectProvider_Identity_Basic (31.61s) --- PASS: TestAccIAMSAMLProvider_Identity_Basic (33.07s) --- PASS: TestAccIAMPolicy_Identity_Basic (33.21s) --- PASS: TestAccIAMRolePolicyAttachment_Identity_Basic (34.17s) --- PASS: TestAccIAMRole_Identity_Basic (34.34s) --- PASS: TestAccIAMRolePolicy_Identity_Basic (34.52s) --- PASS: TestAccIAMServiceLinkedRole_Identity_Basic (41.78s) --- PASS: TestAccIAMRolePolicyAttachment_Identity_ExistingResource (77.36s) --- PASS: TestAccIAMRolePolicy_Identity_ExistingResource (80.67s) --- PASS: TestAccIAMOpenIDConnectProvider_Identity_ExistingResource (83.54s) --- PASS: TestAccIAMRolePolicy_Identity_old (88.27s) --- PASS: TestAccIAMPolicy_Identity_ExistingResource (94.64s) --- PASS: TestAccIAMSAMLProvider_Identity_ExistingResource (97.26s) --- PASS: TestAccIAMServiceLinkedRole_Identity_ExistingResource (106.56s) --- PASS: TestAccIAMRole_Identity_ExistingResource (120.34s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/iam 126.145s ```
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀.
Warning This Issue has been closed, meaning that any additional comments are much easier for the maintainers to miss. Please assume that the maintainers will not see them. Ongoing conversations amongst community members are welcome, however, the issue will be locked after 30 days. Moving conversations to another venue, such as the AWS Provider forum, is recommended. If you have additional concerns, please open a new issue, referencing this one where needed. |
This functionality has been released in v6.5.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! |
Description
Add resource identity to ARN-based resources in
iam
. This includes:Relations
Relates #42983
Relates #42984
Output from Acceptance Testing