Skip to main content

nominal_api/conjure/objects/event/
update_event_request.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 UpdateEventRequest {
16    #[serde(rename = "rid")]
17    rid: super::super::api::rids::EventRid,
18    #[builder(default, into)]
19    #[serde(rename = "assetRids", skip_serializing_if = "Option::is_none", default)]
20    asset_rids: Option<
21        std::collections::BTreeSet<super::super::scout::rids::api::AssetRid>,
22    >,
23    #[builder(
24        default,
25        custom(
26            type = impl
27            Into<Option<super::super::api::Timestamp>>,
28            convert = |v|v.into().map(Box::new)
29        )
30    )]
31    #[serde(rename = "timestamp", skip_serializing_if = "Option::is_none", default)]
32    timestamp: Option<Box<super::super::api::Timestamp>>,
33    #[builder(
34        default,
35        custom(
36            type = impl
37            Into<Option<super::super::scout::run::api::Duration>>,
38            convert = |v|v.into().map(Box::new)
39        )
40    )]
41    #[serde(rename = "duration", skip_serializing_if = "Option::is_none", default)]
42    duration: Option<Box<super::super::scout::run::api::Duration>>,
43    #[builder(default, into)]
44    #[serde(rename = "name", skip_serializing_if = "Option::is_none", default)]
45    name: Option<String>,
46    #[builder(default, into)]
47    #[serde(rename = "description", skip_serializing_if = "Option::is_none", default)]
48    description: Option<String>,
49    #[builder(default, into)]
50    #[serde(rename = "type", skip_serializing_if = "Option::is_none", default)]
51    type_: Option<super::EventType>,
52    #[builder(default, into)]
53    #[serde(rename = "labels", skip_serializing_if = "Option::is_none", default)]
54    labels: Option<std::collections::BTreeSet<super::super::api::Label>>,
55    #[builder(default, into)]
56    #[serde(rename = "properties", skip_serializing_if = "Option::is_none", default)]
57    properties: Option<
58        std::collections::BTreeMap<
59            super::super::api::PropertyName,
60            super::super::api::PropertyValue,
61        >,
62    >,
63}
64impl UpdateEventRequest {
65    /// Constructs a new instance of the type.
66    #[inline]
67    pub fn new(rid: super::super::api::rids::EventRid) -> Self {
68        Self::builder().rid(rid).build()
69    }
70    #[inline]
71    pub fn rid(&self) -> &super::super::api::rids::EventRid {
72        &self.rid
73    }
74    /// If provided, will replace the existing asset rids.
75    /// If provided, must contain at least one asset rid.
76    #[inline]
77    pub fn asset_rids(
78        &self,
79    ) -> Option<&std::collections::BTreeSet<super::super::scout::rids::api::AssetRid>> {
80        self.asset_rids.as_ref().map(|o| &*o)
81    }
82    #[inline]
83    pub fn timestamp(&self) -> Option<&super::super::api::Timestamp> {
84        self.timestamp.as_ref().map(|o| &**o)
85    }
86    #[inline]
87    pub fn duration(&self) -> Option<&super::super::scout::run::api::Duration> {
88        self.duration.as_ref().map(|o| &**o)
89    }
90    #[inline]
91    pub fn name(&self) -> Option<&str> {
92        self.name.as_ref().map(|o| &**o)
93    }
94    #[inline]
95    pub fn description(&self) -> Option<&str> {
96        self.description.as_ref().map(|o| &**o)
97    }
98    #[inline]
99    pub fn type_(&self) -> Option<&super::EventType> {
100        self.type_.as_ref().map(|o| &*o)
101    }
102    #[inline]
103    pub fn labels(
104        &self,
105    ) -> Option<&std::collections::BTreeSet<super::super::api::Label>> {
106        self.labels.as_ref().map(|o| &*o)
107    }
108    #[inline]
109    pub fn properties(
110        &self,
111    ) -> Option<
112        &std::collections::BTreeMap<
113            super::super::api::PropertyName,
114            super::super::api::PropertyValue,
115        >,
116    > {
117        self.properties.as_ref().map(|o| &*o)
118    }
119}