1#[allow(missing_docs)] #[non_exhaustive]
52#[derive(
53 ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash,
54)]
55pub enum StackAttribute {
56 #[allow(missing_docs)] AccessEndpoints,
58 #[allow(missing_docs)] ContentRedirection,
60 #[allow(missing_docs)] EmbedHostDomains,
62 #[allow(missing_docs)] FeedbackUrl,
64 #[allow(missing_docs)] IamRoleArn,
66 #[allow(missing_docs)] RedirectUrl,
68 #[allow(missing_docs)] StorageConnectors,
70 #[allow(missing_docs)] StorageConnectorGoogleDrive,
72 #[allow(missing_docs)] StorageConnectorHomefolders,
74 #[allow(missing_docs)] StorageConnectorOneDrive,
76 #[allow(missing_docs)] StreamingExperienceSettings,
78 #[allow(missing_docs)] ThemeName,
80 #[allow(missing_docs)] UserSettings,
82 #[deprecated(note = "Don't directly match on `Unknown`. See the docs on this enum for the correct way to handle unknown variants.")]
84 Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue),
85}
86impl ::std::convert::From<&str> for StackAttribute {
87 fn from(s: &str) -> Self {
88 match s {
89 "ACCESS_ENDPOINTS" => StackAttribute::AccessEndpoints,
90 "CONTENT_REDIRECTION" => StackAttribute::ContentRedirection,
91 "EMBED_HOST_DOMAINS" => StackAttribute::EmbedHostDomains,
92 "FEEDBACK_URL" => StackAttribute::FeedbackUrl,
93 "IAM_ROLE_ARN" => StackAttribute::IamRoleArn,
94 "REDIRECT_URL" => StackAttribute::RedirectUrl,
95 "STORAGE_CONNECTORS" => StackAttribute::StorageConnectors,
96 "STORAGE_CONNECTOR_GOOGLE_DRIVE" => StackAttribute::StorageConnectorGoogleDrive,
97 "STORAGE_CONNECTOR_HOMEFOLDERS" => StackAttribute::StorageConnectorHomefolders,
98 "STORAGE_CONNECTOR_ONE_DRIVE" => StackAttribute::StorageConnectorOneDrive,
99 "STREAMING_EXPERIENCE_SETTINGS" => StackAttribute::StreamingExperienceSettings,
100 "THEME_NAME" => StackAttribute::ThemeName,
101 "USER_SETTINGS" => StackAttribute::UserSettings,
102 other => StackAttribute::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())),
103 }
104 }
105}
106impl ::std::str::FromStr for StackAttribute {
107 type Err = ::std::convert::Infallible;
108
109 fn from_str(s: &str) -> ::std::result::Result<Self, <Self as ::std::str::FromStr>::Err> {
110 ::std::result::Result::Ok(StackAttribute::from(s))
111 }
112}
113impl StackAttribute {
114 pub fn as_str(&self) -> &str {
116 match self {
117 StackAttribute::AccessEndpoints => "ACCESS_ENDPOINTS",
118 StackAttribute::ContentRedirection => "CONTENT_REDIRECTION",
119 StackAttribute::EmbedHostDomains => "EMBED_HOST_DOMAINS",
120 StackAttribute::FeedbackUrl => "FEEDBACK_URL",
121 StackAttribute::IamRoleArn => "IAM_ROLE_ARN",
122 StackAttribute::RedirectUrl => "REDIRECT_URL",
123 StackAttribute::StorageConnectors => "STORAGE_CONNECTORS",
124 StackAttribute::StorageConnectorGoogleDrive => "STORAGE_CONNECTOR_GOOGLE_DRIVE",
125 StackAttribute::StorageConnectorHomefolders => "STORAGE_CONNECTOR_HOMEFOLDERS",
126 StackAttribute::StorageConnectorOneDrive => "STORAGE_CONNECTOR_ONE_DRIVE",
127 StackAttribute::StreamingExperienceSettings => "STREAMING_EXPERIENCE_SETTINGS",
128 StackAttribute::ThemeName => "THEME_NAME",
129 StackAttribute::UserSettings => "USER_SETTINGS",
130 StackAttribute::Unknown(value) => value.as_str(),
131 }
132 }
133 pub const fn values() -> &'static [&'static str] {
135 &[
136 "ACCESS_ENDPOINTS",
137 "CONTENT_REDIRECTION",
138 "EMBED_HOST_DOMAINS",
139 "FEEDBACK_URL",
140 "IAM_ROLE_ARN",
141 "REDIRECT_URL",
142 "STORAGE_CONNECTORS",
143 "STORAGE_CONNECTOR_GOOGLE_DRIVE",
144 "STORAGE_CONNECTOR_HOMEFOLDERS",
145 "STORAGE_CONNECTOR_ONE_DRIVE",
146 "STREAMING_EXPERIENCE_SETTINGS",
147 "THEME_NAME",
148 "USER_SETTINGS",
149 ]
150 }
151}
152impl ::std::convert::AsRef<str> for StackAttribute {
153 fn as_ref(&self) -> &str {
154 self.as_str()
155 }
156}
157impl StackAttribute {
158 pub fn try_parse(value: &str) -> ::std::result::Result<Self, crate::error::UnknownVariantError> {
162 match Self::from(value) {
163 #[allow(deprecated)]
164 Self::Unknown(_) => ::std::result::Result::Err(crate::error::UnknownVariantError::new(value)),
165 known => Ok(known),
166 }
167 }
168}
169impl ::std::fmt::Display for StackAttribute {
170 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
171 match self {
172 StackAttribute::AccessEndpoints => write!(f, "ACCESS_ENDPOINTS"),
173 StackAttribute::ContentRedirection => write!(f, "CONTENT_REDIRECTION"),
174 StackAttribute::EmbedHostDomains => write!(f, "EMBED_HOST_DOMAINS"),
175 StackAttribute::FeedbackUrl => write!(f, "FEEDBACK_URL"),
176 StackAttribute::IamRoleArn => write!(f, "IAM_ROLE_ARN"),
177 StackAttribute::RedirectUrl => write!(f, "REDIRECT_URL"),
178 StackAttribute::StorageConnectors => write!(f, "STORAGE_CONNECTORS"),
179 StackAttribute::StorageConnectorGoogleDrive => write!(f, "STORAGE_CONNECTOR_GOOGLE_DRIVE"),
180 StackAttribute::StorageConnectorHomefolders => write!(f, "STORAGE_CONNECTOR_HOMEFOLDERS"),
181 StackAttribute::StorageConnectorOneDrive => write!(f, "STORAGE_CONNECTOR_ONE_DRIVE"),
182 StackAttribute::StreamingExperienceSettings => write!(f, "STREAMING_EXPERIENCE_SETTINGS"),
183 StackAttribute::ThemeName => write!(f, "THEME_NAME"),
184 StackAttribute::UserSettings => write!(f, "USER_SETTINGS"),
185 StackAttribute::Unknown(value) => write!(f, "{value}"),
186 }
187 }
188}