#[non_exhaustive]pub enum ExportableRdsdbField {
Show 60 variants
AccountId,
CurrentDbInstanceClass,
CurrentInstanceOnDemandHourlyPrice,
CurrentStorageConfigurationAllocatedStorage,
CurrentStorageConfigurationIops,
CurrentStorageConfigurationMaxAllocatedStorage,
CurrentStorageConfigurationStorageThroughput,
CurrentStorageConfigurationStorageType,
CurrentStorageOnDemandMonthlyPrice,
EffectiveRecommendationPreferencesCpuVendorArchitectures,
EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics,
EffectiveRecommendationPreferencesLookbackPeriod,
EffectiveRecommendationPreferencesSavingsEstimationMode,
Engine,
EngineVersion,
Idle,
InstanceFinding,
InstanceFindingReasonCodes,
InstanceRecommendationOptionsDbInstanceClass,
InstanceRecommendationOptionsEstimatedMonthlySavingsCurrency,
InstanceRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts,
InstanceRecommendationOptionsEstimatedMonthlySavingsValue,
InstanceRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts,
InstanceRecommendationOptionsInstanceOnDemandHourlyPrice,
InstanceRecommendationOptionsPerformanceRisk,
InstanceRecommendationOptionsProjectedUtilizationMetricsCpuMaximum,
InstanceRecommendationOptionsRank,
InstanceRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage,
InstanceRecommendationOptionsSavingsOpportunityPercentage,
LastRefreshTimestamp,
LookbackPeriodInDays,
MultiAzDbInstance,
ResourceArn,
StorageFinding,
StorageFindingReasonCodes,
StorageRecommendationOptionsAllocatedStorage,
StorageRecommendationOptionsEstimatedMonthlySavingsCurrency,
StorageRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts,
StorageRecommendationOptionsEstimatedMonthlySavingsValue,
StorageRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts,
StorageRecommendationOptionsIops,
StorageRecommendationOptionsMaxAllocatedStorage,
StorageRecommendationOptionsOnDemandMonthlyPrice,
StorageRecommendationOptionsRank,
StorageRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage,
StorageRecommendationOptionsSavingsOpportunityPercentage,
StorageRecommendationOptionsStorageThroughput,
StorageRecommendationOptionsStorageType,
Tags,
UtilizationMetricsCpuMaximum,
UtilizationMetricsDatabaseConnectionsMaximum,
UtilizationMetricsEbsVolumeReadIopsMaximum,
UtilizationMetricsEbsVolumeReadThroughputMaximum,
UtilizationMetricsEbsVolumeStorageSpaceUtilizationMaximum,
UtilizationMetricsEbsVolumeWriteIopsMaximum,
UtilizationMetricsEbsVolumeWriteThroughputMaximum,
UtilizationMetricsMemoryMaximum,
UtilizationMetricsNetworkReceiveThroughputMaximum,
UtilizationMetricsNetworkTransmitThroughputMaximum,
Unknown(UnknownVariantValue),
}
Expand description
When writing a match expression against ExportableRdsdbField
, it is important to ensure
your code is forward-compatible. That is, if a match arm handles a case for a
feature that is supported by the service but has not been represented as an enum
variant in a current version of SDK, your code should continue to work when you
upgrade SDK to a future version in which the enum does include a variant for that
feature.
Here is an example of how you can make a match expression forward-compatible:
# let exportablerdsdbfield = unimplemented!();
match exportablerdsdbfield {
ExportableRdsdbField::AccountId => { /* ... */ },
ExportableRdsdbField::CurrentDbInstanceClass => { /* ... */ },
ExportableRdsdbField::CurrentInstanceOnDemandHourlyPrice => { /* ... */ },
ExportableRdsdbField::CurrentStorageConfigurationAllocatedStorage => { /* ... */ },
ExportableRdsdbField::CurrentStorageConfigurationIops => { /* ... */ },
ExportableRdsdbField::CurrentStorageConfigurationMaxAllocatedStorage => { /* ... */ },
ExportableRdsdbField::CurrentStorageConfigurationStorageThroughput => { /* ... */ },
ExportableRdsdbField::CurrentStorageConfigurationStorageType => { /* ... */ },
ExportableRdsdbField::CurrentStorageOnDemandMonthlyPrice => { /* ... */ },
ExportableRdsdbField::EffectiveRecommendationPreferencesCpuVendorArchitectures => { /* ... */ },
ExportableRdsdbField::EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics => { /* ... */ },
ExportableRdsdbField::EffectiveRecommendationPreferencesLookbackPeriod => { /* ... */ },
ExportableRdsdbField::EffectiveRecommendationPreferencesSavingsEstimationMode => { /* ... */ },
ExportableRdsdbField::Engine => { /* ... */ },
ExportableRdsdbField::EngineVersion => { /* ... */ },
ExportableRdsdbField::Idle => { /* ... */ },
ExportableRdsdbField::InstanceFinding => { /* ... */ },
ExportableRdsdbField::InstanceFindingReasonCodes => { /* ... */ },
ExportableRdsdbField::InstanceRecommendationOptionsDbInstanceClass => { /* ... */ },
ExportableRdsdbField::InstanceRecommendationOptionsEstimatedMonthlySavingsCurrency => { /* ... */ },
ExportableRdsdbField::InstanceRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts => { /* ... */ },
ExportableRdsdbField::InstanceRecommendationOptionsEstimatedMonthlySavingsValue => { /* ... */ },
ExportableRdsdbField::InstanceRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts => { /* ... */ },
ExportableRdsdbField::InstanceRecommendationOptionsInstanceOnDemandHourlyPrice => { /* ... */ },
ExportableRdsdbField::InstanceRecommendationOptionsPerformanceRisk => { /* ... */ },
ExportableRdsdbField::InstanceRecommendationOptionsProjectedUtilizationMetricsCpuMaximum => { /* ... */ },
ExportableRdsdbField::InstanceRecommendationOptionsRank => { /* ... */ },
ExportableRdsdbField::InstanceRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage => { /* ... */ },
ExportableRdsdbField::InstanceRecommendationOptionsSavingsOpportunityPercentage => { /* ... */ },
ExportableRdsdbField::LastRefreshTimestamp => { /* ... */ },
ExportableRdsdbField::LookbackPeriodInDays => { /* ... */ },
ExportableRdsdbField::MultiAzDbInstance => { /* ... */ },
ExportableRdsdbField::ResourceArn => { /* ... */ },
ExportableRdsdbField::StorageFinding => { /* ... */ },
ExportableRdsdbField::StorageFindingReasonCodes => { /* ... */ },
ExportableRdsdbField::StorageRecommendationOptionsAllocatedStorage => { /* ... */ },
ExportableRdsdbField::StorageRecommendationOptionsEstimatedMonthlySavingsCurrency => { /* ... */ },
ExportableRdsdbField::StorageRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts => { /* ... */ },
ExportableRdsdbField::StorageRecommendationOptionsEstimatedMonthlySavingsValue => { /* ... */ },
ExportableRdsdbField::StorageRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts => { /* ... */ },
ExportableRdsdbField::StorageRecommendationOptionsIops => { /* ... */ },
ExportableRdsdbField::StorageRecommendationOptionsMaxAllocatedStorage => { /* ... */ },
ExportableRdsdbField::StorageRecommendationOptionsOnDemandMonthlyPrice => { /* ... */ },
ExportableRdsdbField::StorageRecommendationOptionsRank => { /* ... */ },
ExportableRdsdbField::StorageRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage => { /* ... */ },
ExportableRdsdbField::StorageRecommendationOptionsSavingsOpportunityPercentage => { /* ... */ },
ExportableRdsdbField::StorageRecommendationOptionsStorageThroughput => { /* ... */ },
ExportableRdsdbField::StorageRecommendationOptionsStorageType => { /* ... */ },
ExportableRdsdbField::Tags => { /* ... */ },
ExportableRdsdbField::UtilizationMetricsCpuMaximum => { /* ... */ },
ExportableRdsdbField::UtilizationMetricsDatabaseConnectionsMaximum => { /* ... */ },
ExportableRdsdbField::UtilizationMetricsEbsVolumeReadIopsMaximum => { /* ... */ },
ExportableRdsdbField::UtilizationMetricsEbsVolumeReadThroughputMaximum => { /* ... */ },
ExportableRdsdbField::UtilizationMetricsEbsVolumeStorageSpaceUtilizationMaximum => { /* ... */ },
ExportableRdsdbField::UtilizationMetricsEbsVolumeWriteIopsMaximum => { /* ... */ },
ExportableRdsdbField::UtilizationMetricsEbsVolumeWriteThroughputMaximum => { /* ... */ },
ExportableRdsdbField::UtilizationMetricsMemoryMaximum => { /* ... */ },
ExportableRdsdbField::UtilizationMetricsNetworkReceiveThroughputMaximum => { /* ... */ },
ExportableRdsdbField::UtilizationMetricsNetworkTransmitThroughputMaximum => { /* ... */ },
other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ },
_ => { /* ... */ },
}
The above code demonstrates that when exportablerdsdbfield
represents
NewFeature
, the execution path will lead to the second last match arm,
even though the enum does not contain a variant ExportableRdsdbField::NewFeature
in the current version of SDK. The reason is that the variable other
,
created by the @
operator, is bound to
ExportableRdsdbField::Unknown(UnknownVariantValue("NewFeature".to_owned()))
and calling as_str
on it yields "NewFeature"
.
This match expression is forward-compatible when executed with a newer
version of SDK where the variant ExportableRdsdbField::NewFeature
is defined.
Specifically, when exportablerdsdbfield
represents NewFeature
,
the execution path will hit the second last match arm as before by virtue of
calling as_str
on ExportableRdsdbField::NewFeature
also yielding "NewFeature"
.
Explicitly matching on the Unknown
variant should
be avoided for two reasons:
- The inner data
UnknownVariantValue
is opaque, and no further information can be extracted. - It might inadvertently shadow other intended match arms.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
AccountId
CurrentDbInstanceClass
CurrentInstanceOnDemandHourlyPrice
CurrentStorageConfigurationAllocatedStorage
CurrentStorageConfigurationIops
CurrentStorageConfigurationMaxAllocatedStorage
CurrentStorageConfigurationStorageThroughput
CurrentStorageConfigurationStorageType
CurrentStorageOnDemandMonthlyPrice
EffectiveRecommendationPreferencesCpuVendorArchitectures
EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics
EffectiveRecommendationPreferencesLookbackPeriod
EffectiveRecommendationPreferencesSavingsEstimationMode
Engine
EngineVersion
Idle
InstanceFinding
InstanceFindingReasonCodes
InstanceRecommendationOptionsDbInstanceClass
InstanceRecommendationOptionsEstimatedMonthlySavingsCurrency
InstanceRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts
InstanceRecommendationOptionsEstimatedMonthlySavingsValue
InstanceRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts
InstanceRecommendationOptionsInstanceOnDemandHourlyPrice
InstanceRecommendationOptionsPerformanceRisk
InstanceRecommendationOptionsProjectedUtilizationMetricsCpuMaximum
InstanceRecommendationOptionsRank
InstanceRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage
InstanceRecommendationOptionsSavingsOpportunityPercentage
LastRefreshTimestamp
LookbackPeriodInDays
MultiAzDbInstance
ResourceArn
StorageFinding
StorageFindingReasonCodes
StorageRecommendationOptionsAllocatedStorage
StorageRecommendationOptionsEstimatedMonthlySavingsCurrency
StorageRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts
StorageRecommendationOptionsEstimatedMonthlySavingsValue
StorageRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts
StorageRecommendationOptionsIops
StorageRecommendationOptionsMaxAllocatedStorage
StorageRecommendationOptionsOnDemandMonthlyPrice
StorageRecommendationOptionsRank
StorageRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage
StorageRecommendationOptionsSavingsOpportunityPercentage
StorageRecommendationOptionsStorageThroughput
StorageRecommendationOptionsStorageType
Tags
UtilizationMetricsCpuMaximum
UtilizationMetricsDatabaseConnectionsMaximum
UtilizationMetricsEbsVolumeReadIopsMaximum
UtilizationMetricsEbsVolumeReadThroughputMaximum
UtilizationMetricsEbsVolumeStorageSpaceUtilizationMaximum
UtilizationMetricsEbsVolumeWriteIopsMaximum
UtilizationMetricsEbsVolumeWriteThroughputMaximum
UtilizationMetricsMemoryMaximum
UtilizationMetricsNetworkReceiveThroughputMaximum
UtilizationMetricsNetworkTransmitThroughputMaximum
Unknown(UnknownVariantValue)
Unknown
. See the docs on this enum for the correct way to handle unknown variants.Unknown
contains new variants that have been added since this code was generated.
Implementations§
source§impl ExportableRdsdbField
impl ExportableRdsdbField
sourcepub fn try_parse(value: &str) -> Result<Self, UnknownVariantError>
pub fn try_parse(value: &str) -> Result<Self, UnknownVariantError>
Parses the enum value while disallowing unknown variants.
Unknown variants will result in an error.
Trait Implementations§
source§impl AsRef<str> for ExportableRdsdbField
impl AsRef<str> for ExportableRdsdbField
source§impl Clone for ExportableRdsdbField
impl Clone for ExportableRdsdbField
source§fn clone(&self) -> ExportableRdsdbField
fn clone(&self) -> ExportableRdsdbField
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ExportableRdsdbField
impl Debug for ExportableRdsdbField
source§impl Display for ExportableRdsdbField
impl Display for ExportableRdsdbField
source§impl From<&str> for ExportableRdsdbField
impl From<&str> for ExportableRdsdbField
source§impl FromStr for ExportableRdsdbField
impl FromStr for ExportableRdsdbField
source§impl Hash for ExportableRdsdbField
impl Hash for ExportableRdsdbField
source§impl Ord for ExportableRdsdbField
impl Ord for ExportableRdsdbField
source§fn cmp(&self, other: &ExportableRdsdbField) -> Ordering
fn cmp(&self, other: &ExportableRdsdbField) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for ExportableRdsdbField
impl PartialEq for ExportableRdsdbField
source§impl PartialOrd for ExportableRdsdbField
impl PartialOrd for ExportableRdsdbField
impl Eq for ExportableRdsdbField
impl StructuralPartialEq for ExportableRdsdbField
Auto Trait Implementations§
impl Freeze for ExportableRdsdbField
impl RefUnwindSafe for ExportableRdsdbField
impl Send for ExportableRdsdbField
impl Sync for ExportableRdsdbField
impl Unpin for ExportableRdsdbField
impl UnwindSafe for ExportableRdsdbField
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more