-
Notifications
You must be signed in to change notification settings - Fork 47
/
Copy pathCreateDashboard_109450134.py
63 lines (59 loc) · 2.45 KB
/
CreateDashboard_109450134.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
"""
Create a new dashboard with slo list widget with sort
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.dashboards_api import DashboardsApi
from datadog_api_client.v1.model.dashboard import Dashboard
from datadog_api_client.v1.model.dashboard_layout_type import DashboardLayoutType
from datadog_api_client.v1.model.slo_list_widget_definition import SLOListWidgetDefinition
from datadog_api_client.v1.model.slo_list_widget_definition_type import SLOListWidgetDefinitionType
from datadog_api_client.v1.model.slo_list_widget_query import SLOListWidgetQuery
from datadog_api_client.v1.model.slo_list_widget_request import SLOListWidgetRequest
from datadog_api_client.v1.model.slo_list_widget_request_type import SLOListWidgetRequestType
from datadog_api_client.v1.model.widget import Widget
from datadog_api_client.v1.model.widget_field_sort import WidgetFieldSort
from datadog_api_client.v1.model.widget_layout import WidgetLayout
from datadog_api_client.v1.model.widget_sort import WidgetSort
from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign
body = Dashboard(
title="Example-Dashboard",
description="",
widgets=[
Widget(
layout=WidgetLayout(
x=0.0,
y=0.0,
width=60,
height=21,
),
definition=SLOListWidgetDefinition(
title_size="16",
title_align=WidgetTextAlign.LEFT,
type=SLOListWidgetDefinitionType.SLO_LIST,
requests=[
SLOListWidgetRequest(
query=SLOListWidgetQuery(
query_string="env:prod AND service:my-app",
limit=75,
sort=[
WidgetFieldSort(
column="status.sli",
order=WidgetSort.ASCENDING,
),
],
),
request_type=SLOListWidgetRequestType.SLO_LIST,
),
],
),
),
],
template_variables=[],
layout_type=DashboardLayoutType.FREE,
notify_list=[],
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = DashboardsApi(api_client)
response = api_instance.create_dashboard(body=body)
print(response)