Skip to content
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

iam/policy: Allow IAM policy leading whitespace #36597

Merged
merged 9 commits into from
Mar 26, 2024

Conversation

YakDriver
Copy link
Member

@YakDriver YakDriver commented Mar 26, 2024

Description

This issue has persisted for quite some time and requires resolution.

One factor contributing to the delay in addressing it is the historical issue where leading whitespace would create complications during JSON normalization. However, significant improvements have been made since then, particularly with the enhancement brought by #22067 to our normalization and difference detection processes. As a result, leading whitespace no longer poses a problem, and we have decided to permit it. Given the potential ramifications of this decision, we will carefully monitor for any unforeseen consequences.

Relations

Closes #1873
Closes #5887
Closes #21016 (fixed by #22067)
Closes #438 (fixed by #22067)
Relates #21968
Relates #22048

References

Output from Acceptance Testing

% make t T=TestAccIAMPolicy K=iam           
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go1.21.8 test ./internal/service/iam/... -v -count 1 -parallel 20 -run='TestAccIAMPolicy'  -timeout 360m
=== RUN   TestAccIAMPolicyAttachment_basic
=== PAUSE TestAccIAMPolicyAttachment_basic
=== RUN   TestAccIAMPolicyAttachment_disappears
=== PAUSE TestAccIAMPolicyAttachment_disappears
=== RUN   TestAccIAMPolicyAttachment_paginatedEntities
=== PAUSE TestAccIAMPolicyAttachment_paginatedEntities
=== RUN   TestAccIAMPolicyDataSource_arn
=== PAUSE TestAccIAMPolicyDataSource_arn
=== RUN   TestAccIAMPolicyDataSource_arnTags
=== PAUSE TestAccIAMPolicyDataSource_arnTags
=== RUN   TestAccIAMPolicyDataSource_name
=== PAUSE TestAccIAMPolicyDataSource_name
=== RUN   TestAccIAMPolicyDataSource_nameTags
=== PAUSE TestAccIAMPolicyDataSource_nameTags
=== RUN   TestAccIAMPolicyDataSource_nameAndPathPrefix
=== PAUSE TestAccIAMPolicyDataSource_nameAndPathPrefix
=== RUN   TestAccIAMPolicyDataSource_nameAndPathPrefixTags
=== PAUSE TestAccIAMPolicyDataSource_nameAndPathPrefixTags
=== RUN   TestAccIAMPolicyDataSource_nonExistent
=== PAUSE TestAccIAMPolicyDataSource_nonExistent
=== RUN   TestAccIAMPolicyDocumentDataSource_basic
=== PAUSE TestAccIAMPolicyDocumentDataSource_basic
=== RUN   TestAccIAMPolicyDocumentDataSource_singleConditionValue
=== PAUSE TestAccIAMPolicyDocumentDataSource_singleConditionValue
=== RUN   TestAccIAMPolicyDocumentDataSource_multipleConditionKeys
=== PAUSE TestAccIAMPolicyDocumentDataSource_multipleConditionKeys
=== RUN   TestAccIAMPolicyDocumentDataSource_duplicateConditionKeys
=== PAUSE TestAccIAMPolicyDocumentDataSource_duplicateConditionKeys
=== RUN   TestAccIAMPolicyDocumentDataSource_conditionWithBoolValue
=== PAUSE TestAccIAMPolicyDocumentDataSource_conditionWithBoolValue
=== RUN   TestAccIAMPolicyDocumentDataSource_source
=== PAUSE TestAccIAMPolicyDocumentDataSource_source
=== RUN   TestAccIAMPolicyDocumentDataSource_sourceList
=== PAUSE TestAccIAMPolicyDocumentDataSource_sourceList
=== RUN   TestAccIAMPolicyDocumentDataSource_sourceConflicting
=== PAUSE TestAccIAMPolicyDocumentDataSource_sourceConflicting
=== RUN   TestAccIAMPolicyDocumentDataSource_sourceListConflicting
=== PAUSE TestAccIAMPolicyDocumentDataSource_sourceListConflicting
=== RUN   TestAccIAMPolicyDocumentDataSource_override
=== PAUSE TestAccIAMPolicyDocumentDataSource_override
=== RUN   TestAccIAMPolicyDocumentDataSource_overrideList
=== PAUSE TestAccIAMPolicyDocumentDataSource_overrideList
=== RUN   TestAccIAMPolicyDocumentDataSource_noStatementMerge
=== PAUSE TestAccIAMPolicyDocumentDataSource_noStatementMerge
=== RUN   TestAccIAMPolicyDocumentDataSource_noStatementOverride
=== PAUSE TestAccIAMPolicyDocumentDataSource_noStatementOverride
=== RUN   TestAccIAMPolicyDocumentDataSource_duplicateSid
=== PAUSE TestAccIAMPolicyDocumentDataSource_duplicateSid
=== RUN   TestAccIAMPolicyDocumentDataSource_sourcePolicyValidJSON
=== PAUSE TestAccIAMPolicyDocumentDataSource_sourcePolicyValidJSON
=== RUN   TestAccIAMPolicyDocumentDataSource_overridePolicyDocumentValidJSON
=== PAUSE TestAccIAMPolicyDocumentDataSource_overridePolicyDocumentValidJSON
=== RUN   TestAccIAMPolicyDocumentDataSource_StatementPrincipalIdentifiers_stringAndSlice
=== PAUSE TestAccIAMPolicyDocumentDataSource_StatementPrincipalIdentifiers_stringAndSlice
=== RUN   TestAccIAMPolicyDocumentDataSource_StatementPrincipalIdentifiers_multiplePrincipals
=== PAUSE TestAccIAMPolicyDocumentDataSource_StatementPrincipalIdentifiers_multiplePrincipals
=== RUN   TestAccIAMPolicyDocumentDataSource_StatementPrincipalIdentifiers_multiplePrincipalsGov
=== PAUSE TestAccIAMPolicyDocumentDataSource_StatementPrincipalIdentifiers_multiplePrincipalsGov
=== RUN   TestAccIAMPolicyDocumentDataSource_version20081017
=== PAUSE TestAccIAMPolicyDocumentDataSource_version20081017
=== RUN   TestAccIAMPolicy_tags
=== PAUSE TestAccIAMPolicy_tags
=== RUN   TestAccIAMPolicy_tags_null
=== PAUSE TestAccIAMPolicy_tags_null
=== RUN   TestAccIAMPolicy_tags_AddOnUpdate
=== PAUSE TestAccIAMPolicy_tags_AddOnUpdate
=== RUN   TestAccIAMPolicy_tags_EmptyTag_OnCreate
=== PAUSE TestAccIAMPolicy_tags_EmptyTag_OnCreate
=== RUN   TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Add
=== PAUSE TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Add
=== RUN   TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Replace
=== PAUSE TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Replace
=== RUN   TestAccIAMPolicy_tags_DefaultTags_providerOnly
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_providerOnly
=== RUN   TestAccIAMPolicy_tags_DefaultTags_nonOverlapping
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_nonOverlapping
=== RUN   TestAccIAMPolicy_tags_DefaultTags_overlapping
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_overlapping
=== RUN   TestAccIAMPolicy_tags_DefaultTags_updateToProviderOnly
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_updateToProviderOnly
=== RUN   TestAccIAMPolicy_tags_DefaultTags_updateToResourceOnly
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_updateToResourceOnly
=== RUN   TestAccIAMPolicy_tags_DefaultTags_emptyResourceTag
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_emptyResourceTag
=== RUN   TestAccIAMPolicy_tags_DefaultTags_nullOverlappingResourceTag
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_nullOverlappingResourceTag
=== RUN   TestAccIAMPolicy_tags_DefaultTags_nullNonOverlappingResourceTag
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_nullNonOverlappingResourceTag
=== RUN   TestAccIAMPolicy_basic
=== PAUSE TestAccIAMPolicy_basic
=== RUN   TestAccIAMPolicy_description
=== PAUSE TestAccIAMPolicy_description
=== RUN   TestAccIAMPolicy_whitespace
=== PAUSE TestAccIAMPolicy_whitespace
=== RUN   TestAccIAMPolicy_disappears
=== PAUSE TestAccIAMPolicy_disappears
=== RUN   TestAccIAMPolicy_namePrefix
=== PAUSE TestAccIAMPolicy_namePrefix
=== RUN   TestAccIAMPolicy_path
=== PAUSE TestAccIAMPolicy_path
=== RUN   TestAccIAMPolicy_policy
=== PAUSE TestAccIAMPolicy_policy
=== RUN   TestAccIAMPolicy_diffs
=== PAUSE TestAccIAMPolicy_diffs
=== RUN   TestAccIAMPolicy_policyDuplicateKeys
=== PAUSE TestAccIAMPolicy_policyDuplicateKeys
=== CONT  TestAccIAMPolicyAttachment_basic
=== CONT  TestAccIAMPolicyDocumentDataSource_StatementPrincipalIdentifiers_multiplePrincipals
=== CONT  TestAccIAMPolicy_tags_DefaultTags_emptyResourceTag
=== CONT  TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Add
=== CONT  TestAccIAMPolicy_tags_DefaultTags_nonOverlapping
=== CONT  TestAccIAMPolicy_tags_DefaultTags_updateToProviderOnly
=== CONT  TestAccIAMPolicy_tags_EmptyTag_OnCreate
=== CONT  TestAccIAMPolicy_policyDuplicateKeys
=== CONT  TestAccIAMPolicy_policy
=== CONT  TestAccIAMPolicy_tags_DefaultTags_updateToResourceOnly
=== CONT  TestAccIAMPolicy_path
=== CONT  TestAccIAMPolicy_namePrefix
=== CONT  TestAccIAMPolicy_whitespace
=== CONT  TestAccIAMPolicy_description
=== CONT  TestAccIAMPolicy_basic
=== CONT  TestAccIAMPolicy_tags_DefaultTags_nullNonOverlappingResourceTag
=== CONT  TestAccIAMPolicy_tags_DefaultTags_nullOverlappingResourceTag
=== CONT  TestAccIAMPolicy_tags_AddOnUpdate
=== CONT  TestAccIAMPolicy_diffs
=== CONT  TestAccIAMPolicy_disappears
--- PASS: TestAccIAMPolicy_policyDuplicateKeys (5.13s)
=== CONT  TestAccIAMPolicy_tags_null
--- PASS: TestAccIAMPolicyDocumentDataSource_StatementPrincipalIdentifiers_multiplePrincipals (33.70s)
=== CONT  TestAccIAMPolicy_tags
--- PASS: TestAccIAMPolicy_disappears (44.47s)
=== CONT  TestAccIAMPolicyDocumentDataSource_version20081017
--- PASS: TestAccIAMPolicy_tags_DefaultTags_emptyResourceTag (50.12s)
=== CONT  TestAccIAMPolicyDocumentDataSource_StatementPrincipalIdentifiers_multiplePrincipalsGov
    policy_document_data_source_test.go:388: skipping tests; current partition (aws) does not equal aws-us-gov
