Skip to content

Commit c5283d0

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit e3fd9cb of spec repo
1 parent 330bd16 commit c5283d0

34 files changed

Lines changed: 2412 additions & 74 deletions

File tree

.generator/schemas/v2/openapi.yaml

Lines changed: 357 additions & 24 deletions
Large diffs are not rendered by default.

docs/datadog_api_client.v2.api.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,13 @@ datadog\_api\_client.v2.api.dashboard\_secure\_embed\_api module
235235
:members:
236236
:show-inheritance:
237237

238+
datadog\_api\_client.v2.api.dashboards\_api module
239+
--------------------------------------------------
240+
241+
.. automodule:: datadog_api_client.v2.api.dashboards_api
242+
:members:
243+
:show-inheritance:
244+
238245
datadog\_api\_client.v2.api.data\_deletion\_api module
239246
------------------------------------------------------
240247

docs/datadog_api_client.v2.model.rst

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8901,6 +8901,41 @@ datadog\_api\_client.v2.model.dashboard\_type module
89018901
:members:
89028902
:show-inheritance:
89038903

8904+
datadog\_api\_client.v2.model.dashboard\_usage module
8905+
-----------------------------------------------------
8906+
8907+
.. automodule:: datadog_api_client.v2.model.dashboard_usage
8908+
:members:
8909+
:show-inheritance:
8910+
8911+
datadog\_api\_client.v2.model.dashboard\_usage\_attributes module
8912+
-----------------------------------------------------------------
8913+
8914+
.. automodule:: datadog_api_client.v2.model.dashboard_usage_attributes
8915+
:members:
8916+
:show-inheritance:
8917+
8918+
datadog\_api\_client.v2.model.dashboard\_usage\_response module
8919+
---------------------------------------------------------------
8920+
8921+
.. automodule:: datadog_api_client.v2.model.dashboard_usage_response
8922+
:members:
8923+
:show-inheritance:
8924+
8925+
datadog\_api\_client.v2.model.dashboard\_usage\_type module
8926+
-----------------------------------------------------------
8927+
8928+
.. automodule:: datadog_api_client.v2.model.dashboard_usage_type
8929+
:members:
8930+
:show-inheritance:
8931+
8932+
datadog\_api\_client.v2.model.dashboard\_usage\_user module
8933+
-----------------------------------------------------------
8934+
8935+
.. automodule:: datadog_api_client.v2.model.dashboard_usage_user
8936+
:members:
8937+
:show-inheritance:
8938+
89048939
datadog\_api\_client.v2.model.data\_attributes\_rules\_items\_if\_tag\_exists module
89058940
------------------------------------------------------------------------------------
89068941

@@ -17161,6 +17196,27 @@ datadog\_api\_client.v2.model.list\_connections\_response\_data\_type module
1716117196
:members:
1716217197
:show-inheritance:
1716317198

17199+
datadog\_api\_client.v2.model.list\_dashboards\_usage\_response module
17200+
----------------------------------------------------------------------
17201+
17202+
.. automodule:: datadog_api_client.v2.model.list_dashboards_usage_response
17203+
:members:
17204+
:show-inheritance:
17205+
17206+
datadog\_api\_client.v2.model.list\_dashboards\_usage\_response\_links module
17207+
-----------------------------------------------------------------------------
17208+
17209+
.. automodule:: datadog_api_client.v2.model.list_dashboards_usage_response_links
17210+
:members:
17211+
:show-inheritance:
17212+
17213+
datadog\_api\_client.v2.model.list\_dashboards\_usage\_response\_meta module
17214+
----------------------------------------------------------------------------
17215+
17216+
.. automodule:: datadog_api_client.v2.model.list_dashboards_usage_response_meta
17217+
:members:
17218+
:show-inheritance:
17219+
1716417220
datadog\_api\_client.v2.model.list\_deployment\_rule\_response\_data module
1716517221
---------------------------------------------------------------------------
1716617222

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
"""
2+
Get usage stats for a dashboard returns "OK" response
3+
"""
4+
5+
from os import environ
6+
from datadog_api_client import ApiClient, Configuration
7+
from datadog_api_client.v2.api.dashboards_api import DashboardsApi
8+
9+
# there is a valid "dashboard" in the system
10+
DASHBOARD_ID = environ["DASHBOARD_ID"]
11+
12+
configuration = Configuration()
13+
configuration.unstable_operations["get_dashboard_usage"] = True
14+
with ApiClient(configuration) as api_client:
15+
api_instance = DashboardsApi(api_client)
16+
response = api_instance.get_dashboard_usage(
17+
dashboard_id=DASHBOARD_ID,
18+
)
19+
20+
print(response)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
"""
2+
Get usage stats for all dashboards returns "OK" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.dashboards_api import DashboardsApi
7+
8+
configuration = Configuration()
9+
configuration.unstable_operations["list_dashboards_usage"] = True
10+
with ApiClient(configuration) as api_client:
11+
api_instance = DashboardsApi(api_client)
12+
response = api_instance.list_dashboards_usage()
13+
14+
print(response)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"""
2+
Get usage stats for all dashboards returns "OK" response with pagination
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.dashboards_api import DashboardsApi
7+
8+
configuration = Configuration()
9+
configuration.unstable_operations["list_dashboards_usage"] = True
10+
with ApiClient(configuration) as api_client:
11+
api_instance = DashboardsApi(api_client)
12+
items = api_instance.list_dashboards_usage_with_pagination(
13+
page_limit=500,
14+
)
15+
for item in items:
16+
print(item)

