Skip to content
Merged
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
397 changes: 397 additions & 0 deletions .generator/schemas/v1/openapi.yaml

Large diffs are not rendered by default.

94 changes: 94 additions & 0 deletions examples/v1/dashboards/CreateDashboard_1322784076.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
"""
Create a heatgrid widget with custom discrete thresholds
"""

from os import environ
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_metric_data_source import FormulaAndFunctionMetricDataSource
from datadog_api_client.v1.model.formula_and_function_metric_query_definition import (
FormulaAndFunctionMetricQueryDefinition,
)
from datadog_api_client.v1.model.heatgrid_color_bin import HeatgridColorBin
from datadog_api_client.v1.model.heatgrid_custom_color_source import HeatgridCustomColorSource
from datadog_api_client.v1.model.heatgrid_discrete_custom_color import HeatgridDiscreteCustomColor
from datadog_api_client.v1.model.heatgrid_discrete_mode import HeatgridDiscreteMode
from datadog_api_client.v1.model.heatgrid_label_column import HeatgridLabelColumn
from datadog_api_client.v1.model.heatgrid_label_column_width import HeatgridLabelColumnWidth
from datadog_api_client.v1.model.heatgrid_legend import HeatgridLegend
from datadog_api_client.v1.model.heatgrid_nesting_display import HeatgridNestingDisplay
from datadog_api_client.v1.model.heatgrid_sort import HeatgridSort
from datadog_api_client.v1.model.heatgrid_sort_by_label import HeatgridSortByLabel
from datadog_api_client.v1.model.heatgrid_sort_by_label_property import HeatgridSortByLabelProperty
from datadog_api_client.v1.model.heatgrid_sort_order import HeatgridSortOrder
from datadog_api_client.v1.model.heatgrid_widget_definition import HeatgridWidgetDefinition
from datadog_api_client.v1.model.heatgrid_widget_definition_type import HeatgridWidgetDefinitionType
from datadog_api_client.v1.model.heatgrid_widget_formula import HeatgridWidgetFormula
from datadog_api_client.v1.model.heatgrid_widget_request import HeatgridWidgetRequest
from datadog_api_client.v1.model.heatgrid_widget_response_format import HeatgridWidgetResponseFormat
from datadog_api_client.v1.model.widget import Widget

body = Dashboard(
title="Example-Dashboard",
layout_type=DashboardLayoutType.ORDERED,
widgets=[
Widget(
definition=HeatgridWidgetDefinition(
type=HeatgridWidgetDefinitionType.HEATGRID,
requests=[
HeatgridWidgetRequest(
response_format=HeatgridWidgetResponseFormat.TIMESERIES,
queries=[
FormulaAndFunctionMetricQueryDefinition(
data_source=FormulaAndFunctionMetricDataSource.METRICS,
name="query1",
query="avg:system.cpu.user{*} by {host}",
),
],
formulas=[
HeatgridWidgetFormula(
formula="query1",
),
],
),
],
sort=HeatgridSort(
nesting_display=HeatgridNestingDisplay.FLAT,
sort_by=HeatgridSortByLabel(
_property=HeatgridSortByLabelProperty.LABEL,
order=HeatgridSortOrder.ASC,
),
),
color=HeatgridDiscreteCustomColor(
mode=HeatgridDiscreteMode.DISCRETE,
source=HeatgridCustomColorSource.CUSTOM,
bins=[
HeatgridColorBin(
color="#00FF00",
),
HeatgridColorBin(
color="#FF0000",
lower_bound=80.0,
),
],
),
legend=HeatgridLegend(
show_caption=True,
),
label_column=HeatgridLabelColumn(
width=HeatgridLabelColumnWidth.M,
),
),
),
],
)

configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = DashboardsApi(api_client)
response = api_instance.create_dashboard(body=body)

print(response)
97 changes: 97 additions & 0 deletions examples/v1/dashboards/CreateDashboard_1681529203.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
"""
Create a heatgrid widget with custom gradient colors for both themes
"""

