A data resource "aws_availability_zones" "available" has not been declared in the root module.

by XDK 18. September 2019 21:45

Exception:

Error: Reference to undeclared resource
on base.tf line 65, in resource "aws_subnet" "public-subnet-a":
65: availability_zone = "${data.aws_availability_zones.available.names[0]}"
A data resource "aws_availability_zones" "available" has not been declared in
the root module.

Explanation:

The exception occurred while assigning the availability zone for a region in the terraform template.

resource "aws_subnet" "public-subnet-a" {
  vpc_id = "${aws_vpc.vpc.id}"
  map_public_ip_on_launch = true
  cidr_block = "10.0.10.0/24"
  availability_zone = "${data.aws_availability_zones.available.names[0]}"
  tags = {
  Name = "public-subnet-a:${var.labname}"
  }
}

Solution:

Add data module to get the availability zones for a region
data "aws_availability_zones" "available" {}

resource "aws_subnet" "public-subnet-a" {
  vpc_id = "${aws_vpc.vpc.id}"
  map_public_ip_on_launch = true
  cidr_block = "10.0.10.0/24"
  availability_zone = "${data.aws_availability_zones.available.names[0]}"
  tags = {
  Name = "public-subnet-a:${var.labname}"
  }
}

Tags:

Amazon Web Service | Terraform

Comments are closed

About the author

My name is Xavier Dilip Kumar Jayaraj having 16+ years of IT experience which includes solid experience and depth Knowledge in Application Life Cycle Management, Configuration Management, Implementation and Support using TFS on-premises and Azure DevOps. I have invested in gaining DevOps knowledege to expertise with Cloud Computing providers namely Microsoft Azure and Amazon Web Services in recent years. I am very positive to learn and adapt emerging technologies to client’s environment.

Microsoft Certified: Azure Administrator Associate

Microsoft Certified: Azure DevOps Engineer Expert

DevOps Engineer Certificate Program | Transcript 

OTP-AWSD5: AWS IoT: Developing and Deploying an Internet of Things

[PCEP-30-01] PCEP – Certified Entry-Level Python Programmer

Quotes I Like

"Failure will never overtake me if my determination to succeed is strong enough."  - Dr. APJ. Abdul Kalam

"Always be yourself, express yourself, have faith in yourself, do not go out and look for a successful personality and duplicate it." - Bruce Lee

"Technology is just a tool. In terms of getting the kids working together and motivating them, the teacher is the most important." - Bill Gates

"Innovation distinguishes between a leader and a follower." - Steve Jobs

CategoryList

Disclaimer

The information provided here is based on my expreriences, troubleshooting and online/offline findings. It can be used as is on your own risk without any warranties and I impose no rights.