Skip to content

Commit 822d46e

Browse files
committed
set field only for 4.20 and above
1 parent 8fa8d12 commit 822d46e

3 files changed

Lines changed: 21 additions & 4 deletions

File tree

cloudstack/data_source_cloudstack_network_offering.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,12 @@ func networkOfferingDescriptionAttributes(d *schema.ResourceData, networkOfferin
164164
d.Set("guest_ip_type", networkOffering.Guestiptype)
165165
d.Set("traffic_type", networkOffering.Traffictype)
166166
d.Set("network_rate", networkOffering.Networkrate)
167-
d.Set("network_mode", networkOffering.Networkmode)
167+
168+
// Only set if CloudStack supports these fields (4.20.0+)
169+
if networkOffering.Networkmode != "" {
170+
d.Set("network_mode", networkOffering.Networkmode)
171+
}
172+
168173
d.Set("conserve_mode", networkOffering.Conservemode)
169174
d.Set("enable", networkOffering.State == "Enabled")
170175
d.Set("for_vpc", networkOffering.Forvpc)
@@ -173,7 +178,11 @@ func networkOfferingDescriptionAttributes(d *schema.ResourceData, networkOfferin
173178
d.Set("specify_ip_ranges", networkOffering.Specifyipranges)
174179
d.Set("specify_as_number", networkOffering.Specifyasnumber)
175180
d.Set("internet_protocol", networkOffering.Internetprotocol)
176-
d.Set("routing_mode", networkOffering.Routingmode)
181+
182+
// Only set if CloudStack supports this field (4.20.0+)
183+
if networkOffering.Routingmode != "" {
184+
d.Set("routing_mode", networkOffering.Routingmode)
185+
}
177186

178187
if networkOffering.Maxconnections > 0 {
179188
d.Set("max_connections", networkOffering.Maxconnections)

cloudstack/resource_cloudstack_network_offering.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,11 @@ func resourceCloudStackNetworkOfferingRead(d *schema.ResourceData, meta interfac
354354
d.Set("network_rate", n.Networkrate)
355355
}
356356
if _, ok := d.GetOk("network_mode"); ok {
357-
d.Set("network_mode", n.Networkmode)
357+
// Only set if CloudStack supports and returns this field (4.20.0+)
358+
// Older versions may not support network_mode
359+
if n.Networkmode != "" {
360+
d.Set("network_mode", n.Networkmode)
361+
}
358362
}
359363
if _, ok := d.GetOk("conserve_mode"); ok {
360364
d.Set("conserve_mode", n.Conservemode)
@@ -381,7 +385,11 @@ func resourceCloudStackNetworkOfferingRead(d *schema.ResourceData, meta interfac
381385
d.Set("internet_protocol", n.Internetprotocol)
382386
}
383387
if _, ok := d.GetOk("routing_mode"); ok {
384-
d.Set("routing_mode", n.Routingmode)
388+
// Only set if CloudStack supports and returns this field (4.20.0+)
389+
// Older versions may not support routing_mode
390+
if n.Routingmode != "" {
391+
d.Set("routing_mode", n.Routingmode)
392+
}
385393
}
386394
if _, ok := d.GetOk("max_connections"); ok {
387395
log.Printf("[DEBUG] Max connections configured: %d, CloudStack returned: %d", d.Get("max_connections").(int), n.Maxconnections)

terraform-provider-cloudstack

39.4 MB
Binary file not shown.

0 commit comments

Comments
 (0)