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
38 changes: 34 additions & 4 deletions .generator/schemas/v1/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2962,10 +2962,7 @@ components:
data_source:
$ref: '#/components/schemas/FormulaAndFunctionEventsDataSource'
group_by:
description: Group by options.
items:
$ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupBy'
type: array
$ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupByConfig'
indexes:
description: An array of index names to query in the stream. Omit or use
`[]` to query all indexes at once.
Expand Down Expand Up @@ -3037,6 +3034,39 @@ components:
required:
- facet
type: object
FormulaAndFunctionEventQueryGroupByConfig:
description: Group by configuration for a formula and functions events query.
Can be a list of facet objects or a flat object with a list of fields.
oneOf:
- $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupByList'
- $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupByFields'
FormulaAndFunctionEventQueryGroupByFields:
description: Flat group by using multiple event facets.
properties:
fields:
description: List of event facets to group by.
example:
- hostname
- service
items:
description: Event facet.
type: string
type: array
limit:
description: Number of groups to return.
example: 10
format: int64
type: integer
sort:
$ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupBySort'
required:
- fields
type: object
FormulaAndFunctionEventQueryGroupByList:
description: List of objects used to group by.
items:
$ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupBy'
type: array
FormulaAndFunctionEventQueryGroupBySort:
description: Options for sorting group by results.
properties:
Expand Down
14 changes: 14 additions & 0 deletions docs/datadog_api_client.v1.model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -928,6 +928,20 @@ datadog\_api\_client.v1.model.formula\_and\_function\_event\_query\_group\_by mo
:members:
:show-inheritance:

datadog\_api\_client.v1.model.formula\_and\_function\_event\_query\_group\_by\_config module
--------------------------------------------------------------------------------------------

.. automodule:: datadog_api_client.v1.model.formula_and_function_event_query_group_by_config
:members:
:show-inheritance:

datadog\_api\_client.v1.model.formula\_and\_function\_event\_query\_group\_by\_fields module
--------------------------------------------------------------------------------------------

.. automodule:: datadog_api_client.v1.model.formula_and_function_event_query_group_by_fields
:members:
:show-inheritance:

datadog\_api\_client.v1.model.formula\_and\_function\_event\_query\_group\_by\_sort module
------------------------------------------------------------------------------------------

Expand Down
1 change: 0 additions & 1 deletion examples/v1/dashboards/CreateDashboard_1024858348.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@
compute=FormulaAndFunctionEventQueryDefinitionCompute(
aggregation=FormulaAndFunctionEventAggregation.COUNT,
),
group_by=[],
),
],
response_format=FormulaAndFunctionResponseFormat.SCALAR,
Expand Down
1 change: 0 additions & 1 deletion examples/v1/dashboards/CreateDashboard_2064651578.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@
compute=FormulaAndFunctionEventQueryDefinitionCompute(
aggregation=FormulaAndFunctionEventAggregation.COUNT,
),
group_by=[],
),
],
response_format=FormulaAndFunctionResponseFormat.SCALAR,
Expand Down
1 change: 0 additions & 1 deletion examples/v1/dashboards/CreateDashboard_2490110261.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@
indexes=[
"*",
],
group_by=[],
),
],
),
Expand Down
1 change: 0 additions & 1 deletion examples/v1/dashboards/CreateDashboard_3882428227.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@
indexes=[
"*",
],
group_by=[],
),
request_type=WidgetHistogramRequestType.HISTOGRAM,
),
Expand Down
77 changes: 77 additions & 0 deletions examples/v1/dashboards/CreateDashboard_4018282928.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
"""
Create a new dashboard with formulas and functions events query using flat group by fields
"""

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.formula_and_function_event_aggregation import FormulaAndFunctionEventAggregation
from datadog_api_client.v1.model.formula_and_function_event_query_definition import (
FormulaAndFunctionEventQueryDefinition,
)
from datadog_api_client.v1.model.formula_and_function_event_query_definition_compute import (
FormulaAndFunctionEventQueryDefinitionCompute,
)
from datadog_api_client.v1.model.formula_and_function_event_query_definition_search import (
FormulaAndFunctionEventQueryDefinitionSearch,
)
from datadog_api_client.v1.model.formula_and_function_event_query_group_by_fields import (
FormulaAndFunctionEventQueryGroupByFields,
)
from datadog_api_client.v1.model.formula_and_function_events_data_source import FormulaAndFunctionEventsDataSource
from datadog_api_client.v1.model.formula_and_function_response_format import FormulaAndFunctionResponseFormat
from datadog_api_client.v1.model.timeseries_widget_definition import TimeseriesWidgetDefinition
from datadog_api_client.v1.model.timeseries_widget_definition_type import TimeseriesWidgetDefinitionType
from datadog_api_client.v1.model.timeseries_widget_request import TimeseriesWidgetRequest
from datadog_api_client.v1.model.widget import Widget
from datadog_api_client.v1.model.widget_layout import WidgetLayout

