1#[allow(missing_docs)] #[non_exhaustive]
74#[derive(
75 ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash,
76)]
77pub enum ExportableVolumeField {
78 #[allow(missing_docs)] AccountId,
80 #[allow(missing_docs)] CurrentConfigurationRootVolume,
82 #[allow(missing_docs)] CurrentConfigurationVolumeBaselineIops,
84 #[allow(missing_docs)] CurrentConfigurationVolumeBaselineThroughput,
86 #[allow(missing_docs)] CurrentConfigurationVolumeBurstIops,
88 #[allow(missing_docs)] CurrentConfigurationVolumeBurstThroughput,
90 #[allow(missing_docs)] CurrentConfigurationVolumeSize,
92 #[allow(missing_docs)] CurrentConfigurationVolumeType,
94 #[allow(missing_docs)] CurrentMonthlyPrice,
96 #[allow(missing_docs)] CurrentPerformanceRisk,
98 #[allow(missing_docs)] EffectiveRecommendationPreferencesSavingsEstimationMode,
100 #[allow(missing_docs)] Finding,
102 #[allow(missing_docs)] LastRefreshTimestamp,
104 #[allow(missing_docs)] LookbackPeriodInDays,
106 #[allow(missing_docs)] RecommendationOptionsConfigurationVolumeBaselineIops,
108 #[allow(missing_docs)] RecommendationOptionsConfigurationVolumeBaselineThroughput,
110 #[allow(missing_docs)] RecommendationOptionsConfigurationVolumeBurstIops,
112 #[allow(missing_docs)] RecommendationOptionsConfigurationVolumeBurstThroughput,
114 #[allow(missing_docs)] RecommendationOptionsConfigurationVolumeSize,
116 #[allow(missing_docs)] RecommendationOptionsConfigurationVolumeType,
118 #[allow(missing_docs)] RecommendationOptionsEstimatedMonthlySavingsCurrency,
120 #[allow(missing_docs)] RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts,
122 #[allow(missing_docs)] RecommendationOptionsEstimatedMonthlySavingsValue,
124 #[allow(missing_docs)] RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts,
126 #[allow(missing_docs)] RecommendationOptionsMonthlyPrice,
128 #[allow(missing_docs)] RecommendationOptionsPerformanceRisk,
130 #[allow(missing_docs)] RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage,
132 #[allow(missing_docs)] RecommendationOptionsSavingsOpportunityPercentage,
134 #[allow(missing_docs)] RootVolume,
136 #[allow(missing_docs)] Tags,
138 #[allow(missing_docs)] UtilizationMetricsVolumeReadBytesPerSecondMaximum,
140 #[allow(missing_docs)] UtilizationMetricsVolumeReadOpsPerSecondMaximum,
142 #[allow(missing_docs)] UtilizationMetricsVolumeWriteBytesPerSecondMaximum,
144 #[allow(missing_docs)] UtilizationMetricsVolumeWriteOpsPerSecondMaximum,
146 #[allow(missing_docs)] VolumeArn,
148 #[deprecated(note = "Don't directly match on `Unknown`. See the docs on this enum for the correct way to handle unknown variants.")]
150 Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue),
151}
152impl ::std::convert::From<&str> for ExportableVolumeField {
153 fn from(s: &str) -> Self {
154 match s {
155 "AccountId" => ExportableVolumeField::AccountId,
156 "CurrentConfigurationRootVolume" => ExportableVolumeField::CurrentConfigurationRootVolume,
157 "CurrentConfigurationVolumeBaselineIOPS" => ExportableVolumeField::CurrentConfigurationVolumeBaselineIops,
158 "CurrentConfigurationVolumeBaselineThroughput" => ExportableVolumeField::CurrentConfigurationVolumeBaselineThroughput,
159 "CurrentConfigurationVolumeBurstIOPS" => ExportableVolumeField::CurrentConfigurationVolumeBurstIops,
160 "CurrentConfigurationVolumeBurstThroughput" => ExportableVolumeField::CurrentConfigurationVolumeBurstThroughput,
161 "CurrentConfigurationVolumeSize" => ExportableVolumeField::CurrentConfigurationVolumeSize,
162 "CurrentConfigurationVolumeType" => ExportableVolumeField::CurrentConfigurationVolumeType,
163 "CurrentMonthlyPrice" => ExportableVolumeField::CurrentMonthlyPrice,
164 "CurrentPerformanceRisk" => ExportableVolumeField::CurrentPerformanceRisk,
165 "EffectiveRecommendationPreferencesSavingsEstimationMode" => {
166 ExportableVolumeField::EffectiveRecommendationPreferencesSavingsEstimationMode
167 }
168 "Finding" => ExportableVolumeField::Finding,
169 "LastRefreshTimestamp" => ExportableVolumeField::LastRefreshTimestamp,
170 "LookbackPeriodInDays" => ExportableVolumeField::LookbackPeriodInDays,
171 "RecommendationOptionsConfigurationVolumeBaselineIOPS" => ExportableVolumeField::RecommendationOptionsConfigurationVolumeBaselineIops,
172 "RecommendationOptionsConfigurationVolumeBaselineThroughput" => {
173 ExportableVolumeField::RecommendationOptionsConfigurationVolumeBaselineThroughput
174 }
175 "RecommendationOptionsConfigurationVolumeBurstIOPS" => ExportableVolumeField::RecommendationOptionsConfigurationVolumeBurstIops,
176 "RecommendationOptionsConfigurationVolumeBurstThroughput" => {
177 ExportableVolumeField::RecommendationOptionsConfigurationVolumeBurstThroughput
178 }
179 "RecommendationOptionsConfigurationVolumeSize" => ExportableVolumeField::RecommendationOptionsConfigurationVolumeSize,
180 "RecommendationOptionsConfigurationVolumeType" => ExportableVolumeField::RecommendationOptionsConfigurationVolumeType,
181 "RecommendationOptionsEstimatedMonthlySavingsCurrency" => ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsCurrency,
182 "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts" => {
183 ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts
184 }
185 "RecommendationOptionsEstimatedMonthlySavingsValue" => ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsValue,
186 "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts" => {
187 ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts
188 }
189 "RecommendationOptionsMonthlyPrice" => ExportableVolumeField::RecommendationOptionsMonthlyPrice,
190 "RecommendationOptionsPerformanceRisk" => ExportableVolumeField::RecommendationOptionsPerformanceRisk,
191 "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage" => {
192 ExportableVolumeField::RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage
193 }
194 "RecommendationOptionsSavingsOpportunityPercentage" => ExportableVolumeField::RecommendationOptionsSavingsOpportunityPercentage,
195 "RootVolume" => ExportableVolumeField::RootVolume,
196 "Tags" => ExportableVolumeField::Tags,
197 "UtilizationMetricsVolumeReadBytesPerSecondMaximum" => ExportableVolumeField::UtilizationMetricsVolumeReadBytesPerSecondMaximum,
198 "UtilizationMetricsVolumeReadOpsPerSecondMaximum" => ExportableVolumeField::UtilizationMetricsVolumeReadOpsPerSecondMaximum,
199 "UtilizationMetricsVolumeWriteBytesPerSecondMaximum" => ExportableVolumeField::UtilizationMetricsVolumeWriteBytesPerSecondMaximum,
200 "UtilizationMetricsVolumeWriteOpsPerSecondMaximum" => ExportableVolumeField::UtilizationMetricsVolumeWriteOpsPerSecondMaximum,
201 "VolumeArn" => ExportableVolumeField::VolumeArn,
202 other => ExportableVolumeField::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())),
203 }
204 }
205}
206impl ::std::str::FromStr for ExportableVolumeField {
207 type Err = ::std::convert::Infallible;
208
209 fn from_str(s: &str) -> ::std::result::Result<Self, <Self as ::std::str::FromStr>::Err> {
210 ::std::result::Result::Ok(ExportableVolumeField::from(s))
211 }
212}
213impl ExportableVolumeField {
214 pub fn as_str(&self) -> &str {
216 match self {
217 ExportableVolumeField::AccountId => "AccountId",
218 ExportableVolumeField::CurrentConfigurationRootVolume => "CurrentConfigurationRootVolume",
219 ExportableVolumeField::CurrentConfigurationVolumeBaselineIops => "CurrentConfigurationVolumeBaselineIOPS",
220 ExportableVolumeField::CurrentConfigurationVolumeBaselineThroughput => "CurrentConfigurationVolumeBaselineThroughput",
221 ExportableVolumeField::CurrentConfigurationVolumeBurstIops => "CurrentConfigurationVolumeBurstIOPS",
222 ExportableVolumeField::CurrentConfigurationVolumeBurstThroughput => "CurrentConfigurationVolumeBurstThroughput",
223 ExportableVolumeField::CurrentConfigurationVolumeSize => "CurrentConfigurationVolumeSize",
224 ExportableVolumeField::CurrentConfigurationVolumeType => "CurrentConfigurationVolumeType",
225 ExportableVolumeField::CurrentMonthlyPrice => "CurrentMonthlyPrice",
226 ExportableVolumeField::CurrentPerformanceRisk => "CurrentPerformanceRisk",
227 ExportableVolumeField::EffectiveRecommendationPreferencesSavingsEstimationMode => {
228 "EffectiveRecommendationPreferencesSavingsEstimationMode"
229 }
230 ExportableVolumeField::Finding => "Finding",
231 ExportableVolumeField::LastRefreshTimestamp => "LastRefreshTimestamp",
232 ExportableVolumeField::LookbackPeriodInDays => "LookbackPeriodInDays",
233 ExportableVolumeField::RecommendationOptionsConfigurationVolumeBaselineIops => "RecommendationOptionsConfigurationVolumeBaselineIOPS",
234 ExportableVolumeField::RecommendationOptionsConfigurationVolumeBaselineThroughput => {
235 "RecommendationOptionsConfigurationVolumeBaselineThroughput"
236 }
237 ExportableVolumeField::RecommendationOptionsConfigurationVolumeBurstIops => "RecommendationOptionsConfigurationVolumeBurstIOPS",
238 ExportableVolumeField::RecommendationOptionsConfigurationVolumeBurstThroughput => {
239 "RecommendationOptionsConfigurationVolumeBurstThroughput"
240 }
241 ExportableVolumeField::RecommendationOptionsConfigurationVolumeSize => "RecommendationOptionsConfigurationVolumeSize",
242 ExportableVolumeField::RecommendationOptionsConfigurationVolumeType => "RecommendationOptionsConfigurationVolumeType",
243 ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsCurrency => "RecommendationOptionsEstimatedMonthlySavingsCurrency",
244 ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts => {
245 "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"
246 }
247 ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsValue => "RecommendationOptionsEstimatedMonthlySavingsValue",
248 ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts => {
249 "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"
250 }
251 ExportableVolumeField::RecommendationOptionsMonthlyPrice => "RecommendationOptionsMonthlyPrice",
252 ExportableVolumeField::RecommendationOptionsPerformanceRisk => "RecommendationOptionsPerformanceRisk",
253 ExportableVolumeField::RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage => {
254 "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"
255 }
256 ExportableVolumeField::RecommendationOptionsSavingsOpportunityPercentage => "RecommendationOptionsSavingsOpportunityPercentage",
257 ExportableVolumeField::RootVolume => "RootVolume",
258 ExportableVolumeField::Tags => "Tags",
259 ExportableVolumeField::UtilizationMetricsVolumeReadBytesPerSecondMaximum => "UtilizationMetricsVolumeReadBytesPerSecondMaximum",
260 ExportableVolumeField::UtilizationMetricsVolumeReadOpsPerSecondMaximum => "UtilizationMetricsVolumeReadOpsPerSecondMaximum",
261 ExportableVolumeField::UtilizationMetricsVolumeWriteBytesPerSecondMaximum => "UtilizationMetricsVolumeWriteBytesPerSecondMaximum",
262 ExportableVolumeField::UtilizationMetricsVolumeWriteOpsPerSecondMaximum => "UtilizationMetricsVolumeWriteOpsPerSecondMaximum",
263 ExportableVolumeField::VolumeArn => "VolumeArn",
264 ExportableVolumeField::Unknown(value) => value.as_str(),
265 }
266 }
267 pub const fn values() -> &'static [&'static str] {
269 &[
270 "AccountId",
271 "CurrentConfigurationRootVolume",
272 "CurrentConfigurationVolumeBaselineIOPS",
273 "CurrentConfigurationVolumeBaselineThroughput",
274 "CurrentConfigurationVolumeBurstIOPS",
275 "CurrentConfigurationVolumeBurstThroughput",
276 "CurrentConfigurationVolumeSize",
277 "CurrentConfigurationVolumeType",
278 "CurrentMonthlyPrice",
279 "CurrentPerformanceRisk",
280 "EffectiveRecommendationPreferencesSavingsEstimationMode",
281 "Finding",
282 "LastRefreshTimestamp",
283 "LookbackPeriodInDays",
284 "RecommendationOptionsConfigurationVolumeBaselineIOPS",
285 "RecommendationOptionsConfigurationVolumeBaselineThroughput",
286 "RecommendationOptionsConfigurationVolumeBurstIOPS",
287 "RecommendationOptionsConfigurationVolumeBurstThroughput",
288 "RecommendationOptionsConfigurationVolumeSize",
289 "RecommendationOptionsConfigurationVolumeType",
290 "RecommendationOptionsEstimatedMonthlySavingsCurrency",
291 "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts",
292 "RecommendationOptionsEstimatedMonthlySavingsValue",
293 "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts",
294 "RecommendationOptionsMonthlyPrice",
295 "RecommendationOptionsPerformanceRisk",
296 "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage",
297 "RecommendationOptionsSavingsOpportunityPercentage",
298 "RootVolume",
299 "Tags",
300 "UtilizationMetricsVolumeReadBytesPerSecondMaximum",
301 "UtilizationMetricsVolumeReadOpsPerSecondMaximum",
302 "UtilizationMetricsVolumeWriteBytesPerSecondMaximum",
303 "UtilizationMetricsVolumeWriteOpsPerSecondMaximum",
304 "VolumeArn",
305 ]
306 }
307}
308impl ::std::convert::AsRef<str> for ExportableVolumeField {
309 fn as_ref(&self) -> &str {
310 self.as_str()
311 }
312}
313impl ExportableVolumeField {
314 pub fn try_parse(value: &str) -> ::std::result::Result<Self, crate::error::UnknownVariantError> {
318 match Self::from(value) {
319 #[allow(deprecated)]
320 Self::Unknown(_) => ::std::result::Result::Err(crate::error::UnknownVariantError::new(value)),
321 known => Ok(known),
322 }
323 }
324}
325impl ::std::fmt::Display for ExportableVolumeField {
326 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
327 match self {
328 ExportableVolumeField::AccountId => write!(f, "AccountId"),
329 ExportableVolumeField::CurrentConfigurationRootVolume => write!(f, "CurrentConfigurationRootVolume"),
330 ExportableVolumeField::CurrentConfigurationVolumeBaselineIops => write!(f, "CurrentConfigurationVolumeBaselineIOPS"),
331 ExportableVolumeField::CurrentConfigurationVolumeBaselineThroughput => write!(f, "CurrentConfigurationVolumeBaselineThroughput"),
332 ExportableVolumeField::CurrentConfigurationVolumeBurstIops => write!(f, "CurrentConfigurationVolumeBurstIOPS"),
333 ExportableVolumeField::CurrentConfigurationVolumeBurstThroughput => write!(f, "CurrentConfigurationVolumeBurstThroughput"),
334 ExportableVolumeField::CurrentConfigurationVolumeSize => write!(f, "CurrentConfigurationVolumeSize"),
335 ExportableVolumeField::CurrentConfigurationVolumeType => write!(f, "CurrentConfigurationVolumeType"),
336 ExportableVolumeField::CurrentMonthlyPrice => write!(f, "CurrentMonthlyPrice"),
337 ExportableVolumeField::CurrentPerformanceRisk => write!(f, "CurrentPerformanceRisk"),
338 ExportableVolumeField::EffectiveRecommendationPreferencesSavingsEstimationMode => {
339 write!(f, "EffectiveRecommendationPreferencesSavingsEstimationMode")
340 }
341 ExportableVolumeField::Finding => write!(f, "Finding"),
342 ExportableVolumeField::LastRefreshTimestamp => write!(f, "LastRefreshTimestamp"),
343 ExportableVolumeField::LookbackPeriodInDays => write!(f, "LookbackPeriodInDays"),
344 ExportableVolumeField::RecommendationOptionsConfigurationVolumeBaselineIops => {
345 write!(f, "RecommendationOptionsConfigurationVolumeBaselineIOPS")
346 }
347 ExportableVolumeField::RecommendationOptionsConfigurationVolumeBaselineThroughput => {
348 write!(f, "RecommendationOptionsConfigurationVolumeBaselineThroughput")
349 }
350 ExportableVolumeField::RecommendationOptionsConfigurationVolumeBurstIops => {
351 write!(f, "RecommendationOptionsConfigurationVolumeBurstIOPS")
352 }
353 ExportableVolumeField::RecommendationOptionsConfigurationVolumeBurstThroughput => {
354 write!(f, "RecommendationOptionsConfigurationVolumeBurstThroughput")
355 }
356 ExportableVolumeField::RecommendationOptionsConfigurationVolumeSize => write!(f, "RecommendationOptionsConfigurationVolumeSize"),
357 ExportableVolumeField::RecommendationOptionsConfigurationVolumeType => write!(f, "RecommendationOptionsConfigurationVolumeType"),
358 ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsCurrency => {
359 write!(f, "RecommendationOptionsEstimatedMonthlySavingsCurrency")
360 }
361 ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts => {
362 write!(f, "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts")
363 }
364 ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsValue => {
365 write!(f, "RecommendationOptionsEstimatedMonthlySavingsValue")
366 }
367 ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts => {
368 write!(f, "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts")
369 }
370 ExportableVolumeField::RecommendationOptionsMonthlyPrice => write!(f, "RecommendationOptionsMonthlyPrice"),
371 ExportableVolumeField::RecommendationOptionsPerformanceRisk => write!(f, "RecommendationOptionsPerformanceRisk"),
372 ExportableVolumeField::RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage => {
373 write!(f, "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage")
374 }
375 ExportableVolumeField::RecommendationOptionsSavingsOpportunityPercentage => {
376 write!(f, "RecommendationOptionsSavingsOpportunityPercentage")
377 }
378 ExportableVolumeField::RootVolume => write!(f, "RootVolume"),
379 ExportableVolumeField::Tags => write!(f, "Tags"),
380 ExportableVolumeField::UtilizationMetricsVolumeReadBytesPerSecondMaximum => {
381 write!(f, "UtilizationMetricsVolumeReadBytesPerSecondMaximum")
382 }
383 ExportableVolumeField::UtilizationMetricsVolumeReadOpsPerSecondMaximum => write!(f, "UtilizationMetricsVolumeReadOpsPerSecondMaximum"),
384 ExportableVolumeField::UtilizationMetricsVolumeWriteBytesPerSecondMaximum => {
385 write!(f, "UtilizationMetricsVolumeWriteBytesPerSecondMaximum")
386 }
387 ExportableVolumeField::UtilizationMetricsVolumeWriteOpsPerSecondMaximum => write!(f, "UtilizationMetricsVolumeWriteOpsPerSecondMaximum"),
388 ExportableVolumeField::VolumeArn => write!(f, "VolumeArn"),
389 ExportableVolumeField::Unknown(value) => write!(f, "{value}"),
390 }
391 }
392}