Struct datadog_api_client::datadogV1::model::model_widget_axis::WidgetAxis
source · #[non_exhaustive]pub struct WidgetAxis {
pub include_zero: Option<bool>,
pub label: Option<String>,
pub max: Option<String>,
pub min: Option<String>,
pub scale: Option<String>,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}Expand description
Axis controls for the widget.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.include_zero: Option<bool>Set to true to include zero.
label: Option<String>The label of the axis to display on the graph. Only usable on Scatterplot Widgets.
max: Option<String>Specifies maximum numeric value to show on the axis. Defaults to auto.
min: Option<String>Specifies minimum numeric value to show on the axis. Defaults to auto.
scale: Option<String>Specifies the scale type. Possible values are linear, log, sqrt, and pow## (for example pow2 or pow0.5).
additional_properties: BTreeMap<String, Value>Implementations§
source§impl WidgetAxis
impl WidgetAxis
sourcepub fn new() -> WidgetAxis
pub fn new() -> WidgetAxis
Examples found in repository?
examples/v1_notebooks_CreateNotebook.rs (line 68)
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
async fn main() {
let body = NotebookCreateRequest::new(NotebookCreateData::new(
NotebookCreateDataAttributes::new(
vec![
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookMarkdownCellAttributes(Box::new(
NotebookMarkdownCellAttributes::new(NotebookMarkdownCellDefinition::new(
r#"## Some test markdown
```js
var x, y;
x = 5;
y = 6;
```"#
.to_string(),
NotebookMarkdownCellDefinitionType::MARKDOWN,
)),
)),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookTimeseriesCellAttributes(
Box::new(
NotebookTimeseriesCellAttributes::new(
TimeseriesWidgetDefinition::new(
vec![TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.q("avg:system.load.1{*}".to_string())
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.show_legend(true)
.yaxis(WidgetAxis::new().scale("linear".to_string())),
)
.graph_size(NotebookGraphSize::MEDIUM)
.split_by(NotebookSplitBy::new(vec![], vec![]))
.time(None),
),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
],
"Example-Notebook".to_string(),
NotebookGlobalTime::NotebookRelativeTime(Box::new(NotebookRelativeTime::new(
WidgetLiveSpan::PAST_ONE_HOUR,
))),
)
.status(NotebookStatus::PUBLISHED),
NotebookResourceType::NOTEBOOKS,
));
let configuration = datadog::Configuration::new();
let api = NotebooksAPI::with_config(configuration);
let resp = api.create_notebook(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}More examples
examples/v1_dashboards_CreateDashboard_765140092.rs (line 63)
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with QVW Timeseries Background".to_string(),
vec![
Widget::new(
WidgetDefinition::QueryValueWidgetDefinition(
Box::new(
QueryValueWidgetDefinition::new(
vec![
QueryValueWidgetRequest::new()
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"query1".to_string(),
"sum:my.cool.count.metric{*}".to_string(),
).aggregator(FormulaAndFunctionMetricAggregation::PERCENTILE),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::SCALAR)
],
QueryValueWidgetDefinitionType::QUERY_VALUE,
)
.autoscale(true)
.precision(2)
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.timeseries_background(
TimeseriesBackground::new(
TimeseriesBackgroundType::AREA,
).yaxis(WidgetAxis::new().include_zero(true)),
)
.title("".to_string())
.title_align(WidgetTextAlign::LEFT)
.title_size("16".to_string()),
),
),
).layout(WidgetLayout::new(2, 2, 0, 0))
],
);
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());
}
}examples/v1_notebooks_UpdateNotebook.rs (line 76)
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
async fn main() {
// there is a valid "notebook" in the system
let notebook_data_id: i64 = std::env::var("NOTEBOOK_DATA_ID").unwrap().parse().unwrap();
let body = NotebookUpdateRequest::new(NotebookUpdateData::new(
NotebookUpdateDataAttributes::new(
vec![
NotebookUpdateCell::NotebookCellCreateRequest(Box::new(
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookMarkdownCellAttributes(
Box::new(NotebookMarkdownCellAttributes::new(
NotebookMarkdownCellDefinition::new(
r#"## Some test markdown
```js
var x, y;
x = 5;
y = 6;
```"#
.to_string(),
NotebookMarkdownCellDefinitionType::MARKDOWN,
),
)),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
)),
NotebookUpdateCell::NotebookCellCreateRequest(Box::new(
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookTimeseriesCellAttributes(
Box::new(
NotebookTimeseriesCellAttributes::new(
TimeseriesWidgetDefinition::new(
vec![TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.q("avg:system.load.1{*}".to_string())
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.show_legend(true)
.yaxis(WidgetAxis::new().scale("linear".to_string())),
)
.graph_size(NotebookGraphSize::MEDIUM)
.split_by(NotebookSplitBy::new(vec![], vec![]))
.time(None),
),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
)),
],
"Example-Notebook-updated".to_string(),
NotebookGlobalTime::NotebookRelativeTime(Box::new(NotebookRelativeTime::new(
WidgetLiveSpan::PAST_ONE_HOUR,
))),
)
.status(NotebookStatus::PUBLISHED),
NotebookResourceType::NOTEBOOKS,
));
let configuration = datadog::Configuration::new();
let api = NotebooksAPI::with_config(configuration);
let resp = api.update_notebook(notebook_data_id.clone(), body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_2342457693.rs (line 85)
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::FREE,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::ScatterPlotWidgetDefinition(
Box::new(
ScatterPlotWidgetDefinition::new(
ScatterPlotWidgetDefinitionRequests
::new().table(
ScatterplotTableRequest::new()
.formulas(
vec![
ScatterplotWidgetFormula::new(
ScatterplotDimension::X,
"query1".to_string(),
).alias("".to_string()),
ScatterplotWidgetFormula::new(
ScatterplotDimension::Y,
"query2".to_string(),
).alias("".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),
),
),
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"query2".to_string(),
"avg:system.mem.used{*} by {service}".to_string(),
).aggregator(FormulaAndFunctionMetricAggregation::AVG),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::SCALAR),
),
ScatterPlotWidgetDefinitionType::SCATTERPLOT,
)
.color_by_groups(vec![])
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("".to_string())
.title_align(WidgetTextAlign::LEFT)
.title_size("16".to_string())
.xaxis(
WidgetAxis::new()
.include_zero(true)
.max("auto".to_string())
.min("auto".to_string())
.scale("linear".to_string()),
)
.yaxis(
WidgetAxis::new()
.include_zero(true)
.max("auto".to_string())
.min("auto".to_string())
.scale("linear".to_string()),
),
),
),
).layout(WidgetLayout::new(15, 47, 0, 0))
],
)
.description(Some("".to_string()))
.is_read_only(false)
.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());
}
}sourcepub fn include_zero(self, value: bool) -> Self
pub fn include_zero(self, value: bool) -> Self
Examples found in repository?
examples/v1_dashboards_CreateDashboard_765140092.rs (line 63)
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::ORDERED,
"Example-Dashboard with QVW Timeseries Background".to_string(),
vec![
Widget::new(
WidgetDefinition::QueryValueWidgetDefinition(
Box::new(
QueryValueWidgetDefinition::new(
vec![
QueryValueWidgetRequest::new()
.formulas(vec![WidgetFormula::new("query1".to_string())])
.queries(
vec![
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"query1".to_string(),
"sum:my.cool.count.metric{*}".to_string(),
).aggregator(FormulaAndFunctionMetricAggregation::PERCENTILE),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::SCALAR)
],
QueryValueWidgetDefinitionType::QUERY_VALUE,
)
.autoscale(true)
.precision(2)
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.timeseries_background(
TimeseriesBackground::new(
TimeseriesBackgroundType::AREA,
).yaxis(WidgetAxis::new().include_zero(true)),
)
.title("".to_string())
.title_align(WidgetTextAlign::LEFT)
.title_size("16".to_string()),
),
),
).layout(WidgetLayout::new(2, 2, 0, 0))
],
);
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());
}
}More examples
examples/v1_dashboards_CreateDashboard_2342457693.rs (line 86)
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::FREE,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::ScatterPlotWidgetDefinition(
Box::new(
ScatterPlotWidgetDefinition::new(
ScatterPlotWidgetDefinitionRequests
::new().table(
ScatterplotTableRequest::new()
.formulas(
vec![
ScatterplotWidgetFormula::new(
ScatterplotDimension::X,
"query1".to_string(),
).alias("".to_string()),
ScatterplotWidgetFormula::new(
ScatterplotDimension::Y,
"query2".to_string(),
).alias("".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),
),
),
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"query2".to_string(),
"avg:system.mem.used{*} by {service}".to_string(),
).aggregator(FormulaAndFunctionMetricAggregation::AVG),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::SCALAR),
),
ScatterPlotWidgetDefinitionType::SCATTERPLOT,
)
.color_by_groups(vec![])
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("".to_string())
.title_align(WidgetTextAlign::LEFT)
.title_size("16".to_string())
.xaxis(
WidgetAxis::new()
.include_zero(true)
.max("auto".to_string())
.min("auto".to_string())
.scale("linear".to_string()),
)
.yaxis(
WidgetAxis::new()
.include_zero(true)
.max("auto".to_string())
.min("auto".to_string())
.scale("linear".to_string()),
),
),
),
).layout(WidgetLayout::new(15, 47, 0, 0))
],
)
.description(Some("".to_string()))
.is_read_only(false)
.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());
}
}pub fn label(self, value: String) -> Self
sourcepub fn max(self, value: String) -> Self
pub fn max(self, value: String) -> Self
Examples found in repository?
examples/v1_dashboards_CreateDashboard_2342457693.rs (line 87)
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::FREE,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::ScatterPlotWidgetDefinition(
Box::new(
ScatterPlotWidgetDefinition::new(
ScatterPlotWidgetDefinitionRequests
::new().table(
ScatterplotTableRequest::new()
.formulas(
vec![
ScatterplotWidgetFormula::new(
ScatterplotDimension::X,
"query1".to_string(),
).alias("".to_string()),
ScatterplotWidgetFormula::new(
ScatterplotDimension::Y,
"query2".to_string(),
).alias("".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),
),
),
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"query2".to_string(),
"avg:system.mem.used{*} by {service}".to_string(),
).aggregator(FormulaAndFunctionMetricAggregation::AVG),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::SCALAR),
),
ScatterPlotWidgetDefinitionType::SCATTERPLOT,
)
.color_by_groups(vec![])
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("".to_string())
.title_align(WidgetTextAlign::LEFT)
.title_size("16".to_string())
.xaxis(
WidgetAxis::new()
.include_zero(true)
.max("auto".to_string())
.min("auto".to_string())
.scale("linear".to_string()),
)
.yaxis(
WidgetAxis::new()
.include_zero(true)
.max("auto".to_string())
.min("auto".to_string())
.scale("linear".to_string()),
),
),
),
).layout(WidgetLayout::new(15, 47, 0, 0))
],
)
.description(Some("".to_string()))
.is_read_only(false)
.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());
}
}sourcepub fn min(self, value: String) -> Self
pub fn min(self, value: String) -> Self
Examples found in repository?
examples/v1_dashboards_CreateDashboard_2342457693.rs (line 88)
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::FREE,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::ScatterPlotWidgetDefinition(
Box::new(
ScatterPlotWidgetDefinition::new(
ScatterPlotWidgetDefinitionRequests
::new().table(
ScatterplotTableRequest::new()
.formulas(
vec![
ScatterplotWidgetFormula::new(
ScatterplotDimension::X,
"query1".to_string(),
).alias("".to_string()),
ScatterplotWidgetFormula::new(
ScatterplotDimension::Y,
"query2".to_string(),
).alias("".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),
),
),
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"query2".to_string(),
"avg:system.mem.used{*} by {service}".to_string(),
).aggregator(FormulaAndFunctionMetricAggregation::AVG),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::SCALAR),
),
ScatterPlotWidgetDefinitionType::SCATTERPLOT,
)
.color_by_groups(vec![])
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("".to_string())
.title_align(WidgetTextAlign::LEFT)
.title_size("16".to_string())
.xaxis(
WidgetAxis::new()
.include_zero(true)
.max("auto".to_string())
.min("auto".to_string())
.scale("linear".to_string()),
)
.yaxis(
WidgetAxis::new()
.include_zero(true)
.max("auto".to_string())
.min("auto".to_string())
.scale("linear".to_string()),
),
),
),
).layout(WidgetLayout::new(15, 47, 0, 0))
],
)
.description(Some("".to_string()))
.is_read_only(false)
.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());
}
}sourcepub fn scale(self, value: String) -> Self
pub fn scale(self, value: String) -> Self
Examples found in repository?
examples/v1_notebooks_CreateNotebook.rs (line 68)
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
async fn main() {
let body = NotebookCreateRequest::new(NotebookCreateData::new(
NotebookCreateDataAttributes::new(
vec![
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookMarkdownCellAttributes(Box::new(
NotebookMarkdownCellAttributes::new(NotebookMarkdownCellDefinition::new(
r#"## Some test markdown
```js
var x, y;
x = 5;
y = 6;
```"#
.to_string(),
NotebookMarkdownCellDefinitionType::MARKDOWN,
)),
)),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookTimeseriesCellAttributes(
Box::new(
NotebookTimeseriesCellAttributes::new(
TimeseriesWidgetDefinition::new(
vec![TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.q("avg:system.load.1{*}".to_string())
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.show_legend(true)
.yaxis(WidgetAxis::new().scale("linear".to_string())),
)
.graph_size(NotebookGraphSize::MEDIUM)
.split_by(NotebookSplitBy::new(vec![], vec![]))
.time(None),
),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
],
"Example-Notebook".to_string(),
NotebookGlobalTime::NotebookRelativeTime(Box::new(NotebookRelativeTime::new(
WidgetLiveSpan::PAST_ONE_HOUR,
))),
)
.status(NotebookStatus::PUBLISHED),
NotebookResourceType::NOTEBOOKS,
));
let configuration = datadog::Configuration::new();
let api = NotebooksAPI::with_config(configuration);
let resp = api.create_notebook(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}More examples
examples/v1_notebooks_UpdateNotebook.rs (line 76)
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
async fn main() {
// there is a valid "notebook" in the system
let notebook_data_id: i64 = std::env::var("NOTEBOOK_DATA_ID").unwrap().parse().unwrap();
let body = NotebookUpdateRequest::new(NotebookUpdateData::new(
NotebookUpdateDataAttributes::new(
vec![
NotebookUpdateCell::NotebookCellCreateRequest(Box::new(
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookMarkdownCellAttributes(
Box::new(NotebookMarkdownCellAttributes::new(
NotebookMarkdownCellDefinition::new(
r#"## Some test markdown
```js
var x, y;
x = 5;
y = 6;
```"#
.to_string(),
NotebookMarkdownCellDefinitionType::MARKDOWN,
),
)),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
)),
NotebookUpdateCell::NotebookCellCreateRequest(Box::new(
NotebookCellCreateRequest::new(
NotebookCellCreateRequestAttributes::NotebookTimeseriesCellAttributes(
Box::new(
NotebookTimeseriesCellAttributes::new(
TimeseriesWidgetDefinition::new(
vec![TimeseriesWidgetRequest::new()
.display_type(WidgetDisplayType::LINE)
.q("avg:system.load.1{*}".to_string())
.style(
WidgetRequestStyle::new()
.line_type(WidgetLineType::SOLID)
.line_width(WidgetLineWidth::NORMAL)
.palette("dog_classic".to_string()),
)],
TimeseriesWidgetDefinitionType::TIMESERIES,
)
.show_legend(true)
.yaxis(WidgetAxis::new().scale("linear".to_string())),
)
.graph_size(NotebookGraphSize::MEDIUM)
.split_by(NotebookSplitBy::new(vec![], vec![]))
.time(None),
),
),
NotebookCellResourceType::NOTEBOOK_CELLS,
),
)),
],
"Example-Notebook-updated".to_string(),
NotebookGlobalTime::NotebookRelativeTime(Box::new(NotebookRelativeTime::new(
WidgetLiveSpan::PAST_ONE_HOUR,
))),
)
.status(NotebookStatus::PUBLISHED),
NotebookResourceType::NOTEBOOKS,
));
let configuration = datadog::Configuration::new();
let api = NotebooksAPI::with_config(configuration);
let resp = api.update_notebook(notebook_data_id.clone(), body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}examples/v1_dashboards_CreateDashboard_2342457693.rs (line 89)
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
async fn main() {
let body =
Dashboard::new(
DashboardLayoutType::FREE,
"Example-Dashboard".to_string(),
vec![
Widget::new(
WidgetDefinition::ScatterPlotWidgetDefinition(
Box::new(
ScatterPlotWidgetDefinition::new(
ScatterPlotWidgetDefinitionRequests
::new().table(
ScatterplotTableRequest::new()
.formulas(
vec![
ScatterplotWidgetFormula::new(
ScatterplotDimension::X,
"query1".to_string(),
).alias("".to_string()),
ScatterplotWidgetFormula::new(
ScatterplotDimension::Y,
"query2".to_string(),
).alias("".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),
),
),
FormulaAndFunctionQueryDefinition
::FormulaAndFunctionMetricQueryDefinition(
Box::new(
FormulaAndFunctionMetricQueryDefinition::new(
FormulaAndFunctionMetricDataSource::METRICS,
"query2".to_string(),
"avg:system.mem.used{*} by {service}".to_string(),
).aggregator(FormulaAndFunctionMetricAggregation::AVG),
),
)
],
)
.response_format(FormulaAndFunctionResponseFormat::SCALAR),
),
ScatterPlotWidgetDefinitionType::SCATTERPLOT,
)
.color_by_groups(vec![])
.time(WidgetTime::WidgetLegacyLiveSpan(Box::new(WidgetLegacyLiveSpan::new())))
.title("".to_string())
.title_align(WidgetTextAlign::LEFT)
.title_size("16".to_string())
.xaxis(
WidgetAxis::new()
.include_zero(true)
.max("auto".to_string())
.min("auto".to_string())
.scale("linear".to_string()),
)
.yaxis(
WidgetAxis::new()
.include_zero(true)
.max("auto".to_string())
.min("auto".to_string())
.scale("linear".to_string()),
),
),
),
).layout(WidgetLayout::new(15, 47, 0, 0))
],
)
.description(Some("".to_string()))
.is_read_only(false)
.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());
}
}pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
source§impl Clone for WidgetAxis
impl Clone for WidgetAxis
source§fn clone(&self) -> WidgetAxis
fn clone(&self) -> WidgetAxis
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for WidgetAxis
impl Debug for WidgetAxis
source§impl Default for WidgetAxis
impl Default for WidgetAxis
source§impl<'de> Deserialize<'de> for WidgetAxis
impl<'de> Deserialize<'de> for WidgetAxis
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq for WidgetAxis
impl PartialEq for WidgetAxis
source§impl Serialize for WidgetAxis
impl Serialize for WidgetAxis
impl StructuralPartialEq for WidgetAxis
Auto Trait Implementations§
impl Freeze for WidgetAxis
impl RefUnwindSafe for WidgetAxis
impl Send for WidgetAxis
impl Sync for WidgetAxis
impl Unpin for WidgetAxis
impl UnwindSafe for WidgetAxis
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)