Openvpn-admin support for IMDSv2
I'm having issues getting credentials using gruntwork terraform-aws-openvpn-admin utility after enabling instance metadata version 2 (IMDSv2) on an ec2 openvpn instance. Is IMDSv2 already supported and what is the possible workaround on this? ``` /go/src/github.com/gruntwork-io/package-openvpn/modules/openvpn-admin/src/main.go:18 (0x839517) /usr/local/go/src/runtime/proc.go:201 (0x42bf27) /usr/local/go/src/runtime/asm_amd64.s:1333 (0x456831) " error="Error finding AWS credentials (did you set the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables?): NoCredentialProviders: no valid providers in chain. Deprecated. For verbose messaging see aws.Config.CredentialsChainVerboseErrors" ```
Within the threads, this has been "solved" as an issue that will be resolved once upgrading the openvpn module to at least [v0.17.0](https://github.com/gruntwork-io/terraform-aws-openvpn/releases/tag/v0.17.0). However, in this case they're already using a newer version [v0.19.0](https://github.com/gruntwork-io/terraform-aws-openvpn/releases/tag/v0.19.0). However, starting in v0.17.1, we actually introduced a backward incompatibility with Terraform < 0.13! Here is the PR that introduced a dependency on [private-s3-bucket v0.57.1](https://github.com/gruntwork-io/terraform-aws-security/blob/v0.57.1/modules/private-s3-bucket/main.tf#L8). As you can see from that line, `required_providers` was already in use by that version (started in [v0.48.3](https://github.com/gruntwork-io/terraform-aws-security/blob/v0.48.3/modules/private-s3-bucket/main.tf#L7)). That module, private-s3-bucket, requires using Terraform AWS Provider version `>= 3.66.0`, in order to setup the new `aws_s3_replication_configuration`. My understanding based on all of this, is that we did not adequately communicate that there was a backward incompatibility introduced in every module that was updated to use _any other module_ that uses `required_providers` _and also_ required an AWS Provider version that would cause the module to fail if Terraform < 0.13 was used. That is, the openvpn repo update to v0.17.1 and above should have mentioned this in the guide.