Skip to main content

nominal_api/conjure/objects/timeseries/logicalseries/api/
influx2_locator.rs

1#[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 Influx2Locator {
16    #[serde(rename = "bucket")]
17    bucket: super::BucketName,
18    #[serde(rename = "measurement")]
19    measurement: super::MeasurementName,
20    #[serde(rename = "field")]
21    field: super::FieldName,
22    #[builder(default, into)]
23    #[serde(rename = "valueColumn", skip_serializing_if = "Option::is_none", default)]
24    value_column: Option<String>,
25    #[builder(
26        default,
27        map(
28            key(type = super::super::super::super::api::TagName),
29            value(type = super::super::super::super::api::TagValue)
30        )
31    )]
32    #[serde(
33        rename = "tags",
34        skip_serializing_if = "std::collections::BTreeMap::is_empty",
35        default
36    )]
37    tags: std::collections::BTreeMap<
38        super::super::super::super::api::TagName,
39        super::super::super::super::api::TagValue,
40    >,
41    #[serde(rename = "type")]
42    type_: super::InfluxType,
43}
44impl Influx2Locator {
45    #[inline]
46    pub fn bucket(&self) -> &super::BucketName {
47        &self.bucket
48    }
49    #[inline]
50    pub fn measurement(&self) -> &super::MeasurementName {
51        &self.measurement
52    }
53    #[inline]
54    pub fn field(&self) -> &super::FieldName {
55        &self.field
56    }
57    /// If omitted, defaults to `_value`. Can be used to extract tag values.
58    #[inline]
59    pub fn value_column(&self) -> Option<&str> {
60        self.value_column.as_ref().map(|o| &**o)
61    }
62    #[inline]
63    pub fn tags(
64        &self,
65    ) -> &std::collections::BTreeMap<
66        super::super::super::super::api::TagName,
67        super::super::super::super::api::TagValue,
68    > {
69        &self.tags
70    }
71    #[inline]
72    pub fn type_(&self) -> &super::InfluxType {
73        &self.type_
74    }
75}