1#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
5pub enum SesOperation {
6 VerifyEmailIdentity,
8 VerifyDomainIdentity,
10 ListIdentities,
12 DeleteIdentity,
14 GetIdentityVerificationAttributes,
16 VerifyEmailAddress,
18 DeleteVerifiedEmailAddress,
20 ListVerifiedEmailAddresses,
22 SendEmail,
24 SendRawEmail,
26 GetSendQuota,
28 GetSendStatistics,
30 CreateTemplate,
32 GetTemplate,
34 UpdateTemplate,
36 DeleteTemplate,
38 ListTemplates,
40 SendTemplatedEmail,
42 CreateConfigurationSet,
44 DeleteConfigurationSet,
46 DescribeConfigurationSet,
48 ListConfigurationSets,
50 CreateConfigurationSetEventDestination,
52 UpdateConfigurationSetEventDestination,
54 DeleteConfigurationSetEventDestination,
56 CreateReceiptRuleSet,
58 DeleteReceiptRuleSet,
60 CreateReceiptRule,
62 DeleteReceiptRule,
64 DescribeReceiptRuleSet,
66 CloneReceiptRuleSet,
68 DescribeActiveReceiptRuleSet,
70 SetActiveReceiptRuleSet,
72 SetIdentityNotificationTopic,
74 SetIdentityFeedbackForwardingEnabled,
76 GetIdentityNotificationAttributes,
78 VerifyDomainDkim,
80 GetIdentityDkimAttributes,
82 SetIdentityMailFromDomain,
84 GetIdentityMailFromDomainAttributes,
86 GetIdentityPolicies,
88 PutIdentityPolicy,
90 DeleteIdentityPolicy,
92 ListIdentityPolicies,
94}
95
96impl SesOperation {
97 #[must_use]
99 pub fn as_str(&self) -> &'static str {
100 match self {
101 Self::VerifyEmailIdentity => "VerifyEmailIdentity",
102 Self::VerifyDomainIdentity => "VerifyDomainIdentity",
103 Self::ListIdentities => "ListIdentities",
104 Self::DeleteIdentity => "DeleteIdentity",
105 Self::GetIdentityVerificationAttributes => "GetIdentityVerificationAttributes",
106 Self::VerifyEmailAddress => "VerifyEmailAddress",
107 Self::DeleteVerifiedEmailAddress => "DeleteVerifiedEmailAddress",
108 Self::ListVerifiedEmailAddresses => "ListVerifiedEmailAddresses",
109 Self::SendEmail => "SendEmail",
110 Self::SendRawEmail => "SendRawEmail",
111 Self::GetSendQuota => "GetSendQuota",
112 Self::GetSendStatistics => "GetSendStatistics",
113 Self::CreateTemplate => "CreateTemplate",
114 Self::GetTemplate => "GetTemplate",
115 Self::UpdateTemplate => "UpdateTemplate",
116 Self::DeleteTemplate => "DeleteTemplate",
117 Self::ListTemplates => "ListTemplates",
118 Self::SendTemplatedEmail => "SendTemplatedEmail",
119 Self::CreateConfigurationSet => "CreateConfigurationSet",
120 Self::DeleteConfigurationSet => "DeleteConfigurationSet",
121 Self::DescribeConfigurationSet => "DescribeConfigurationSet",
122 Self::ListConfigurationSets => "ListConfigurationSets",
123 Self::CreateConfigurationSetEventDestination => {
124 "CreateConfigurationSetEventDestination"
125 }
126 Self::UpdateConfigurationSetEventDestination => {
127 "UpdateConfigurationSetEventDestination"
128 }
129 Self::DeleteConfigurationSetEventDestination => {
130 "DeleteConfigurationSetEventDestination"
131 }
132 Self::CreateReceiptRuleSet => "CreateReceiptRuleSet",
133 Self::DeleteReceiptRuleSet => "DeleteReceiptRuleSet",
134 Self::CreateReceiptRule => "CreateReceiptRule",
135 Self::DeleteReceiptRule => "DeleteReceiptRule",
136 Self::DescribeReceiptRuleSet => "DescribeReceiptRuleSet",
137 Self::CloneReceiptRuleSet => "CloneReceiptRuleSet",
138 Self::DescribeActiveReceiptRuleSet => "DescribeActiveReceiptRuleSet",
139 Self::SetActiveReceiptRuleSet => "SetActiveReceiptRuleSet",
140 Self::SetIdentityNotificationTopic => "SetIdentityNotificationTopic",
141 Self::SetIdentityFeedbackForwardingEnabled => "SetIdentityFeedbackForwardingEnabled",
142 Self::GetIdentityNotificationAttributes => "GetIdentityNotificationAttributes",
143 Self::VerifyDomainDkim => "VerifyDomainDkim",
144 Self::GetIdentityDkimAttributes => "GetIdentityDkimAttributes",
145 Self::SetIdentityMailFromDomain => "SetIdentityMailFromDomain",
146 Self::GetIdentityMailFromDomainAttributes => "GetIdentityMailFromDomainAttributes",
147 Self::GetIdentityPolicies => "GetIdentityPolicies",
148 Self::PutIdentityPolicy => "PutIdentityPolicy",
149 Self::DeleteIdentityPolicy => "DeleteIdentityPolicy",
150 Self::ListIdentityPolicies => "ListIdentityPolicies",
151 }
152 }
153
154 #[must_use]
156 pub fn from_name(name: &str) -> Option<Self> {
157 match name {
158 "VerifyEmailIdentity" => Some(Self::VerifyEmailIdentity),
159 "VerifyDomainIdentity" => Some(Self::VerifyDomainIdentity),
160 "ListIdentities" => Some(Self::ListIdentities),
161 "DeleteIdentity" => Some(Self::DeleteIdentity),
162 "GetIdentityVerificationAttributes" => Some(Self::GetIdentityVerificationAttributes),
163 "VerifyEmailAddress" => Some(Self::VerifyEmailAddress),
164 "DeleteVerifiedEmailAddress" => Some(Self::DeleteVerifiedEmailAddress),
165 "ListVerifiedEmailAddresses" => Some(Self::ListVerifiedEmailAddresses),
166 "SendEmail" => Some(Self::SendEmail),
167 "SendRawEmail" => Some(Self::SendRawEmail),
168 "GetSendQuota" => Some(Self::GetSendQuota),
169 "GetSendStatistics" => Some(Self::GetSendStatistics),
170 "CreateTemplate" => Some(Self::CreateTemplate),
171 "GetTemplate" => Some(Self::GetTemplate),
172 "UpdateTemplate" => Some(Self::UpdateTemplate),
173 "DeleteTemplate" => Some(Self::DeleteTemplate),
174 "ListTemplates" => Some(Self::ListTemplates),
175 "SendTemplatedEmail" => Some(Self::SendTemplatedEmail),
176 "CreateConfigurationSet" => Some(Self::CreateConfigurationSet),
177 "DeleteConfigurationSet" => Some(Self::DeleteConfigurationSet),
178 "DescribeConfigurationSet" => Some(Self::DescribeConfigurationSet),
179 "ListConfigurationSets" => Some(Self::ListConfigurationSets),
180 "CreateConfigurationSetEventDestination" => {
181 Some(Self::CreateConfigurationSetEventDestination)
182 }
183 "UpdateConfigurationSetEventDestination" => {
184 Some(Self::UpdateConfigurationSetEventDestination)
185 }
186 "DeleteConfigurationSetEventDestination" => {
187 Some(Self::DeleteConfigurationSetEventDestination)
188 }
189 "CreateReceiptRuleSet" => Some(Self::CreateReceiptRuleSet),
190 "DeleteReceiptRuleSet" => Some(Self::DeleteReceiptRuleSet),
191 "CreateReceiptRule" => Some(Self::CreateReceiptRule),
192 "DeleteReceiptRule" => Some(Self::DeleteReceiptRule),
193 "DescribeReceiptRuleSet" => Some(Self::DescribeReceiptRuleSet),
194 "CloneReceiptRuleSet" => Some(Self::CloneReceiptRuleSet),
195 "DescribeActiveReceiptRuleSet" => Some(Self::DescribeActiveReceiptRuleSet),
196 "SetActiveReceiptRuleSet" => Some(Self::SetActiveReceiptRuleSet),
197 "SetIdentityNotificationTopic" => Some(Self::SetIdentityNotificationTopic),
198 "SetIdentityFeedbackForwardingEnabled" => {
199 Some(Self::SetIdentityFeedbackForwardingEnabled)
200 }
201 "GetIdentityNotificationAttributes" => Some(Self::GetIdentityNotificationAttributes),
202 "VerifyDomainDkim" => Some(Self::VerifyDomainDkim),
203 "GetIdentityDkimAttributes" => Some(Self::GetIdentityDkimAttributes),
204 "SetIdentityMailFromDomain" => Some(Self::SetIdentityMailFromDomain),
205 "GetIdentityMailFromDomainAttributes" => {
206 Some(Self::GetIdentityMailFromDomainAttributes)
207 }
208 "GetIdentityPolicies" => Some(Self::GetIdentityPolicies),
209 "PutIdentityPolicy" => Some(Self::PutIdentityPolicy),
210 "DeleteIdentityPolicy" => Some(Self::DeleteIdentityPolicy),
211 "ListIdentityPolicies" => Some(Self::ListIdentityPolicies),
212 _ => None,
213 }
214 }
215}
216
217impl std::fmt::Display for SesOperation {
218 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
219 f.write_str(self.as_str())
220 }
221}