terraform,

Terraform 'An argument named allow_classic_link_to_remote_vpc is not expected here.'

Jun 03, 2023 · 1 min read · Post a comment

As of January 1, 2023, traffic between VPCs in different regions is automatically allowed, regardless of whether the allow_classic_link_to_remote_vpc or allow_vpc_to_remote_classic_link options are set. So, while resolving some vpc peering dependencies I got: An argument named "allow_classic_link_to_remote_vpc" is not expected here.

Prerequisites

  • Terraform
  • sudo privileges

Solution

The solution is to remove both allow_classic_link_to_remote_vpc and allow_vpc_to_remote_classic_link options because they are deprecated in the AWS VPC Peering Connection resource. These options were used to allow traffic between VPCs in different regions, but they are no longer needed. You can leave only allow_remote_vpc_dns_resolution:

resource "aws_vpc_peering_connection_accepter" "main" {
  provider                  = aws.accepter
  auto_accept               = true
  vpc_peering_connection_id = aws_vpc_peering_connection.main.id

  accepter {
    allow_remote_vpc_dns_resolution  = true
  }
...

Conclusion

Feel free to leave a comment below and if you find this tutorial useful, follow our official channel on Telegram.