Skip to content

Commit 552d613

Browse files
katbytetombuildsstuff
authored andcommitted
backport azure stack route_table PR review comments (#1790)
1 parent 86e5545 commit 552d613

File tree

2 files changed

+18
-31
lines changed

2 files changed

+18
-31
lines changed

azurerm/resource_arm_route_table.go

+17-29
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,17 @@ import (
88
"github.com/hashicorp/terraform/helper/schema"
99
"github.com/hashicorp/terraform/helper/validation"
1010
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/response"
11+
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/helpers/suppress"
1112
"github.com/terraform-providers/terraform-provider-azurerm/azurerm/utils"
1213
)
1314

1415
var routeTableResourceName = "azurerm_route_table"
1516

1617
func resourceArmRouteTable() *schema.Resource {
1718
return &schema.Resource{
18-
Create: resourceArmRouteTableCreate,
19+
Create: resourceArmRouteTableCreateUpdate,
1920
Read: resourceArmRouteTableRead,
20-
Update: resourceArmRouteTableCreate,
21+
Update: resourceArmRouteTableCreateUpdate,
2122
Delete: resourceArmRouteTableDelete,
2223

2324
Importer: &schema.ResourceImporter{
@@ -64,7 +65,7 @@ func resourceArmRouteTable() *schema.Resource {
6465
string(network.RouteNextHopTypeVirtualAppliance),
6566
string(network.RouteNextHopTypeNone),
6667
}, true),
67-
DiffSuppressFunc: ignoreCaseDiffSuppressFunc,
68+
DiffSuppressFunc: suppress.CaseDifference,
6869
},
6970

7071
"next_hop_in_ip_address": {
@@ -95,7 +96,7 @@ func resourceArmRouteTable() *schema.Resource {
9596
}
9697
}
9798

98-
func resourceArmRouteTableCreate(d *schema.ResourceData, meta interface{}) error {
99+
func resourceArmRouteTableCreateUpdate(d *schema.ResourceData, meta interface{}) error {
99100
client := meta.(*ArmClient).routeTablesClient
100101
ctx := meta.(*ArmClient).StopContext
101102

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

109-
routes, err := expandRouteTableRoutes(d)
110-
if err != nil {
111-
return fmt.Errorf("Error Expanding list of Route Table Routes: %+v", err)
112-
}
113-
114110
routeSet := network.RouteTable{
115111
Name: &name,
116112
Location: &location,
117113
RouteTablePropertiesFormat: &network.RouteTablePropertiesFormat{
118-
Routes: &routes,
114+
Routes: expandRouteTableRoutes(d),
119115
DisableBgpRoutePropagation: utils.Bool(d.Get("disable_bgp_route_propagation").(bool)),
120116
},
121117
Tags: expandTags(tags),
@@ -126,8 +122,7 @@ func resourceArmRouteTableCreate(d *schema.ResourceData, meta interface{}) error
126122
return fmt.Errorf("Error Creating/Updating Route Table %q (Resource Group %q): %+v", name, resGroup, err)
127123
}
128124

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

@@ -204,43 +199,36 @@ func resourceArmRouteTableDelete(d *schema.ResourceData, meta interface{}) error
204199
}
205200
}
206201

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

212206
return nil
213207
}
214208

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

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

222-
addressPrefix := data["address_prefix"].(string)
223-
nextHopType := data["next_hop_type"].(string)
224-
225-
properties := network.RoutePropertiesFormat{
226-
AddressPrefix: &addressPrefix,
227-
NextHopType: network.RouteNextHopType(nextHopType),
216+
route := network.Route{
217+
Name: utils.String(data["name"].(string)),
218+
RoutePropertiesFormat: &network.RoutePropertiesFormat{
219+
AddressPrefix: utils.String(data["address_prefix"].(string)),
220+
NextHopType: network.RouteNextHopType(data["next_hop_type"].(string)),
221+
},
228222
}
229223

230224
if v := data["next_hop_in_ip_address"].(string); v != "" {
231-
properties.NextHopIPAddress = &v
232-
}
233-
234-
name := data["name"].(string)
235-
route := network.Route{
236-
Name: &name,
237-
RoutePropertiesFormat: &properties,
225+
route.RoutePropertiesFormat.NextHopIPAddress = &v
238226
}
239227

240228
routes = append(routes, route)
241229
}
242230

243-
return routes, nil
231+
return &routes
244232
}
245233

246234
func flattenRouteTableRoutes(input *[]network.Route) []interface{} {

azurerm/resource_arm_subnet.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,7 @@ func resourceArmSubnetDelete(d *schema.ResourceData, meta interface{}) error {
247247
return fmt.Errorf("Error deleting Subnet %q (VN %q / Resource Group %q): %+v", name, vnetName, resGroup, err)
248248
}
249249

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

0 commit comments

Comments
 (0)