from os import environ
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_metric_data_source import FormulaAndFunctionMetricDataSource
from datadog_api_client.v1.model.formula_and_function_metric_query_definition import (
FormulaAndFunctionMetricQueryDefinition,
)
from datadog_api_client.v1.model.heatgrid_color_stop import HeatgridColorStop
from datadog_api_client.v1.model.heatgrid_custom_color_source import HeatgridCustomColorSource
from datadog_api_client.v1.model.heatgrid_gradient_custom_color import HeatgridGradientCustomColor
from datadog_api_client.v1.model.heatgrid_gradient_mode import HeatgridGradientMode
from datadog_api_client.v1.model.heatgrid_label_column import HeatgridLabelColumn
from datadog_api_client.v1.model.heatgrid_label_column_width import HeatgridLabelColumnWidth
from datadog_api_client.v1.model.heatgrid_legend import HeatgridLegend
from datadog_api_client.v1.model.heatgrid_nesting_display import HeatgridNestingDisplay
from datadog_api_client.v1.model.heatgrid_sort import HeatgridSort
from datadog_api_client.v1.model.heatgrid_sort_aggregation import HeatgridSortAggregation
from datadog_api_client.v1.model.heatgrid_sort_by_value import HeatgridSortByValue
from datadog_api_client.v1.model.heatgrid_sort_by_value_property import HeatgridSortByValueProperty
from datadog_api_client.v1.model.heatgrid_sort_order import HeatgridSortOrder
from datadog_api_client.v1.model.heatgrid_widget_definition import HeatgridWidgetDefinition
from datadog_api_client.v1.model.heatgrid_widget_definition_type import HeatgridWidgetDefinitionType
from datadog_api_client.v1.model.heatgrid_widget_formula import HeatgridWidgetFormula
from datadog_api_client.v1.model.heatgrid_widget_request import HeatgridWidgetRequest
from datadog_api_client.v1.model.heatgrid_widget_response_format import HeatgridWidgetResponseFormat
from datadog_api_client.v1.model.widget import Widget

body = Dashboard(
title="Example-Dashboard",
layout_type=DashboardLayoutType.ORDERED,
widgets=[
Widget(
definition=HeatgridWidgetDefinition(
type=HeatgridWidgetDefinitionType.HEATGRID,
requests=[
HeatgridWidgetRequest(
response_format=HeatgridWidgetResponseFormat.TIMESERIES,
queries=[
FormulaAndFunctionMetricQueryDefinition(
data_source=FormulaAndFunctionMetricDataSource.METRICS,
name="query1",
query="avg:system.cpu.user{*} by {host}",
),
],
formulas=[
HeatgridWidgetFormula(
formula="query1",
),
],
),
],
sort=HeatgridSort(
nesting_display=HeatgridNestingDisplay.FLAT,
sort_by=HeatgridSortByValue(
_property=HeatgridSortByValueProperty.VALUE,
order=HeatgridSortOrder.DESC,
aggregation=HeatgridSortAggregation.AVG,
),
),
color=HeatgridGradientCustomColor(
mode=HeatgridGradientMode.GRADIENT,
source=HeatgridCustomColorSource.CUSTOM,
stops=[
HeatgridColorStop(
position=0,
color=["#FFFFFF", "#000000"],
),
HeatgridColorStop(
position=100,
color="#FF0000",
),
],
),
legend=HeatgridLegend(
show_caption=True,
),
label_column=HeatgridLabelColumn(
width=HeatgridLabelColumnWidth.M,
),
),
),
],
)

configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = DashboardsApi(api_client)
response = api_instance.create_dashboard(body=body)

print(response)
87 changes: 87 additions & 0 deletions examples/v1/dashboards/CreateDashboard_2574782816.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
"""
Create a heatgrid widget with a preset gradient
"""

