Skip to content

Commit b145934

Browse files
committed
set params only when available
1 parent 7ae4c85 commit b145934

File tree

1 file changed

+43
-17
lines changed

1 file changed

+43
-17
lines changed

cloudstack/resource_cloudstack_network_offering.go

Lines changed: 43 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -349,30 +349,56 @@ func resourceCloudStackNetworkOfferingRead(d *schema.ResourceData, meta interfac
349349
d.Set("display_text", n.Displaytext)
350350
d.Set("guest_ip_type", n.Guestiptype)
351351
d.Set("traffic_type", n.Traffictype)
352-
d.Set("network_rate", n.Networkrate)
353-
d.Set("network_mode", n.Networkmode)
354-
d.Set("conserve_mode", n.Conservemode)
355-
d.Set("enable", n.State == "Enabled")
356-
d.Set("for_vpc", n.Forvpc)
357-
d.Set("for_nsx", n.Fornsx)
358-
d.Set("specify_vlan", n.Specifyvlan)
359-
d.Set("specify_ip_ranges", n.Specifyipranges)
360-
d.Set("specify_as_number", n.Specifyasnumber)
361-
d.Set("internet_protocol", n.Internetprotocol)
362-
d.Set("routing_mode", n.Routingmode)
363-
d.Set("max_connections", n.Maxconnections)
364-
365-
// Set supported services
366-
if len(n.Service) > 0 {
352+
353+
// Only set optional attributes if they were specified in the configuration
354+
if _, ok := d.GetOk("network_rate"); ok {
355+
d.Set("network_rate", n.Networkrate)
356+
}
357+
if _, ok := d.GetOk("network_mode"); ok {
358+
d.Set("network_mode", n.Networkmode)
359+
}
360+
if _, ok := d.GetOk("conserve_mode"); ok {
361+
d.Set("conserve_mode", n.Conservemode)
362+
}
363+
if _, ok := d.GetOk("enable"); ok {
364+
d.Set("enable", n.State == "Enabled")
365+
}
366+
if _, ok := d.GetOk("for_vpc"); ok {
367+
d.Set("for_vpc", n.Forvpc)
368+
}
369+
if _, ok := d.GetOk("for_nsx"); ok {
370+
d.Set("for_nsx", n.Fornsx)
371+
}
372+
if _, ok := d.GetOk("specify_vlan"); ok {
373+
d.Set("specify_vlan", n.Specifyvlan)
374+
}
375+
if _, ok := d.GetOk("specify_ip_ranges"); ok {
376+
d.Set("specify_ip_ranges", n.Specifyipranges)
377+
}
378+
if _, ok := d.GetOk("specify_as_number"); ok {
379+
d.Set("specify_as_number", n.Specifyasnumber)
380+
}
381+
if _, ok := d.GetOk("internet_protocol"); ok {
382+
d.Set("internet_protocol", n.Internetprotocol)
383+
}
384+
if _, ok := d.GetOk("routing_mode"); ok {
385+
d.Set("routing_mode", n.Routingmode)
386+
}
387+
if _, ok := d.GetOk("max_connections"); ok {
388+
d.Set("max_connections", n.Maxconnections)
389+
}
390+
391+
// Set supported services if specified
392+
if _, ok := d.GetOk("supported_services"); ok && len(n.Service) > 0 {
367393
services := make([]string, len(n.Service))
368394
for i, service := range n.Service {
369395
services[i] = service.Name
370396
}
371397
d.Set("supported_services", services)
372398
}
373399

374-
// Set service provider list
375-
if len(n.Service) > 0 {
400+
// Set service provider list if specified
401+
if _, ok := d.GetOk("service_provider_list"); ok && len(n.Service) > 0 {
376402
serviceProviders := make(map[string]string)
377403
for _, service := range n.Service {
378404
if len(service.Provider) > 0 {

0 commit comments

Comments
 (0)