#[non_exhaustive]
pub enum DataSourceFilterVariable {
CreatedAt,
DataUri,
IamUser,
LastUpdatedAt,
Name,
Status,
Unknown(UnknownVariantValue),
}
Expand description
When writing a match expression against DataSourceFilterVariable
, 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 datasourcefiltervariable = unimplemented!();
match datasourcefiltervariable {
DataSourceFilterVariable::CreatedAt => { /* ... */ },
DataSourceFilterVariable::DataUri => { /* ... */ },
DataSourceFilterVariable::IamUser => { /* ... */ },
DataSourceFilterVariable::LastUpdatedAt => { /* ... */ },
DataSourceFilterVariable::Name => { /* ... */ },
DataSourceFilterVariable::Status => { /* ... */ },
other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ },
_ => { /* ... */ },
}
The above code demonstrates that when datasourcefiltervariable
represents
NewFeature
, the execution path will lead to the second last match arm,
even though the enum does not contain a variant DataSourceFilterVariable::NewFeature
in the current version of SDK. The reason is that the variable other
,
created by the @
operator, is bound to
DataSourceFilterVariable::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 DataSourceFilterVariable::NewFeature
is defined.
Specifically, when datasourcefiltervariable
represents NewFeature
,
the execution path will hit the second last match arm as before by virtue of
calling as_str
on DataSourceFilterVariable::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.
A list of the variables to use in searching or filtering DataSource
.
-
CreatedAt
- Sets the search criteria toDataSource
creation date. -
Status
- Sets the search criteria toDataSource
status. -
Name
- Sets the search criteria to the contents ofDataSource
Name
. -
DataUri
- Sets the search criteria to the URI of data files used to create theDataSource
. The URI can identify either a file or an Amazon Simple Storage Service (Amazon S3) bucket or directory. -
IAMUser
- Sets the search criteria to the user account that invoked theDataSource
creation.
Note:
The variable names should match the variable names in the DataSource
.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
CreatedAt
DataUri
IamUser
LastUpdatedAt
Name
Status
Unknown(UnknownVariantValue)
Unknown
contains new variants that have been added since this code was generated.
Implementations§
Trait Implementations§
source§impl AsRef<str> for DataSourceFilterVariable
impl AsRef<str> for DataSourceFilterVariable
source§impl Clone for DataSourceFilterVariable
impl Clone for DataSourceFilterVariable
source§fn clone(&self) -> DataSourceFilterVariable
fn clone(&self) -> DataSourceFilterVariable
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for DataSourceFilterVariable
impl Debug for DataSourceFilterVariable
source§impl From<&str> for DataSourceFilterVariable
impl From<&str> for DataSourceFilterVariable
source§impl FromStr for DataSourceFilterVariable
impl FromStr for DataSourceFilterVariable
source§impl Hash for DataSourceFilterVariable
impl Hash for DataSourceFilterVariable
source§impl Ord for DataSourceFilterVariable
impl Ord for DataSourceFilterVariable
source§fn cmp(&self, other: &DataSourceFilterVariable) -> Ordering
fn cmp(&self, other: &DataSourceFilterVariable) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq<DataSourceFilterVariable> for DataSourceFilterVariable
impl PartialEq<DataSourceFilterVariable> for DataSourceFilterVariable
source§fn eq(&self, other: &DataSourceFilterVariable) -> bool
fn eq(&self, other: &DataSourceFilterVariable) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<DataSourceFilterVariable> for DataSourceFilterVariable
impl PartialOrd<DataSourceFilterVariable> for DataSourceFilterVariable
source§fn partial_cmp(&self, other: &DataSourceFilterVariable) -> Option<Ordering>
fn partial_cmp(&self, other: &DataSourceFilterVariable) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moreimpl Eq for DataSourceFilterVariable
impl StructuralEq for DataSourceFilterVariable
impl StructuralPartialEq for DataSourceFilterVariable
Auto Trait Implementations§
impl RefUnwindSafe for DataSourceFilterVariable
impl Send for DataSourceFilterVariable
impl Sync for DataSourceFilterVariable
impl Unpin for DataSourceFilterVariable
impl UnwindSafe for DataSourceFilterVariable
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.