--- SKIP: TestAccIAMPolicyDocumentDataSource_StatementPrincipalIdentifiers_multiplePrincipalsGov (0.00s)
=== CONT  TestAccIAMPolicy_tags_DefaultTags_overlapping
--- PASS: TestAccIAMPolicy_tags_DefaultTags_nullNonOverlappingResourceTag (53.36s)
=== CONT  TestAccIAMPolicyDocumentDataSource_conditionWithBoolValue
--- PASS: TestAccIAMPolicy_tags_DefaultTags_nullOverlappingResourceTag (53.45s)
=== CONT  TestAccIAMPolicyDocumentDataSource_StatementPrincipalIdentifiers_stringAndSlice
--- PASS: TestAccIAMPolicy_namePrefix (53.48s)
=== CONT  TestAccIAMPolicyDocumentDataSource_overridePolicyDocumentValidJSON
--- PASS: TestAccIAMPolicy_description (54.17s)
=== CONT  TestAccIAMPolicyDocumentDataSource_sourcePolicyValidJSON
--- PASS: TestAccIAMPolicy_path (54.23s)
=== CONT  TestAccIAMPolicyDocumentDataSource_duplicateSid
--- PASS: TestAccIAMPolicy_basic (54.23s)
=== CONT  TestAccIAMPolicyDocumentDataSource_noStatementOverride
--- PASS: TestAccIAMPolicy_tags_null (65.83s)
=== CONT  TestAccIAMPolicyDocumentDataSource_noStatementMerge
--- PASS: TestAccIAMPolicy_tags_DefaultTags_updateToResourceOnly (80.39s)
=== CONT  TestAccIAMPolicyDocumentDataSource_overrideList
--- PASS: TestAccIAMPolicyAttachment_basic (80.56s)
=== CONT  TestAccIAMPolicyDocumentDataSource_override
--- PASS: TestAccIAMPolicy_tags_DefaultTags_updateToProviderOnly (87.87s)
=== CONT  TestAccIAMPolicyDocumentDataSource_sourceListConflicting
--- PASS: TestAccIAMPolicy_tags_AddOnUpdate (88.63s)
=== CONT  TestAccIAMPolicyDocumentDataSource_sourceConflicting
--- PASS: TestAccIAMPolicyDocumentDataSource_conditionWithBoolValue (36.66s)
=== CONT  TestAccIAMPolicyDocumentDataSource_sourceList
--- PASS: TestAccIAMPolicyDocumentDataSource_noStatementOverride (36.08s)
=== CONT  TestAccIAMPolicyDocumentDataSource_source
--- PASS: TestAccIAMPolicyDocumentDataSource_StatementPrincipalIdentifiers_stringAndSlice (37.38s)
=== CONT  TestAccIAMPolicyDataSource_nameTags
--- PASS: TestAccIAMPolicy_policy (92.53s)
=== CONT  TestAccIAMPolicyDocumentDataSource_duplicateConditionKeys
--- PASS: TestAccIAMPolicyDocumentDataSource_overridePolicyDocumentValidJSON (40.68s)
=== CONT  TestAccIAMPolicyDocumentDataSource_multipleConditionKeys
=== CONT  TestAccIAMPolicyDocumentDataSource_singleConditionValue
--- PASS: TestAccIAMPolicyDocumentDataSource_sourcePolicyValidJSON (40.09s)
--- PASS: TestAccIAMPolicyDocumentDataSource_sourceListConflicting (7.12s)
=== CONT  TestAccIAMPolicyDocumentDataSource_basic
--- PASS: TestAccIAMPolicyDocumentDataSource_duplicateSid (42.34s)
=== CONT  TestAccIAMPolicyDataSource_nonExistent
--- PASS: TestAccIAMPolicy_tags_EmptyTag_OnCreate (97.15s)
=== CONT  TestAccIAMPolicyDataSource_nameAndPathPrefixTags
--- PASS: TestAccIAMPolicyDocumentDataSource_version20081017 (64.23s)
=== CONT  TestAccIAMPolicyDataSource_nameAndPathPrefix
--- PASS: TestAccIAMPolicyDocumentDataSource_noStatementMerge (37.80s)
=== CONT  TestAccIAMPolicyAttachment_paginatedEntities
--- PASS: TestAccIAMPolicy_whitespace (110.30s)
=== CONT  TestAccIAMPolicyDataSource_name
--- PASS: TestAccIAMPolicyDocumentDataSource_overrideList (40.84s)
=== CONT  TestAccIAMPolicyDataSource_arnTags
--- PASS: TestAccIAMPolicyDocumentDataSource_override (40.75s)
=== CONT  TestAccIAMPolicyDataSource_arn
--- PASS: TestAccIAMPolicyDocumentDataSource_sourceConflicting (36.40s)
=== CONT  TestAccIAMPolicy_tags_DefaultTags_providerOnly
--- PASS: TestAccIAMPolicyDocumentDataSource_sourceList (37.58s)
=== CONT  TestAccIAMPolicyAttachment_disappears
--- PASS: TestAccIAMPolicyDocumentDataSource_duplicateConditionKeys (35.11s)
=== CONT  TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Replace
--- PASS: TestAccIAMPolicyDocumentDataSource_multipleConditionKeys (36.03s)
--- PASS: TestAccIAMPolicyDocumentDataSource_basic (35.86s)
--- PASS: TestAccIAMPolicyDocumentDataSource_singleConditionValue (36.61s)
--- PASS: TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Add (133.95s)
--- PASS: TestAccIAMPolicyDataSource_nameTags (45.87s)
--- PASS: TestAccIAMPolicyDataSource_nameAndPathPrefixTags (40.87s)
--- PASS: TestAccIAMPolicy_tags_DefaultTags_nonOverlapping (141.06s)
--- PASS: TestAccIAMPolicyDataSource_nameAndPathPrefix (36.37s)
--- PASS: TestAccIAMPolicyDocumentDataSource_source (55.58s)
--- PASS: TestAccIAMPolicyDataSource_name (38.01s)
--- PASS: TestAccIAMPolicyDataSource_arn (29.74s)
--- PASS: TestAccIAMPolicyDataSource_arnTags (29.87s)
--- PASS: TestAccIAMPolicyAttachment_disappears (28.71s)
--- PASS: TestAccIAMPolicy_tags_DefaultTags_overlapping (111.54s)
--- PASS: TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Replace (43.17s)
--- PASS: TestAccIAMPolicy_tags (140.73s)
--- PASS: TestAccIAMPolicyAttachment_paginatedEntities (73.75s)
--- PASS: TestAccIAMPolicy_tags_DefaultTags_providerOnly (68.38s)
--- PASS: TestAccIAMPolicy_diffs (194.24s)
--- PASS: TestAccIAMPolicyDataSource_nonExistent (126.23s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/iam	225.142s
% make t T=TestAccIAMGroupPolicy_ K=iam
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go1.21.8 test ./internal/service/iam/... -v -count 1 -parallel 20 -run='TestAccIAMGroupPolicy_'  -timeout 360m
=== RUN   TestAccIAMGroupPolicy_basic
=== PAUSE TestAccIAMGroupPolicy_basic
=== RUN   TestAccIAMGroupPolicy_disappears
=== PAUSE TestAccIAMGroupPolicy_disappears
=== RUN   TestAccIAMGroupPolicy_nameGenerated
=== PAUSE TestAccIAMGroupPolicy_nameGenerated
=== RUN   TestAccIAMGroupPolicy_namePrefix
=== PAUSE TestAccIAMGroupPolicy_namePrefix
=== RUN   TestAccIAMGroupPolicy_unknownsInPolicy
=== PAUSE TestAccIAMGroupPolicy_unknownsInPolicy
=== RUN   TestAccIAMGroupPolicy_update
=== PAUSE TestAccIAMGroupPolicy_update
=== CONT  TestAccIAMGroupPolicy_basic
=== CONT  TestAccIAMGroupPolicy_namePrefix
=== CONT  TestAccIAMGroupPolicy_nameGenerated
=== CONT  TestAccIAMGroupPolicy_disappears
=== CONT  TestAccIAMGroupPolicy_unknownsInPolicy
=== CONT  TestAccIAMGroupPolicy_update
--- PASS: TestAccIAMGroupPolicy_disappears (16.96s)
--- PASS: TestAccIAMGroupPolicy_basic (19.79s)
--- PASS: TestAccIAMGroupPolicy_nameGenerated (19.84s)
--- PASS: TestAccIAMGroupPolicy_namePrefix (19.85s)
--- PASS: TestAccIAMGroupPolicy_unknownsInPolicy (20.94s)
--- PASS: TestAccIAMGroupPolicy_update (25.22s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/iam	27.463s
% make t T=TestAccIAMRolePolicy_ K=iam
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go1.21.8 test ./internal/service/iam/... -v -count 1 -parallel 20 -run='TestAccIAMRolePolicy_'  -timeout 360m
=== RUN   TestAccIAMRolePolicy_basic
=== PAUSE TestAccIAMRolePolicy_basic
=== RUN   TestAccIAMRolePolicy_disappears
=== PAUSE TestAccIAMRolePolicy_disappears
=== RUN   TestAccIAMRolePolicy_nameGenerated
=== PAUSE TestAccIAMRolePolicy_nameGenerated
=== RUN   TestAccIAMRolePolicy_namePrefix
=== PAUSE TestAccIAMRolePolicy_namePrefix
=== RUN   TestAccIAMRolePolicy_policyOrder
=== PAUSE TestAccIAMRolePolicy_policyOrder
=== RUN   TestAccIAMRolePolicy_invalidJSON
=== PAUSE TestAccIAMRolePolicy_invalidJSON
=== RUN   TestAccIAMRolePolicy_Policy_invalidResource
=== PAUSE TestAccIAMRolePolicy_Policy_invalidResource
=== RUN   TestAccIAMRolePolicy_unknownsInPolicy
=== PAUSE TestAccIAMRolePolicy_unknownsInPolicy
=== CONT  TestAccIAMRolePolicy_basic
=== CONT  TestAccIAMRolePolicy_policyOrder
=== CONT  TestAccIAMRolePolicy_namePrefix
=== CONT  TestAccIAMRolePolicy_disappears
=== CONT  TestAccIAMRolePolicy_Policy_invalidResource
=== CONT  TestAccIAMRolePolicy_invalidJSON
=== CONT  TestAccIAMRolePolicy_unknownsInPolicy
=== CONT  TestAccIAMRolePolicy_nameGenerated
--- PASS: TestAccIAMRolePolicy_invalidJSON (2.33s)
--- PASS: TestAccIAMRolePolicy_Policy_invalidResource (9.56s)
--- PASS: TestAccIAMRolePolicy_disappears (18.33s)
--- PASS: TestAccIAMRolePolicy_unknownsInPolicy (20.89s)
--- PASS: TestAccIAMRolePolicy_namePrefix (21.14s)
--- PASS: TestAccIAMRolePolicy_nameGenerated (21.17s)
--- PASS: TestAccIAMRolePolicy_basic (21.19s)
--- PASS: TestAccIAMRolePolicy_policyOrder (22.33s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/iam	24.605s
% make t T=TestAccIAMRole_ K=iam      
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go1.21.8 test ./internal/service/iam/... -v -count 1 -parallel 20 -run='TestAccIAMRole_'  -timeout 360m
=== RUN   TestAccIAMRole_tags
=== PAUSE TestAccIAMRole_tags
=== RUN   TestAccIAMRole_tags_null
=== PAUSE TestAccIAMRole_tags_null
=== RUN   TestAccIAMRole_tags_AddOnUpdate
=== PAUSE TestAccIAMRole_tags_AddOnUpdate
=== RUN   TestAccIAMRole_tags_EmptyTag_OnCreate
=== PAUSE TestAccIAMRole_tags_EmptyTag_OnCreate
=== RUN   TestAccIAMRole_tags_EmptyTag_OnUpdate_Add
=== PAUSE TestAccIAMRole_tags_EmptyTag_OnUpdate_Add
=== RUN   TestAccIAMRole_tags_EmptyTag_OnUpdate_Replace
=== PAUSE TestAccIAMRole_tags_EmptyTag_OnUpdate_Replace
=== RUN   TestAccIAMRole_tags_DefaultTags_providerOnly
=== PAUSE TestAccIAMRole_tags_DefaultTags_providerOnly
=== RUN   TestAccIAMRole_tags_DefaultTags_nonOverlapping
=== PAUSE TestAccIAMRole_tags_DefaultTags_nonOverlapping
=== RUN   TestAccIAMRole_tags_DefaultTags_overlapping
=== PAUSE TestAccIAMRole_tags_DefaultTags_overlapping
=== RUN   TestAccIAMRole_tags_DefaultTags_updateToProviderOnly
=== PAUSE TestAccIAMRole_tags_DefaultTags_updateToProviderOnly
=== RUN   TestAccIAMRole_tags_DefaultTags_updateToResourceOnly
=== PAUSE TestAccIAMRole_tags_DefaultTags_updateToResourceOnly
=== RUN   TestAccIAMRole_tags_DefaultTags_emptyResourceTag
=== PAUSE TestAccIAMRole_tags_DefaultTags_emptyResourceTag
=== RUN   TestAccIAMRole_tags_DefaultTags_nullOverlappingResourceTag
=== PAUSE TestAccIAMRole_tags_DefaultTags_nullOverlappingResourceTag
=== RUN   TestAccIAMRole_tags_DefaultTags_nullNonOverlappingResourceTag
=== PAUSE TestAccIAMRole_tags_DefaultTags_nullNonOverlappingResourceTag
=== RUN   TestAccIAMRole_basic
=== PAUSE TestAccIAMRole_basic
=== RUN   TestAccIAMRole_description
=== PAUSE TestAccIAMRole_description
=== RUN   TestAccIAMRole_nameGenerated
=== PAUSE TestAccIAMRole_nameGenerated
=== RUN   TestAccIAMRole_namePrefix
=== PAUSE TestAccIAMRole_namePrefix
=== RUN   TestAccIAMRole_testNameChange
=== PAUSE TestAccIAMRole_testNameChange
=== RUN   TestAccIAMRole_diffs
=== PAUSE TestAccIAMRole_diffs
=== RUN   TestAccIAMRole_diffsCondition
=== PAUSE TestAccIAMRole_diffsCondition
=== RUN   TestAccIAMRole_badJSON
=== PAUSE TestAccIAMRole_badJSON
=== RUN   TestAccIAMRole_disappears
=== PAUSE TestAccIAMRole_disappears
=== RUN   TestAccIAMRole_policiesForceDetach
=== PAUSE TestAccIAMRole_policiesForceDetach
=== RUN   TestAccIAMRole_maxSessionDuration
=== PAUSE TestAccIAMRole_maxSessionDuration
=== RUN   TestAccIAMRole_permissionsBoundary
=== PAUSE TestAccIAMRole_permissionsBoundary
=== RUN   TestAccIAMRole_InlinePolicy_basic
=== PAUSE TestAccIAMRole_InlinePolicy_basic
=== RUN   TestAccIAMRole_InlinePolicy_ignoreOrder
=== PAUSE TestAccIAMRole_InlinePolicy_ignoreOrder
=== RUN   TestAccIAMRole_InlinePolicy_empty
=== PAUSE TestAccIAMRole_InlinePolicy_empty
=== RUN   TestAccIAMRole_ManagedPolicy_basic
=== PAUSE TestAccIAMRole_ManagedPolicy_basic
=== RUN   TestAccIAMRole_ManagedPolicy_outOfBandRemovalAddedBack
=== PAUSE TestAccIAMRole_ManagedPolicy_outOfBandRemovalAddedBack
=== RUN   TestAccIAMRole_InlinePolicy_outOfBandRemovalAddedBack
=== PAUSE TestAccIAMRole_InlinePolicy_outOfBandRemovalAddedBack
=== RUN   TestAccIAMRole_ManagedPolicy_outOfBandAdditionRemoved
=== PAUSE TestAccIAMRole_ManagedPolicy_outOfBandAdditionRemoved
=== RUN   TestAccIAMRole_InlinePolicy_outOfBandAdditionRemoved
=== PAUSE TestAccIAMRole_InlinePolicy_outOfBandAdditionRemoved
=== RUN   TestAccIAMRole_InlinePolicy_outOfBandAdditionIgnored
=== PAUSE TestAccIAMRole_InlinePolicy_outOfBandAdditionIgnored
=== RUN   TestAccIAMRole_ManagedPolicy_outOfBandAdditionIgnored
=== PAUSE TestAccIAMRole_ManagedPolicy_outOfBandAdditionIgnored
=== RUN   TestAccIAMRole_InlinePolicy_outOfBandAdditionRemovedEmpty
=== PAUSE TestAccIAMRole_InlinePolicy_outOfBandAdditionRemovedEmpty
=== RUN   TestAccIAMRole_ManagedPolicy_outOfBandAdditionRemovedEmpty
=== PAUSE TestAccIAMRole_ManagedPolicy_outOfBandAdditionRemovedEmpty
=== CONT  TestAccIAMRole_tags
=== CONT  TestAccIAMRole_diffs
=== CONT  TestAccIAMRole_tags_DefaultTags_updateToResourceOnly
=== CONT  TestAccIAMRole_description
=== CONT  TestAccIAMRole_tags_EmptyTag_OnUpdate_Replace
=== CONT  TestAccIAMRole_tags_EmptyTag_OnCreate
=== CONT  TestAccIAMRole_ManagedPolicy_basic
=== CONT  TestAccIAMRole_tags_EmptyTag_OnUpdate_Add
=== CONT  TestAccIAMRole_maxSessionDuration
=== CONT  TestAccIAMRole_nameGenerated
=== CONT  TestAccIAMRole_badJSON
=== CONT  TestAccIAMRole_InlinePolicy_basic
=== CONT  TestAccIAMRole_disappears
=== CONT  TestAccIAMRole_policiesForceDetach
=== CONT  TestAccIAMRole_InlinePolicy_ignoreOrder
=== CONT  TestAccIAMRole_tags_AddOnUpdate
=== CONT  TestAccIAMRole_testNameChange
=== CONT  TestAccIAMRole_namePrefix
=== CONT  TestAccIAMRole_InlinePolicy_empty
=== CONT  TestAccIAMRole_tags_null
--- PASS: TestAccIAMRole_badJSON (7.05s)
=== CONT  TestAccIAMRole_permissionsBoundary
--- PASS: TestAccIAMRole_InlinePolicy_empty (47.53s)
=== CONT  TestAccIAMRole_diffsCondition
--- PASS: TestAccIAMRole_disappears (52.51s)
=== CONT  TestAccIAMRole_tags_DefaultTags_overlapping
--- PASS: TestAccIAMRole_nameGenerated (62.38s)
=== CONT  TestAccIAMRole_tags_DefaultTags_updateToProviderOnly
--- PASS: TestAccIAMRole_namePrefix (63.04s)
=== CONT  TestAccIAMRole_InlinePolicy_outOfBandAdditionIgnored
--- PASS: TestAccIAMRole_policiesForceDetach (66.61s)
=== CONT  TestAccIAMRole_ManagedPolicy_outOfBandAdditionRemovedEmpty
--- PASS: TestAccIAMRole_tags_null (80.86s)
=== CONT  TestAccIAMRole_InlinePolicy_outOfBandAdditionRemovedEmpty
--- PASS: TestAccIAMRole_tags_DefaultTags_updateToResourceOnly (92.51s)
=== CONT  TestAccIAMRole_ManagedPolicy_outOfBandAdditionIgnored
--- PASS: TestAccIAMRole_tags_AddOnUpdate (98.13s)
=== CONT  TestAccIAMRole_tags_DefaultTags_nonOverlapping
--- PASS: TestAccIAMRole_testNameChange (100.59s)
=== CONT  TestAccIAMRole_tags_DefaultTags_emptyResourceTag
--- PASS: TestAccIAMRole_tags_EmptyTag_OnUpdate_Replace (101.71s)
=== CONT  TestAccIAMRole_basic
--- PASS: TestAccIAMRole_tags_EmptyTag_OnCreate (111.22s)
=== CONT  TestAccIAMRole_tags_DefaultTags_nullNonOverlappingResourceTag
--- PASS: TestAccIAMRole_InlinePolicy_ignoreOrder (111.39s)
=== CONT  TestAccIAMRole_tags_DefaultTags_nullOverlappingResourceTag
--- PASS: TestAccIAMRole_maxSessionDuration (125.07s)
=== CONT  TestAccIAMRole_tags_DefaultTags_providerOnly
--- PASS: TestAccIAMRole_description (137.48s)
=== CONT  TestAccIAMRole_InlinePolicy_outOfBandAdditionRemoved
--- PASS: TestAccIAMRole_InlinePolicy_basic (137.68s)
=== CONT  TestAccIAMRole_InlinePolicy_outOfBandRemovalAddedBack
--- PASS: TestAccIAMRole_ManagedPolicy_basic (138.14s)
=== CONT  TestAccIAMRole_ManagedPolicy_outOfBandAdditionRemoved
--- PASS: TestAccIAMRole_tags_EmptyTag_OnUpdate_Add (148.52s)
=== CONT  TestAccIAMRole_ManagedPolicy_outOfBandRemovalAddedBack
--- PASS: TestAccIAMRole_ManagedPolicy_outOfBandAdditionRemovedEmpty (91.50s)
--- PASS: TestAccIAMRole_tags_DefaultTags_updateToProviderOnly (99.98s)
--- PASS: TestAccIAMRole_tags_DefaultTags_emptyResourceTag (61.77s)
--- PASS: TestAccIAMRole_basic (63.07s)
--- PASS: TestAccIAMRole_InlinePolicy_outOfBandAdditionRemovedEmpty (89.42s)
--- PASS: TestAccIAMRole_ManagedPolicy_outOfBandAdditionIgnored (77.85s)
--- PASS: TestAccIAMRole_tags_DefaultTags_nullNonOverlappingResourceTag (60.04s)
--- PASS: TestAccIAMRole_tags_DefaultTags_nullOverlappingResourceTag (59.92s)
--- PASS: TestAccIAMRole_InlinePolicy_outOfBandAdditionIgnored (111.15s)
--- PASS: TestAccIAMRole_tags_DefaultTags_overlapping (141.93s)
--- PASS: TestAccIAMRole_tags (195.24s)
--- PASS: TestAccIAMRole_diffsCondition (152.86s)
--- PASS: TestAccIAMRole_InlinePolicy_outOfBandRemovalAddedBack (63.82s)
--- PASS: TestAccIAMRole_InlinePolicy_outOfBandAdditionRemoved (64.09s)
--- PASS: TestAccIAMRole_ManagedPolicy_outOfBandAdditionRemoved (63.69s)
--- PASS: TestAccIAMRole_ManagedPolicy_outOfBandRemovalAddedBack (57.59s)
--- PASS: TestAccIAMRole_permissionsBoundary (203.89s)
--- PASS: TestAccIAMRole_tags_DefaultTags_nonOverlapping (112.85s)
--- PASS: TestAccIAMRole_tags_DefaultTags_providerOnly (104.28s)
--- PASS: TestAccIAMRole_diffs (305.70s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/iam	308.257s

Copy link

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 github-actions bot added size/XS Managed by automation to categorize the size of a PR. verify Pertains to the verify package (i.e., provider-level validating, diff suppression, etc.) labels Mar 26, 2024
@terraform-aws-provider terraform-aws-provider bot added the prioritized Part of the maintainer teams immediate focus. To be addressed within the current quarter. label Mar 26, 2024
@github-actions github-actions bot added documentation Introduces or discusses updates to documentation. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. service/iam Issues and PRs that pertain to the iam service. size/M Managed by automation to categorize the size of a PR. and removed size/XS Managed by automation to categorize the size of a PR. labels Mar 26, 2024
Copy link
Contributor

@ewbankkit ewbankkit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🚀.

@YakDriver YakDriver merged commit 0577a2b into main Mar 26, 2024
44 checks passed
@YakDriver YakDriver deleted the f-iam-policy-allow-whitespace branch March 26, 2024 22:51
@github-actions github-actions bot added this to the v5.43.0 milestone Mar 26, 2024
github-actions bot pushed a commit that referenced this pull request Mar 26, 2024
Copy link

This functionality has been released in v5.43.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 github-actions bot removed the prioritized Part of the maintainer teams immediate focus. To be addressed within the current quarter. label Mar 28, 2024
Copy link

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 github-actions bot locked as resolved and limited conversation to collaborators Apr 28, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Introduces or discusses updates to documentation. service/iam Issues and PRs that pertain to the iam service. size/M Managed by automation to categorize the size of a PR. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. verify Pertains to the verify package (i.e., provider-level validating, diff suppression, etc.)
Projects
None yet
2 participants