Skip to main content

nominal_api/conjure/objects/persistent/compute/api/
unavailable_result_configuration_reason.rs

1#![allow(deprecated)]
2use std::fmt;
3use std::str;
4#[derive(
5    Debug,
6    Clone,
7    PartialEq,
8    Eq,
9    PartialOrd,
10    Ord,
11    Hash,
12    conjure_object::serde::Deserialize,
13    conjure_object::serde::Serialize,
14)]
15#[serde(crate = "conjure_object::serde")]
16pub enum UnavailableResultConfigurationReason {
17    #[serde(rename = "APPENDS_NOT_SUPPORTED_FOR_COMPUTE")]
18    AppendsNotSupportedForCompute,
19    #[serde(rename = "TOO_MANY_POINTS_FOR_UNDECIMATED_APPENDS")]
20    TooManyPointsForUndecimatedAppends,
21    /// An unknown variant.
22    #[serde(untagged)]
23    Unknown(Unknown),
24}
25impl UnavailableResultConfigurationReason {
26    /// Returns the string representation of the enum.
27    #[inline]
28    pub fn as_str(&self) -> &str {
29        match self {
30            UnavailableResultConfigurationReason::AppendsNotSupportedForCompute => {
31                "APPENDS_NOT_SUPPORTED_FOR_COMPUTE"
32            }
33            UnavailableResultConfigurationReason::TooManyPointsForUndecimatedAppends => {
34                "TOO_MANY_POINTS_FOR_UNDECIMATED_APPENDS"
35            }
36            UnavailableResultConfigurationReason::Unknown(v) => &*v,
37        }
38    }
39}
40impl fmt::Display for UnavailableResultConfigurationReason {
41    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
42        fmt::Display::fmt(self.as_str(), fmt)
43    }
44}
45impl conjure_object::Plain for UnavailableResultConfigurationReason {
46    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
47        conjure_object::Plain::fmt(self.as_str(), fmt)
48    }
49}
50impl str::FromStr for UnavailableResultConfigurationReason {
51    type Err = conjure_object::plain::ParseEnumError;
52    #[inline]
53    fn from_str(
54        v: &str,
55    ) -> Result<
56        UnavailableResultConfigurationReason,
57        conjure_object::plain::ParseEnumError,
58    > {
59        match v {
60            "APPENDS_NOT_SUPPORTED_FOR_COMPUTE" => {
61                Ok(UnavailableResultConfigurationReason::AppendsNotSupportedForCompute)
62            }
63            "TOO_MANY_POINTS_FOR_UNDECIMATED_APPENDS" => {
64                Ok(
65                    UnavailableResultConfigurationReason::TooManyPointsForUndecimatedAppends,
66                )
67            }
68            v => {
69                v.parse()
70                    .map(|v| UnavailableResultConfigurationReason::Unknown(Unknown(v)))
71            }
72        }
73    }
74}
75impl conjure_object::FromPlain for UnavailableResultConfigurationReason {
76    type Err = conjure_object::plain::ParseEnumError;
77    #[inline]
78    fn from_plain(
79        v: &str,
80    ) -> Result<
81        UnavailableResultConfigurationReason,
82        conjure_object::plain::ParseEnumError,
83    > {
84        v.parse()
85    }
86}
87///An unknown variant of the UnavailableResultConfigurationReason enum.
88#[derive(
89    Debug,
90    Clone,
91    PartialEq,
92    Eq,
93    PartialOrd,
94    Ord,
95    Hash,
96    conjure_object::serde::Deserialize,
97    conjure_object::serde::Serialize,
98)]
99#[serde(crate = "conjure_object::serde", transparent)]
100pub struct Unknown(conjure_object::private::Variant);
101impl std::ops::Deref for Unknown {
102    type Target = str;
103    #[inline]
104    fn deref(&self) -> &str {
105        &self.0
106    }
107}
108impl fmt::Display for Unknown {
109    #[inline]
110    fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
111        fmt::Display::fmt(&self.0, fmt)
112    }
113}