Skip to content

Commit dfc1740

Browse files
Ensured that the new properties with default value = true are getting exported correctly
1 parent ddc3818 commit dfc1740

File tree

1 file changed

+26
-28
lines changed

1 file changed

+26
-28
lines changed

dynatrace/api/v1/config/synthetic/monitors/browser/settings/script_config.go

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package browser
1919

2020
import (
2121
"github.com/dynatrace-oss/terraform-provider-dynatrace/dynatrace/api/v1/config/synthetic/monitors/request"
22+
"github.com/dynatrace-oss/terraform-provider-dynatrace/dynatrace/opt"
2223

2324
"github.com/dynatrace-oss/terraform-provider-dynatrace/terraform/hcl"
2425

@@ -248,10 +249,10 @@ type JavascriptSettings struct {
248249
TimeoutSettings *TimeoutSettings `json:"timeoutSettings"`
249250
CustomProperties *string `json:"customProperties"`
250251
VisuallyCompleteOptions *VisuallyCompleteOptions `json:"visuallyCompleteOptions"`
251-
FetchRequests bool `json:"fetchRequests" `
252-
XMLHttpRequests bool `json:"xmlHttpRequests"`
253-
JavaScriptErrors bool `json:"javaScriptErrors"`
254-
TimedActions bool `json:"timedActions"`
252+
FetchRequests *bool `json:"fetchRequests" `
253+
XMLHttpRequests *bool `json:"xmlHttpRequests"`
254+
JavaScriptErrors *bool `json:"javaScriptErrors"`
255+
TimedActions *bool `json:"timedActions"`
255256
}
256257

257258
func (me *JavascriptSettings) Schema() map[string]*schema.Schema {
@@ -302,6 +303,13 @@ func (me *JavascriptSettings) Schema() map[string]*schema.Schema {
302303
}
303304
}
304305

306+
func setDefaultTrue(properties hcl.Properties, name string, value *bool) {
307+
if value == nil {
308+
value = opt.NewBool(true)
309+
}
310+
properties[name] = *value
311+
}
312+
305313
func (me *JavascriptSettings) MarshalHCL(properties hcl.Properties) error {
306314
if err := properties.Encode("timeout_settings", me.TimeoutSettings); err != nil {
307315
return err
@@ -314,21 +322,18 @@ func (me *JavascriptSettings) MarshalHCL(properties hcl.Properties) error {
314322
return err
315323
}
316324
}
317-
if err := properties.Encode("fetch_requests", me.FetchRequests); err != nil {
318-
return err
319-
}
320-
if err := properties.Encode("xml_http_requests", me.XMLHttpRequests); err != nil {
321-
return err
322-
}
323-
if err := properties.Encode("javascript_errors", me.JavaScriptErrors); err != nil {
324-
return err
325-
}
326-
if err := properties.Encode("timed_actions", me.TimedActions); err != nil {
327-
return err
328-
}
325+
setDefaultTrue(properties, "fetch_requests", me.FetchRequests)
326+
setDefaultTrue(properties, "xml_http_requests", me.XMLHttpRequests)
327+
setDefaultTrue(properties, "javascript_errors", me.JavaScriptErrors)
328+
setDefaultTrue(properties, "timed_actions", me.TimedActions)
329329
return nil
330330
}
331331

332+
func decodeDefaultTrue(decoder hcl.Decoder, name string) *bool {
333+
boolValue, _ := decoder.GetOk(name)
334+
return opt.NewBool(boolValue.(bool))
335+
}
336+
332337
func (me *JavascriptSettings) UnmarshalHCL(decoder hcl.Decoder) error {
333338
if err := decoder.Decode("timeout_settings", &me.TimeoutSettings); err != nil {
334339
return err
@@ -339,18 +344,11 @@ func (me *JavascriptSettings) UnmarshalHCL(decoder hcl.Decoder) error {
339344
if err := decoder.Decode("custom_properties", &me.CustomProperties); err != nil {
340345
return err
341346
}
342-
if err := decoder.Decode("fetch_requests", &me.FetchRequests); err != nil {
343-
return err
344-
}
345-
if err := decoder.Decode("xml_http_requests", &me.XMLHttpRequests); err != nil {
346-
return err
347-
}
348-
if err := decoder.Decode("javascript_errors", &me.JavaScriptErrors); err != nil {
349-
return err
350-
}
351-
if err := decoder.Decode("timed_actions", &me.TimedActions); err != nil {
352-
return err
353-
}
347+
348+
me.FetchRequests = decodeDefaultTrue(decoder, "fetch_requests")
349+
me.XMLHttpRequests = decodeDefaultTrue(decoder, "xml_http_requests")
350+
me.JavaScriptErrors = decodeDefaultTrue(decoder, "javascript_errors")
351+
me.TimedActions = decodeDefaultTrue(decoder, "timed_actions")
354352
return nil
355353
}
356354

0 commit comments

Comments
 (0)