nominal_api/conjure/objects/scout/asset/api/
create_asset_data_scope.rs1#[derive(
2 Debug,
3 Clone,
4 conjure_object::serde::Serialize,
5 conjure_object::serde::Deserialize,
6 PartialEq,
7 Eq,
8 PartialOrd,
9 Ord,
10 Hash
11)]
12#[serde(crate = "conjure_object::serde")]
13#[conjure_object::private::staged_builder::staged_builder]
14#[builder(crate = conjure_object::private::staged_builder, update, inline)]
15pub struct CreateAssetDataScope {
16 #[serde(rename = "dataScopeName")]
17 data_scope_name: super::super::super::api::DataSourceRefName,
18 #[builder(
19 custom(type = super::super::super::run::api::DataSource, convert = Box::new)
20 )]
21 #[serde(rename = "dataSource")]
22 data_source: Box<super::super::super::run::api::DataSource>,
23 #[builder(
24 default,
25 custom(
26 type = impl
27 Into<Option<super::super::super::run::api::Duration>>,
28 convert = |v|v.into().map(Box::new)
29 )
30 )]
31 #[serde(rename = "offset", skip_serializing_if = "Option::is_none", default)]
32 offset: Option<Box<super::super::super::run::api::Duration>>,
33 #[builder(
34 default,
35 map(
36 key(type = super::super::super::super::api::TagName),
37 value(type = super::super::super::super::api::TagValue)
38 )
39 )]
40 #[serde(
41 rename = "seriesTags",
42 skip_serializing_if = "std::collections::BTreeMap::is_empty",
43 default
44 )]
45 series_tags: std::collections::BTreeMap<
46 super::super::super::super::api::TagName,
47 super::super::super::super::api::TagValue,
48 >,
49}
50impl CreateAssetDataScope {
51 #[inline]
53 pub fn new(
54 data_scope_name: super::super::super::api::DataSourceRefName,
55 data_source: super::super::super::run::api::DataSource,
56 ) -> Self {
57 Self::builder().data_scope_name(data_scope_name).data_source(data_source).build()
58 }
59 #[inline]
61 pub fn data_scope_name(&self) -> &super::super::super::api::DataSourceRefName {
62 &self.data_scope_name
63 }
64 #[inline]
65 pub fn data_source(&self) -> &super::super::super::run::api::DataSource {
66 &*self.data_source
67 }
68 #[inline]
69 pub fn offset(&self) -> Option<&super::super::super::run::api::Duration> {
70 self.offset.as_ref().map(|o| &**o)
71 }
72 #[inline]
75 pub fn series_tags(
76 &self,
77 ) -> &std::collections::BTreeMap<
78 super::super::super::super::api::TagName,
79 super::super::super::super::api::TagValue,
80 > {
81 &self.series_tags
82 }
83}