Skip to content

Commit

Permalink
ok
Browse files Browse the repository at this point in the history
Signed-off-by: Andrea Quintino <[email protected]>
  • Loading branch information
dirk39 committed Dec 16, 2021
1 parent 484f292 commit d74c36c
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 2 deletions.
2 changes: 1 addition & 1 deletion internal/service/ec2/default_vpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,5 @@ func resourceDefaultVPCCreate(d *schema.ResourceData, meta interface{}) error {
}
d.SetId(aws.StringValue(resp.Vpc.VpcId))

return resourceVPCRead(d, meta)
return resourceVPCUpdate(d, meta)
}
58 changes: 57 additions & 1 deletion internal/service/ec2/default_vpc_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ package ec2_test
import (
"testing"

"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/service/ec2"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-provider-aws/internal/acctest"
"github.com/hashicorp/terraform-provider-aws/internal/conns"
)

func TestAccEC2DefaultVPC_basic(t *testing.T) {
Expand All @@ -19,7 +21,8 @@ func TestAccEC2DefaultVPC_basic(t *testing.T) {
CheckDestroy: testAccCheckDefaultVPCDestroy,
Steps: []resource.TestStep{
{
Config: testAccDefaultVPCBasicConfig,
PreConfig: func() { destroyDefaultVPCBeforeTest(t) },
Config: testAccDefaultVPCBasicConfig,
Check: resource.ComposeTestCheckFunc(
acctest.CheckVPCExists("aws_default_vpc.foo", &vpc),
testAccCheckVpcCidr(&vpc, "172.31.0.0/16"),
Expand All @@ -44,6 +47,59 @@ func TestAccEC2DefaultVPC_basic(t *testing.T) {
})
}

func destroyDefaultVPCBeforeTest(t *testing.T) {
conn := acctest.Provider.Meta().(*conns.AWSClient).EC2Conn
req := &ec2.DescribeVpcsInput{
Filters: []*ec2.Filter{
{
Name: aws.String("isDefault"),
Values: aws.StringSlice([]string{"true"}),
},
},
}

resp, err := conn.DescribeVpcs(req)
if err != nil {
t.Fatalf("Error describing default vpcs: %s", err)
}

if resp.Vpcs == nil || len(resp.Vpcs) == 0 {
return // No vpc, all good
}

//delete all subnets
reqDS := &ec2.DescribeSubnetsInput{
Filters: []*ec2.Filter{
{
Name: aws.String("vpc-id"),
Values: aws.StringSlice([]string{aws.StringValue(resp.Vpcs[0].VpcId)}),
},
},
}

respDS, err := conn.DescribeSubnets(reqDS)
if err != nil {
t.Fatalf("Error describing default subnets: %s", err)
}
for _, subnet := range respDS.Subnets {
_, err := conn.DeleteSubnet(&ec2.DeleteSubnetInput{
SubnetId: subnet.SubnetId,
})
if err != nil {
t.Fatalf("Error deleting default subnet: %s", err)
}
}

delReq := &ec2.DeleteVpcInput{
VpcId: resp.Vpcs[0].VpcId,
}

_, err = conn.DeleteVpc(delReq)
if err != nil {
t.Fatalf("Error deleting default VPC: %s", err)
}
}

func testAccCheckDefaultVPCDestroy(s *terraform.State) error {
// We expect VPC to still exist
return nil
Expand Down

0 comments on commit d74c36c

Please sign in to comment.