body = Dashboard(
title="Example-Dashboard with events flat group_by fields",
widgets=[
Widget(
definition=TimeseriesWidgetDefinition(
type=TimeseriesWidgetDefinitionType.TIMESERIES,
requests=[
TimeseriesWidgetRequest(
response_format=FormulaAndFunctionResponseFormat.TIMESERIES,
queries=[
FormulaAndFunctionEventQueryDefinition(
data_source=FormulaAndFunctionEventsDataSource.EVENTS,
name="query1",
search=FormulaAndFunctionEventQueryDefinitionSearch(
query="",
),
compute=FormulaAndFunctionEventQueryDefinitionCompute(
aggregation=FormulaAndFunctionEventAggregation.COUNT,
),
group_by=FormulaAndFunctionEventQueryGroupByFields(
fields=[
"service",
"host",
],
limit=10,
),
),
],
),
],
),
layout=WidgetLayout(
x=0,
y=0,
width=4,
height=2,
),
),
],
layout_type=DashboardLayoutType.ORDERED,
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = DashboardsApi(api_client)
response = api_instance.create_dashboard(body=body)

print(response)
1 change: 0 additions & 1 deletion examples/v1/dashboards/CreateDashboard_578885732.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@
compute=FormulaAndFunctionEventQueryDefinitionCompute(
aggregation=FormulaAndFunctionEventAggregation.COUNT,
),
group_by=[],
),
],
response_format=FormulaAndFunctionResponseFormat.SCALAR,
Expand Down
74 changes: 74 additions & 0 deletions examples/v1/dashboards/CreateDashboard_732700533.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
"""
Create a new dashboard with formulas and functions events query using facet group by
"""

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.formula_and_function_event_aggregation import FormulaAndFunctionEventAggregation
from datadog_api_client.v1.model.formula_and_function_event_query_definition import (
FormulaAndFunctionEventQueryDefinition,
)
from datadog_api_client.v1.model.formula_and_function_event_query_definition_compute import (
FormulaAndFunctionEventQueryDefinitionCompute,
)
from datadog_api_client.v1.model.formula_and_function_event_query_definition_search import (
FormulaAndFunctionEventQueryDefinitionSearch,
)
from datadog_api_client.v1.model.formula_and_function_event_query_group_by import FormulaAndFunctionEventQueryGroupBy
from datadog_api_client.v1.model.formula_and_function_events_data_source import FormulaAndFunctionEventsDataSource
from datadog_api_client.v1.model.formula_and_function_response_format import FormulaAndFunctionResponseFormat
from datadog_api_client.v1.model.timeseries_widget_definition import TimeseriesWidgetDefinition
from datadog_api_client.v1.model.timeseries_widget_definition_type import TimeseriesWidgetDefinitionType
from datadog_api_client.v1.model.timeseries_widget_request import TimeseriesWidgetRequest
from datadog_api_client.v1.model.widget import Widget
from datadog_api_client.v1.model.widget_layout import WidgetLayout

