Repository navigation
馃馃馃 r/aws_datazone_environment_blueprint: New resource - #50607
Open
mvincentbb wants to merge 9 commits into
Open
mvincentbb wants to merge 9 commits into
mvincentbb wants to merge 9 commits into
Conversation
Contributor
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
|
Add a new Plugin Framework resource for DataZone custom environment
blueprints, supporting CloudFormation-provisioned blueprints with
user parameters.
- Create/Read/Update/Delete + import, exercised by acceptance tests
(basic, update, disappears, userParameters) plus identity tests
- Retry AccessDenied on Create to absorb IAM propagation when DataZone
reads the in-account S3 template as the domain execution role
- Bounded post-update read-after-write consistency wait, since
UpdateEnvironmentBlueprint is eventually consistent on an immediate GET
- UseStateForUnknown on stable computed attributes to avoid a perpetual
diff after in-place update
- Configurable timeouts { create } block driving the Create retry
- Fixtures model a V2 SMUS domain with the managed execution/service
role policies and an in-account S3 CloudFormation template
Fixes providerlint AWSAT006 (avoid hardcoding AWS partition DNS suffixes) by referencing the S3 bucket's bucket_regional_domain_name attribute instead of a literal s3.amazonaws.com host in the environment blueprint acceptance test template_url.
Resolve findings from pre-PR review of the new aws_datazone_environment_blueprint resource: - Delete/finder surface AccessDenied instead of silently dropping state (new isResourceNotFound, not-found only; shared isResourceMissing left untouched for the other datazone resources) - description is Optional-only; Update sends empty string on removal - Update sends an empty user_parameters list when the block is cleared - Update gated on fwflex.Diff HasChanges (timeouts-only change skips API) - register environment_blueprint sweeper as a domain-sweeper dependency - partition-safe S3 template_url (bucket_regional_domain_name) in fixture and docs examples - testAccPreCheck on all handwritten tests + @testing(preCheck) annotation - document Timeouts and resource-identity import in website docs - regenerate identity gen test and fixtures
DataZone returns AccessDeniedException (403) rather than ResourceNotFoundException once the parent domain has been deleted, so the shared isResourceMissing helper must keep treating it as absence. Using a not-found-only check made CheckDestroy fail after domain teardown. Revert to the package-wide helper used by every other datazone resource. Verified: all four TestAccDataZoneEnvironmentBlueprint acceptance tests pass against a live account.
Semgrep rule ci.literal-default_value-string-constant flags the literal "default_value" schema key.
UpdatedAt has one-second precision, so a stale read in the same second passed the consistency wait and the refresh saw the old description. Also require the description to match.
mvincentbb
force-pushed
the
f-datazone-environment-blueprint
branch
from
October 23, 2026 13:33
ecf3052 to
6718ac4
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rollback Plan
If a change needs to be reverted, we will publish an updated version of the library.
Changes to Security Controls
None.
Description
Adds a new resource,
aws_datazone_environment_blueprint, for creating and managing a custom Amazon DataZone environment blueprint (CreateEnvironmentBlueprint). The provider already hasaws_datazone_environment_blueprint_configuration(enables an existing blueprint) and theaws_datazone_environment_blueprintdata source (looks one up), but no resource to create a custom blueprint.domain_identifierandnameare required and force replacement.provisioning_properties.cloud_formation.template_urlis required.descriptionanduser_parametersare optional and update in place.id,blueprint_category,created_at,glossary_terms,provider_name,updated_at.description/user_parametersremoval:UpdateEnvironmentBlueprintkeeps omitted fields. The resource sends""whendescriptionis removed and an empty list whenuser_parametersis removed, so removal reaches the API.timeouts-only change does not callUpdateEnvironmentBlueprint.domain_identifierandid. Import supports bothidentityand thedomain_identifier,idID.managed = false) blueprints in each domain. It is registered as a dependency of the domain sweeper, so blueprints are removed before their domain.AI usage disclosure
Relations
Closes #50433
References
Output from Acceptance Testing
The identity tests skip locally (they need Terraform 1.12; my host has 1.9.8).