src/datadog_api_client/configuration.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,8 @@ def __init__(
371371
"v2.delete_dashboard_secure_embed": False,
372372
"v2.get_dashboard_secure_embed": False,
373373
"v2.update_dashboard_secure_embed": False,
374+
"v2.get_dashboard_usage": False,
375+
"v2.list_dashboards_usage": False,
374376
"v2.create_dataset": False,
375377
"v2.delete_dataset": False,
376378
"v2.get_all_datasets": False,
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
2+
# This product includes software developed at Datadog (https://www.datadoghq.com/).
3+
# Copyright 2019-Present Datadog, Inc.
4+
from __future__ import annotations
5+
6+
import collections
7+
from typing import Any, Dict, Union
8+
9+
from datadog_api_client.api_client import ApiClient, Endpoint as _Endpoint
10+
from datadog_api_client.configuration import Configuration
11+
from datadog_api_client.model_utils import (
12+
set_attribute_from_path,
13+
get_attribute_from_path,
14+
UnsetType,
15+
unset,
16+
)
17+
from datadog_api_client.v2.model.list_dashboards_usage_response import ListDashboardsUsageResponse
18+
from datadog_api_client.v2.model.dashboard_usage import DashboardUsage
19+
from datadog_api_client.v2.model.dashboard_usage_response import DashboardUsageResponse
20+
21+
22+
class DashboardsApi:
23+
"""
24+
Get usage statistics for the dashboards in your organization, including view
25+
counts, last-edit times, widget counts, and quality scores. See the
26+
`Dashboards documentation <https://docs.datadoghq.com/dashboards/>`_ for more
27+
information.
28+
"""
29+
30+
def __init__(self, api_client=None):
31+
if api_client is None:
32+
api_client = ApiClient(Configuration())
33+
self.api_client = api_client
34+
35+
self._get_dashboard_usage_endpoint = _Endpoint(
36+
settings={
37+
"response_type": (DashboardUsageResponse,),
38+
"auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"],
39+
"endpoint_path": "/api/v2/dashboards/{dashboard_id}/usage",
40+
"operation_id": "get_dashboard_usage",
41+
"http_method": "GET",
42+
"version": "v2",
43+
},
44+
params_map={
45+
"dashboard_id": {
46+
"required": True,
47+
"openapi_types": (str,),
48+
"attribute": "dashboard_id",
49+
"location": "path",
50+
},
51+
},
52+
headers_map={
53+
"accept": ["application/json"],
54+
},
55+
api_client=api_client,
56+
)
57+
58+
self._list_dashboards_usage_endpoint = _Endpoint(
59+
settings={
60+
"response_type": (ListDashboardsUsageResponse,),
61+
"auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"],
62+
"endpoint_path": "/api/v2/dashboards/usage",
63+
"operation_id": "list_dashboards_usage",
64+
"http_method": "GET",
65+
"version": "v2",
66+
},
67+
params_map={
68+
"page_limit": {
69+
"openapi_types": (int,),
70+
"attribute": "page[limit]",
71+
"location": "query",
72+
},
73+
"page_offset": {
74+
"validation": {
75+
"inclusive_minimum": 0,
76+
},
77+
"openapi_types": (int,),
78+
"attribute": "page[offset]",
79+
"location": "query",
80+
},
81+
},
82+
headers_map={
83+
"accept": ["application/json"],
84+
},
85+
api_client=api_client,
86+
)
87+
88+
def get_dashboard_usage(
89+
self,
90+
dashboard_id: str,
91+
) -> DashboardUsageResponse:
92+
"""Get usage stats for a dashboard.
93+
94+
Get usage statistics for a single dashboard. The response includes view counts, the most recent view and edit times, widget counts, and the dashboard quality score.
95+
96+
:param dashboard_id: The ID of the dashboard.
97+
:type dashboard_id: str
98+
:rtype: DashboardUsageResponse
99+
"""
100+
kwargs: Dict[str, Any] = {}
101+
kwargs["dashboard_id"] = dashboard_id
102+
103+
return self._get_dashboard_usage_endpoint.call_with_http_info(**kwargs)
104+
105+
def list_dashboards_usage(
106+
self,
107+
*,
108+
page_limit: Union[int, UnsetType] = unset,
109+
page_offset: Union[int, UnsetType] = unset,
110+
) -> ListDashboardsUsageResponse:
111+
"""Get usage stats for all dashboards.
112+
113+
Get paginated usage statistics for every dashboard in the caller's organization. Use ``page[limit]`` and ``page[offset]`` to walk the result set.
114+
115+
:param page_limit: Maximum number of dashboards to return per page. Server-side maximum is 500; values above 500 return a 400 Bad Request.
116+
:type page_limit: int, optional
117+
:param page_offset: Zero-based offset into the result set.
118+
:type page_offset: int, optional
119+
:rtype: ListDashboardsUsageResponse
120+
"""
121+
kwargs: Dict[str, Any] = {}
122+
if page_limit is not unset:
123+
kwargs["page_limit"] = page_limit
124+
125+
if page_offset is not unset:
126+
kwargs["page_offset"] = page_offset
127+
128+
return self._list_dashboards_usage_endpoint.call_with_http_info(**kwargs)
129+
130+
def list_dashboards_usage_with_pagination(
131+
self,
132+
*,
133+
page_limit: Union[int, UnsetType] = unset,
134+
page_offset: Union[int, UnsetType] = unset,
135+
) -> collections.abc.Iterable[DashboardUsage]:
136+
"""Get usage stats for all dashboards.
137+
138+
Provide a paginated version of :meth:`list_dashboards_usage`, returning all items.
139+
140+
:param page_limit: Maximum number of dashboards to return per page. Server-side maximum is 500; values above 500 return a 400 Bad Request.
141+
:type page_limit: int, optional
142+
:param page_offset: Zero-based offset into the result set.
143+
:type page_offset: int, optional
144+
145+
:return: A generator of paginated results.
146+
:rtype: collections.abc.Iterable[DashboardUsage]
147+
"""
148+
kwargs: Dict[str, Any] = {}
149+
if page_limit is not unset:
150+
kwargs["page_limit"] = page_limit
151+
152+
if page_offset is not unset:
153+
kwargs["page_offset"] = page_offset
154+
155+
local_page_size = get_attribute_from_path(kwargs, "page_limit", 250)
156+
endpoint = self._list_dashboards_usage_endpoint
157+
set_attribute_from_path(kwargs, "page_limit", local_page_size, endpoint.params_map)
158+
pagination = {
159+
"limit_value": local_page_size,
160+
"results_path": "data",
161+
"page_offset_param": "page_offset",
162+
"endpoint": endpoint,
163+
"kwargs": kwargs,
164+
}
165+
return endpoint.call_with_http_info_paginated(pagination)

