From 634984532d14771681e844210654cfc688f0fea2 Mon Sep 17 00:00:00 2001 From: Yahya Poonawala Date: Mon, 22 Dec 2014 23:08:15 +0530 Subject: [PATCH 1/3] Adding default network acl id attribute reference on creation of VPC. Fixes issue #466. --- builtin/providers/aws/resource_aws_vpc.go | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/builtin/providers/aws/resource_aws_vpc.go b/builtin/providers/aws/resource_aws_vpc.go index f64bb6e5b..6d791a88d 100644 --- a/builtin/providers/aws/resource_aws_vpc.go +++ b/builtin/providers/aws/resource_aws_vpc.go @@ -47,6 +47,11 @@ func resourceAwsVpc() *schema.Resource { Computed: true, }, + "default_network_acl_id": &schema.Schema{ + Type: schema.TypeString, + Computed: true, + }, + "tags": tagsSchema(), }, } @@ -139,6 +144,8 @@ func resourceAwsVpcRead(d *schema.ResourceData, meta interface{}) error { d.Set("main_route_table_id", v[0].RouteTableId) } + resourceAwsVpcSetDefaultNetworkAcl(ec2conn, d) + return nil } @@ -228,3 +235,20 @@ func VPCStateRefreshFunc(conn *ec2.EC2, id string) resource.StateRefreshFunc { return vpc, vpc.State, nil } } + + +func resourceAwsVpcSetDefaultNetworkAcl(conn *ec2.EC2, d *schema.ResourceData) error { + filter := ec2.NewFilter() + filter.Add("default", "true") + filter.Add("vpc-id", d.Id()) + networkAclResp, err := conn.NetworkAcls(nil, filter) + + if err != nil { + return err + } + if v := networkAclResp.NetworkAcls; len(v) > 0 { + d.Set("default_network_acl_id", v[0].NetworkAclId) + } + + return nil +} From 7860dc1ef657b31c29943998b86146a16a1a8a01 Mon Sep 17 00:00:00 2001 From: Yahya Poonawala Date: Tue, 23 Dec 2014 11:43:33 +0530 Subject: [PATCH 2/3] Adding default security group id attribute reference on creation of VPC. Fixes issue #466. --- builtin/providers/aws/resource_aws_vpc.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/builtin/providers/aws/resource_aws_vpc.go b/builtin/providers/aws/resource_aws_vpc.go index 6d791a88d..4df531940 100644 --- a/builtin/providers/aws/resource_aws_vpc.go +++ b/builtin/providers/aws/resource_aws_vpc.go @@ -52,6 +52,12 @@ func resourceAwsVpc() *schema.Resource { Computed: true, }, + "default_security_group_id": &schema.Schema{ + Type: schema.TypeString, + Computed: true, + }, + + "tags": tagsSchema(), }, } @@ -145,6 +151,7 @@ func resourceAwsVpcRead(d *schema.ResourceData, meta interface{}) error { } resourceAwsVpcSetDefaultNetworkAcl(ec2conn, d) + resourceAwsVpcSetDefaultSecurityGroup(ec2conn, d) return nil } @@ -252,3 +259,19 @@ func resourceAwsVpcSetDefaultNetworkAcl(conn *ec2.EC2, d *schema.ResourceData) e return nil } + +func resourceAwsVpcSetDefaultSecurityGroup(conn *ec2.EC2, d *schema.ResourceData) error { + filter := ec2.NewFilter() + filter.Add("group-name", "default") + filter.Add("vpc-id", d.Id()) + securityGroupResp, err := conn.SecurityGroups(nil, filter) + + if err != nil { + return err + } + if v := securityGroupResp.Groups; len(v) > 0 { + d.Set("default_security_group_id", v[0].Id) + } + + return nil +} From 7e4f41710734442de1c531e023736e2e94eb3221 Mon Sep 17 00:00:00 2001 From: Yahya Poonawala Date: Tue, 23 Dec 2014 11:49:07 +0530 Subject: [PATCH 3/3] Updating markdown file for VPC to reflect addition of default network acl id and security group id. --- website/source/docs/providers/aws/r/vpc.html.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/source/docs/providers/aws/r/vpc.html.markdown b/website/source/docs/providers/aws/r/vpc.html.markdown index 53611949b..f2ab8da16 100644 --- a/website/source/docs/providers/aws/r/vpc.html.markdown +++ b/website/source/docs/providers/aws/r/vpc.html.markdown @@ -54,3 +54,5 @@ The following attributes are exported: * `enable_dns_hostnames` - Whether or not the VPC has DNS hostname support * `main_route_table_id` - The ID of the main route table associated with this VPC. +* `default_network_acl_id` - The ID of the network ACL created by default on VPC creation +* `default_security_group_id` - The ID of the security group created by default on VPC creation