Skip to content

Commit

Permalink
backport azure stack route_table PR review comments (#1790)
Browse files Browse the repository at this point in the history
  • Loading branch information
katbyte authored and tombuildsstuff committed Aug 21, 2018
1 parent 86e5545 commit 552d613
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 31 deletions.
46 changes: 17 additions & 29 deletions azurerm/resource_arm_route_table.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,17 @@ import (
"github.com/hashicorp/terraform/helper/schema"
"github.com/hashicorp/terraform/helper/validation"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/response"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/suppress"
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils"
)

var routeTableResourceName = "azurerm_route_table"

func resourceArmRouteTable() *schema.Resource {
return &schema.Resource{
Create: resourceArmRouteTableCreate,
Create: resourceArmRouteTableCreateUpdate,
Read: resourceArmRouteTableRead,
Update: resourceArmRouteTableCreate,
Update: resourceArmRouteTableCreateUpdate,
Delete: resourceArmRouteTableDelete,

Importer: &schema.ResourceImporter{
Expand Down Expand Up @@ -64,7 +65,7 @@ func resourceArmRouteTable() *schema.Resource {
string(network.RouteNextHopTypeVirtualAppliance),
string(network.RouteNextHopTypeNone),
}, true),
DiffSuppressFunc: ignoreCaseDiffSuppressFunc,
DiffSuppressFunc: suppress.CaseDifference,
},

"next_hop_in_ip_address": {
Expand Down Expand Up @@ -95,7 +96,7 @@ func resourceArmRouteTable() *schema.Resource {
}
}

func resourceArmRouteTableCreate(d *schema.ResourceData, meta interface{}) error {
func resourceArmRouteTableCreateUpdate(d *schema.ResourceData, meta interface{}) error {
client := meta.(*ArmClient).routeTablesClient
ctx := meta.(*ArmClient).StopContext

Expand All @@ -106,16 +107,11 @@ func resourceArmRouteTableCreate(d *schema.ResourceData, meta interface{}) error
resGroup := d.Get("resource_group_name").(string)
tags := d.Get("tags").(map[string]interface{})

routes, err := expandRouteTableRoutes(d)
if err != nil {
return fmt.Errorf("Error Expanding list of Route Table Routes: %+v", err)
}

routeSet := network.RouteTable{
Name: &name,
Location: &location,
RouteTablePropertiesFormat: &network.RouteTablePropertiesFormat{
Routes: &routes,
Routes: expandRouteTableRoutes(d),
DisableBgpRoutePropagation: utils.Bool(d.Get("disable_bgp_route_propagation").(bool)),
},
Tags: expandTags(tags),
Expand All @@ -126,8 +122,7 @@ func resourceArmRouteTableCreate(d *schema.ResourceData, meta interface{}) error
return fmt.Errorf("Error Creating/Updating Route Table %q (Resource Group %q): %+v", name, resGroup, err)
}

err = future.WaitForCompletionRef(ctx, client.Client)
if err != nil {
if err = future.WaitForCompletionRef(ctx, client.Client); err != nil {
return fmt.Errorf("Error waiting for completion of Route Table %q (Resource Group %q): %+v", name, resGroup, err)
}

Expand Down Expand Up @@ -204,43 +199,36 @@ func resourceArmRouteTableDelete(d *schema.ResourceData, meta interface{}) error
}
}

err = future.WaitForCompletionRef(ctx, client.Client)
if err != nil {
if err := future.WaitForCompletionRef(ctx, client.Client); err != nil {
return fmt.Errorf("Error waiting for deletion of Route Table %q (Resource Group %q): %+v", name, resGroup, err)
}

return nil
}

func expandRouteTableRoutes(d *schema.ResourceData) ([]network.Route, error) {
func expandRouteTableRoutes(d *schema.ResourceData) *[]network.Route {
configs := d.Get("route").([]interface{})
routes := make([]network.Route, 0, len(configs))

for _, configRaw := range configs {
data := configRaw.(map[string]interface{})

addressPrefix := data["address_prefix"].(string)
nextHopType := data["next_hop_type"].(string)

properties := network.RoutePropertiesFormat{
AddressPrefix: &addressPrefix,
NextHopType: network.RouteNextHopType(nextHopType),
route := network.Route{
Name: utils.String(data["name"].(string)),
RoutePropertiesFormat: &network.RoutePropertiesFormat{
AddressPrefix: utils.String(data["address_prefix"].(string)),
NextHopType: network.RouteNextHopType(data["next_hop_type"].(string)),
},
}

if v := data["next_hop_in_ip_address"].(string); v != "" {
properties.NextHopIPAddress = &v
}

name := data["name"].(string)
route := network.Route{
Name: &name,
RoutePropertiesFormat: &properties,
route.RoutePropertiesFormat.NextHopIPAddress = &v
}

routes = append(routes, route)
}

return routes, nil
return &routes
}

func flattenRouteTableRoutes(input *[]network.Route) []interface{} {
Expand Down
3 changes: 1 addition & 2 deletions azurerm/resource_arm_subnet.go
Original file line number Diff line number Diff line change
Expand Up @@ -247,8 +247,7 @@ func resourceArmSubnetDelete(d *schema.ResourceData, meta interface{}) error {
return fmt.Errorf("Error deleting Subnet %q (VN %q / Resource Group %q): %+v", name, vnetName, resGroup, err)
}

err = future.WaitForCompletionRef(ctx, client.Client)
if err != nil {
if err = future.WaitForCompletionRef(ctx, client.Client); err != nil {
return fmt.Errorf("Error waiting for completion for Subnet %q (VN %q / Resource Group %q): %+v", name, vnetName, resGroup, err)
}

Expand Down

0 comments on commit 552d613

Please sign in to comment.