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 +}