Skip to main content

nominal_api/conjure/objects/scout/template/api/
update_ref_name_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 UpdateRefNameRequest {
16    #[builder(
17        default,
18        map(
19            key(type = super::super::super::api::DataSourceRefName),
20            value(type = super::super::super::api::DataSourceRefName)
21        )
22    )]
23    #[serde(
24        rename = "refNameUpdates",
25        skip_serializing_if = "std::collections::BTreeMap::is_empty",
26        default
27    )]
28    ref_name_updates: std::collections::BTreeMap<
29        super::super::super::api::DataSourceRefName,
30        super::super::super::api::DataSourceRefName,
31    >,
32    #[builder(default, into)]
33    #[serde(rename = "latestCommit", skip_serializing_if = "Option::is_none", default)]
34    latest_commit: Option<super::super::super::versioning::api::CommitId>,
35}
36impl UpdateRefNameRequest {
37    /// Constructs a new instance of the type.
38    #[inline]
39    pub fn new() -> Self {
40        Self::builder().build()
41    }
42    #[inline]
43    pub fn ref_name_updates(
44        &self,
45    ) -> &std::collections::BTreeMap<
46        super::super::super::api::DataSourceRefName,
47        super::super::super::api::DataSourceRefName,
48    > {
49        &self.ref_name_updates
50    }
51    /// If present, will validate that the latest commit matches this id,
52    /// and otherwise throw CommitConflict.
53    #[inline]
54    pub fn latest_commit(
55        &self,
56    ) -> Option<&super::super::super::versioning::api::CommitId> {
57        self.latest_commit.as_ref().map(|o| &*o)
58    }
59}