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
168 changes: 168 additions & 0 deletions .generator/schemas/v1/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -895,6 +895,172 @@ components:
items:
$ref: '#/components/schemas/AzureAccount'
type: array
BarChartWidgetDefinition:
description: The bar chart visualization displays categorical data using vertical
bars, allowing you to compare values across different groups.
properties:
custom_links:
description: List of custom links.
items:
$ref: '#/components/schemas/WidgetCustomLink'
type: array
requests:
description: List of bar chart widget requests.
example:
- q: system.load.1
items:
$ref: '#/components/schemas/BarChartWidgetRequest'
type: array
style:
$ref: '#/components/schemas/BarChartWidgetStyle'
time:
$ref: '#/components/schemas/WidgetTime'
title:
description: Title of your widget.
type: string
title_align:
$ref: '#/components/schemas/WidgetTextAlign'
title_size:
description: Size of the title.
type: string
type:
$ref: '#/components/schemas/BarChartWidgetDefinitionType'
required:
- type
- requests
type: object
BarChartWidgetDefinitionType:
default: bar_chart
description: Type of the bar chart widget.
enum:
- bar_chart
example: bar_chart
type: string
x-enum-varnames:
- BAR_CHART
BarChartWidgetDisplay:
description: Bar chart widget display options.
oneOf:
- $ref: '#/components/schemas/BarChartWidgetStacked'
- $ref: '#/components/schemas/BarChartWidgetFlat'
BarChartWidgetFlat:
description: Bar chart widget flat display.
properties:
type:
$ref: '#/components/schemas/BarChartWidgetFlatType'
required:
- type
type: object
BarChartWidgetFlatType:
default: flat
description: Bar chart widget flat display type.
enum:
- flat
example: flat
type: string
x-enum-varnames:
- FLAT
BarChartWidgetLegend:
description: Bar chart widget stacked legend behavior.
enum:
- automatic
- inline
- none
example: automatic
type: string
x-enum-varnames:
- AUTOMATIC
- INLINE
- NONE
BarChartWidgetRequest:
description: Updated bar chart widget.
properties:
apm_query:
$ref: '#/components/schemas/LogQueryDefinition'
audit_query:
$ref: '#/components/schemas/LogQueryDefinition'
conditional_formats:
description: List of conditional formats.
example:
- comparator: '>='
palette: blue
value: 1.0
items:
$ref: '#/components/schemas/WidgetConditionalFormat'
type: array
event_query:
$ref: '#/components/schemas/LogQueryDefinition'
formulas:
description: List of formulas that operate on queries.
items:
$ref: '#/components/schemas/WidgetFormula'
type: array
log_query:
$ref: '#/components/schemas/LogQueryDefinition'
network_query:
$ref: '#/components/schemas/LogQueryDefinition'
process_query:
$ref: '#/components/schemas/ProcessQueryDefinition'
profile_metrics_query:
$ref: '#/components/schemas/LogQueryDefinition'
q:
description: Widget query.
type: string
queries:
description: List of queries that can be returned directly or used in formulas.
items:
$ref: '#/components/schemas/FormulaAndFunctionQueryDefinition'
type: array
response_format:
$ref: '#/components/schemas/FormulaAndFunctionResponseFormat'
rum_query:
$ref: '#/components/schemas/LogQueryDefinition'
security_query:
$ref: '#/components/schemas/LogQueryDefinition'
sort:
$ref: '#/components/schemas/WidgetSortBy'
style:
$ref: '#/components/schemas/WidgetRequestStyle'
type: object
BarChartWidgetScaling:
description: Bar chart widget scaling definition.
enum:
- absolute
- relative
type: string
x-enum-varnames:
- ABSOLUTE
- RELATIVE
BarChartWidgetStacked:
description: Bar chart widget stacked display options.
properties:
legend:
$ref: '#/components/schemas/BarChartWidgetLegend'
type:
$ref: '#/components/schemas/BarChartWidgetStackedType'
required:
- type
type: object
BarChartWidgetStackedType:
default: stacked
description: Bar chart widget stacked display type.
enum:
- stacked
example: stacked
type: string
x-enum-varnames:
- STACKED
BarChartWidgetStyle:
description: Style customization for a bar chart widget.
properties:
display:
$ref: '#/components/schemas/BarChartWidgetDisplay'
palette:
description: Color palette to apply to the widget.
type: string
scaling:
$ref: '#/components/schemas/BarChartWidgetScaling'
type: object
CancelDowntimesByScopeRequest:
description: Cancel downtimes according to scope.
properties:
Expand Down Expand Up @@ -14300,6 +14466,7 @@ components:
SplitGraphSourceWidgetDefinition:
description: The original widget we are splitting on.
oneOf:
- $ref: '#/components/schemas/BarChartWidgetDefinition'
- $ref: '#/components/schemas/ChangeWidgetDefinition'
- $ref: '#/components/schemas/GeomapWidgetDefinition'
- $ref: '#/components/schemas/QueryValueWidgetDefinition'
Expand Down Expand Up @@ -24731,6 +24898,7 @@ components:
oneOf:
- $ref: '#/components/schemas/AlertGraphWidgetDefinition'
- $ref: '#/components/schemas/AlertValueWidgetDefinition'
- $ref: '#/components/schemas/BarChartWidgetDefinition'
- $ref: '#/components/schemas/ChangeWidgetDefinition'
- $ref: '#/components/schemas/CheckStatusWidgetDefinition'
- $ref: '#/components/schemas/DistributionWidgetDefinition'
Expand Down
116 changes: 116 additions & 0 deletions examples/v1_dashboards_CreateDashboard_1712853070.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
// Create a new dashboard with bar_chart widget
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_dashboards::DashboardsAPI;
use datadog_api_client::datadogV1::model::BarChartWidgetDefinition;
use datadog_api_client::datadogV1::model::BarChartWidgetDefinitionType;
use datadog_api_client::datadogV1::model::BarChartWidgetDisplay;
use datadog_api_client::datadogV1::model::BarChartWidgetLegend;
use datadog_api_client::datadogV1::model::BarChartWidgetRequest;
use datadog_api_client::datadogV1::model::BarChartWidgetScaling;
use datadog_api_client::datadogV1::model::BarChartWidgetStacked;
use datadog_api_client::datadogV1::model::BarChartWidgetStackedType;
use datadog_api_client::datadogV1::model::BarChartWidgetStyle;
use datadog_api_client::datadogV1::model::Dashboard;
use datadog_api_client::datadogV1::model::DashboardLayoutType;
use datadog_api_client::datadogV1::model::FormulaAndFunctionMetricAggregation;
use datadog_api_client::datadogV1::model::FormulaAndFunctionMetricDataSource;
use datadog_api_client::datadogV1::model::FormulaAndFunctionMetricQueryDefinition;
use datadog_api_client::datadogV1::model::FormulaAndFunctionQueryDefinition;
use datadog_api_client::datadogV1::model::FormulaAndFunctionResponseFormat;
use datadog_api_client::datadogV1::model::FormulaType;
use datadog_api_client::datadogV1::model::Widget;
use datadog_api_client::datadogV1::model::WidgetDefinition;
use datadog_api_client::datadogV1::model::WidgetFormula;
use datadog_api_client::datadogV1::model::WidgetFormulaSort;
use datadog_api_client::datadogV1::model::WidgetLayout;
use datadog_api_client::datadogV1::model::WidgetLegacyLiveSpan;
use datadog_api_client::datadogV1::model::WidgetSort;
use datadog_api_client::datadogV1::model::WidgetSortBy;
use datadog_api_client::datadogV1::model::WidgetSortOrderBy;
use datadog_api_client::datadogV1::model::WidgetTextAlign;
use datadog_api_client::datadogV1::model::WidgetTime;