from os import environ
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_metric_data_source import FormulaAndFunctionMetricDataSource
from datadog_api_client.v1.model.formula_and_function_metric_query_definition import (
FormulaAndFunctionMetricQueryDefinition,
)
from datadog_api_client.v1.model.heatgrid_gradient_mode import HeatgridGradientMode
from datadog_api_client.v1.model.heatgrid_gradient_preset_color import HeatgridGradientPresetColor
from datadog_api_client.v1.model.heatgrid_label_column import HeatgridLabelColumn
from datadog_api_client.v1.model.heatgrid_label_column_width import HeatgridLabelColumnWidth
from datadog_api_client.v1.model.heatgrid_legend import HeatgridLegend
from datadog_api_client.v1.model.heatgrid_nesting_display import HeatgridNestingDisplay
from datadog_api_client.v1.model.heatgrid_preset_color_source import HeatgridPresetColorSource
from datadog_api_client.v1.model.heatgrid_sort import HeatgridSort
from datadog_api_client.v1.model.heatgrid_sort_aggregation import HeatgridSortAggregation
from datadog_api_client.v1.model.heatgrid_sort_by_value import HeatgridSortByValue
from datadog_api_client.v1.model.heatgrid_sort_by_value_property import HeatgridSortByValueProperty
from datadog_api_client.v1.model.heatgrid_sort_order import HeatgridSortOrder
from datadog_api_client.v1.model.heatgrid_widget_definition import HeatgridWidgetDefinition
from datadog_api_client.v1.model.heatgrid_widget_definition_type import HeatgridWidgetDefinitionType
from datadog_api_client.v1.model.heatgrid_widget_formula import HeatgridWidgetFormula
from datadog_api_client.v1.model.heatgrid_widget_request import HeatgridWidgetRequest
from datadog_api_client.v1.model.heatgrid_widget_response_format import HeatgridWidgetResponseFormat
from datadog_api_client.v1.model.widget import Widget

body = Dashboard(
title="Example-Dashboard",
layout_type=DashboardLayoutType.ORDERED,
widgets=[
Widget(
definition=HeatgridWidgetDefinition(
type=HeatgridWidgetDefinitionType.HEATGRID,
requests=[
HeatgridWidgetRequest(
response_format=HeatgridWidgetResponseFormat.TIMESERIES,
queries=[
FormulaAndFunctionMetricQueryDefinition(
data_source=FormulaAndFunctionMetricDataSource.METRICS,
name="query1",
query="avg:system.cpu.user{*} by {host}",
),
],
formulas=[
HeatgridWidgetFormula(
formula="query1",
),
],
),
],
sort=HeatgridSort(
nesting_display=HeatgridNestingDisplay.FLAT,
sort_by=HeatgridSortByValue(
_property=HeatgridSortByValueProperty.VALUE,
order=HeatgridSortOrder.DESC,
aggregation=HeatgridSortAggregation.AVG,
),
),
color=HeatgridGradientPresetColor(
mode=HeatgridGradientMode.GRADIENT,
source=HeatgridPresetColorSource.PRESET,
preset_name="classic",
),
legend=HeatgridLegend(
show_caption=True,
),
label_column=HeatgridLabelColumn(
width=HeatgridLabelColumnWidth.M,
),
),
),
],
)

configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = DashboardsApi(api_client)
response = api_instance.create_dashboard(body=body)

print(response)
34 changes: 34 additions & 0 deletions src/datadog_api_client/v1/model/heatgrid_color.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# 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 HeatgridColor(ModelComposed):
def __init__(self, **kwargs):
"""
A color string, or two color strings for the light and dark themes, in that order.
"""
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
return {
"oneOf": [
str,
[str],
],
}
55 changes: 55 additions & 0 deletions src/datadog_api_client/v1/model/heatgrid_color_bin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# 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.v1.model.heatgrid_color import HeatgridColor


class HeatgridColorBin(ModelNormal):
@cached_property
def additional_properties_type(_):
return None

@cached_property
def openapi_types(_):
from datadog_api_client.v1.model.heatgrid_color import HeatgridColor

return {
"color": (HeatgridColor,),
"lower_bound": (float,),
}

attribute_map = {
"color": "color",
"lower_bound": "lower_bound",
}

def __init__(
self_, color: Union[HeatgridColor, str, List[str]], lower_bound: Union[float, UnsetType] = unset, **kwargs
):
"""
A color and optional lower threshold for a discrete bin.

:param color: A color string, or two color strings for the light and dark themes, in that order.
:type color: HeatgridColor

:param lower_bound: Inclusive lower bound. Omit for the first bin.
:type lower_bound: float, optional
"""
if lower_bound is not unset:
kwargs["lower_bound"] = lower_bound
super().__init__(kwargs)

self_.color = color
Loading
Loading