@pulumi/datadog 5.16.0 → 5.17.0-alpha.1792639498

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dashboard.d.ts CHANGED
@@ -2,9 +2,7 @@ import * as pulumi from "@pulumi/pulumi";
2
2
  import * as inputs from "./types/input";
3
3
  import * as outputs from "./types/output";
4
4
  /**
5
- * Provides a Datadog dashboard resource. This can be used to create and manage Datadog dashboards.
6
- *
7
- * > The `isReadOnly` field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard.
5
+ * Provides a Datadog dashboard resource that follows the current Datadog dashboard API specification.
8
6
  *
9
7
  * ## Example Usage
10
8
  *
@@ -19,138 +17,39 @@ import * as outputs from "./types/output";
19
17
  * layoutType: "ordered",
20
18
  * widgets: [
21
19
  * {
22
- * alertGraphDefinition: {
23
- * alertId: "895605",
24
- * vizType: "timeseries",
25
- * title: "Widget Title",
26
- * liveSpan: "1h",
27
- * },
28
- * },
29
- * {
30
- * alertValueDefinition: {
31
- * alertId: "895605",
32
- * precision: 3,
33
- * unit: "b",
34
- * textAlign: "center",
35
- * title: "Widget Title",
36
- * },
37
- * },
38
- * {
39
- * alertValueDefinition: {
40
- * alertId: "895605",
41
- * precision: 3,
42
- * unit: "b",
43
- * textAlign: "center",
44
- * title: "Widget Title",
45
- * },
46
- * },
47
- * {
48
- * changeDefinition: {
49
- * requests: [{
50
- * q: "avg:system.load.1{env:staging} by {account}",
51
- * changeType: "absolute",
52
- * compareTo: "week_before",
53
- * increaseGood: true,
54
- * orderBy: "name",
55
- * orderDir: "desc",
56
- * showPresent: true,
57
- * }],
58
- * title: "Widget Title",
59
- * liveSpan: "1h",
60
- * },
61
- * },
62
- * {
63
- * distributionDefinition: {
20
+ * timeseriesDefinition: {
64
21
  * requests: [{
65
- * q: "avg:system.load.1{env:staging} by {account}",
66
- * style: {
67
- * palette: "warm",
68
- * },
22
+ * formulas: [{
23
+ * formulaExpression: "my_query_1",
24
+ * alias: "CPU Usage",
25
+ * }],
26
+ * queries: [{
27
+ * metricQuery: {
28
+ * dataSource: "metrics",
29
+ * query: "avg:system.cpu.user{*} by {env}",
30
+ * name: "my_query_1",
31
+ * aggregator: "avg",
32
+ * },
33
+ * }],
69
34
  * }],
70
- * title: "Widget Title",
71
- * liveSpan: "1h",
72
- * },
73
- * },
74
- * {
75
- * checkStatusDefinition: {
76
- * check: "aws.ecs.agent_connected",
77
- * grouping: "cluster",
78
- * groupBies: [
79
- * "account",
80
- * "cluster",
81
- * ],
82
- * tags: [
83
- * "account:demo",
84
- * "cluster:awseb-ruthebdog-env-8-dn3m6u3gvk",
85
- * ],
86
- * title: "Widget Title",
35
+ * title: "CPU Usage by Environment",
87
36
  * liveSpan: "1h",
88
37
  * },
89
38
  * },
90
39
  * {
91
- * heatmapDefinition: {
40
+ * queryValueDefinition: {
92
41
  * requests: [{
93
- * q: "avg:system.load.1{env:staging} by {account}",
94
- * style: {
95
- * palette: "warm",
96
- * },
97
- * }],
98
- * yaxis: {
99
- * min: "1",
100
- * max: "2",
101
- * includeZero: true,
102
- * scale: "sqrt",
103
- * },
104
- * title: "Widget Title",
105
- * liveSpan: "1h",
106
- * },
107
- * },
108
- * {
109
- * hostmapDefinition: {
110
- * request: {
111
- * fills: [{
112
- * q: "avg:system.load.1{*} by {host}",
42
+ * formulas: [{
43
+ * formulaExpression: "my_query_1",
113
44
  * }],
114
- * sizes: [{
115
- * q: "avg:memcache.uptime{*} by {host}",
45
+ * queries: [{
46
+ * metricQuery: {
47
+ * dataSource: "metrics",
48
+ * query: "avg:system.load.1{*}",
49
+ * name: "my_query_1",
50
+ * aggregator: "avg",
51
+ * },
116
52
  * }],
117
- * },
118
- * nodeType: "container",
119
- * groups: [
120
- * "host",
121
- * "region",
122
- * ],
123
- * noGroupHosts: true,
124
- * noMetricHosts: true,
125
- * scopes: [
126
- * "region:us-east-1",
127
- * "aws_account:727006795293",
128
- * ],
129
- * style: {
130
- * palette: "yellow_to_green",
131
- * paletteFlip: true,
132
- * fillMin: "10",
133
- * fillMax: "20",
134
- * },
135
- * title: "Widget Title",
136
- * },
137
- * },
138
- * {
139
- * noteDefinition: {
140
- * content: "note text",
141
- * backgroundColor: "pink",
142
- * fontSize: "14",
143
- * textAlign: "center",
144
- * showTick: true,
145
- * tickEdge: "left",
146
- * tickPos: "50%",
147
- * },
148
- * },
149
- * {
150
- * queryValueDefinition: {
151
- * requests: [{
152
- * q: "avg:system.load.1{env:staging} by {account}",
153
- * aggregator: "sum",
154
53
  * conditionalFormats: [
155
54
  * {
156
55
  * comparator: "<",
@@ -165,266 +64,34 @@ import * as outputs from "./types/output";
165
64
  * ],
166
65
  * }],
167
66
  * autoscale: true,
168
- * customUnit: "xx",
169
67
  * precision: 4,
170
68
  * textAlign: "right",
171
- * title: "Widget Title",
69
+ * title: "System Load",
172
70
  * liveSpan: "1h",
173
71
  * },
174
72
  * },
175
73
  * {
176
- * queryTableDefinition: {
177
- * requests: [{
178
- * q: "avg:system.load.1{env:staging} by {account}",
179
- * aggregator: "sum",
180
- * limit: 10,
181
- * conditionalFormats: [
182
- * {
183
- * comparator: "<",
184
- * value: 2,
185
- * palette: "white_on_green",
186
- * },
187
- * {
188
- * comparator: ">",
189
- * value: 2.2,
190
- * palette: "white_on_red",
191
- * },
192
- * ],
193
- * }],
194
- * title: "Widget Title",
195
- * liveSpan: "1h",
196
- * },
197
- * },
198
- * {
199
- * scatterplotDefinition: {
200
- * request: {
201
- * xes: [{
202
- * q: "avg:system.cpu.user{*} by {service, account}",
203
- * aggregator: "max",
204
- * }],
205
- * ys: [{
206
- * q: "avg:system.mem.used{*} by {service, account}",
207
- * aggregator: "min",
208
- * }],
209
- * },
210
- * colorByGroups: [
211
- * "account",
212
- * "apm-role-group",
213
- * ],
214
- * xaxis: {
215
- * includeZero: true,
216
- * label: "x",
217
- * min: "1",
218
- * max: "2000",
219
- * scale: "pow",
220
- * },
221
- * yaxis: {
222
- * includeZero: false,
223
- * label: "y",
224
- * min: "5",
225
- * max: "2222",
226
- * scale: "log",
227
- * },
228
- * title: "Widget Title",
229
- * liveSpan: "1h",
230
- * },
231
- * },
232
- * {
233
- * servicemapDefinition: {
234
- * service: "master-db",
235
- * filters: [
236
- * "env:prod",
237
- * "datacenter:dc1",
238
- * ],
239
- * title: "env: prod, datacenter:dc1, service: master-db",
240
- * titleSize: "16",
241
- * titleAlign: "left",
242
- * },
243
- * },
244
- * {
245
- * timeseriesDefinition: {
246
- * requests: [
247
- * {
248
- * q: "avg:system.cpu.user{app:general} by {env}",
249
- * displayType: "line",
250
- * style: {
251
- * palette: "warm",
252
- * lineType: "dashed",
253
- * lineWidth: "thin",
254
- * },
255
- * metadatas: [{
256
- * expression: "avg:system.cpu.user{app:general} by {env}",
257
- * aliasName: "Alpha",
258
- * }],
259
- * },
260
- * {
261
- * logQuery: {
262
- * index: "mcnulty",
263
- * computeQuery: {
264
- * aggregation: "avg",
265
- * facet: "@duration",
266
- * interval: 5000,
267
- * },
268
- * searchQuery: "status:info",
269
- * groupBies: [{
270
- * facet: "host",
271
- * limit: 10,
272
- * sortQuery: {
273
- * aggregation: "avg",
274
- * order: "desc",
275
- * facet: "@duration",
276
- * },
277
- * }],
278
- * },
279
- * displayType: "area",
280
- * },
281
- * {
282
- * apmQuery: {
283
- * index: "apm-search",
284
- * computeQuery: {
285
- * aggregation: "avg",
286
- * facet: "@duration",
287
- * interval: 5000,
288
- * },
289
- * searchQuery: "type:web",
290
- * groupBies: [{
291
- * facet: "resource_name",
292
- * limit: 50,
293
- * sortQuery: {
294
- * aggregation: "avg",
295
- * order: "desc",
296
- * facet: "@string_query.interval",
297
- * },
298
- * }],
299
- * },
300
- * displayType: "bars",
301
- * },
302
- * {
303
- * processQuery: {
304
- * metric: "process.stat.cpu.total_pct",
305
- * searchBy: "error",
306
- * filterBies: ["active"],
307
- * limit: 50,
308
- * },
309
- * displayType: "area",
310
- * },
311
- * ],
312
- * markers: [
313
- * {
314
- * displayType: "error dashed",
315
- * label: " z=6 ",
316
- * value: "y = 4",
317
- * },
318
- * {
319
- * displayType: "ok solid",
320
- * value: "10 < y < 999",
321
- * label: " x=8 ",
322
- * },
323
- * ],
324
- * title: "Widget Title",
325
- * showLegend: true,
326
- * legendSize: "2",
327
- * liveSpan: "1h",
328
- * events: [
329
- * {
330
- * q: "sources:test tags:1",
331
- * },
332
- * {
333
- * q: "sources:test tags:2",
334
- * },
335
- * ],
336
- * yaxis: {
337
- * scale: "log",
338
- * includeZero: false,
339
- * max: "100",
340
- * },
341
- * },
342
- * },
343
- * {
344
- * toplistDefinition: {
345
- * requests: [{
346
- * q: "avg:system.cpu.user{app:general} by {env}",
347
- * conditionalFormats: [
348
- * {
349
- * comparator: "<",
350
- * value: 2,
351
- * palette: "white_on_green",
352
- * },
353
- * {
354
- * comparator: ">",
355
- * value: 2.2,
356
- * palette: "white_on_red",
357
- * },
358
- * ],
359
- * }],
360
- * title: "Widget Title",
361
- * },
362
- * },
363
- * {
364
74
  * groupDefinition: {
365
75
  * layoutType: "ordered",
366
76
  * title: "Group Widget",
367
- * widgets: [
368
- * {
369
- * noteDefinition: {
370
- * content: "cluster note widget",
371
- * backgroundColor: "pink",
372
- * fontSize: "14",
373
- * textAlign: "center",
374
- * showTick: true,
375
- * tickEdge: "left",
376
- * tickPos: "50%",
377
- * },
77
+ * widgets: [{
78
+ * noteDefinition: {
79
+ * content: "cluster note widget",
80
+ * backgroundColor: "pink",
81
+ * fontSize: "14",
82
+ * textAlign: "center",
83
+ * showTick: true,
84
+ * tickEdge: "left",
85
+ * tickPos: "50%",
378
86
  * },
379
- * {
380
- * alertGraphDefinition: {
381
- * alertId: "123",
382
- * vizType: "toplist",
383
- * title: "Alert Graph",
384
- * liveSpan: "1h",
385
- * },
386
- * },
387
- * ],
388
- * },
389
- * },
390
- * {
391
- * serviceLevelObjectiveDefinition: {
392
- * title: "Widget Title",
393
- * viewType: "detail",
394
- * sloId: "56789",
395
- * showErrorBudget: true,
396
- * viewMode: "overall",
397
- * timeWindows: [
398
- * "7d",
399
- * "previous_week",
400
- * ],
87
+ * }],
401
88
  * },
402
89
  * },
403
90
  * ],
404
- * templateVariables: [
405
- * {
406
- * name: "var_1",
407
- * prefix: "host",
408
- * "default": "aws",
409
- * },
410
- * {
411
- * name: "var_2",
412
- * prefix: "service_name",
413
- * "default": "autoscaling",
414
- * },
415
- * ],
416
- * templateVariablePresets: [{
417
- * name: "preset_1",
418
- * templateVariables: [
419
- * {
420
- * name: "var_1",
421
- * value: "host.dc",
422
- * },
423
- * {
424
- * name: "var_2",
425
- * value: "my_service",
426
- * },
427
- * ],
91
+ * templateVariables: [{
92
+ * name: "var_1",
93
+ * prefix: "host",
94
+ * "default": "aws",
428
95
  * }],
429
96
  * });
430
97
  * // Example Free Layout
@@ -432,323 +99,33 @@ import * as outputs from "./types/output";
432
99
  * title: "Free Layout Dashboard",
433
100
  * description: "Created using the Datadog provider in Pulumi",
434
101
  * layoutType: "free",
435
- * widgets: [
436
- * {
437
- * eventStreamDefinition: {
438
- * query: "*",
439
- * eventSize: "l",
440
- * title: "Widget Title",
441
- * titleSize: "16",
442
- * titleAlign: "left",
443
- * liveSpan: "1h",
444
- * },
445
- * widgetLayout: {
446
- * height: 43,
447
- * width: 32,
448
- * x: 0,
449
- * y: 0,
450
- * },
451
- * },
452
- * {
453
- * eventTimelineDefinition: {
454
- * query: "*",
455
- * title: "Widget Title",
456
- * titleSize: "16",
457
- * titleAlign: "left",
458
- * liveSpan: "1h",
459
- * },
460
- * widgetLayout: {
461
- * height: 9,
462
- * width: 66,
463
- * x: 33,
464
- * y: 60,
465
- * },
466
- * },
467
- * {
468
- * freeTextDefinition: {
469
- * text: "free text content",
470
- * color: "#d00",
471
- * fontSize: "36",
472
- * textAlign: "left",
473
- * },
474
- * widgetLayout: {
475
- * height: 20,
476
- * width: 34,
477
- * x: 33,
478
- * y: 0,
479
- * },
480
- * },
481
- * {
482
- * iframeDefinition: {
483
- * url: "http://google.com",
484
- * },
485
- * widgetLayout: {
486
- * height: 46,
487
- * width: 39,
488
- * x: 101,
489
- * y: 0,
490
- * },
491
- * },
492
- * {
493
- * imageDefinition: {
494
- * url: "https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress&cs=tinysrgb&h=350",
495
- * sizing: "fit",
496
- * margin: "small",
497
- * },
498
- * widgetLayout: {
499
- * height: 20,
500
- * width: 30,
501
- * x: 69,
502
- * y: 0,
503
- * },
504
- * },
505
- * {
506
- * logStreamDefinition: {
507
- * indexes: ["main"],
508
- * query: "error",
509
- * columns: [
510
- * "core_host",
511
- * "core_service",
512
- * "tag_source",
513
- * ],
514
- * showDateColumn: true,
515
- * showMessageColumn: true,
516
- * messageDisplay: "expanded-md",
517
- * sort: {
518
- * column: "time",
519
- * order: "desc",
520
- * },
521
- * },
522
- * widgetLayout: {
523
- * height: 36,
524
- * width: 32,
525
- * x: 0,
526
- * y: 45,
527
- * },
528
- * },
529
- * {
530
- * manageStatusDefinition: {
531
- * colorPreference: "text",
532
- * displayFormat: "countsAndList",
533
- * hideZeroCounts: true,
534
- * query: "type:metric",
535
- * showLastTriggered: false,
536
- * sort: "status,asc",
537
- * summaryType: "monitors",
538
- * title: "Widget Title",
539
- * titleSize: "16",
540
- * titleAlign: "left",
541
- * },
542
- * widgetLayout: {
543
- * height: 40,
544
- * width: 30,
545
- * x: 101,
546
- * y: 48,
547
- * },
548
- * },
549
- * {
550
- * traceServiceDefinition: {
551
- * displayFormat: "three_column",
552
- * env: "datadog.com",
553
- * service: "alerting-cassandra",
554
- * showBreakdown: true,
555
- * showDistribution: true,
556
- * showErrors: true,
557
- * showHits: true,
558
- * showLatency: false,
559
- * showResourceList: false,
560
- * sizeFormat: "large",
561
- * spanName: "cassandra.query",
562
- * title: "alerting-cassandra #env:datadog.com",
563
- * titleAlign: "center",
564
- * titleSize: "13",
565
- * liveSpan: "1h",
566
- * },
567
- * widgetLayout: {
568
- * height: 38,
569
- * width: 66,
570
- * x: 33,
571
- * y: 21,
572
- * },
573
- * },
574
- * {
575
- * timeseriesDefinition: {
576
- * requests: [{
577
- * formulas: [
578
- * {
579
- * formulaExpression: "my_query_1 + my_query_2",
580
- * alias: "my ff query",
581
- * },
582
- * {
583
- * formulaExpression: "my_query_1 * my_query_2",
584
- * limit: {
585
- * count: 5,
586
- * order: "desc",
587
- * },
588
- * alias: "my second ff query",
589
- * },
590
- * ],
591
- * queries: [
592
- * {
593
- * metricQuery: {
594
- * dataSource: "metrics",
595
- * query: "avg:system.cpu.user{app:general} by {env}",
596
- * name: "my_query_1",
597
- * aggregator: "sum",
598
- * },
599
- * },
600
- * {
601
- * metricQuery: {
602
- * query: "avg:system.cpu.user{app:general} by {env}",
603
- * name: "my_query_2",
604
- * aggregator: "sum",
605
- * },
606
- * },
607
- * ],
102
+ * widgets: [{
103
+ * timeseriesDefinition: {
104
+ * requests: [{
105
+ * formulas: [{
106
+ * formulaExpression: "my_query_1",
608
107
  * }],
609
- * },
610
- * widgetLayout: {
611
- * height: 16,
612
- * width: 25,
613
- * x: 58,
614
- * y: 83,
615
- * },
616
- * },
617
- * {
618
- * timeseriesDefinition: {
619
- * requests: [
620
- * {
621
- * queries: [{
622
- * eventQuery: {
623
- * name: "my-query",
624
- * dataSource: "logs",
625
- * indexes: ["days-3"],
626
- * computes: [{
627
- * aggregation: "count",
628
- * }],
629
- * groupBies: [{
630
- * facet: "host",
631
- * sort: {
632
- * metric: "@lambda.max_memory_used",
633
- * aggregation: "avg",
634
- * },
635
- * limit: 10,
636
- * }],
637
- * },
638
- * }],
108
+ * queries: [{
109
+ * metricQuery: {
110
+ * dataSource: "metrics",
111
+ * query: "avg:system.cpu.user{*} by {env}",
112
+ * name: "my_query_1",
113
+ * aggregator: "sum",
639
114
  * },
640
- * {
641
- * displayType: "overlay",
642
- * queries: [{
643
- * metricQuery: {
644
- * name: "MyOverlay",
645
- * dataSource: "metrics",
646
- * query: "avg:system.cpu.user{host:COMP-QJWVM2FYT4}",
647
- * },
648
- * }],
649
- * },
650
- * ],
651
- * },
652
- * widgetLayout: {
653
- * height: 16,
654
- * width: 28,
655
- * x: 29,
656
- * y: 83,
657
- * },
658
- * },
659
- * {
660
- * timeseriesDefinition: {
661
- * requests: [{
662
- * queries: [{
663
- * processQuery: {
664
- * dataSource: "process",
665
- * textFilter: "abc",
666
- * metric: "process.stat.cpu.total_pct",
667
- * limit: 10,
668
- * tagFilters: ["some_filter"],
669
- * name: "my_process_query",
670
- * sort: "asc",
671
- * isNormalizedCpu: true,
672
- * aggregator: "sum",
673
- * },
674
- * }],
675
115
  * }],
676
- * },
677
- * widgetLayout: {
678
- * height: 16,
679
- * width: 28,
680
- * x: 0,
681
- * y: 83,
682
- * },
116
+ * }],
683
117
  * },
684
- * {
685
- * timeseriesDefinition: {
686
- * requests: [{
687
- * formulas: [{
688
- * formulaExpression: "query1",
689
- * alias: "my cloud cost query",
690
- * }],
691
- * queries: [{
692
- * cloudCostQuery: {
693
- * dataSource: "cloud_cost",
694
- * query: "sum:aws.cost.amortized{*}",
695
- * name: "query1",
696
- * aggregator: "sum",
697
- * },
698
- * }],
699
- * }],
700
- * },
701
- * },
702
- * {
703
- * powerpackDefinition: {
704
- * powerpackId: "00000000-0000-0000-0000-000000000000",
705
- * backgroundColor: "blue",
706
- * bannerImg: "https://example.org/example.png",
707
- * showTitle: true,
708
- * title: "Powerpack Widget",
709
- * templateVariables: {
710
- * controlledExternallies: [{
711
- * name: "var_2",
712
- * values: ["autoscaling"],
713
- * prefix: "service_name",
714
- * }],
715
- * controlledByPowerpacks: [{
716
- * name: "var_3",
717
- * prefix: "timeframe",
718
- * values: [
719
- * "default",
720
- * "values",
721
- * "here",
722
- * ],
723
- * }],
724
- * },
725
- * },
726
- * },
727
- * ],
728
- * templateVariables: [
729
- * {
730
- * name: "var_1",
731
- * prefix: "host",
732
- * "default": "aws",
118
+ * widgetLayout: {
119
+ * height: 16,
120
+ * width: 25,
121
+ * x: 0,
122
+ * y: 0,
733
123
  * },
734
- * {
735
- * name: "var_2",
736
- * prefix: "service_name",
737
- * "default": "autoscaling",
738
- * },
739
- * ],
740
- * templateVariablePresets: [{
741
- * name: "preset_1",
742
- * templateVariables: [
743
- * {
744
- * name: "var_1",
745
- * value: "host.dc",
746
- * },
747
- * {
748
- * name: "var_2",
749
- * value: "my_service",
750
- * },
751
- * ],
124
+ * }],
125
+ * templateVariables: [{
126
+ * name: "var_1",
127
+ * prefix: "host",
128
+ * "default": "aws",
752
129
  * }],
753
130
  * });
754
131
  * ```
@@ -808,11 +185,11 @@ export declare class Dashboard extends pulumi.CustomResource {
808
185
  */
