Use tfadd.StateForTargets
to avoid running terraform show
for multiple times
#349
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.
Previously, when converting the state to its config, we uses
tfadd.State()
the same time as the amount of target resources, each time with only one resource being converted. Though we were parallelising this process, while aterraform show
(called insidetfadd.State()
) execution is expensive.This PR now uses a new function
tfadd.StateForTargets()
to ensure we only callterraform show
once.This improves the performance a lot in poor runtime env. E.g. previously, it takes ~60sec to convert a state file to config, which contains 30 resources in a 2core+4G mem azure container app. Now it finishes within 3 seconds.