-
Notifications
You must be signed in to change notification settings - Fork 52
Expand file tree
/
Copy pathwidget.py
More file actions
148 lines (132 loc) · 7.19 KB
/
widget.py
File metadata and controls
148 lines (132 loc) · 7.19 KB
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
# This product includes software developed at Datadog (https://www.datadoghq.com/).
# Copyright 2019-Present Datadog, Inc.
from __future__ import annotations
from typing import Union, TYPE_CHECKING
from datadog_api_client.model_utils import (
ModelNormal,
cached_property,
unset,
UnsetType,
)
if TYPE_CHECKING:
from datadog_api_client.v1.model.widget_definition import WidgetDefinition
from datadog_api_client.v1.model.widget_layout import WidgetLayout
from datadog_api_client.v1.model.alert_graph_widget_definition import AlertGraphWidgetDefinition
from datadog_api_client.v1.model.alert_value_widget_definition import AlertValueWidgetDefinition
from datadog_api_client.v1.model.bar_chart_widget_definition import BarChartWidgetDefinition
from datadog_api_client.v1.model.change_widget_definition import ChangeWidgetDefinition
from datadog_api_client.v1.model.check_status_widget_definition import CheckStatusWidgetDefinition
from datadog_api_client.v1.model.distribution_widget_definition import DistributionWidgetDefinition
from datadog_api_client.v1.model.event_stream_widget_definition import EventStreamWidgetDefinition
from datadog_api_client.v1.model.event_timeline_widget_definition import EventTimelineWidgetDefinition
from datadog_api_client.v1.model.free_text_widget_definition import FreeTextWidgetDefinition
from datadog_api_client.v1.model.funnel_widget_definition import FunnelWidgetDefinition
from datadog_api_client.v1.model.geomap_widget_definition import GeomapWidgetDefinition
from datadog_api_client.v1.model.group_widget_definition import GroupWidgetDefinition
from datadog_api_client.v1.model.heat_map_widget_definition import HeatMapWidgetDefinition
from datadog_api_client.v1.model.host_map_widget_definition import HostMapWidgetDefinition
from datadog_api_client.v1.model.i_frame_widget_definition import IFrameWidgetDefinition
from datadog_api_client.v1.model.image_widget_definition import ImageWidgetDefinition
from datadog_api_client.v1.model.list_stream_widget_definition import ListStreamWidgetDefinition
from datadog_api_client.v1.model.log_stream_widget_definition import LogStreamWidgetDefinition
from datadog_api_client.v1.model.monitor_summary_widget_definition import MonitorSummaryWidgetDefinition
from datadog_api_client.v1.model.note_widget_definition import NoteWidgetDefinition
from datadog_api_client.v1.model.powerpack_widget_definition import PowerpackWidgetDefinition
from datadog_api_client.v1.model.query_value_widget_definition import QueryValueWidgetDefinition
from datadog_api_client.v1.model.run_workflow_widget_definition import RunWorkflowWidgetDefinition
from datadog_api_client.v1.model.slo_list_widget_definition import SLOListWidgetDefinition
from datadog_api_client.v1.model.slo_widget_definition import SLOWidgetDefinition
from datadog_api_client.v1.model.scatter_plot_widget_definition import ScatterPlotWidgetDefinition
from datadog_api_client.v1.model.sankey_widget_definition import SankeyWidgetDefinition
from datadog_api_client.v1.model.service_map_widget_definition import ServiceMapWidgetDefinition
from datadog_api_client.v1.model.service_summary_widget_definition import ServiceSummaryWidgetDefinition
from datadog_api_client.v1.model.split_graph_widget_definition import SplitGraphWidgetDefinition
from datadog_api_client.v1.model.sunburst_widget_definition import SunburstWidgetDefinition
from datadog_api_client.v1.model.table_widget_definition import TableWidgetDefinition
from datadog_api_client.v1.model.timeseries_widget_definition import TimeseriesWidgetDefinition
from datadog_api_client.v1.model.toplist_widget_definition import ToplistWidgetDefinition
from datadog_api_client.v1.model.topology_map_widget_definition import TopologyMapWidgetDefinition
from datadog_api_client.v1.model.tree_map_widget_definition import TreeMapWidgetDefinition
from datadog_api_client.v1.model.wildcard_widget_definition import WildcardWidgetDefinition
class Widget(ModelNormal):
@cached_property
def openapi_types(_):
from datadog_api_client.v1.model.widget_definition import WidgetDefinition
from datadog_api_client.v1.model.widget_layout import WidgetLayout
return {
"definition": (WidgetDefinition,),
"id": (int,),
"layout": (WidgetLayout,),
}
attribute_map = {
"definition": "definition",
"id": "id",
"layout": "layout",
}
def __init__(
self_,
definition: Union[
WidgetDefinition,
AlertGraphWidgetDefinition,
AlertValueWidgetDefinition,
BarChartWidgetDefinition,
ChangeWidgetDefinition,
CheckStatusWidgetDefinition,
DistributionWidgetDefinition,
EventStreamWidgetDefinition,
EventTimelineWidgetDefinition,
FreeTextWidgetDefinition,
FunnelWidgetDefinition,
GeomapWidgetDefinition,
GroupWidgetDefinition,
HeatMapWidgetDefinition,
HostMapWidgetDefinition,
IFrameWidgetDefinition,
ImageWidgetDefinition,
ListStreamWidgetDefinition,
LogStreamWidgetDefinition,
MonitorSummaryWidgetDefinition,
NoteWidgetDefinition,
PowerpackWidgetDefinition,
QueryValueWidgetDefinition,
RunWorkflowWidgetDefinition,
SLOListWidgetDefinition,
SLOWidgetDefinition,
ScatterPlotWidgetDefinition,
SankeyWidgetDefinition,
ServiceMapWidgetDefinition,
ServiceSummaryWidgetDefinition,
SplitGraphWidgetDefinition,
SunburstWidgetDefinition,
TableWidgetDefinition,
TimeseriesWidgetDefinition,
ToplistWidgetDefinition,
TopologyMapWidgetDefinition,
TreeMapWidgetDefinition,
WildcardWidgetDefinition,
],
id: Union[int, UnsetType] = unset,
layout: Union[WidgetLayout, UnsetType] = unset,
**kwargs,
):
"""
Information about widget.
**Note** : The ``layout`` property is required for widgets in dashboards with ``free`` ``layout_type``.
For the **new dashboard layout** , the ``layout`` property depends on the ``reflow_type`` of the dashboard.
.. code-block::
- If `reflow_type` is `fixed`, `layout` is required.
- If `reflow_type` is `auto`, `layout` should not be set.
:param definition: `Definition of the widget <https://docs.datadoghq.com/dashboards/widgets/>`_.
:type definition: WidgetDefinition
:param id: ID of the widget.
:type id: int, optional
:param layout: The layout for a widget on a ``free`` or **new dashboard layout** dashboard.
:type layout: WidgetLayout, optional
"""
if id is not unset:
kwargs["id"] = id
if layout is not unset:
kwargs["layout"] = layout
super().__init__(kwargs)
self_.definition = definition