Skip to main content

nominal_api/conjure/objects/scout/run/api/
update_run_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 UpdateRunRequest {
16    #[builder(default, into)]
17    #[serde(rename = "title", skip_serializing_if = "Option::is_none", default)]
18    title: Option<String>,
19    #[builder(default, into)]
20    #[serde(rename = "description", skip_serializing_if = "Option::is_none", default)]
21    description: Option<String>,
22    #[builder(
23        default,
24        custom(
25            type = impl
26            Into<Option<super::UtcTimestamp>>,
27            convert = |v|v.into().map(Box::new)
28        )
29    )]
30    #[serde(rename = "startTime", skip_serializing_if = "Option::is_none", default)]
31    start_time: Option<Box<super::UtcTimestamp>>,
32    #[builder(
33        default,
34        custom(
35            type = impl
36            Into<Option<super::UtcTimestamp>>,
37            convert = |v|v.into().map(Box::new)
38        )
39    )]
40    #[serde(rename = "endTime", skip_serializing_if = "Option::is_none", default)]
41    end_time: Option<Box<super::UtcTimestamp>>,
42    #[builder(default, into)]
43    #[serde(rename = "properties", skip_serializing_if = "Option::is_none", default)]
44    properties: Option<
45        std::collections::BTreeMap<
46            super::super::super::super::api::PropertyName,
47            super::super::super::super::api::PropertyValue,
48        >,
49    >,
50    #[builder(default, into)]
51    #[serde(rename = "labels", skip_serializing_if = "Option::is_none", default)]
52    labels: Option<std::collections::BTreeSet<super::super::super::super::api::Label>>,
53    #[builder(default, into)]
54    #[serde(rename = "links", skip_serializing_if = "Option::is_none", default)]
55    links: Option<Vec<super::Link>>,
56    #[builder(default, into)]
57    #[serde(rename = "runPrefix", skip_serializing_if = "Option::is_none", default)]
58    run_prefix: Option<String>,
59    #[builder(default, into)]
60    #[serde(rename = "dataSources", skip_serializing_if = "Option::is_none", default)]
61    data_sources: Option<
62        std::collections::BTreeMap<
63            super::super::super::api::DataSourceRefName,
64            super::CreateRunDataSource,
65        >,
66    >,
67    #[builder(default, into)]
68    #[serde(rename = "attachments", skip_serializing_if = "Option::is_none", default)]
69    attachments: Option<std::collections::BTreeSet<conjure_object::ResourceIdentifier>>,
70    #[builder(default, into)]
71    #[serde(rename = "asset", skip_serializing_if = "Option::is_none", default)]
72    asset: Option<super::super::super::rids::api::AssetRid>,
73    #[builder(default, list(item(type = super::super::super::rids::api::AssetRid)))]
74    #[serde(rename = "assets", skip_serializing_if = "Vec::is_empty", default)]
75    assets: Vec<super::super::super::rids::api::AssetRid>,
76    #[builder(default, into)]
77    #[serde(
78        rename = "strictOverwrite",
79        skip_serializing_if = "Option::is_none",
80        default
81    )]
82    strict_overwrite: Option<bool>,
83}
84impl UpdateRunRequest {
85    /// Constructs a new instance of the type.
86    #[inline]
87    pub fn new() -> Self {
88        Self::builder().build()
89    }
90    #[inline]
91    pub fn title(&self) -> Option<&str> {
92        self.title.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    /// If strictOverwrite is false, will only update the startTime if it is before the existing startTime.
99    #[inline]
100    pub fn start_time(&self) -> Option<&super::UtcTimestamp> {
101        self.start_time.as_ref().map(|o| &**o)
102    }
103    /// If strictOverwrite is false, will only update the endTime if it is after the existing endTime.
104    #[inline]
105    pub fn end_time(&self) -> Option<&super::UtcTimestamp> {
106        self.end_time.as_ref().map(|o| &**o)
107    }
108    #[inline]
109    pub fn properties(
110        &self,
111    ) -> Option<
112        &std::collections::BTreeMap<
113            super::super::super::super::api::PropertyName,
114            super::super::super::super::api::PropertyValue,
115        >,
116    > {
117        self.properties.as_ref().map(|o| &*o)
118    }
119    #[inline]
120    pub fn labels(
121        &self,
122    ) -> Option<&std::collections::BTreeSet<super::super::super::super::api::Label>> {
123        self.labels.as_ref().map(|o| &*o)
124    }
125    #[inline]
126    pub fn links(&self) -> Option<&[super::Link]> {
127        self.links.as_ref().map(|o| &**o)
128    }
129    /// Pass in an empty string to remove the run prefix.
130    #[inline]
131    pub fn run_prefix(&self) -> Option<&str> {
132        self.run_prefix.as_ref().map(|o| &**o)
133    }
134    #[inline]
135    pub fn data_sources(
136        &self,
137    ) -> Option<
138        &std::collections::BTreeMap<
139            super::super::super::api::DataSourceRefName,
140            super::CreateRunDataSource,
141        >,
142    > {
143        self.data_sources.as_ref().map(|o| &*o)
144    }
145    #[inline]
146    pub fn attachments(
147        &self,
148    ) -> Option<&std::collections::BTreeSet<conjure_object::ResourceIdentifier>> {
149        self.attachments.as_ref().map(|o| &*o)
150    }
151    #[deprecated(note = "Use assets")]
152    #[inline]
153    pub fn asset(&self) -> Option<&super::super::super::rids::api::AssetRid> {
154        self.asset.as_ref().map(|o| &*o)
155    }
156    #[inline]
157    pub fn assets(&self) -> &[super::super::super::rids::api::AssetRid] {
158        &*self.assets
159    }
160    /// If true, will blindly overwrite the existing fields with the new values in the request.
161    /// If false, will only update the fields if application constraints are maintained.
162    /// See individual field docs for more details.
163    /// Defaults to true for backwards compatibility.
164    #[inline]
165    pub fn strict_overwrite(&self) -> Option<bool> {
166        self.strict_overwrite.as_ref().map(|o| *o)
167    }
168}