Make Routes in RouteTable optional
Otherwise it is impossible to get simple configurations with the "default" routing table, which is only the "local" route. The following contents of main.tf expose the bug, and boots an instance fine after this patch is applied: variable aws_access_key {} variable aws_secret_key {} variable aws_ubuntu_ami {} provider "aws" { access_key = "${var.aws_access_key}" secret_key = "${var.aws_secret_key}" region = "us-east-1" } resource "aws_vpc" "default" { cidr_block = "10.0.0.0/20" } resource "aws_route_table" "private" { vpc_id = "${aws_vpc.default.id}" # Note the lack of "route" sub-key here. } resource "aws_subnet" "private" { vpc_id = "${aws_vpc.default.id}" cidr_block = "10.0.1.0/24" } resource "aws_route_table_association" "private" { subnet_id = "${aws_subnet.private.id}" route_table_id = "${aws_route_table.private.id}" } # Demonstrate an instance can be booted fine in this fashion. resource "aws_instance" "sample" { ami = "${var.aws_ubuntu_ami}" instance_type = "t2.micro" subnet_id = "${aws_subnet.private.id}" } terraform.tfvars for completeness: aws_access_key = "..." aws_secret_key = "..." # A public Trusty AMI aws_ubuntu_ami = "ami-9aaa1cf2"
This commit is contained in:
parent
e53bf23c0c
commit
67b03247ec
|
@ -41,9 +41,9 @@ func init() {
|
||||||
ConfigValidator: &config.Validator{
|
ConfigValidator: &config.Validator{
|
||||||
Required: []string{
|
Required: []string{
|
||||||
"vpc_id",
|
"vpc_id",
|
||||||
"route.*.cidr_block",
|
|
||||||
},
|
},
|
||||||
Optional: []string{
|
Optional: []string{
|
||||||
|
"route.*.cidr_block",
|
||||||
"route.*.gateway_id",
|
"route.*.gateway_id",
|
||||||
"route.*.instance_id",
|
"route.*.instance_id",
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue