Appending routes cause recreation of routes leading to failed terraform applies due to many unnecessary routing changes.
If we use a map for both var.authorization_rules and var.additional_routes, then we can use a for_each instead of count for auth rules and vpn routes and make the key something like {stage}-{cidr} or similar
then we would be able to append routes and rules, avoid unnecessary deletions, and reduce the likelihood of the following error.
│ Error: error deleting client VPN route "cvpn-endpoint-snip,subnet-snip,10.66.0.0/15": timeout while waiting for resource to be gone (last state: 'deleting', timeout: 1m0s)
│ Error: error creating client VPN route "cvpn-endpoint-snip,subnet-snip,10.68.0.0/15": ConcurrentMutationLimitExceeded: Cannot initiate another change for this endpoint at this time. Please try again later.
Have a question? Please checkout our Slack Community or visit our Slack Archive.
Describe the Feature
Appending routes cause recreation of routes leading to failed terraform applies due to many unnecessary routing changes.
If we use a map for both
var.authorization_rules
andvar.additional_routes
, then we can use afor_each
instead ofcount
for auth rules and vpn routes and make the key something like{stage}-{cidr}
or similarhttps://github.com/cloudposse/terraform-aws-ec2-client-vpn/blob/0e4f0d9dc660a945a6fafc84284d447e3104ca06/main.tf#L223
https://github.com/cloudposse/terraform-aws-ec2-client-vpn/blob/0e4f0d9dc660a945a6fafc84284d447e3104ca06/main.tf#L233
then we would be able to append routes and rules, avoid unnecessary deletions, and reduce the likelihood of the following error.