b/aws_redshiftserverless_namespace: fix multiple bugs, rewrite to plugin framework #39354
+893
−363
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.
Description
This PR:
SetOfARNType
It has to be mentioned that in the PR author's opinion, many of the problems present in the current implementation of aws_redshiftserverless_namespace, are caused by suboptimal design of Amazon Redshift Serverless API. There are still several bugs in the API implementation reported to Amazon but currently with neither a confirmation nor ETA on fixes:
manageAdminPassword
property being instrumental in setting up password management yet missing from GetNamespace response payloadThanks to intensive use of
ValidateConfig
andModifyPlan
custom implementations, It was possible to work around problems 3 and 4 in the provider code. Problems 1 and 2 can still cause issues and require careful handling of namespace resource.Relations
Closes #39333 - default "admin" password is sent in API request
Closes #39273 - default "dev"
db_name
is used in namespace creationCloses #39269 - removal of 'kms_key_id' from config results in resource replacement
Closes #39268 - passing empty string for to API call removes the role
Closes #39266
Closes #39265 -
manage_admin_password
= false can coincide withadmin_user_password
Closes #39250
Closes #39249 - Update the implementation is similar to
aws_redshiftserverless_workgroup
Closes #39248 - empty array is the default for
log_exports
References
UpdateNamespace API documentation clarifies the limitation in updating multiple parameters in one request.
Output from Acceptance Testing