Skip to content

feat: aws_uxc_account_customizations resource and aws_uxc_services data source#47115

Merged
ewbankkit merged 10 commits into
hashicorp:mainfrom
alexbacchin:f-uxc-customizations
Mar 30, 2026
Merged

feat: aws_uxc_account_customizations resource and aws_uxc_services data source#47115
ewbankkit merged 10 commits into
hashicorp:mainfrom
alexbacchin:f-uxc-customizations

Conversation

@alexbacchin
Copy link
Copy Markdown
Contributor

@alexbacchin alexbacchin commented Mar 26, 2026

Description

Blog Post:
Customize your AWS Management Console experience with visual settings including account color, region and service visibility

Adds support for the Amazon User Experience Customization (UXC) service to the Terraform AWS Provider.

Although the UXC API documentation contains ‘GetAccountColor‘ and ‘PutAccountColor‘, the UXC Go AWS SDK v2 does not support these actions

This PR introduces:

  • Resource: aws_uxc_account_customizations - Manages account customization settings including account color and visibility of regions/services
  • Data Source: aws_uxc_services - Lists all available UXC services for an account

Example Usage

Account Customizations Resource

# Set account color and restrict visible services
resource "aws_uxc_account_customizations" "example" {
  account_color    = "teal"
  visible_services = ["service1", "service2"]
}

# Clear all restrictions (explicit empty lists)
resource "aws_uxc_account_customizations" "unrestricted" {
  account_color    = "none"
  visible_regions  = []
  visible_services = []
}

Services Data Source

# Fetch list of all available services
data "aws_uxc_services" "available" {}

output "uxc_services" {
  value = data.aws_uxc_services.available.services
}

Relations

Closes #44033
Depends on #47114

Changes Made

  • Account customizations resource with CRUD operations and import support. The UXC API does not provide a delete operation. Destroying this resource resets all customizations to their defaults: account_color is set to none, and both visible_regions and visible_services are cleared to allow all regions and services.
  • Services data source with pagination support
  • Comprehensive acceptance tests for both resource and data source

Code Generation Disclosure

AI was used to assist with scaffolding, code generation guidance, and PR preparation. All code has been reviewed and is understood by the submitter.

Output from Acceptance Testing

Acceptance tests require a valid AWS account. All tests are marked serial as they
operate on account-scoped state.

%TF_ACC=1 go test ./internal/service/uxc/... -v -run TestAccUXC_serial -timeout 60m
2026/03/27 07:04:52 Creating Terraform AWS Provider (SDKv2-style)...
2026/03/27 07:04:52 Initializing Terraform AWS Provider (SDKv2-style)...
=== RUN   TestAccUXC_serial
=== PAUSE TestAccUXC_serial
=== CONT  TestAccUXC_serial
=== RUN   TestAccUXC_serial/accountCustomizationsBasic
=== RUN   TestAccUXC_serial/accountCustomizationsVisibleRegions
=== RUN   TestAccUXC_serial/accountCustomizationsVisibleServices
=== RUN   TestAccUXC_serial/accountCustomizationsDisappears
=== RUN   TestAccUXC_serial/servicesDataSourceBasic
--- PASS: TestAccUXC_serial (162.14s)
    --- PASS: TestAccUXC_serial/accountCustomizationsBasic (41.40s)
    --- PASS: TestAccUXC_serial/accountCustomizationsVisibleRegions (39.17s)
    --- PASS: TestAccUXC_serial/accountCustomizationsVisibleServices (38.41s)
    --- PASS: TestAccUXC_serial/accountCustomizationsDisappears (21.40s)
    --- PASS: TestAccUXC_serial/servicesDataSourceBasic (21.76s)
PASS
ok      github.com/hashicorp/terraform-provider-aws/internal/service/uxc        166.955s

@github-actions
Copy link
Copy Markdown
Contributor

Community Guidelines

This 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

  • Please vote on this Pull Request by adding a 👍 reaction to the original post to help the community and maintainers prioritize it.
  • Please see our prioritization guide for additional information on how the maintainers handle prioritization.
  • Please do not leave +1 or other comments that do not add relevant new information or questions; they generate extra noise for others following the Pull Request and do not help prioritize the request.

Pull Request Authors

  • Review the contribution guide relating to the type of change you are making to ensure all of the necessary steps have been taken.
  • Whether or not the branch has been rebased will not impact prioritization, but doing so is always a welcome surprise.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 26, 2026

✅ Thank you for correcting the previously detected issues! The maintainers appreciate your efforts to make the review process as smooth as possible.

