Refactor code to use backend config state's SetConfig
method, protect against nil receiver
#37254
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.
For context, the
SetConfig
method onBackendConfigState
is only used in the context of tests currently. Whenever a BackendConfigState is assembled the config is set directly by assigning a value to ConfigRaw:terraform/internal/command/meta_backend.go
Lines 1055 to 1064 in a9b67a6
That
configJSON
value is constructed in the code immediately preceding the above snippet:terraform/internal/command/meta_backend.go
Lines 1049 to 1053 in a9b67a6
This PR refactors that code to instead use the SetConfig method. This method includes the logic for marshalling cty data to JSON, so replaces the equivalent code above that gets the implied type of a schema and marshals the cty value to json.
Also, this PR adds a nil receiver check to the method.
Target Release
1.13.x
Rollback Plan
Changes to Security Controls
Are there any changes to security controls (access controls, encryption, logging) in this pull request? If so, explain.
CHANGELOG entry