809
186
  readonly reflowType: pulumi.Output<string | undefined>;
810
187
  /**
811
- * UUIDs of roles whose associated users are authorized to edit the dashboard.
188
+ * A list of role identifiers. Only the author and users associated with at least one of these roles can edit this dashboard.
812
189
  */
813
190
  readonly restrictedRoles: pulumi.Output<string[] | undefined>;
814
191
  /**
815
- * The list of tabs for organizing widgets on the dashboard.
192
+ * List of tabs for organizing widgets.
816
193
  */
817
194
  readonly tabs: pulumi.Output<outputs.DashboardTab[] | undefined>;
818
195
  /**
@@ -835,6 +212,10 @@ export declare class Dashboard extends pulumi.CustomResource {
835
212
  * The URL of the dashboard.
836
213
  */
837
214
  readonly url: pulumi.Output<string>;
215
+ /**
216
+ * Whether to send widgets to the Datadog API to validate widget configuration and query values during `pulumi preview`. Defaults to `true`. Setting this to `false` skips only the Datadog API validation; local Terraform schema and checks for conflicting fields still run.
217
+ */
218
+ readonly validate: pulumi.Output<boolean | undefined>;
838
219
  /**
839
220
  * The list of widgets to display on the dashboard.
840
221
  */
@@ -883,11 +264,11 @@ export interface DashboardState {
883
264
  */
884
265
  reflowType?: pulumi.Input<string | undefined>;
885
266
  /**
886
- * UUIDs of roles whose associated users are authorized to edit the dashboard.
267
+ * A list of role identifiers. Only the author and users associated with at least one of these roles can edit this dashboard.
887
268
  */
888
269
  restrictedRoles?: pulumi.Input<pulumi.Input<string>[] | undefined>;
889
270
  /**
890
- * The list of tabs for organizing widgets on the dashboard.
271
+ * List of tabs for organizing widgets.
891
272
  */
892
273
  tabs?: pulumi.Input<pulumi.Input<inputs.DashboardTab>[] | undefined>;
893
274
  /**
@@ -910,6 +291,10 @@ export interface DashboardState {
910
291
  * The URL of the dashboard.
911
292
  */
912
293
  url?: pulumi.Input<string | undefined>;
294
+ /**
295
+ * Whether to send widgets to the Datadog API to validate widget configuration and query values during `pulumi preview`. Defaults to `true`. Setting this to `false` skips only the Datadog API validation; local Terraform schema and checks for conflicting fields still run.
296
+ */
297
+ validate?: pulumi.Input<boolean | undefined>;
913
298
  /**
914
299
  * The list of widgets to display on the dashboard.
915
300
  */
@@ -923,6 +308,10 @@ export interface DashboardArgs {
923
308
  * A list of dashboard lists this dashboard belongs to. This attribute should not be set if managing the corresponding dashboard lists using Terraform as it causes inconsistent behavior.
924
309
  */
925
310
  dashboardLists?: pulumi.Input<pulumi.Input<number>[] | undefined>;
311
+ /**
312
+ * A list of dashboard lists this dashboard should be removed from. Internal only.
313
+ */
314
+ dashboardListsRemoveds?: pulumi.Input<pulumi.Input<number>[] | undefined>;
926
315
  /**
927
316
  * The description of the dashboard.
928
317
  */
@@ -946,11 +335,11 @@ export interface DashboardArgs {
946
335
  */
947
336
  reflowType?: pulumi.Input<string | undefined>;
948
337
  /**
949
- * UUIDs of roles whose associated users are authorized to edit the dashboard.
338
+ * A list of role identifiers. Only the author and users associated with at least one of these roles can edit this dashboard.
950
339
  */
951
340
  restrictedRoles?: pulumi.Input<pulumi.Input<string>[] | undefined>;
952
341
  /**
953
- * The list of tabs for organizing widgets on the dashboard.
342
+ * List of tabs for organizing widgets.
954
343
  */
955
344
  tabs?: pulumi.Input<pulumi.Input<inputs.DashboardTab>[] | undefined>;
956
345
  /**
@@ -973,6 +362,10 @@ export interface DashboardArgs {
973
362
  * The URL of the dashboard.
974
363
  */
975
364
  url?: pulumi.Input<string | undefined>;
365
+ /**
366
+ * Whether to send widgets to the Datadog API to validate widget configuration and query values during `pulumi preview`. Defaults to `true`. Setting this to `false` skips only the Datadog API validation; local Terraform schema and checks for conflicting fields still run.
367
+ */
368
+ validate?: pulumi.Input<boolean | undefined>;
976
369
  /**
977
370
  * The list of widgets to display on the dashboard.
978
371
  */