Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
444 changes: 444 additions & 0 deletions .generator/schemas/v2/openapi.yaml

Large diffs are not rendered by default.

77 changes: 77 additions & 0 deletions docs/datadog_api_client.v2.model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11477,6 +11477,34 @@ datadog\_api\_client.v2.model.dataset\_create\_request module
:members:
:show-inheritance:

datadog\_api\_client.v2.model.dataset\_report\_schedule\_list\_response module
------------------------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.dataset_report_schedule_list_response
:members:
:show-inheritance:

datadog\_api\_client.v2.model.dataset\_report\_schedule\_resource\_type module
------------------------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.dataset_report_schedule_resource_type
:members:
:show-inheritance:

datadog\_api\_client.v2.model.dataset\_report\_schedule\_response\_attributes module
------------------------------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.dataset_report_schedule_response_attributes
:members:
:show-inheritance:

datadog\_api\_client.v2.model.dataset\_report\_schedule\_response\_data module
------------------------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.dataset_report_schedule_response_data
:members:
:show-inheritance:

datadog\_api\_client.v2.model.dataset\_request module
-----------------------------------------------------

Expand Down Expand Up @@ -31812,6 +31840,55 @@ datadog\_api\_client.v2.model.preview\_entity\_response\_data module
:members:
:show-inheritance:

datadog\_api\_client.v2.model.print\_report\_request module
-----------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.print_report_request
:members:
:show-inheritance:

datadog\_api\_client.v2.model.print\_report\_request\_attributes module
-----------------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.print_report_request_attributes
:members:
:show-inheritance:

datadog\_api\_client.v2.model.print\_report\_request\_data module
-----------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.print_report_request_data
:members:
:show-inheritance:

datadog\_api\_client.v2.model.print\_report\_response module
------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.print_report_response
:members:
:show-inheritance:

datadog\_api\_client.v2.model.print\_report\_response\_attributes module
------------------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.print_report_response_attributes
:members:
:show-inheritance:

datadog\_api\_client.v2.model.print\_report\_response\_data module
------------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.print_report_response_data
:members:
:show-inheritance:

datadog\_api\_client.v2.model.print\_report\_type module
--------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.print_report_type
:members:
:show-inheritance:

datadog\_api\_client.v2.model.process\_data\_source module
----------------------------------------------------------

Expand Down
15 changes: 15 additions & 0 deletions examples/v2/report-schedules/ListDatasetReportSchedules.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""
List dataset report schedules returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.report_schedules_api import ReportSchedulesApi

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = ReportSchedulesApi(api_client)
response = api_instance.list_dataset_report_schedules(
dataset_id="dataset_id",
)

print(response)
41 changes: 41 additions & 0 deletions examples/v2/report-schedules/PrintReport.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
"""
Print a report returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.report_schedules_api import ReportSchedulesApi
from datadog_api_client.v2.model.print_report_request import PrintReportRequest
from datadog_api_client.v2.model.print_report_request_attributes import PrintReportRequestAttributes
from datadog_api_client.v2.model.print_report_request_data import PrintReportRequestData
from datadog_api_client.v2.model.print_report_type import PrintReportType
from datadog_api_client.v2.model.report_schedule_resource_type import ReportScheduleResourceType
from datadog_api_client.v2.model.report_schedule_template_variable import ReportScheduleTemplateVariable

body = PrintReportRequest(
data=PrintReportRequestData(
attributes=PrintReportRequestAttributes(
from_ts=1780318800000,
resource_id="abc-def-ghi",
resource_type=ReportScheduleResourceType.DASHBOARD,
template_variables=[
ReportScheduleTemplateVariable(
name="env",
values=[
"prod",
],
),
],
timeframe="1w",
timezone="America/New_York",
to_ts=1780923600000,
),
type=PrintReportType.REPORT,
),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = ReportSchedulesApi(api_client)
response = api_instance.print_report(body=body)

print(response)
83 changes: 83 additions & 0 deletions src/datadog_api_client/v2/api/report_schedules_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
unset,
UUID,
)
from datadog_api_client.v2.model.dataset_report_schedule_list_response import DatasetReportScheduleListResponse
from datadog_api_client.v2.model.print_report_response import PrintReportResponse
from datadog_api_client.v2.model.print_report_request import PrintReportRequest
from datadog_api_client.v2.model.report_schedule_response import ReportScheduleResponse
from datadog_api_client.v2.model.report_schedule_create_request import ReportScheduleCreateRequest
from datadog_api_client.v2.model.report_schedule_list_response import ReportScheduleListResponse
Expand Down Expand Up @@ -127,6 +130,29 @@ def __init__(self, api_client=None):
api_client=api_client,
)

self._list_dataset_report_schedules_endpoint = _Endpoint(
settings={
"response_type": (DatasetReportScheduleListResponse,),
"auth": ["apiKeyAuth", "appKeyAuth"],
"endpoint_path": "/api/v2/reporting/dataset/{dataset_id}/schedules",
"operation_id": "list_dataset_report_schedules",
"http_method": "GET",
"version": "v2",
},
params_map={
"dataset_id": {
"required": True,
"openapi_types": (str,),
"attribute": "dataset_id",
"location": "path",
},
},
headers_map={
"accept": ["application/json"],
},
api_client=api_client,
)

self._list_report_schedules_endpoint = _Endpoint(
settings={
"response_type": (ReportScheduleListResponse,),
Expand Down Expand Up @@ -202,6 +228,26 @@ def __init__(self, api_client=None):
api_client=api_client,
)

self._print_report_endpoint = _Endpoint(
settings={
"response_type": (PrintReportResponse,),
"auth": ["apiKeyAuth", "appKeyAuth"],
"endpoint_path": "/api/v2/reporting/print",
"operation_id": "print_report",
"http_method": "POST",
"version": "v2",
},
params_map={
"body": {
"required": True,
"openapi_types": (PrintReportRequest,),
"location": "body",
},
},
headers_map={"accept": ["application/json"], "content_type": ["application/json"]},
api_client=api_client,
)

self._toggle_report_schedule_endpoint = _Endpoint(
settings={
"response_type": (ReportScheduleResponse,),
Expand Down Expand Up @@ -306,6 +352,25 @@ def get_report_schedules_for_resource(

return self._get_report_schedules_for_resource_endpoint.call_with_http_info(**kwargs)

def list_dataset_report_schedules(
self,
dataset_id: str,
) -> DatasetReportScheduleListResponse:
"""List dataset report schedules.

