From f64b5bdf5473eeab1416f217297250321e1da8f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Herv=C3=A9?= Date: Mon, 7 Sep 2020 18:17:00 +0200 Subject: [PATCH 1/6] Add to dashboard list --- datadog/resource_datadog_dashboard.go | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/datadog/resource_datadog_dashboard.go b/datadog/resource_datadog_dashboard.go index 96b2ea9c8..0e31c2e49 100644 --- a/datadog/resource_datadog_dashboard.go +++ b/datadog/resource_datadog_dashboard.go @@ -6,6 +6,7 @@ import ( "strings" datadogV1 "github.com/DataDog/datadog-api-client-go/api/v1/datadog" + datadogV2 "github.com/DataDog/datadog-api-client-go/api/v2/datadog" "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/helper/validation" @@ -80,6 +81,12 @@ func resourceDatadogDashboard() *schema.Resource { Description: "The list of handles of users to notify when changes are made to this dashboard.", Elem: &schema.Schema{Type: schema.TypeString}, }, + "dashboard_lists": { + Type: schema.TypeList, + Optional: true, + Description: "The list of dashboard lists this dashboard belongs to", + Elem: &schema.Schema{Type: schema.TypeInt}, + }, }, } } @@ -106,6 +113,28 @@ func resourceDatadogDashboardCreate(d *schema.ResourceData, meta interface{}) er } return resource.NonRetryableError(err) } + if v, ok := d.GetOk("dashboard_lists"); ok && len(v.([]int64)) > 0 { + itemsRequest := make([]datadogV2.DashboardListItemRequest, 1) + dashTypeString := "custom_screenboard" + if d.Get("layout_type").(string) == "free" { + dashTypeString = "custom_timeboard" + } + + dashType := datadogV2.DashboardType(dashTypeString) + itemsRequest[0] = *datadogV2.NewDashboardListItemRequest(*dashboard.Id, dashType) + items := datadogV2.NewDashboardListAddItemsRequest() + items.SetDashboards(itemsRequest) + + datadogClientV2 := providerConf.DatadogClientV2 + authV2 := providerConf.AuthV2 + for _, id := range v.([]int64) { + _, _, err := datadogClientV2.DashboardListsApi.CreateDashboardListItems(authV2, id).Body(*items).Execute() + if err != nil { + return resource.NonRetryableError(err) + } + } + } + return resource.NonRetryableError(loadDatadogDashboard(d, getDashboard)) }) } From 3bfaacbb7bd78f4d9b45a030709748d51249a638 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Herv=C3=A9?= Date: Tue, 8 Sep 2020 17:21:56 +0200 Subject: [PATCH 2/6] Update the list --- datadog/resource_datadog_dashboard.go | 73 ++++++++++++++++++++++++--- 1 file changed, 67 insertions(+), 6 deletions(-) diff --git a/datadog/resource_datadog_dashboard.go b/datadog/resource_datadog_dashboard.go index 0e31c2e49..dcfa47cd8 100644 --- a/datadog/resource_datadog_dashboard.go +++ b/datadog/resource_datadog_dashboard.go @@ -2,6 +2,7 @@ package datadog import ( "fmt" + "log" "strconv" "strings" @@ -19,6 +20,15 @@ func resourceDatadogDashboard() *schema.Resource { Read: resourceDatadogDashboardRead, Delete: resourceDatadogDashboardDelete, Exists: resourceDatadogDashboardExists, + CustomizeDiff: func(diff *schema.ResourceDiff, meta interface{}) error { + old, new := diff.GetChange("dashboard_lists") + if !old.(*schema.Set).Equal(new.(*schema.Set)) { + // Only calculate removed when the list change, to no create useless diffs + removed := old.(*schema.Set).Difference(new.(*schema.Set)) + diff.SetNew("dashboard_lists_removed", removed) + } + return nil + }, Importer: &schema.ResourceImporter{ State: resourceDatadogDashboardImport, }, @@ -82,9 +92,15 @@ func resourceDatadogDashboard() *schema.Resource { Elem: &schema.Schema{Type: schema.TypeString}, }, "dashboard_lists": { - Type: schema.TypeList, + Type: schema.TypeSet, Optional: true, - Description: "The list of dashboard lists this dashboard belongs to", + Description: "The list of dashboard lists this dashboard belongs to.", + Elem: &schema.Schema{Type: schema.TypeInt}, + }, + "dashboard_lists_removed": { + Type: schema.TypeSet, + Computed: true, + Description: "The list of dashboard lists this dashboard should be removed from. Internal only.", Elem: &schema.Schema{Type: schema.TypeInt}, }, }, @@ -113,7 +129,7 @@ func resourceDatadogDashboardCreate(d *schema.ResourceData, meta interface{}) er } return resource.NonRetryableError(err) } - if v, ok := d.GetOk("dashboard_lists"); ok && len(v.([]int64)) > 0 { + if v, ok := d.GetOk("dashboard_lists"); ok && v.(*schema.Set).Len() > 0 { itemsRequest := make([]datadogV2.DashboardListItemRequest, 1) dashTypeString := "custom_screenboard" if d.Get("layout_type").(string) == "free" { @@ -127,10 +143,10 @@ func resourceDatadogDashboardCreate(d *schema.ResourceData, meta interface{}) er datadogClientV2 := providerConf.DatadogClientV2 authV2 := providerConf.AuthV2 - for _, id := range v.([]int64) { - _, _, err := datadogClientV2.DashboardListsApi.CreateDashboardListItems(authV2, id).Body(*items).Execute() + for _, id := range v.(*schema.Set).List() { + _, _, err := datadogClientV2.DashboardListsApi.CreateDashboardListItems(authV2, int64(id.(int))).Body(*items).Execute() if err != nil { - return resource.NonRetryableError(err) + log.Printf("[DEBUG] Got error updating dashboard list %d: %v", id.(int), err) } } } @@ -151,6 +167,51 @@ func resourceDatadogDashboardUpdate(d *schema.ResourceData, meta interface{}) er if _, _, err = datadogClientV1.DashboardsApi.UpdateDashboard(authV1, id).Body(*dashboard).Execute(); err != nil { return translateClientError(err, "error updating dashboard") } + + if v, ok := d.GetOk("dashboard_lists"); ok && v.(*schema.Set).Len() > 0 { + itemsRequest := make([]datadogV2.DashboardListItemRequest, 1) + dashTypeString := "custom_screenboard" + if d.Get("layout_type").(string) == "free" { + dashTypeString = "custom_timeboard" + } + + dashType := datadogV2.DashboardType(dashTypeString) + itemsRequest[0] = *datadogV2.NewDashboardListItemRequest(*dashboard.Id, dashType) + items := datadogV2.NewDashboardListAddItemsRequest() + items.SetDashboards(itemsRequest) + + datadogClientV2 := providerConf.DatadogClientV2 + authV2 := providerConf.AuthV2 + for _, id := range v.(*schema.Set).List() { + _, _, err := datadogClientV2.DashboardListsApi.CreateDashboardListItems(authV2, int64(id.(int))).Body(*items).Execute() + if err != nil { + log.Printf("[DEBUG] Got error updating dashboard list %d: %v", id.(int), err) + } + } + } + + if v, ok := d.GetOk("dashboard_lists_removed"); ok && v.(*schema.Set).Len() > 0 { + itemsRequest := make([]datadogV2.DashboardListItemRequest, 1) + dashTypeString := "custom_screenboard" + if d.Get("layout_type").(string) == "free" { + dashTypeString = "custom_timeboard" + } + + dashType := datadogV2.DashboardType(dashTypeString) + itemsRequest[0] = *datadogV2.NewDashboardListItemRequest(*dashboard.Id, dashType) + items := datadogV2.NewDashboardListDeleteItemsRequest() + items.SetDashboards(itemsRequest) + + datadogClientV2 := providerConf.DatadogClientV2 + authV2 := providerConf.AuthV2 + for _, id := range v.(*schema.Set).List() { + _, _, err := datadogClientV2.DashboardListsApi.DeleteDashboardListItems(authV2, int64(id.(int))).Body(*items).Execute() + if err != nil { + log.Printf("[DEBUG] Got error updating dashboard list %d: %v", id.(int), err) + } + } + } + return resourceDatadogDashboardRead(d, meta) } From d332373fea222861e257e3af97b813780b51f826 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Herv=C3=A9?= Date: Wed, 9 Sep 2020 10:43:31 +0200 Subject: [PATCH 3/6] Refactor to reduce duplication --- datadog/resource_datadog_dashboard.go | 63 ++++++++------------------- 1 file changed, 19 insertions(+), 44 deletions(-) diff --git a/datadog/resource_datadog_dashboard.go b/datadog/resource_datadog_dashboard.go index dcfa47cd8..8f344deeb 100644 --- a/datadog/resource_datadog_dashboard.go +++ b/datadog/resource_datadog_dashboard.go @@ -129,27 +129,9 @@ func resourceDatadogDashboardCreate(d *schema.ResourceData, meta interface{}) er } return resource.NonRetryableError(err) } - if v, ok := d.GetOk("dashboard_lists"); ok && v.(*schema.Set).Len() > 0 { - itemsRequest := make([]datadogV2.DashboardListItemRequest, 1) - dashTypeString := "custom_screenboard" - if d.Get("layout_type").(string) == "free" { - dashTypeString = "custom_timeboard" - } - dashType := datadogV2.DashboardType(dashTypeString) - itemsRequest[0] = *datadogV2.NewDashboardListItemRequest(*dashboard.Id, dashType) - items := datadogV2.NewDashboardListAddItemsRequest() - items.SetDashboards(itemsRequest) - - datadogClientV2 := providerConf.DatadogClientV2 - authV2 := providerConf.AuthV2 - for _, id := range v.(*schema.Set).List() { - _, _, err := datadogClientV2.DashboardListsApi.CreateDashboardListItems(authV2, int64(id.(int))).Body(*items).Execute() - if err != nil { - log.Printf("[DEBUG] Got error updating dashboard list %d: %v", id.(int), err) - } - } - } + // We only log the error, as failing to update the list shouldn't fail dashboard creation + updateDashboarLists(d, providerConf, *dashboard.Id) return resource.NonRetryableError(loadDatadogDashboard(d, getDashboard)) }) @@ -168,51 +150,44 @@ func resourceDatadogDashboardUpdate(d *schema.ResourceData, meta interface{}) er return translateClientError(err, "error updating dashboard") } - if v, ok := d.GetOk("dashboard_lists"); ok && v.(*schema.Set).Len() > 0 { - itemsRequest := make([]datadogV2.DashboardListItemRequest, 1) - dashTypeString := "custom_screenboard" - if d.Get("layout_type").(string) == "free" { - dashTypeString = "custom_timeboard" - } + updateDashboarLists(d, providerConf, *dashboard.Id) + + return resourceDatadogDashboardRead(d, meta) +} + +func updateDashboarLists(d *schema.ResourceData, providerConf *ProviderConfiguration, dashboardId string) { + dashTypeString := "custom_screenboard" + if d.Get("layout_type").(string) == "free" { + dashTypeString = "custom_timeboard" + } + dashType := datadogV2.DashboardType(dashTypeString) + itemsRequest := []datadogV2.DashboardListItemRequest{*datadogV2.NewDashboardListItemRequest(dashboardId, dashType)} + datadogClientV2 := providerConf.DatadogClientV2 + authV2 := providerConf.AuthV2 - dashType := datadogV2.DashboardType(dashTypeString) - itemsRequest[0] = *datadogV2.NewDashboardListItemRequest(*dashboard.Id, dashType) + if v, ok := d.GetOk("dashboard_lists"); ok && v.(*schema.Set).Len() > 0 { items := datadogV2.NewDashboardListAddItemsRequest() items.SetDashboards(itemsRequest) - datadogClientV2 := providerConf.DatadogClientV2 - authV2 := providerConf.AuthV2 for _, id := range v.(*schema.Set).List() { _, _, err := datadogClientV2.DashboardListsApi.CreateDashboardListItems(authV2, int64(id.(int))).Body(*items).Execute() if err != nil { - log.Printf("[DEBUG] Got error updating dashboard list %d: %v", id.(int), err) + log.Printf("[DEBUG] Got error adding to dashboard list %d: %v", id.(int), err) } } } if v, ok := d.GetOk("dashboard_lists_removed"); ok && v.(*schema.Set).Len() > 0 { - itemsRequest := make([]datadogV2.DashboardListItemRequest, 1) - dashTypeString := "custom_screenboard" - if d.Get("layout_type").(string) == "free" { - dashTypeString = "custom_timeboard" - } - - dashType := datadogV2.DashboardType(dashTypeString) - itemsRequest[0] = *datadogV2.NewDashboardListItemRequest(*dashboard.Id, dashType) items := datadogV2.NewDashboardListDeleteItemsRequest() items.SetDashboards(itemsRequest) - datadogClientV2 := providerConf.DatadogClientV2 - authV2 := providerConf.AuthV2 for _, id := range v.(*schema.Set).List() { _, _, err := datadogClientV2.DashboardListsApi.DeleteDashboardListItems(authV2, int64(id.(int))).Body(*items).Execute() if err != nil { - log.Printf("[DEBUG] Got error updating dashboard list %d: %v", id.(int), err) + log.Printf("[DEBUG] Got error removing from dashboard list %d: %v", id.(int), err) } } } - - return resourceDatadogDashboardRead(d, meta) } func loadDatadogDashboard(d *schema.ResourceData, dashboard datadogV1.Dashboard) error { From 4de82155d79a76aa3c6b11cba99f8aec9e3c1f4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Herv=C3=A9?= Date: Wed, 9 Sep 2020 11:01:18 +0200 Subject: [PATCH 4/6] Add test --- .../TestDatadogDashListInDashboard.freeze | 1 + .../TestDatadogDashListInDashboard.yaml | 2041 +++++++++++++++++ .../resource_datadog_dashboard_list_test.go | 189 +- 3 files changed, 2163 insertions(+), 68 deletions(-) create mode 100644 datadog/cassettes/TestDatadogDashListInDashboard.freeze create mode 100644 datadog/cassettes/TestDatadogDashListInDashboard.yaml diff --git a/datadog/cassettes/TestDatadogDashListInDashboard.freeze b/datadog/cassettes/TestDatadogDashListInDashboard.freeze new file mode 100644 index 000000000..4827a1492 --- /dev/null +++ b/datadog/cassettes/TestDatadogDashListInDashboard.freeze @@ -0,0 +1 @@ +2020-09-09T11:52:21.863553+02:00 \ No newline at end of file diff --git a/datadog/cassettes/TestDatadogDashListInDashboard.yaml b/datadog/cassettes/TestDatadogDashListInDashboard.yaml new file mode 100644 index 000000000..03291ee38 --- /dev/null +++ b/datadog/cassettes/TestDatadogDashListInDashboard.yaml @@ -0,0 +1,2041 @@ +--- +version: 1 +interactions: +- request: + body: | + {"name":"tf-TestDatadogDashListInDashboard-local-1599645141"} + form: {} + headers: + Accept: + - application/json + Content-Type: + - application/json + Dd-Operation-Id: + - CreateDashboardList + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "677536778233926662" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/lists/manual + method: POST + response: + body: '{"is_favorite":false,"name":"tf-TestDatadogDashListInDashboard-local-1599645141","dashboard_count":0,"author":{"handle":"frog@datadoghq.com","name":null},"created":"2020-09-09T09:52:23.808059+00:00","type":"manual_dashboard_list","dashboards":null,"modified":"2020-09-09T09:52:23.808076+00:00","id":127126}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:23 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:23 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - R1+MRQNzRD0HfjBgLVIjclr4gto/LBUvaJZAn2oF8rsW7iHushLxjdvt+30jZQLP + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardList + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "4025554755639707994" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/lists/manual/127126 + method: GET + response: + body: '{"is_favorite":false,"name":"tf-TestDatadogDashListInDashboard-local-1599645141","dashboard_count":0,"author":{"handle":"frog@datadoghq.com","name":null},"created":"2020-09-09T09:52:23.808059+00:00","type":"manual_dashboard_list","dashboards":null,"modified":"2020-09-09T09:52:23.808076+00:00","id":127126}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:23 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:23 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - t3HUEZc5ir8lXNnqzkff2uqNehUi1czGcghjOPRgwaz4xZmG6O4HwEI6mdtgJV0i + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardListItems + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "3354605938439145838" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v2/dashboard/lists/manual/127126/dashboards + method: GET + response: + body: '{"total":0,"dashboards":[]}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:24 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:24 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - Q8knEw82SgGErSuAaD0RuA7obbJQJNFXaFmNNzPtQBtywdtSi82Z9gGaD787DJ0K + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: | + {"description":"Created using the Datadog provider in Terraform","id":"","is_read_only":true,"layout_type":"ordered","notify_list":[],"template_variable_presets":[],"template_variables":[],"title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","widgets":[{"definition":{"alert_id":"1234","time":{"live_span":"1h"},"title":"Widget Title","type":"alert_graph","viz_type":"timeseries"}}]} + form: {} + headers: + Accept: + - application/json + Content-Type: + - application/json + Dd-Operation-Id: + - CreateDashboard + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "6967906984614047555" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard + method: POST + response: + body: '{"notify_list":[],"description":"Created using the Datadog provider in + Terraform","author_name":null,"template_variable_presets":[],"template_variables":[],"is_read_only":true,"id":"nev-ngg-m7i","title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","url":"/dashboard/nev-ngg-m7i/tf-testdatadogdashlistindashboard-local-1599645141-time","created_at":"2020-09-09T09:52:25.347661+00:00","modified_at":"2020-09-09T09:52:25.347661+00:00","author_handle":"frog@datadoghq.com","widgets":[{"definition":{"alert_id":"1234","title":"Widget + Title","type":"alert_graph","viz_type":"timeseries","time":{"live_span":"1h"}},"id":7126023694178916}],"layout_type":"ordered"}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:25 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:25 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - ZTMib3S/rZeXw/RhaeaehRILC7QJAaERfyf3m4/am8FN44e9rxbkPcmk4YzKBISj + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboard + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "5825958474550578004" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/nev-ngg-m7i + method: GET + response: + body: '{"notify_list":[],"description":"Created using the Datadog provider in + Terraform","author_name":null,"template_variable_presets":[],"template_variables":[],"is_read_only":true,"id":"nev-ngg-m7i","title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","url":"/dashboard/nev-ngg-m7i/tf-testdatadogdashlistindashboard-local-1599645141-time","created_at":"2020-09-09T09:52:25.347661+00:00","modified_at":"2020-09-09T09:52:25.347661+00:00","author_handle":"frog@datadoghq.com","widgets":[{"definition":{"alert_id":"1234","title":"Widget + Title","type":"alert_graph","viz_type":"timeseries","time":{"live_span":"1h"}},"id":7126023694178916}],"layout_type":"ordered"}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:25 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:25 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - CUBCyaoXY2JdeHi5oQm4sg9onCJMsjgVJ5jLk2ugM2iR7uz4Q+lvjzDdvtcYDFC3 + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: | + {"dashboards":[{"id":"nev-ngg-m7i","type":"custom_screenboard"}]} + form: {} + headers: + Accept: + - application/json + Content-Type: + - application/json + Dd-Operation-Id: + - CreateDashboardListItems + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "8251205697266088776" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v2/dashboard/lists/manual/127126/dashboards + method: POST + response: + body: '{"added_dashboards_to_list":[{"type":"custom_timeboard","id":"nev-ngg-m7i"}]}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:25 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:25 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - SRq2Z9lEwLlAnf16mGl+bpeU/aiRKnFBfHHwmTvzUhnzfsNFrKLMMmOgcRDhRFd6 + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardList + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "5798961210727545146" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/lists/manual/127126 + method: GET + response: + body: '{"is_favorite":false,"name":"tf-TestDatadogDashListInDashboard-local-1599645141","dashboard_count":1,"author":{"handle":"frog@datadoghq.com","name":null},"created":"2020-09-09T09:52:23.808059+00:00","type":"manual_dashboard_list","dashboards":null,"modified":"2020-09-09T09:52:25.901071+00:00","id":127126}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:27 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:27 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - jrMxFzD6DQaVakCp2nBENh1s4Jr6NTi3qR/BnCfgEGv+61BLJvJGE5mL8dgLrarj + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardList + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "2987314316726736289" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/lists/manual/127126 + method: GET + response: + body: '{"is_favorite":false,"name":"tf-TestDatadogDashListInDashboard-local-1599645141","dashboard_count":1,"author":{"handle":"frog@datadoghq.com","name":null},"created":"2020-09-09T09:52:23.808059+00:00","type":"manual_dashboard_list","dashboards":null,"modified":"2020-09-09T09:52:25.901071+00:00","id":127126}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:27 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:27 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - ViVCPXX6Ly37Yq2uFkha4NuJPBq3hQNknFQSAg7/RbVncSIYTDoKelvl87NEURiA + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardListItems + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "3430627870281910555" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v2/dashboard/lists/manual/127126/dashboards + method: GET + response: + body: '{"total":1,"dashboards":[{"popularity":0,"title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","is_favorite":false,"id":"nev-ngg-m7i","icon":null,"is_shared":false,"author":{"handle":"frog@datadoghq.com","name":null},"url":"/dashboard/nev-ngg-m7i/tf-testdatadogdashlistindashboard-local-1599645141-time","created":"2020-09-09T09:52:25.347661+00:00","modified":"2020-09-09T09:52:25.347661+00:00","is_read_only":true,"type":"custom_timeboard"}]}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:27 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:27 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - 4XEHrKCjPbSbs1iu1F78+tH4eaIPZCq+IGDoHN/GQcOsLq6w3Zzz7ZK1RqpTUzFS + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboard + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "7770138362889121410" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/nev-ngg-m7i + method: GET + response: + body: '{"notify_list":[],"description":"Created using the Datadog provider in + Terraform","author_name":null,"template_variable_presets":[],"template_variables":[],"is_read_only":true,"id":"nev-ngg-m7i","title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","url":"/dashboard/nev-ngg-m7i/tf-testdatadogdashlistindashboard-local-1599645141-time","created_at":"2020-09-09T09:52:25.347661+00:00","modified_at":"2020-09-09T09:52:25.347661+00:00","author_handle":"frog@datadoghq.com","widgets":[{"definition":{"alert_id":"1234","title":"Widget + Title","type":"alert_graph","viz_type":"timeseries","time":{"live_span":"1h"}},"id":7126023694178916}],"layout_type":"ordered"}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:28 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:28 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - NVN1vUIP943yBv5BrKvNkq9LhGENimQCGx913v3GQzIJuXIMEzcrTlr1CpALPFWv + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboard + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "7473233130728751377" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/nev-ngg-m7i + method: GET + response: + body: '{"notify_list":[],"description":"Created using the Datadog provider in + Terraform","author_name":null,"template_variable_presets":[],"template_variables":[],"is_read_only":true,"id":"nev-ngg-m7i","title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","url":"/dashboard/nev-ngg-m7i/tf-testdatadogdashlistindashboard-local-1599645141-time","created_at":"2020-09-09T09:52:25.347661+00:00","modified_at":"2020-09-09T09:52:25.347661+00:00","author_handle":"frog@datadoghq.com","widgets":[{"definition":{"alert_id":"1234","title":"Widget + Title","type":"alert_graph","viz_type":"timeseries","time":{"live_span":"1h"}},"id":7126023694178916}],"layout_type":"ordered"}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:28 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:28 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - laGkCMnt9yzADERvt5/nU5tJ2BKmoQx1BUE4x31rlC7mriAyKM9Zk5E+JikpAz3V + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardList + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "4141759076846443111" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/lists/manual/127126 + method: GET + response: + body: '{"is_favorite":false,"name":"tf-TestDatadogDashListInDashboard-local-1599645141","dashboard_count":1,"author":{"handle":"frog@datadoghq.com","name":null},"created":"2020-09-09T09:52:23.808059+00:00","type":"manual_dashboard_list","dashboards":null,"modified":"2020-09-09T09:52:25.901071+00:00","id":127126}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:30 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:30 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - zdUdESDt99y2SVrNik+lLSBmyFFFNlFUO4zEnFYNO3qGTBg30VN2+XGqoJzWlOgd + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardList + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "8442546113245518371" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/lists/manual/127126 + method: GET + response: + body: '{"is_favorite":false,"name":"tf-TestDatadogDashListInDashboard-local-1599645141","dashboard_count":1,"author":{"handle":"frog@datadoghq.com","name":null},"created":"2020-09-09T09:52:23.808059+00:00","type":"manual_dashboard_list","dashboards":null,"modified":"2020-09-09T09:52:25.901071+00:00","id":127126}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:30 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:30 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - 4800hhM5D8qj6yrPc+dlMvhUa+SbSJAXG/yPCxJaOKK9a5IkPxDsNnyOdNMLl2nJ + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardListItems + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "1879649285702129658" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v2/dashboard/lists/manual/127126/dashboards + method: GET + response: + body: '{"total":1,"dashboards":[{"popularity":0,"title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","is_favorite":false,"id":"nev-ngg-m7i","icon":null,"is_shared":false,"author":{"handle":"frog@datadoghq.com","name":null},"url":"/dashboard/nev-ngg-m7i/tf-testdatadogdashlistindashboard-local-1599645141-time","created":"2020-09-09T09:52:25.347661+00:00","modified":"2020-09-09T09:52:25.347661+00:00","is_read_only":true,"type":"custom_timeboard"}]}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:30 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:30 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - LYsZ0Yx6eBAuyo7daRCU44YMxz7whaow2DP3vSdsKGIEYbXvJNYBjlZ+OHX/fFOc + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboard + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "8548937791377988183" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/nev-ngg-m7i + method: GET + response: + body: '{"notify_list":[],"description":"Created using the Datadog provider in + Terraform","author_name":null,"template_variable_presets":[],"template_variables":[],"is_read_only":true,"id":"nev-ngg-m7i","title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","url":"/dashboard/nev-ngg-m7i/tf-testdatadogdashlistindashboard-local-1599645141-time","created_at":"2020-09-09T09:52:25.347661+00:00","modified_at":"2020-09-09T09:52:25.347661+00:00","author_handle":"frog@datadoghq.com","widgets":[{"definition":{"alert_id":"1234","title":"Widget + Title","type":"alert_graph","viz_type":"timeseries","time":{"live_span":"1h"}},"id":7126023694178916}],"layout_type":"ordered"}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:31 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:31 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - 2WpVLT6XfnIg4Icl10Bkfr2LmWju5l1mcL3EeaTPuJ+k4vOzKW0gcbyPFosLZlNj + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboard + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "3881150408625606108" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/nev-ngg-m7i + method: GET + response: + body: '{"notify_list":[],"description":"Created using the Datadog provider in + Terraform","author_name":null,"template_variable_presets":[],"template_variables":[],"is_read_only":true,"id":"nev-ngg-m7i","title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","url":"/dashboard/nev-ngg-m7i/tf-testdatadogdashlistindashboard-local-1599645141-time","created_at":"2020-09-09T09:52:25.347661+00:00","modified_at":"2020-09-09T09:52:25.347661+00:00","author_handle":"frog@datadoghq.com","widgets":[{"definition":{"alert_id":"1234","title":"Widget + Title","type":"alert_graph","viz_type":"timeseries","time":{"live_span":"1h"}},"id":7126023694178916}],"layout_type":"ordered"}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:31 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:31 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - Rk64tCoF3V07+a4szeABxTtZIJ+mXpZWikk4VsgNuvqwu3MpGXqLHxCVHOt9N39v + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: | + {"name":"tf-TestDatadogDashListInDashboard-local-1599645141"} + form: {} + headers: + Accept: + - application/json + Content-Type: + - application/json + Dd-Operation-Id: + - UpdateDashboardList + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "2270268306762478285" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/lists/manual/127126 + method: PUT + response: + body: '{"is_favorite":false,"name":"tf-TestDatadogDashListInDashboard-local-1599645141","dashboard_count":1,"author":{"handle":"frog@datadoghq.com","name":null},"created":"2020-09-09T09:52:23.808059+00:00","type":"manual_dashboard_list","dashboards":null,"modified":"2020-09-09T09:52:25.901071+00:00","id":127126}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:32 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:32 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - EsLH6+rdgSqeLdBeq9HZpt+45W9grH+dHsUtM9XuCxYJqQJyctcAVJKfVBiasXIW + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardListItems + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "6769350508454324696" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v2/dashboard/lists/manual/127126/dashboards + method: GET + response: + body: '{"total":1,"dashboards":[{"popularity":0,"title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","is_favorite":false,"id":"nev-ngg-m7i","icon":null,"is_shared":false,"author":{"handle":"frog@datadoghq.com","name":null},"url":"/dashboard/nev-ngg-m7i/tf-testdatadogdashlistindashboard-local-1599645141-time","created":"2020-09-09T09:52:25.347661+00:00","modified":"2020-09-09T09:52:25.347661+00:00","is_read_only":true,"type":"custom_timeboard"}]}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:33 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:33 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - OqKY7agPmI/v3hVHuBa6xblzuasXfwEx0fPUFdqZoAEPJYT3VaeupIdfNnd+cYH0 + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: | + {"dashboards":[{"id":"nev-ngg-m7i","type":"custom_timeboard"}]} + form: {} + headers: + Accept: + - application/json + Content-Type: + - application/json + Dd-Operation-Id: + - DeleteDashboardListItems + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "4499558916879176398" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v2/dashboard/lists/manual/127126/dashboards + method: DELETE + response: + body: '{"deleted_dashboards_from_list":[{"type":"custom_timeboard","id":"nev-ngg-m7i"}]}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:33 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:33 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - DWKI7VfCUqAo/A5Bt78Xxe/X4KYslPnCs7Op8wV0HLmiqy7vAxg4/ViL6IoVzy03 + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardList + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "4798458173118484001" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/lists/manual/127126 + method: GET + response: + body: '{"is_favorite":false,"name":"tf-TestDatadogDashListInDashboard-local-1599645141","dashboard_count":0,"author":{"handle":"frog@datadoghq.com","name":null},"created":"2020-09-09T09:52:23.808059+00:00","type":"manual_dashboard_list","dashboards":null,"modified":"2020-09-09T09:52:33.193429+00:00","id":127126}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:33 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:33 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - hj67/REi7e3yYcyH3k1IhaTqyaqEZObxcXfHyl0cMf/YGOgEumufCDMBPGXJkv7n + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardListItems + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "4818322210425141608" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v2/dashboard/lists/manual/127126/dashboards + method: GET + response: + body: '{"total":0,"dashboards":[]}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:33 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:33 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - 4XEHrKCjPbSbs1iu1F78+tH4eaIPZCq+IGDoHN/GQcOsLq6w3Zzz7ZK1RqpTUzFS + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: | + {"description":"Created using the Datadog provider in Terraform","id":"nev-ngg-m7i","is_read_only":true,"layout_type":"ordered","notify_list":[],"template_variable_presets":[],"template_variables":[],"title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","widgets":[{"definition":{"alert_id":"1234","time":{"live_span":"1h"},"title":"Widget Title","type":"alert_graph","viz_type":"timeseries"}}]} + form: {} + headers: + Accept: + - application/json + Content-Type: + - application/json + Dd-Operation-Id: + - UpdateDashboard + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "5723191324546616144" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/nev-ngg-m7i + method: PUT + response: + body: '{"notify_list":[],"description":"Created using the Datadog provider in + Terraform","author_name":null,"template_variable_presets":[],"template_variables":[],"is_read_only":true,"id":"nev-ngg-m7i","title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","url":"/dashboard/nev-ngg-m7i/tf-testdatadogdashlistindashboard-local-1599645141-time","created_at":"2020-09-09T09:52:25.347661+00:00","modified_at":"2020-09-09T09:52:34.654733+00:00","author_handle":"frog@datadoghq.com","widgets":[{"definition":{"alert_id":"1234","title":"Widget + Title","type":"alert_graph","viz_type":"timeseries","time":{"live_span":"1h"}},"id":1579824359839132}],"layout_type":"ordered"}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:34 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:34 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - uhKf3DOQ/asSODSNh+771Jj2mAFRCrXnSErQegeSH33qVMu18OG0v+JTvu/HjcV7 + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: | + {"dashboards":[{"id":"nev-ngg-m7i","type":"custom_screenboard"}]} + form: {} + headers: + Accept: + - application/json + Content-Type: + - application/json + Dd-Operation-Id: + - DeleteDashboardListItems + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "8810897175895745413" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v2/dashboard/lists/manual/127126/dashboards + method: DELETE + response: + body: '{"deleted_dashboards_from_list":[]}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:34 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:34 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - ZTMib3S/rZeXw/RhaeaehRILC7QJAaERfyf3m4/am8FN44e9rxbkPcmk4YzKBISj + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboard + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "485182468610730351" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/nev-ngg-m7i + method: GET + response: + body: '{"notify_list":[],"description":"Created using the Datadog provider in + Terraform","author_name":null,"template_variable_presets":[],"template_variables":[],"is_read_only":true,"id":"nev-ngg-m7i","title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","url":"/dashboard/nev-ngg-m7i/tf-testdatadogdashlistindashboard-local-1599645141-time","created_at":"2020-09-09T09:52:25.347661+00:00","modified_at":"2020-09-09T09:52:34.654733+00:00","author_handle":"frog@datadoghq.com","widgets":[{"definition":{"alert_id":"1234","title":"Widget + Title","type":"alert_graph","viz_type":"timeseries","time":{"live_span":"1h"}},"id":1579824359839132}],"layout_type":"ordered"}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:35 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:34 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - G84mPdYpSAGk3Cn+ow9K78cPip5wn5xve1MIezJYJmKYQLcpCyyPvAIMLsVAC7W/ + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardList + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "7105070765664667652" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/lists/manual/127126 + method: GET + response: + body: '{"is_favorite":false,"name":"tf-TestDatadogDashListInDashboard-local-1599645141","dashboard_count":0,"author":{"handle":"frog@datadoghq.com","name":null},"created":"2020-09-09T09:52:23.808059+00:00","type":"manual_dashboard_list","dashboards":null,"modified":"2020-09-09T09:52:33.193429+00:00","id":127126}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:36 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:36 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - g1JN5WIJ1Um2nWq9AQ7orHFBA37V3eIZYgeyDV/dLV8QtbkkvRVVIW0Fy1xXObzE + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardList + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "2110186245976977278" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/lists/manual/127126 + method: GET + response: + body: '{"is_favorite":false,"name":"tf-TestDatadogDashListInDashboard-local-1599645141","dashboard_count":0,"author":{"handle":"frog@datadoghq.com","name":null},"created":"2020-09-09T09:52:23.808059+00:00","type":"manual_dashboard_list","dashboards":null,"modified":"2020-09-09T09:52:33.193429+00:00","id":127126}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:36 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:36 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - G84mPdYpSAGk3Cn+ow9K78cPip5wn5xve1MIezJYJmKYQLcpCyyPvAIMLsVAC7W/ + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardListItems + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "4065102977170949789" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v2/dashboard/lists/manual/127126/dashboards + method: GET + response: + body: '{"total":0,"dashboards":[]}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:37 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:36 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - ylBElmyGwKGD9U7vyDU/qHCi6QpDzALB8kY9TyVsQmpRCm4VjPYEdilo336ix6wj + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboard + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "3050559456793138997" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/nev-ngg-m7i + method: GET + response: + body: '{"notify_list":[],"description":"Created using the Datadog provider in + Terraform","author_name":null,"template_variable_presets":[],"template_variables":[],"is_read_only":true,"id":"nev-ngg-m7i","title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","url":"/dashboard/nev-ngg-m7i/tf-testdatadogdashlistindashboard-local-1599645141-time","created_at":"2020-09-09T09:52:25.347661+00:00","modified_at":"2020-09-09T09:52:34.654733+00:00","author_handle":"frog@datadoghq.com","widgets":[{"definition":{"alert_id":"1234","title":"Widget + Title","type":"alert_graph","viz_type":"timeseries","time":{"live_span":"1h"}},"id":1579824359839132}],"layout_type":"ordered"}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:37 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:37 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - yh6YON+7jbeDMg7CO+AYyoesqWeq0Iw5xzcOjFKKupoYHnh4eyLWds2GSgfB/+lP + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboard + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "1741726120850945200" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/nev-ngg-m7i + method: GET + response: + body: '{"notify_list":[],"description":"Created using the Datadog provider in + Terraform","author_name":null,"template_variable_presets":[],"template_variables":[],"is_read_only":true,"id":"nev-ngg-m7i","title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","url":"/dashboard/nev-ngg-m7i/tf-testdatadogdashlistindashboard-local-1599645141-time","created_at":"2020-09-09T09:52:25.347661+00:00","modified_at":"2020-09-09T09:52:34.654733+00:00","author_handle":"frog@datadoghq.com","widgets":[{"definition":{"alert_id":"1234","title":"Widget + Title","type":"alert_graph","viz_type":"timeseries","time":{"live_span":"1h"}},"id":1579824359839132}],"layout_type":"ordered"}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:37 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:37 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - OgTaw6x9HXTPYzEqbyfoU6b+BDtzgdgeNRWHbKjuC/CiO/KVfu7erOqGrbPMGpX8 + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardList + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "5591648686645377325" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/lists/manual/127126 + method: GET + response: + body: '{"is_favorite":false,"name":"tf-TestDatadogDashListInDashboard-local-1599645141","dashboard_count":0,"author":{"handle":"frog@datadoghq.com","name":null},"created":"2020-09-09T09:52:23.808059+00:00","type":"manual_dashboard_list","dashboards":null,"modified":"2020-09-09T09:52:33.193429+00:00","id":127126}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:39 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:39 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - RNjkldB/U7jBomuDwniiFl3adRN7VFY0k6iblOqPBlb/lnmtli0Xp6qAxW+GhOfn + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardList + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "8830214077311321124" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/lists/manual/127126 + method: GET + response: + body: '{"is_favorite":false,"name":"tf-TestDatadogDashListInDashboard-local-1599645141","dashboard_count":0,"author":{"handle":"frog@datadoghq.com","name":null},"created":"2020-09-09T09:52:23.808059+00:00","type":"manual_dashboard_list","dashboards":null,"modified":"2020-09-09T09:52:33.193429+00:00","id":127126}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:39 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:39 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - fOvn++WNyeGiJqGJ1RGVl2OtzlCSW+9FmhW07NDhLHuS9Ypy2JL89j65gnqIRQTf + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardListItems + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "9212870652560969983" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v2/dashboard/lists/manual/127126/dashboards + method: GET + response: + body: '{"total":0,"dashboards":[]}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:39 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:39 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - 5Cj6NNcncFcQ6G9NKti+kar8gWVql7fBvPeJG7XhNnPs269m3W9o1I+JeGPUiuK3 + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboard + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "3296649289860663164" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/nev-ngg-m7i + method: GET + response: + body: '{"notify_list":[],"description":"Created using the Datadog provider in + Terraform","author_name":null,"template_variable_presets":[],"template_variables":[],"is_read_only":true,"id":"nev-ngg-m7i","title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","url":"/dashboard/nev-ngg-m7i/tf-testdatadogdashlistindashboard-local-1599645141-time","created_at":"2020-09-09T09:52:25.347661+00:00","modified_at":"2020-09-09T09:52:34.654733+00:00","author_handle":"frog@datadoghq.com","widgets":[{"definition":{"alert_id":"1234","title":"Widget + Title","type":"alert_graph","viz_type":"timeseries","time":{"live_span":"1h"}},"id":1579824359839132}],"layout_type":"ordered"}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:39 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:39 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - cwBlcFIcwDsv4IobSK5BCzc5xYE7Ob8qdF8Udq49IJhq23UAvY7SHKc1FyJJqC66 + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboard + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "5537211384633866832" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/nev-ngg-m7i + method: GET + response: + body: '{"notify_list":[],"description":"Created using the Datadog provider in + Terraform","author_name":null,"template_variable_presets":[],"template_variables":[],"is_read_only":true,"id":"nev-ngg-m7i","title":"tf-TestDatadogDashListInDashboard-local-1599645141-time","url":"/dashboard/nev-ngg-m7i/tf-testdatadogdashlistindashboard-local-1599645141-time","created_at":"2020-09-09T09:52:25.347661+00:00","modified_at":"2020-09-09T09:52:34.654733+00:00","author_handle":"frog@datadoghq.com","widgets":[{"definition":{"alert_id":"1234","title":"Widget + Title","type":"alert_graph","viz_type":"timeseries","time":{"live_span":"1h"}},"id":1579824359839132}],"layout_type":"ordered"}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:52:40 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:40 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - aTaFyaDpUCilbiWl27T69vUB6Zx+xwfqaKc9flyr+1uoSDVf7H2kIiFd0Y7aRJs7 + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - DeleteDashboardList + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "5444869339339631267" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/lists/manual/127126 + method: DELETE + response: + body: '{"deleted_dashboard_list_id":127126}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:53:11 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:40 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - WyPl7Uohyy2nhJ7RWrq85UM5TEMaIEIfRwQveR0xpNBygzZEP8S/qWubDM7SoNjW + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - DeleteDashboard + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "2657583527360568259" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/nev-ngg-m7i + method: DELETE + response: + body: '{"deleted_dashboard_id":"nev-ngg-m7i"}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:53:14 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Set-Cookie: + - DD-PSHARD=233; Max-Age=604800; Path=/; expires=Wed, 16-Sep-2020 09:52:41 GMT; + secure; HttpOnly + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Debug: + - 1KMr27QHAQHDfYPOMxdkaV+JBh/1ku8yD6KIlLr2d217iUuzksir9gh+Nfb7tVhq + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 200 OK + code: 200 + duration: "" +- request: + body: "" + form: {} + headers: + Accept: + - application/json + Dd-Operation-Id: + - GetDashboardList + User-Agent: + - terraform-provider-datadog/dev (terraform 1.15.0; terraform-cli 0.12.7-sdk) + datadog-api-client-go/1.0.0-beta.8+dev (go go1.14.7; os darwin; arch amd64) + X-Datadog-Parent-Id: + - "7531877205515786287" + X-Datadog-Sampling-Priority: + - "1" + X-Datadog-Trace-Id: + - "6452457556466927621" + url: https://api.datadoghq.com/api/v1/dashboard/lists/manual/127126 + method: GET + response: + body: '{"errors": ["Manual Dashboard List with id 127126 not found"]}' + headers: + Cache-Control: + - no-cache + Connection: + - keep-alive + Content-Security-Policy: + - frame-ancestors 'self'; report-uri https://api.datadoghq.com/csp-report + Content-Type: + - application/json + Date: + - Wed, 09 Sep 2020 09:53:14 GMT + Dd-Pool: + - dogweb + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=15724800; + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Dd-Version: + - "35.3004800" + X-Frame-Options: + - SAMEORIGIN + status: 404 Not Found + code: 404 + duration: "" diff --git a/datadog/resource_datadog_dashboard_list_test.go b/datadog/resource_datadog_dashboard_list_test.go index d023036ce..8a561d69d 100644 --- a/datadog/resource_datadog_dashboard_list_test.go +++ b/datadog/resource_datadog_dashboard_list_test.go @@ -21,65 +21,112 @@ resource "datadog_dashboard_list" "new_list" { "datadog_dashboard.time" ] - name = "%s" - dash_item { - type = "custom_timeboard" - dash_id = "${datadog_dashboard.time.id}" - } - dash_item { - type = "custom_screenboard" - dash_id = "${datadog_dashboard.screen.id}" + name = "%s" + dash_item { + type = "custom_timeboard" + dash_id = "${datadog_dashboard.time.id}" + } + dash_item { + type = "custom_screenboard" + dash_id = "${datadog_dashboard.screen.id}" } } resource "datadog_dashboard" "time" { - title = "%s-time" + title = "%s-time" # NOTE: this dependency is present to make sure the dashboards are created in # a predictable order and thus the recorder test cassettes always work - depends_on = ["datadog_dashboard.screen"] - description = "Created using the Datadog provider in Terraform" - layout_type = "ordered" - is_read_only = true + depends_on = ["datadog_dashboard.screen"] + description = "Created using the Datadog provider in Terraform" + layout_type = "ordered" + is_read_only = true widget { alert_graph_definition { - alert_id = "1234" - viz_type = "timeseries" - title = "Widget Title" - time = { - live_span = "1h" - } + alert_id = "1234" + viz_type = "timeseries" + title = "Widget Title" + time = { + live_span = "1h" + } } - } - + } } resource "datadog_dashboard" "screen" { - title = "%s-screen" - description = "Created using the Datadog provider in Terraform" - layout_type = "free" - is_read_only = false + title = "%s-screen" + description = "Created using the Datadog provider in Terraform" + layout_type = "free" + is_read_only = false widget { event_stream_definition { - query = "*" - event_size = "l" - title = "Widget Title" - title_size = 16 - title_align = "left" - time = { - live_span = "1h" - } + query = "*" + event_size = "l" + title = "Widget Title" + title_size = 16 + title_align = "left" + time = { + live_span = "1h" + } } layout = { - height = 43 - width = 32 - x = 5 - y = 5 + height = 43 + width = 32 + x = 5 + y = 5 } - } - + } }`, uniq, uniq, uniq) } +func testAccCheckDatadogDashListConfigInDashboard(uniq string) string { + return fmt.Sprintf(` +resource "datadog_dashboard_list" "new_list" { + name = "%s" +} + +resource "datadog_dashboard" "time" { + title = "%s-time" + description = "Created using the Datadog provider in Terraform" + layout_type = "ordered" + is_read_only = true + widget { + alert_graph_definition { + alert_id = "1234" + viz_type = "timeseries" + title = "Widget Title" + time = { + live_span = "1h" + } + } + } + dashboard_lists = ["${datadog_dashboard_list.new_list.id}"] +}`, uniq, uniq) +} + +func testAccCheckDatadogDashListConfigRemoveFromDashboard(uniq string) string { + return fmt.Sprintf(` +resource "datadog_dashboard_list" "new_list" { + name = "%s" +} + +resource "datadog_dashboard" "time" { + title = "%s-time" + description = "Created using the Datadog provider in Terraform" + layout_type = "ordered" + is_read_only = true + widget { + alert_graph_definition { + alert_id = "1234" + viz_type = "timeseries" + title = "Widget Title" + time = { + live_span = "1h" + } + } + } +}`, uniq, uniq) +} + func TestDatadogDashListImport(t *testing.T) { resourceName := "datadog_dashboard_list.new_list" accProviders, clock, cleanup := testAccProviders(t, initRecorder(t)) @@ -106,6 +153,41 @@ func TestDatadogDashListImport(t *testing.T) { }) } +func TestDatadogDashListInDashboard(t *testing.T) { + accProviders, clock, cleanup := testAccProviders(t, initRecorder(t)) + uniqueName := uniqueEntityName(clock, t) + defer cleanup(t) + accProvider := testAccProvider(t, accProviders) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: accProviders, + CheckDestroy: testAccCheckDatadogDashListDestroy(accProvider), + Steps: []resource.TestStep{ + { + Config: testAccCheckDatadogDashListConfigInDashboard(uniqueName), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr( + "datadog_dashboard.time", "dashboard_lists.#", "1"), + resource.TestCheckResourceAttr( + "datadog_dashboard.time", "dashboard_lists_removed.#", "0"), + ), + // The plan is non empty, because in this case the list is the same file + ExpectNonEmptyPlan: true, + }, + { + Config: testAccCheckDatadogDashListConfigRemoveFromDashboard(uniqueName), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr( + "datadog_dashboard.time", "dashboard_lists.#", "0"), + resource.TestCheckResourceAttr( + "datadog_dashboard.time", "dashboard_lists_removed.#", "1"), + ), + }, + }, + }) +} + func testAccCheckDatadogDashListDestroy(accProvider *schema.Provider) resource.TestCheckFunc { return func(s *terraform.State) error { providerConf := accProvider.Meta().(*ProviderConfiguration) @@ -134,32 +216,3 @@ func datadogDashListDestroyHelper(s *terraform.State, authV1 context.Context, da } return nil } - -func testAccCheckDatadogDashListExists(accProvider *schema.Provider, n string) resource.TestCheckFunc { - return func(s *terraform.State) error { - providerConf := accProvider.Meta().(*ProviderConfiguration) - datadogClientV1 := providerConf.DatadogClientV1 - authV1 := providerConf.AuthV1 - - return datadogDashListExistsHelper(s, authV1, datadogClientV1) - } -} - -func datadogDashListExistsHelper(s *terraform.State, authV1 context.Context, datadogClientV1 *datadogV1.APIClient) error { - for _, r := range s.RootModule().Resources { - if !strings.Contains(r.Primary.Attributes["name"], "List") { - continue - } - id, _ := strconv.Atoi(r.Primary.ID) - _, _, errList := datadogClientV1.DashboardListsApi.GetDashboardList(authV1, int64(id)).Execute() - if errList != nil { - if strings.Contains(strings.ToLower(errList.Error()), "not found") { - continue - } - return fmt.Errorf("received an error retrieving Dash List %s", errList) - } - - return nil - } - return nil -} From 897bcd07368abebbf55347dc93ed5bbc7ea9b50a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Herv=C3=A9?= Date: Wed, 9 Sep 2020 14:00:35 +0200 Subject: [PATCH 5/6] Doc --- docs/resources/dashboard.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/resources/dashboard.md b/docs/resources/dashboard.md index f5cc3079d..bd312378c 100644 --- a/docs/resources/dashboard.md +++ b/docs/resources/dashboard.md @@ -636,6 +636,7 @@ The following arguments are supported: - `notify_list`: (Optional) List of handles of users to notify when changes are made to this dashboard. - `template_variables`: (Optional) Nested block describing a template variable. The structure of this block is described [below](dashboard.html#nested-template_variable-blocks). Multiple template_variable blocks are allowed within a `datadog_dashboard` resource. - `template_variable_presets`: (Optional) Nested block describing saved configurations of existing template variables. The structure of this block is described [below](dashboard.html#nested-template_variable_preset-blocks). Multiple template_variable_preset blocks are allowed within a `datadog_dashboard` resource, and multiple template_variables can be described by each template_variable_preset. +- `dashboard_lists`: (Optional) List of dashboard list IDs this dashboard belongs to. ### Nested `widget` blocks From e5791bd8d9bf800b5b288de10a87d0c4ceaeb1ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Herv=C3=A9?= Date: Wed, 9 Sep 2020 14:50:36 +0200 Subject: [PATCH 6/6] Fix dash type --- datadog/resource_datadog_dashboard.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datadog/resource_datadog_dashboard.go b/datadog/resource_datadog_dashboard.go index 8f344deeb..d118b24d2 100644 --- a/datadog/resource_datadog_dashboard.go +++ b/datadog/resource_datadog_dashboard.go @@ -157,7 +157,7 @@ func resourceDatadogDashboardUpdate(d *schema.ResourceData, meta interface{}) er func updateDashboarLists(d *schema.ResourceData, providerConf *ProviderConfiguration, dashboardId string) { dashTypeString := "custom_screenboard" - if d.Get("layout_type").(string) == "free" { + if d.Get("layout_type").(string) == "ordered" { dashTypeString = "custom_timeboard" } dashType := datadogV2.DashboardType(dashTypeString)