src/datadog_api_client/v2/apis/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
from datadog_api_client.v2.api.dora_metrics_api import DORAMetricsApi
3333
from datadog_api_client.v2.api.dashboard_lists_api import DashboardListsApi
3434
from datadog_api_client.v2.api.dashboard_secure_embed_api import DashboardSecureEmbedApi
35+
from datadog_api_client.v2.api.dashboards_api import DashboardsApi
3536
from datadog_api_client.v2.api.data_deletion_api import DataDeletionApi
3637
from datadog_api_client.v2.api.datasets_api import DatasetsApi
3738
from datadog_api_client.v2.api.deployment_gates_api import DeploymentGatesApi
@@ -145,6 +146,7 @@
145146
"DORAMetricsApi",
146147
"DashboardListsApi",
147148
"DashboardSecureEmbedApi",
149+
"DashboardsApi",
148150
"DataDeletionApi",
149151
"DatasetsApi",
150152
"DeploymentGatesApi",
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
2+
# This product includes software developed at Datadog (https://www.datadoghq.com/).
3+
# Copyright 2019-Present Datadog, Inc.
4+
from __future__ import annotations
5+
6+
from typing import TYPE_CHECKING
7+
8+
from datadog_api_client.model_utils import (
9+
ModelNormal,
10+
cached_property,
11+
)
12+
13+
14+
if TYPE_CHECKING:
15+
from datadog_api_client.v2.model.dashboard_usage_attributes import DashboardUsageAttributes
16+
from datadog_api_client.v2.model.dashboard_usage_type import DashboardUsageType
17+
18+
19+
class DashboardUsage(ModelNormal):
20+
@cached_property
21+
def openapi_types(_):
22+
from datadog_api_client.v2.model.dashboard_usage_attributes import DashboardUsageAttributes
23+
from datadog_api_client.v2.model.dashboard_usage_type import DashboardUsageType
24+
25+
return {
26+
"attributes": (DashboardUsageAttributes,),
27+
"id": (str,),
28+
"type": (DashboardUsageType,),
29+
}
30+
31+
attribute_map = {
32+
"attributes": "attributes",
33+
"id": "id",
34+
"type": "type",
35+
}
36+
37+
def __init__(self_, attributes: DashboardUsageAttributes, id: str, type: DashboardUsageType, **kwargs):
38+
"""
39+
A single dashboard usage record.
40+
41+
:param attributes: Usage statistics for a dashboard.
42+
:type attributes: DashboardUsageAttributes
43+
44+
:param id: The dashboard ID.
45+
:type id: str
46+
47+
:param type: The type of the resource. Always ``dashboards-usages``.
48+
:type type: DashboardUsageType
49+
"""
50+
super().__init__(kwargs)
51+
52+
self_.attributes = attributes
53+
self_.id = id
54+
self_.type = type

0 commit comments

Comments
 (0)