renamed region to vpc_region for clarity and made optional, updated tests
This commit is contained in:
parent
450c42f166
commit
d02e247fc7
|
@ -27,9 +27,9 @@ func resourceAwsRoute53ZoneAssociation() *schema.Resource {
|
||||||
Required: true,
|
Required: true,
|
||||||
},
|
},
|
||||||
|
|
||||||
"region": &schema.Schema{
|
"vpc_region": &schema.Schema{
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Required: true,
|
Optional: true,
|
||||||
},
|
},
|
||||||
|
|
||||||
"association_id": &schema.Schema{
|
"association_id": &schema.Schema{
|
||||||
|
@ -47,10 +47,13 @@ func resourceAwsRoute53ZoneAssociationCreate(d *schema.ResourceData, meta interf
|
||||||
HostedZoneID: aws.String(d.Get("zone_id").(string)),
|
HostedZoneID: aws.String(d.Get("zone_id").(string)),
|
||||||
VPC: &route53.VPC{
|
VPC: &route53.VPC{
|
||||||
VPCID: aws.String(d.Get("vpc_id").(string)),
|
VPCID: aws.String(d.Get("vpc_id").(string)),
|
||||||
VPCRegion: aws.String(d.Get("region").(string)),
|
VPCRegion: aws.String(meta.(*AWSClient).region),
|
||||||
},
|
},
|
||||||
Comment: aws.String("Managed by Terraform"),
|
Comment: aws.String("Managed by Terraform"),
|
||||||
}
|
}
|
||||||
|
if w := d.Get("vpc_region"); w != nil {
|
||||||
|
req.VPC.VPCRegion = aws.String(w.(string))
|
||||||
|
}
|
||||||
|
|
||||||
log.Printf("[DEBUG] Associating Route53 Private Zone %s with VPC %s", *req.HostedZoneID, *req.VPC.VPCID)
|
log.Printf("[DEBUG] Associating Route53 Private Zone %s with VPC %s", *req.HostedZoneID, *req.VPC.VPCID)
|
||||||
resp, err := r53.AssociateVPCWithHostedZone(req)
|
resp, err := r53.AssociateVPCWithHostedZone(req)
|
||||||
|
@ -106,10 +109,13 @@ func resourceAwsRoute53ZoneAssociationDelete(d *schema.ResourceData, meta interf
|
||||||
HostedZoneID: aws.String(d.Get("zone_id").(string)),
|
HostedZoneID: aws.String(d.Get("zone_id").(string)),
|
||||||
VPC: &route53.VPC{
|
VPC: &route53.VPC{
|
||||||
VPCID: aws.String(d.Get("vpc_id").(string)),
|
VPCID: aws.String(d.Get("vpc_id").(string)),
|
||||||
VPCRegion: aws.String(d.Get("region").(string)),
|
VPCRegion: aws.String(meta.(*AWSClient).region),
|
||||||
},
|
},
|
||||||
Comment: aws.String("Managed by Terraform"),
|
Comment: aws.String("Managed by Terraform"),
|
||||||
}
|
}
|
||||||
|
if w := d.Get("vpc_region"); w != nil {
|
||||||
|
req.VPC.VPCRegion = aws.String(w.(string))
|
||||||
|
}
|
||||||
|
|
||||||
_, err := r53.DisassociateVPCFromHostedZone(req)
|
_, err := r53.DisassociateVPCFromHostedZone(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -77,25 +77,25 @@ func testAccCheckRoute53ZoneAssociationExists(n string, zone *route53.HostedZone
|
||||||
}
|
}
|
||||||
|
|
||||||
const testAccRoute53ZoneAssociationConfig = `
|
const testAccRoute53ZoneAssociationConfig = `
|
||||||
resource "aws_vpc" "mosakos" {
|
resource "aws_vpc" "foo" {
|
||||||
cidr_block = "10.6.0.0/16"
|
cidr_block = "10.6.0.0/16"
|
||||||
|
|
||||||
enable_dns_hostnames = true
|
enable_dns_hostnames = true
|
||||||
enable_dns_support = true
|
enable_dns_support = true
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_zone" "main" {
|
resource "aws_vpc" "bar" {
|
||||||
name = "mosakos.com"
|
cidr_block = "10.7.0.0/16"
|
||||||
|
enable_dns_hostnames = true
|
||||||
tags {
|
enable_dns_support = true
|
||||||
foo = "bar"
|
|
||||||
Name = "tf-route53-tag-test"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_zone_association" "main" {
|
resource "aws_route53_zone" "foo" {
|
||||||
vpc_id = "${aws_vpc.mosakos.id}"
|
name = "foo.com"
|
||||||
zone_id = "${aws_route53_zone.main.id}"
|
vpc_id = "${aws_vpc.foo.id}"
|
||||||
region = "us-west-2"
|
}
|
||||||
|
|
||||||
|
resource "aws_route53_zone_association" "foobar" {
|
||||||
|
zone_id = "${aws_route53_zone.foo.id}"
|
||||||
|
vpc_id = "${aws_vpc.bar.id}"
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
|
Loading…
Reference in New Issue