provider/aws: Wait for NACL rule to be visible #4734
Merged
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.
Fixes #4721. It seems there may be some eventual consistency in the API for network ACLs. This fix doesn't use resource.WaitForState() as there the NACL is not something that can be looked up by ID and has a property which determines if it is present.
Instead we reuse the findNetworkAclRule function which the Read function exhibiting the problem uses, and retry over a 3 minute period, returning an error message informing the user that running
terraform apply
again will likely allow them to continue.@catsby Not sure if there is any precedent for this approach, or whether you have previously wrangled resource.WaitForState() to do the correct thing to meet the same ends? It does feel somewhat like we should be counting on the resource to be created at some point rather than timing out.