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

r/chatbot: Fix SNS topic ARNs ordering in Slack channel configuration #40253

Merged
merged 7 commits into from
Nov 22, 2024

Conversation

max-ts0gt
Copy link
Contributor

@max-ts0gt max-ts0gt commented Nov 22, 2024

Description

This PR fixes an inconsistency in the aws_chatbot_slack_channel_configuration resource where it unnecessarily triggers plan changes when SNS topics are returned in a different order from the AWS API.

The fix implements sorting of SNS topic ARNs before comparison in the slackChannelConfigurationHasChanges function, ensuring that the order of topics doesn't trigger unnecessary updates.

Before this fix:
Plan would show changes when AWS returns topics in different order:

sns_topic_arns = [
    - "arn:aws:sns:us-west-2:123456789012:topic2"
    - "arn:aws:sns:us-west-2:123456789012:topic1"
    - "arn:aws:sns:us-west-2:123456789012:topic1"
    - "arn:aws:sns:us-west-2:123456789012:topic2"
]

After this fix:
No changes shown when only order differs:

sns_topic_arns = [
    - "arn:aws:sns:us-west-2:123456789012:topic1"
    - "arn:aws:sns:us-west-2:123456789012:topic2"
]

Closes #39025
Closes #39870

The provider was being too strict about the order of SNS topic ARNs in
the Slack channel configuration resource. This could cause unnecessary
diffs in the Terraform plan when AWS returned the topics in a different
order.

This change implements sorting of SNS topic ARNs before comparison to
ensure consistent behavior regardless of the order returned by the API.
@max-ts0gt max-ts0gt requested a review from a team as a code owner November 22, 2024 02:50
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 service/chatbot Issues and PRs that pertain to the chatbot service. needs-triage Waiting for first response or review from a maintainer. labels Nov 22, 2024
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Welcome @max-ts0gt 👋

It looks like this is your first Pull Request submission to the Terraform AWS Provider! If you haven’t already done so please make sure you have checked out our CONTRIBUTOR guide and FAQ to make sure your contribution is adhering to best practice and has all the necessary elements in place for a successful approval.

Also take a look at our FAQ which details how we prioritize Pull Requests for inclusion.

Thanks again, and welcome to the community! 😃

YakDriver
YakDriver previously approved these changes Nov 22, 2024
Copy link
Member

@YakDriver YakDriver left a comment

Choose a reason for hiding this comment

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

LGTM 🥇

johnsonaj
johnsonaj previously approved these changes Nov 22, 2024
Copy link
Contributor

@johnsonaj johnsonaj left a comment

Choose a reason for hiding this comment

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

LGTM 🚀

@johnsonaj
Copy link
Contributor

@max-ts0gt thank you for the contribution! 🎉

I changed sns_topic_arns from a List to Set, which effectively ignores the order without needing to sort.

@johnsonaj johnsonaj removed the needs-triage Waiting for first response or review from a maintainer. label Nov 22, 2024
Copy link
Member

@YakDriver YakDriver left a comment

Choose a reason for hiding this comment

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

Excellent 🎉

@johnsonaj johnsonaj merged commit 7a50b4d into hashicorp:main Nov 22, 2024
34 checks passed
@github-actions github-actions bot added this to the v5.78.0 milestone Nov 22, 2024
@i5o
Copy link

i5o commented Nov 22, 2024

Thanks for the change.
@johnsonaj do you think this can be ported to Ms teams channel config too? It has the same issue. I could try copying and pasting this PR but for msteams if that seems doable

Copy link

This functionality has been released in v5.78.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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
service/chatbot Issues and PRs that pertain to the chatbot service.
Projects
None yet
4 participants