@github-actions github-actions Bot added needs-triage Waiting for first response or review from a maintainer. documentation Introduces or discusses updates to documentation. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. provider Pertains to the provider itself, rather than any interaction with AWS. linter Pertains to changes to or issues with the various linters. sweeper Pertains to changes to or issues with the sweeper. repository Repository modifications; GitHub Actions, developer docs, issue templates, codeowners, changelog. client-connections Pertains to the AWS Client and service connections. generators Relates to code generators. github_actions Pull requests that update Github_actions code size/XL Managed by automation to categorize the size of a PR. external-maintainer Contribution from a trusted external contributor. labels Mar 26, 2026
@alexbacchin alexbacchin changed the title feat: Add aws_uxc_account_customizations resource and aws_uxc_services data source feat: aws_uxc_account_customizations resource and aws_uxc_services data source Mar 26, 2026
alexbacchin added a commit to alexbacchin/terraform-provider-aws that referenced this pull request Mar 26, 2026
@alexbacchin alexbacchin force-pushed the f-uxc-customizations branch from b1b0998 to 5af6090 Compare March 26, 2026 19:59
@github-actions github-actions Bot added the service/uxc Issues and PRs that pertain to the uxc service. label Mar 26, 2026
@justinretzolk justinretzolk added new-resource Introduces a new resource. new-data-source Introduces a new data source. and removed needs-triage Waiting for first response or review from a maintainer. labels Mar 26, 2026
@alexbacchin alexbacchin marked this pull request as ready for review March 27, 2026 10:12
@alexbacchin alexbacchin requested a review from a team as a code owner March 27, 2026 10:12
@dosubot dosubot Bot added the new-service Introduces a new service. label Mar 27, 2026
@ewbankkit ewbankkit removed linter Pertains to changes to or issues with the various linters. repository Repository modifications; GitHub Actions, developer docs, issue templates, codeowners, changelog. client-connections Pertains to the AWS Client and service connections. generators Relates to code generators. github_actions Pull requests that update Github_actions code new-service Introduces a new service. prioritized Part of the maintainer teams immediate focus. To be addressed within the current quarter. labels Mar 27, 2026
@github-actions github-actions Bot added the generators Relates to code generators. label Mar 27, 2026
ewbankkit
ewbankkit previously approved these changes Mar 27, 2026
Copy link
Copy Markdown
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 🚀.

% make testacc TESTARGS='-run=TestAccUXC_serial' PKG=uxc
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
make: Running acceptance tests on branch: 🌿 HEAD 🌿...
TF_ACC=1 go1.25.8 test ./internal/service/uxc/... -v -count 1 -parallel 20  -run=TestAccUXC_serial -timeout 360m -vet=off
2026/03/27 15:47:10 Creating Terraform AWS Provider (SDKv2-style)...
2026/03/27 15:47:10 Initializing Terraform AWS Provider (SDKv2-style)...
=== RUN   TestAccUXC_serial
=== PAUSE TestAccUXC_serial
=== CONT  TestAccUXC_serial
=== RUN   TestAccUXC_serial/servicesDataSourceBasic
=== RUN   TestAccUXC_serial/accountCustomizationsBasic
=== RUN   TestAccUXC_serial/accountCustomizationsVisibleRegions
=== RUN   TestAccUXC_serial/accountCustomizationsVisibleServices
=== RUN   TestAccUXC_serial/accountCustomizationsDisappears
--- PASS: TestAccUXC_serial (108.05s)
    --- PASS: TestAccUXC_serial/servicesDataSourceBasic (14.10s)
    --- PASS: TestAccUXC_serial/accountCustomizationsBasic (26.49s)
    --- PASS: TestAccUXC_serial/accountCustomizationsVisibleRegions (26.64s)
    --- PASS: TestAccUXC_serial/accountCustomizationsVisibleServices (26.77s)
    --- PASS: TestAccUXC_serial/accountCustomizationsDisappears (14.04s)
PASS
ok      github.com/hashicorp/terraform-provider-aws/internal/service/uxc        113.944s

Comment thread internal/service/uxc/account_customizations.go
Comment thread internal/service/uxc/account_customizations.go
Comment thread internal/service/uxc/account_customizations_test.go
@ewbankkit
Copy link
Copy Markdown
Contributor

@alexbacchin Thanks for the contribution 🎉 👏.

@ewbankkit ewbankkit merged commit d143058 into hashicorp:main Mar 30, 2026
54 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

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.

@github-actions github-actions Bot added this to the v6.39.0 milestone Mar 30, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 1, 2026

This functionality has been released in v6.39.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
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 2, 2026

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 May 2, 2026
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. external-maintainer Contribution from a trusted external contributor. generators Relates to code generators. new-data-source Introduces a new data source. new-resource Introduces a new resource. service/uxc Issues and PRs that pertain to the uxc service. size/XL Managed by automation to categorize the size of a PR. sweeper Pertains to changes to or issues with the sweeper. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[New Resource]: aws_account_color

4 participants