#[non_exhaustive]pub struct NotebookSplitBy {
pub keys: Vec<String>,
pub tags: Vec<String>,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}Expand description
Object describing how to split the graph to display multiple visualizations per request.
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.keys: Vec<String>Keys to split on.
Tags to split on.
additional_properties: BTreeMap<String, Value>Implementations§
source§impl NotebookSplitBy
impl NotebookSplitBy
sourcepub fn new(keys: Vec<String>, tags: Vec<String>) -> NotebookSplitBy
pub fn new(keys: Vec<String>, tags: Vec<String>) -> NotebookSplitBy
Examples found in repository?
examples/v1_notebooks_CreateNotebook.rs (line 71)
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 79)
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());
}
}pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
source§impl Clone for NotebookSplitBy
impl Clone for NotebookSplitBy
source§fn clone(&self) -> NotebookSplitBy
fn clone(&self) -> NotebookSplitBy
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 NotebookSplitBy
impl Debug for NotebookSplitBy
source§impl<'de> Deserialize<'de> for NotebookSplitBy
impl<'de> Deserialize<'de> for NotebookSplitBy
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 NotebookSplitBy
impl PartialEq for NotebookSplitBy
source§impl Serialize for NotebookSplitBy
impl Serialize for NotebookSplitBy
impl StructuralPartialEq for NotebookSplitBy
Auto Trait Implementations§
impl Freeze for NotebookSplitBy
impl RefUnwindSafe for NotebookSplitBy
impl Send for NotebookSplitBy
impl Sync for NotebookSplitBy
impl Unpin for NotebookSplitBy
impl UnwindSafe for NotebookSplitBy
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)