Retrieve all report schedules for a given published dataset.
Returns report schedules belonging to the authenticated user's organization that target the specified dataset.
Requires the ``generate_log_reports`` or ``manage_log_reports`` permission.

:param dataset_id: The identifier of the published dataset to retrieve report schedules for.
:type dataset_id: str
:rtype: DatasetReportScheduleListResponse
"""
kwargs: Dict[str, Any] = {}
kwargs["dataset_id"] = dataset_id

return self._list_dataset_report_schedules_endpoint.call_with_http_info(**kwargs)

def list_report_schedules(
self,
*,
Expand Down Expand Up @@ -375,6 +440,24 @@ def patch_report_schedule(

return self._patch_report_schedule_endpoint.call_with_http_info(**kwargs)

def print_report(
self,
body: PrintReportRequest,
) -> PrintReportResponse:
"""Print a report.

Initiate a one-off, print-only report for a dashboard or integration dashboard.
The report is rendered as a PDF and made available for download through the URL returned in the response.
Requires a reporting permission appropriate to the targeted resource type.

:type body: PrintReportRequest
:rtype: PrintReportResponse
"""
kwargs: Dict[str, Any] = {}
kwargs["body"] = body

return self._print_report_endpoint.call_with_http_info(**kwargs)

def toggle_report_schedule(
self,
schedule_uuid: UUID,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# 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 List, Union, TYPE_CHECKING

from datadog_api_client.model_utils import (
ModelNormal,
cached_property,
unset,
UnsetType,
)


if TYPE_CHECKING:
from datadog_api_client.v2.model.dataset_report_schedule_response_data import DatasetReportScheduleResponseData
from datadog_api_client.v2.model.report_schedule_included_resource import ReportScheduleIncludedResource
from datadog_api_client.v2.model.report_schedule_author import ReportScheduleAuthor
from datadog_api_client.v2.model.report_schedule_resource import ReportScheduleResource


class DatasetReportScheduleListResponse(ModelNormal):
@cached_property
def openapi_types(_):
from datadog_api_client.v2.model.dataset_report_schedule_response_data import DatasetReportScheduleResponseData
from datadog_api_client.v2.model.report_schedule_included_resource import ReportScheduleIncludedResource

return {
"data": ([DatasetReportScheduleResponseData],),
"included": ([ReportScheduleIncludedResource],),
}

attribute_map = {
"data": "data",
"included": "included",
}

def __init__(
self_,
data: List[DatasetReportScheduleResponseData],
included: Union[
List[Union[ReportScheduleIncludedResource, ReportScheduleAuthor, ReportScheduleResource]], UnsetType
] = unset,
**kwargs,
):
"""
Response containing a list of report schedules for a published dataset.

:param data: A list of report schedules for the dataset.
:type data: [DatasetReportScheduleResponseData]

:param included: Related resources included with the report schedules, such as authors.
:type included: [ReportScheduleIncludedResource], optional
"""
if included is not unset:
kwargs["included"] = included
super().__init__(kwargs)

self_.data = data
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# 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 datadog_api_client.model_utils import (
ModelSimple,
cached_property,
)

from typing import ClassVar


class DatasetReportScheduleResourceType(ModelSimple):
"""
The type of resource targeted by a dataset report schedule.

:param value: If omitted defaults to "widget_dataset_list". Must be one of ["widget_dataset_list"].
:type value: str
"""

allowed_values = {
"widget_dataset_list",
}
WIDGET_DATASET_LIST: ClassVar["DatasetReportScheduleResourceType"]

@cached_property
def openapi_types(_):
return {
"value": (str,),
}


DatasetReportScheduleResourceType.WIDGET_DATASET_LIST = DatasetReportScheduleResourceType("widget_dataset_list")
Loading
Loading