Skip to content

Commit fab9b16

Browse files
Carles FiguerolaCarles Figuerola
authored andcommitted
Move tests to ParseCIDR in resource_cloudstack_network and add items in read section
1 parent c80ddcc commit fab9b16

1 file changed

Lines changed: 14 additions & 25 deletions

File tree

builtin/providers/cloudstack/resource_cloudstack_network.go

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -117,25 +117,10 @@ func resourceCloudStackNetworkCreate(d *schema.ResourceData, meta interface{}) e
117117
if !ok {
118118
displaytext = name
119119
}
120-
121120
// Create a new parameter struct
122121
p := cs.Network.NewCreateNetworkParams(displaytext.(string), name, networkofferingid, zoneid)
123122

124-
// Get the network details from the CIDR
125-
m := make(map[string]string, 4)
126-
cidr := d.Get("cidr").(string)
127-
m["cidr"] = cidr
128-
if startip, ok := d.GetOk("startip"); ok {
129-
m["startip"] = startip.(string)
130-
}
131-
if endip, ok := d.GetOk("endip"); ok {
132-
m["endip"] = endip.(string)
133-
}
134-
if gateway, ok := d.GetOk("gateway"); ok {
135-
m["gateway"] = gateway.(string)
136-
}
137-
138-
m, err := parseCIDR(m)
123+
m, err := parseCIDR(d)
139124
if err != nil {
140125
return err
141126
}
@@ -211,6 +196,8 @@ func resourceCloudStackNetworkRead(d *schema.ResourceData, meta interface{}) err
211196
d.Set("name", n.Name)
212197
d.Set("display_text", n.Displaytext)
213198
d.Set("cidr", n.Cidr)
199+
d.Set("gateway", n.Gateway)
200+
d.Set("vlan", n.Vlan)
214201

215202
setValueOrID(d, "network_offering", n.Networkofferingname, n.Networkofferingid)
216203
setValueOrID(d, "project", n.Project, n.Projectid)
@@ -285,32 +272,34 @@ func resourceCloudStackNetworkDelete(d *schema.ResourceData, meta interface{}) e
285272
return nil
286273
}
287274

288-
func parseCIDR(m_in map[string]string) (map[string]string, error) {
275+
func parseCIDR(d *schema.ResourceData) (map[string]string, error) {
289276
m := make(map[string]string, 4)
290277

291-
ip, ipnet, err := net.ParseCIDR(m_in["cidr"])
278+
cidr := d.Get("cidr").(string)
279+
ip, ipnet, err := net.ParseCIDR(cidr)
292280
if err != nil {
293-
return nil, fmt.Errorf("Unable to parse cidr %s: %s", m_in["cidr"], err)
281+
return nil, fmt.Errorf("Unable to parse cidr %s: %s", cidr, err)
294282
}
295283

296284
msk := ipnet.Mask
297285
sub := ip.Mask(msk)
298286

299287
m["netmask"] = fmt.Sprintf("%d.%d.%d.%d", msk[0], msk[1], msk[2], msk[3])
300-
if gateway, ok := m_in["gateway"]; ok {
301-
m["gateway"] = gateway
288+
289+
if gateway, ok := d.GetOk("gateway"); ok {
290+
m["gateway"] = gateway.(string)
302291
} else {
303292
m["gateway"] = fmt.Sprintf("%d.%d.%d.%d", sub[0], sub[1], sub[2], sub[3]+1)
304293
}
305294

306-
if startip, ok := m_in["startip"]; ok {
307-
m["startip"] = startip
295+
if startip, ok := d.GetOk("startip"); ok {
296+
m["startip"] = startip.(string)
308297
} else {
309298
m["startip"] = fmt.Sprintf("%d.%d.%d.%d", sub[0], sub[1], sub[2], sub[3]+2)
310299
}
311300

312-
if endip, ok := m_in["endip"]; ok {
313-
m["endip"] = endip
301+
if endip, ok := d.GetOk("endip"); ok {
302+
m["endip"] = endip.(string)
314303
} else {
315304
m["endip"] = fmt.Sprintf("%d.%d.%d.%d",
316305
sub[0]+(0xff-msk[0]), sub[1]+(0xff-msk[1]), sub[2]+(0xff-msk[2]), sub[3]+(0xff-msk[3]-1))

0 commit comments

Comments
 (0)