Skip to content

Commit

Permalink
[graph-editor] Change Dashboard WidgetCustomLink properties (#1062)
Browse files Browse the repository at this point in the history
* [graph-editor] Add support for context menu override for custom_links

* stash

* ready for review

* clean up changes

* update logic to handle field selection

* update client

* revert change

* make docs

* add test

* fix test

* revert cassettes change

* fix TestAccDatadogDashboardTopList

* revert datadog/tests/cassettes changes

* try to fix TestAccDatadogDashboardGeomap

* try fix TestAccDatadogDashboardTimeseries

* fix more tests

* try to fix TestAccDatadogDashboardTopList

* add cassettes

* Update datadog/resource_datadog_dashboard.go

Co-authored-by: skarimo <[email protected]>

* Update datadog/resource_datadog_dashboard.go

Co-authored-by: skarimo <[email protected]>

* update make docs

* add period

Co-authored-by: skarimo <[email protected]>
  • Loading branch information
qincchen and skarimo authored Jun 8, 2021
1 parent 993da8e commit ec7fc69
Show file tree
Hide file tree
Showing 68 changed files with 1,193 additions and 1,422 deletions.
53 changes: 41 additions & 12 deletions datadog/resource_datadog_dashboard.go
Original file line number Diff line number Diff line change
Expand Up @@ -5953,35 +5953,64 @@ func getWidgetCustomLinkSchema() map[string]*schema.Schema {
"label": {
Description: "The label for the custom link URL.",
Type: schema.TypeString,
Required: true,
Optional: true,
},
"link": {
Description: "The URL of the custom link.",
Type: schema.TypeString,
Required: true,
Optional: true,
},
"is_hidden": {
Description: "The flag for toggling context menu link visibility.",
Type: schema.TypeBool,
Optional: true,
},
"override_label": {
Description: "The label id that refers to a context menu link item. When override_label is provided, the client request will omit the label field.",
Type: schema.TypeString,
Optional: true,
},
}
}
func buildDatadogWidgetCustomLinks(terraformWidgetCustomLinks *[]interface{}) *[]datadogV1.WidgetCustomLink {
datadogWidgetCustomLinks := make([]datadogV1.WidgetCustomLink, len(*terraformWidgetCustomLinks))
for i, customLink := range *terraformWidgetCustomLinks {
terraformCustomLink := customLink.(map[string]interface{})
datadogWidgetCustomLink := datadogV1.WidgetCustomLink{
Label: datadogV1.PtrString(terraformCustomLink["label"].(string)),
Link: datadogV1.PtrString(terraformCustomLink["link"].(string)),
datadogWidgetCustomLink := datadogV1.WidgetCustomLink{}
if v, ok := terraformCustomLink["override_label"].(string); ok && len(v) > 0 {
datadogWidgetCustomLink.SetOverrideLabel(v)
}
// if override_label is provided, the label field will be omitted.
if v, ok := terraformCustomLink["label"].(string); ok && len(v) > 0 && !datadogWidgetCustomLink.HasOverrideLabel() {
datadogWidgetCustomLink.SetLabel(v)
}
if v, ok := terraformCustomLink["is_hidden"].(bool); ok && v && datadogWidgetCustomLink.HasOverrideLabel() {
datadogWidgetCustomLink.SetIsHidden(v)
}
if v, ok := terraformCustomLink["link"].(string); ok && len(v) > 0 {
datadogWidgetCustomLink.SetLink(v)
}
datadogWidgetCustomLinks[i] = datadogWidgetCustomLink
}
return &datadogWidgetCustomLinks
}
func buildTerraformWidgetCustomLinks(datadogWidgetCustomLinks *[]datadogV1.WidgetCustomLink) *[]map[string]string {
terraformWidgetCustomLinks := make([]map[string]string, len(*datadogWidgetCustomLinks))
func buildTerraformWidgetCustomLinks(datadogWidgetCustomLinks *[]datadogV1.WidgetCustomLink) *[]map[string]interface{} {
terraformWidgetCustomLinks := make([]map[string]interface{}, len(*datadogWidgetCustomLinks))
for i, customLink := range *datadogWidgetCustomLinks {
terraformWidgetCustomLink := map[string]string{}
// Required params
terraformWidgetCustomLink["label"] = customLink.GetLabel()
terraformWidgetCustomLink["link"] = customLink.GetLink()

terraformWidgetCustomLink := map[string]interface{}{}
// Optional params
if v, ok := customLink.GetLabelOk(); ok {
terraformWidgetCustomLink["label"] = *v
}
if v, ok := customLink.GetLinkOk(); ok {
terraformWidgetCustomLink["link"] = *v
}
if v, ok := customLink.GetOverrideLabelOk(); ok {
terraformWidgetCustomLink["override_label"] = *v
}
if v, ok := customLink.GetIsHiddenOk(); ok {
terraformWidgetCustomLink["is_hidden"] = *v
}
terraformWidgetCustomLinks[i] = terraformWidgetCustomLink
}
return &terraformWidgetCustomLinks
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2021-03-12T17:13:32.763037-05:00
2021-06-07T14:52:21.726734-04:00
70 changes: 35 additions & 35 deletions datadog/tests/cassettes/TestAccDatadogDashboardChange.yaml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1 +1 @@
2021-03-12T17:13:30.199134-05:00
2021-06-07T14:52:21.732309-04:00
70 changes: 35 additions & 35 deletions datadog/tests/cassettes/TestAccDatadogDashboardChange_import.yaml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1 +1 @@
2021-03-12T17:13:16.636793-05:00
2021-06-07T14:56:00.068169-04:00
70 changes: 35 additions & 35 deletions datadog/tests/cassettes/TestAccDatadogDashboardGeomap.yaml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1 +1 @@
2021-04-27T08:58:27.619933+02:00
2021-06-07T14:56:00.068244-04:00
112 changes: 35 additions & 77 deletions datadog/tests/cassettes/TestAccDatadogDashboardGeomapFormula.yaml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1 +1 @@
2021-04-27T08:58:27.620391+02:00
2021-06-07T14:56:00.071311-04:00
154 changes: 35 additions & 119 deletions datadog/tests/cassettes/TestAccDatadogDashboardGeomapFormula_import.yaml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1 +1 @@
2021-03-12T17:13:16.615202-05:00
2021-06-07T14:56:00.068519-04:00
66 changes: 33 additions & 33 deletions datadog/tests/cassettes/TestAccDatadogDashboardGeomap_import.yaml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1 +1 @@
2021-03-12T17:13:16.548459-05:00
2021-06-07T14:57:35.765228-04:00
70 changes: 35 additions & 35 deletions datadog/tests/cassettes/TestAccDatadogDashboardHeatMap.yaml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1 +1 @@
2021-03-12T17:13:16.46456-05:00
2021-06-07T14:57:35.765637-04:00
70 changes: 35 additions & 35 deletions datadog/tests/cassettes/TestAccDatadogDashboardHeatMap_import.yaml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1 +1 @@
2021-03-12T17:13:15.820444-05:00
2021-06-07T14:59:48.602905-04:00
Loading

0 comments on commit ec7fc69

Please sign in to comment.