Skip to main content

nominal_api/conjure/objects/scout/compute/api/
function_variables.rs

1#[derive(
2    Debug,
3    Clone,
4    conjure_object::serde::Serialize,
5    conjure_object::serde::Deserialize,
6    conjure_object::private::DeriveWith
7)]
8#[serde(crate = "conjure_object::serde")]
9#[derive_with(PartialEq, Eq, PartialOrd, Ord, Hash)]
10#[conjure_object::private::staged_builder::staged_builder]
11#[builder(crate = conjure_object::private::staged_builder, update, inline)]
12pub struct FunctionVariables {
13    #[builder(
14        default,
15        map(key(type = super::VariableName), value(type = super::VariableValue))
16    )]
17    #[serde(
18        rename = "variables",
19        skip_serializing_if = "std::collections::BTreeMap::is_empty",
20        default
21    )]
22    variables: std::collections::BTreeMap<super::VariableName, super::VariableValue>,
23    #[builder(
24        default,
25        map(key(type = super::FunctionReference), value(type = super::FunctionVariables))
26    )]
27    #[serde(
28        rename = "subFunctionVariables",
29        skip_serializing_if = "std::collections::BTreeMap::is_empty",
30        default
31    )]
32    sub_function_variables: std::collections::BTreeMap<
33        super::FunctionReference,
34        super::FunctionVariables,
35    >,
36}
37impl FunctionVariables {
38    /// Constructs a new instance of the type.
39    #[inline]
40    pub fn new() -> Self {
41        Self::builder().build()
42    }
43    #[inline]
44    pub fn variables(
45        &self,
46    ) -> &std::collections::BTreeMap<super::VariableName, super::VariableValue> {
47        &self.variables
48    }
49    #[inline]
50    pub fn sub_function_variables(
51        &self,
52    ) -> &std::collections::BTreeMap<
53        super::FunctionReference,
54        super::FunctionVariables,
55    > {
56        &self.sub_function_variables
57    }
58}