body = Dashboard(
title="Example-Dashboard with events facet group_by",
widgets=[
Widget(
definition=TimeseriesWidgetDefinition(
type=TimeseriesWidgetDefinitionType.TIMESERIES,
requests=[
TimeseriesWidgetRequest(
response_format=FormulaAndFunctionResponseFormat.TIMESERIES,
queries=[
FormulaAndFunctionEventQueryDefinition(
data_source=FormulaAndFunctionEventsDataSource.EVENTS,
name="query1",
search=FormulaAndFunctionEventQueryDefinitionSearch(
query="",
),
compute=FormulaAndFunctionEventQueryDefinitionCompute(
aggregation=FormulaAndFunctionEventAggregation.COUNT,
),
group_by=[
FormulaAndFunctionEventQueryGroupBy(
facet="service",
limit=10,
),
],
),
],
),
],
),
layout=WidgetLayout(
x=0,
y=0,
width=4,
height=2,
),
),
],
layout_type=DashboardLayoutType.ORDERED,
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = DashboardsApi(api_client)
response = api_instance.create_dashboard(body=body)

print(response)
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ def __init__(self, **kwargs):
:param compute: Compute options.
:type compute: FormulaAndFunctionEventQueryDefinitionCompute

:param group_by: Group by options.
:type group_by: [FormulaAndFunctionEventQueryGroupBy], optional
:param group_by: Group by configuration for a formula and functions events query. Can be a list of facet objects or a flat object with a list of fields.
:type group_by: FormulaAndFunctionEventQueryGroupByConfig, optional

:param indexes: An array of index names to query in the stream. Omit or use `[]` to query all indexes at once.
:type indexes: [str], optional
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,18 @@
FormulaAndFunctionEventQueryDefinitionCompute,
)
from datadog_api_client.v1.model.formula_and_function_events_data_source import FormulaAndFunctionEventsDataSource
from datadog_api_client.v1.model.formula_and_function_event_query_group_by import (
FormulaAndFunctionEventQueryGroupBy,
from datadog_api_client.v1.model.formula_and_function_event_query_group_by_config import (
FormulaAndFunctionEventQueryGroupByConfig,
)
from datadog_api_client.v1.model.formula_and_function_event_query_definition_search import (
FormulaAndFunctionEventQueryDefinitionSearch,
)
from datadog_api_client.v1.model.formula_and_function_event_query_group_by import (
FormulaAndFunctionEventQueryGroupBy,
)
from datadog_api_client.v1.model.formula_and_function_event_query_group_by_fields import (
FormulaAndFunctionEventQueryGroupByFields,
)


class FormulaAndFunctionEventQueryDefinition(ModelNormal):
Expand All @@ -41,8 +47,8 @@ def openapi_types(_):
from datadog_api_client.v1.model.formula_and_function_events_data_source import (
FormulaAndFunctionEventsDataSource,
)
from datadog_api_client.v1.model.formula_and_function_event_query_group_by import (
FormulaAndFunctionEventQueryGroupBy,
from datadog_api_client.v1.model.formula_and_function_event_query_group_by_config import (
FormulaAndFunctionEventQueryGroupByConfig,
)
from datadog_api_client.v1.model.formula_and_function_event_query_definition_search import (
FormulaAndFunctionEventQueryDefinitionSearch,
Expand All @@ -52,7 +58,7 @@ def openapi_types(_):
"compute": (FormulaAndFunctionEventQueryDefinitionCompute,),
"cross_org_uuids": ([str],),
"data_source": (FormulaAndFunctionEventsDataSource,),
"group_by": ([FormulaAndFunctionEventQueryGroupBy],),
"group_by": (FormulaAndFunctionEventQueryGroupByConfig,),
"indexes": ([str],),
"name": (str,),
"search": (FormulaAndFunctionEventQueryDefinitionSearch,),
Expand All @@ -76,7 +82,12 @@ def __init__(
data_source: FormulaAndFunctionEventsDataSource,
name: str,
cross_org_uuids: Union[List[str], UnsetType] = unset,
group_by: Union[List[FormulaAndFunctionEventQueryGroupBy], UnsetType] = unset,
group_by: Union[
FormulaAndFunctionEventQueryGroupByConfig,
List[FormulaAndFunctionEventQueryGroupBy],
FormulaAndFunctionEventQueryGroupByFields,
UnsetType,
] = unset,
indexes: Union[List[str], UnsetType] = unset,
search: Union[FormulaAndFunctionEventQueryDefinitionSearch, UnsetType] = unset,
storage: Union[str, UnsetType] = unset,
Expand All @@ -94,8 +105,8 @@ def __init__(
:param data_source: Data source for event platform-based queries.
:type data_source: FormulaAndFunctionEventsDataSource

:param group_by: Group by options.
:type group_by: [FormulaAndFunctionEventQueryGroupBy], optional
:param group_by: Group by configuration for a formula and functions events query. Can be a list of facet objects or a flat object with a list of fields.
:type group_by: FormulaAndFunctionEventQueryGroupByConfig, optional

:param indexes: An array of index names to query in the stream. Omit or use ``[]`` to query all indexes at once.
:type indexes: [str], optional
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# 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 (
ModelComposed,
cached_property,
)


class FormulaAndFunctionEventQueryGroupByConfig(ModelComposed):
def __init__(self, **kwargs):
"""
Group by configuration for a formula and functions events query. Can be a list of facet objects or a flat object with a list of fields.

:param fields: List of event facets to group by.
:type fields: [str]

:param limit: Number of groups to return.
:type limit: int, optional

:param sort: Options for sorting group by results.
:type sort: FormulaAndFunctionEventQueryGroupBySort, optional
"""
super().__init__(kwargs)

@cached_property
def _composed_schemas(_):
# we need this here to make our import statements work
# we must store _composed_schemas in here so the code is only run
# when we invoke this method. If we kept this at the class
# level we would get an error because the class level
# code would be run when this module is imported, and these composed
# classes don't exist yet because their module has not finished
# loading
from datadog_api_client.v1.model.formula_and_function_event_query_group_by import (
FormulaAndFunctionEventQueryGroupBy,
)
from datadog_api_client.v1.model.formula_and_function_event_query_group_by_fields import (
FormulaAndFunctionEventQueryGroupByFields,
)

return {
"oneOf": [
[FormulaAndFunctionEventQueryGroupBy],
FormulaAndFunctionEventQueryGroupByFields,
],
}
Loading
Loading