#[tokio::main]
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::FREE,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::BarChartWidgetDefinition(
Box::new(
BarChartWidgetDefinition::new(
vec![
BarChartWidgetRequest::new()
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"query1".to_string(),
"avg:system.cpu.user{*} by {service}".to_string(),
).aggregator(FormulaAndFunctionMetricAggregation::AVG),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::SCALAR)
.sort(
WidgetSortBy::new()
.count(10)
.order_by(
vec![
WidgetSortOrderBy::WidgetFormulaSort(
Box::new(
WidgetFormulaSort::new(
0,
WidgetSort::DESCENDING,
FormulaType::FORMULA,
),
),
)
],
),
)
],
BarChartWidgetDefinitionType::BAR_CHART,
)
.style(
BarChartWidgetStyle::new()
.display(
BarChartWidgetDisplay::BarChartWidgetStacked(
Box::new(
BarChartWidgetStacked::new(
BarChartWidgetStackedType::STACKED,
).legend(BarChartWidgetLegend::INLINE),
),
),
)
.palette("dog_classic".to_string())
.scaling(BarChartWidgetScaling::RELATIVE),
)
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("".to_string())
.title_align(WidgetTextAlign::LEFT)
.title_size("16".to_string()),
),
),
).layout(WidgetLayout::new(15, 47, 0, 0))
],
)
.description(Some("".to_string()))
.notify_list(Some(vec![]))
.template_variables(Some(vec![]));
let configuration = datadog::Configuration::new();
let api = DashboardsAPI::with_config(configuration);
let resp = api.create_dashboard(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Loading