Skip to main content

aws_sdk_computeoptimizer/types/
_exportable_volume_field.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// When writing a match expression against `ExportableVolumeField`, it is important to ensure
4/// your code is forward-compatible. That is, if a match arm handles a case for a
5/// feature that is supported by the service but has not been represented as an enum
6/// variant in a current version of SDK, your code should continue to work when you
7/// upgrade SDK to a future version in which the enum does include a variant for that
8/// feature.
9///
10/// Here is an example of how you can make a match expression forward-compatible:
11///
12/// ```text
13/// # let exportablevolumefield = unimplemented!();
14/// match exportablevolumefield {
15///     ExportableVolumeField::AccountId => { /* ... */ },
16///     ExportableVolumeField::CurrentConfigurationRootVolume => { /* ... */ },
17///     ExportableVolumeField::CurrentConfigurationVolumeBaselineIops => { /* ... */ },
18///     ExportableVolumeField::CurrentConfigurationVolumeBaselineThroughput => { /* ... */ },
19///     ExportableVolumeField::CurrentConfigurationVolumeBurstIops => { /* ... */ },
20///     ExportableVolumeField::CurrentConfigurationVolumeBurstThroughput => { /* ... */ },
21///     ExportableVolumeField::CurrentConfigurationVolumeSize => { /* ... */ },
22///     ExportableVolumeField::CurrentConfigurationVolumeType => { /* ... */ },
23///     ExportableVolumeField::CurrentMonthlyPrice => { /* ... */ },
24///     ExportableVolumeField::CurrentPerformanceRisk => { /* ... */ },
25///     ExportableVolumeField::EffectiveRecommendationPreferencesSavingsEstimationMode => { /* ... */ },
26///     ExportableVolumeField::Finding => { /* ... */ },
27///     ExportableVolumeField::LastRefreshTimestamp => { /* ... */ },
28///     ExportableVolumeField::LookbackPeriodInDays => { /* ... */ },
29///     ExportableVolumeField::RecommendationOptionsConfigurationVolumeBaselineIops => { /* ... */ },
30///     ExportableVolumeField::RecommendationOptionsConfigurationVolumeBaselineThroughput => { /* ... */ },
31///     ExportableVolumeField::RecommendationOptionsConfigurationVolumeBurstIops => { /* ... */ },
32///     ExportableVolumeField::RecommendationOptionsConfigurationVolumeBurstThroughput => { /* ... */ },
33///     ExportableVolumeField::RecommendationOptionsConfigurationVolumeSize => { /* ... */ },
34///     ExportableVolumeField::RecommendationOptionsConfigurationVolumeType => { /* ... */ },
35///     ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsCurrency => { /* ... */ },
36///     ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts => { /* ... */ },
37///     ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsValue => { /* ... */ },
38///     ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts => { /* ... */ },
39///     ExportableVolumeField::RecommendationOptionsMonthlyPrice => { /* ... */ },
40///     ExportableVolumeField::RecommendationOptionsPerformanceRisk => { /* ... */ },
41///     ExportableVolumeField::RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage => { /* ... */ },
42///     ExportableVolumeField::RecommendationOptionsSavingsOpportunityPercentage => { /* ... */ },
43///     ExportableVolumeField::RootVolume => { /* ... */ },
44///     ExportableVolumeField::Tags => { /* ... */ },
45///     ExportableVolumeField::UtilizationMetricsVolumeReadBytesPerSecondMaximum => { /* ... */ },
46///     ExportableVolumeField::UtilizationMetricsVolumeReadOpsPerSecondMaximum => { /* ... */ },
47///     ExportableVolumeField::UtilizationMetricsVolumeWriteBytesPerSecondMaximum => { /* ... */ },
48///     ExportableVolumeField::UtilizationMetricsVolumeWriteOpsPerSecondMaximum => { /* ... */ },
49///     ExportableVolumeField::VolumeArn => { /* ... */ },
50///     other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ },
51///     _ => { /* ... */ },
52/// }
53/// ```
54/// The above code demonstrates that when `exportablevolumefield` represents
55/// `NewFeature`, the execution path will lead to the second last match arm,
56/// even though the enum does not contain a variant `ExportableVolumeField::NewFeature`
57/// in the current version of SDK. The reason is that the variable `other`,
58/// created by the `@` operator, is bound to
59/// `ExportableVolumeField::Unknown(UnknownVariantValue("NewFeature".to_owned()))`
60/// and calling `as_str` on it yields `"NewFeature"`.
61/// This match expression is forward-compatible when executed with a newer
62/// version of SDK where the variant `ExportableVolumeField::NewFeature` is defined.
63/// Specifically, when `exportablevolumefield` represents `NewFeature`,
64/// the execution path will hit the second last match arm as before by virtue of
65/// calling `as_str` on `ExportableVolumeField::NewFeature` also yielding `"NewFeature"`.
66///
67/// Explicitly matching on the `Unknown` variant should
68/// be avoided for two reasons:
69/// - The inner data `UnknownVariantValue` is opaque, and no further information can be extracted.
70/// - It might inadvertently shadow other intended match arms.
71///
72#[allow(missing_docs)] // documentation missing in model
73#[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)] // documentation missing in model
79    AccountId,
80    #[allow(missing_docs)] // documentation missing in model
81    CurrentConfigurationRootVolume,
82    #[allow(missing_docs)] // documentation missing in model
83    CurrentConfigurationVolumeBaselineIops,
84    #[allow(missing_docs)] // documentation missing in model
85    CurrentConfigurationVolumeBaselineThroughput,
86    #[allow(missing_docs)] // documentation missing in model
87    CurrentConfigurationVolumeBurstIops,
88    #[allow(missing_docs)] // documentation missing in model
89    CurrentConfigurationVolumeBurstThroughput,
90    #[allow(missing_docs)] // documentation missing in model
91    CurrentConfigurationVolumeSize,
92    #[allow(missing_docs)] // documentation missing in model
93    CurrentConfigurationVolumeType,
94    #[allow(missing_docs)] // documentation missing in model
95    CurrentMonthlyPrice,
96    #[allow(missing_docs)] // documentation missing in model
97    CurrentPerformanceRisk,
98    #[allow(missing_docs)] // documentation missing in model
99    EffectiveRecommendationPreferencesSavingsEstimationMode,
100    #[allow(missing_docs)] // documentation missing in model
101    Finding,
102    #[allow(missing_docs)] // documentation missing in model
103    LastRefreshTimestamp,
104    #[allow(missing_docs)] // documentation missing in model
105    LookbackPeriodInDays,
106    #[allow(missing_docs)] // documentation missing in model
107    RecommendationOptionsConfigurationVolumeBaselineIops,
108    #[allow(missing_docs)] // documentation missing in model
109    RecommendationOptionsConfigurationVolumeBaselineThroughput,
110    #[allow(missing_docs)] // documentation missing in model
111    RecommendationOptionsConfigurationVolumeBurstIops,
112    #[allow(missing_docs)] // documentation missing in model
113    RecommendationOptionsConfigurationVolumeBurstThroughput,
114    #[allow(missing_docs)] // documentation missing in model
115    RecommendationOptionsConfigurationVolumeSize,
116    #[allow(missing_docs)] // documentation missing in model
117    RecommendationOptionsConfigurationVolumeType,
118    #[allow(missing_docs)] // documentation missing in model
119    RecommendationOptionsEstimatedMonthlySavingsCurrency,
120    #[allow(missing_docs)] // documentation missing in model
121    RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts,
122    #[allow(missing_docs)] // documentation missing in model
123    RecommendationOptionsEstimatedMonthlySavingsValue,
124    #[allow(missing_docs)] // documentation missing in model
125    RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts,
126    #[allow(missing_docs)] // documentation missing in model
127    RecommendationOptionsMonthlyPrice,
128    #[allow(missing_docs)] // documentation missing in model
129    RecommendationOptionsPerformanceRisk,
130    #[allow(missing_docs)] // documentation missing in model
131    RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage,
132    #[allow(missing_docs)] // documentation missing in model
133    RecommendationOptionsSavingsOpportunityPercentage,
134    #[allow(missing_docs)] // documentation missing in model
135    RootVolume,
136    #[allow(missing_docs)] // documentation missing in model
137    Tags,
138    #[allow(missing_docs)] // documentation missing in model
139    UtilizationMetricsVolumeReadBytesPerSecondMaximum,
140    #[allow(missing_docs)] // documentation missing in model
141    UtilizationMetricsVolumeReadOpsPerSecondMaximum,
142    #[allow(missing_docs)] // documentation missing in model
143    UtilizationMetricsVolumeWriteBytesPerSecondMaximum,
144    #[allow(missing_docs)] // documentation missing in model
145    UtilizationMetricsVolumeWriteOpsPerSecondMaximum,
146    #[allow(missing_docs)] // documentation missing in model
147    VolumeArn,
148    /// `Unknown` contains new variants that have been added since this code was generated.
149    #[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    /// Returns the `&str` value of the enum member.
215    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    /// Returns all the `&str` representations of the enum members.
268    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    /// Parses the enum value while disallowing unknown variants.
315    ///
316    /// Unknown variants will result in an error.
317    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}