aws_sdk_s3control/types/
_operation_name.rs1#[allow(missing_docs)] #[non_exhaustive]
49#[derive(
50 ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash,
51)]
52pub enum OperationName {
53 #[allow(missing_docs)] LambdaInvoke,
55 #[allow(missing_docs)] S3ComputeObjectChecksum,
57 #[allow(missing_docs)] S3DeleteObjectTagging,
59 #[allow(missing_docs)] S3InitiateRestoreObject,
61 #[allow(missing_docs)] S3PutObjectAcl,
63 #[allow(missing_docs)] S3PutObjectCopy,
65 #[allow(missing_docs)] S3PutObjectLegalHold,
67 #[allow(missing_docs)] S3PutObjectRetention,
69 #[allow(missing_docs)] S3PutObjectTagging,
71 #[allow(missing_docs)] S3ReplicateObject,
73 #[deprecated(note = "Don't directly match on `Unknown`. See the docs on this enum for the correct way to handle unknown variants.")]
75 Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue),
76}
77impl ::std::convert::From<&str> for OperationName {
78 fn from(s: &str) -> Self {
79 match s {
80 "LambdaInvoke" => OperationName::LambdaInvoke,
81 "S3ComputeObjectChecksum" => OperationName::S3ComputeObjectChecksum,
82 "S3DeleteObjectTagging" => OperationName::S3DeleteObjectTagging,
83 "S3InitiateRestoreObject" => OperationName::S3InitiateRestoreObject,
84 "S3PutObjectAcl" => OperationName::S3PutObjectAcl,
85 "S3PutObjectCopy" => OperationName::S3PutObjectCopy,
86 "S3PutObjectLegalHold" => OperationName::S3PutObjectLegalHold,
87 "S3PutObjectRetention" => OperationName::S3PutObjectRetention,
88 "S3PutObjectTagging" => OperationName::S3PutObjectTagging,
89 "S3ReplicateObject" => OperationName::S3ReplicateObject,
90 other => OperationName::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())),
91 }
92 }
93}
94impl ::std::str::FromStr for OperationName {
95 type Err = ::std::convert::Infallible;
96
97 fn from_str(s: &str) -> ::std::result::Result<Self, <Self as ::std::str::FromStr>::Err> {
98 ::std::result::Result::Ok(OperationName::from(s))
99 }
100}
101impl OperationName {
102 pub fn as_str(&self) -> &str {
104 match self {
105 OperationName::LambdaInvoke => "LambdaInvoke",
106 OperationName::S3ComputeObjectChecksum => "S3ComputeObjectChecksum",
107 OperationName::S3DeleteObjectTagging => "S3DeleteObjectTagging",
108 OperationName::S3InitiateRestoreObject => "S3InitiateRestoreObject",
109 OperationName::S3PutObjectAcl => "S3PutObjectAcl",
110 OperationName::S3PutObjectCopy => "S3PutObjectCopy",
111 OperationName::S3PutObjectLegalHold => "S3PutObjectLegalHold",
112 OperationName::S3PutObjectRetention => "S3PutObjectRetention",
113 OperationName::S3PutObjectTagging => "S3PutObjectTagging",
114 OperationName::S3ReplicateObject => "S3ReplicateObject",
115 OperationName::Unknown(value) => value.as_str(),
116 }
117 }
118 pub const fn values() -> &'static [&'static str] {
120 &[
121 "LambdaInvoke",
122 "S3ComputeObjectChecksum",
123 "S3DeleteObjectTagging",
124 "S3InitiateRestoreObject",
125 "S3PutObjectAcl",
126 "S3PutObjectCopy",
127 "S3PutObjectLegalHold",
128 "S3PutObjectRetention",
129 "S3PutObjectTagging",
130 "S3ReplicateObject",
131 ]
132 }
133}
134impl ::std::convert::AsRef<str> for OperationName {
135 fn as_ref(&self) -> &str {
136 self.as_str()
137 }
138}
139impl OperationName {
140 pub fn try_parse(value: &str) -> ::std::result::Result<Self, crate::error::UnknownVariantError> {
144 match Self::from(value) {
145 #[allow(deprecated)]
146 Self::Unknown(_) => ::std::result::Result::Err(crate::error::UnknownVariantError::new(value)),
147 known => Ok(known),
148 }
149 }
150}
151impl ::std::fmt::Display for OperationName {
152 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
153 match self {
154 OperationName::LambdaInvoke => write!(f, "LambdaInvoke"),
155 OperationName::S3ComputeObjectChecksum => write!(f, "S3ComputeObjectChecksum"),
156 OperationName::S3DeleteObjectTagging => write!(f, "S3DeleteObjectTagging"),
157 OperationName::S3InitiateRestoreObject => write!(f, "S3InitiateRestoreObject"),
158 OperationName::S3PutObjectAcl => write!(f, "S3PutObjectAcl"),
159 OperationName::S3PutObjectCopy => write!(f, "S3PutObjectCopy"),
160 OperationName::S3PutObjectLegalHold => write!(f, "S3PutObjectLegalHold"),
161 OperationName::S3PutObjectRetention => write!(f, "S3PutObjectRetention"),
162 OperationName::S3PutObjectTagging => write!(f, "S3PutObjectTagging"),
163 OperationName::S3ReplicateObject => write!(f, "S3ReplicateObject"),
164 OperationName::Unknown(value) => write!(f, "{}", value),
165 }
166 }
167}