Skip to main content

rustack_iam_model/
operations.rs

1//! Auto-generated from AWS IAM Smithy model. DO NOT EDIT.
2
3/// All supported Iam operations.
4#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
5pub enum IamOperation {
6    /// The CreateUser operation.
7    CreateUser,
8    /// The GetUser operation.
9    GetUser,
10    /// The DeleteUser operation.
11    DeleteUser,
12    /// The ListUsers operation.
13    ListUsers,
14    /// The UpdateUser operation.
15    UpdateUser,
16    /// The CreateRole operation.
17    CreateRole,
18    /// The GetRole operation.
19    GetRole,
20    /// The DeleteRole operation.
21    DeleteRole,
22    /// The ListRoles operation.
23    ListRoles,
24    /// The UpdateRole operation.
25    UpdateRole,
26    /// The CreatePolicy operation.
27    CreatePolicy,
28    /// The GetPolicy operation.
29    GetPolicy,
30    /// The DeletePolicy operation.
31    DeletePolicy,
32    /// The ListPolicies operation.
33    ListPolicies,
34    /// The AttachUserPolicy operation.
35    AttachUserPolicy,
36    /// The DetachUserPolicy operation.
37    DetachUserPolicy,
38    /// The ListAttachedUserPolicies operation.
39    ListAttachedUserPolicies,
40    /// The AttachRolePolicy operation.
41    AttachRolePolicy,
42    /// The DetachRolePolicy operation.
43    DetachRolePolicy,
44    /// The ListAttachedRolePolicies operation.
45    ListAttachedRolePolicies,
46    /// The CreateAccessKey operation.
47    CreateAccessKey,
48    /// The DeleteAccessKey operation.
49    DeleteAccessKey,
50    /// The ListAccessKeys operation.
51    ListAccessKeys,
52    /// The UpdateAccessKey operation.
53    UpdateAccessKey,
54    /// The GetAccessKeyLastUsed operation.
55    GetAccessKeyLastUsed,
56    /// The CreateGroup operation.
57    CreateGroup,
58    /// The GetGroup operation.
59    GetGroup,
60    /// The DeleteGroup operation.
61    DeleteGroup,
62    /// The ListGroups operation.
63    ListGroups,
64    /// The UpdateGroup operation.
65    UpdateGroup,
66    /// The AddUserToGroup operation.
67    AddUserToGroup,
68    /// The RemoveUserFromGroup operation.
69    RemoveUserFromGroup,
70    /// The ListGroupsForUser operation.
71    ListGroupsForUser,
72    /// The AttachGroupPolicy operation.
73    AttachGroupPolicy,
74    /// The DetachGroupPolicy operation.
75    DetachGroupPolicy,
76    /// The ListAttachedGroupPolicies operation.
77    ListAttachedGroupPolicies,
78    /// The CreateInstanceProfile operation.
79    CreateInstanceProfile,
80    /// The GetInstanceProfile operation.
81    GetInstanceProfile,
82    /// The DeleteInstanceProfile operation.
83    DeleteInstanceProfile,
84    /// The ListInstanceProfiles operation.
85    ListInstanceProfiles,
86    /// The ListInstanceProfilesForRole operation.
87    ListInstanceProfilesForRole,
88    /// The AddRoleToInstanceProfile operation.
89    AddRoleToInstanceProfile,
90    /// The RemoveRoleFromInstanceProfile operation.
91    RemoveRoleFromInstanceProfile,
92    /// The CreatePolicyVersion operation.
93    CreatePolicyVersion,
94    /// The GetPolicyVersion operation.
95    GetPolicyVersion,
96    /// The DeletePolicyVersion operation.
97    DeletePolicyVersion,
98    /// The ListPolicyVersions operation.
99    ListPolicyVersions,
100    /// The SetDefaultPolicyVersion operation.
101    SetDefaultPolicyVersion,
102    /// The PutUserPolicy operation.
103    PutUserPolicy,
104    /// The GetUserPolicy operation.
105    GetUserPolicy,
106    /// The DeleteUserPolicy operation.
107    DeleteUserPolicy,
108    /// The ListUserPolicies operation.
109    ListUserPolicies,
110    /// The PutRolePolicy operation.
111    PutRolePolicy,
112    /// The GetRolePolicy operation.
113    GetRolePolicy,
114    /// The DeleteRolePolicy operation.
115    DeleteRolePolicy,
116    /// The ListRolePolicies operation.
117    ListRolePolicies,
118    /// The PutGroupPolicy operation.
119    PutGroupPolicy,
120    /// The GetGroupPolicy operation.
121    GetGroupPolicy,
122    /// The DeleteGroupPolicy operation.
123    DeleteGroupPolicy,
124    /// The ListGroupPolicies operation.
125    ListGroupPolicies,
126    /// The TagUser operation.
127    TagUser,
128    /// The UntagUser operation.
129    UntagUser,
130    /// The ListUserTags operation.
131    ListUserTags,
132    /// The TagRole operation.
133    TagRole,
134    /// The UntagRole operation.
135    UntagRole,
136    /// The ListRoleTags operation.
137    ListRoleTags,
138    /// The CreateServiceLinkedRole operation.
139    CreateServiceLinkedRole,
140    /// The DeleteServiceLinkedRole operation.
141    DeleteServiceLinkedRole,
142    /// The GetServiceLinkedRoleDeletionStatus operation.
143    GetServiceLinkedRoleDeletionStatus,
144    /// The UpdateAssumeRolePolicy operation.
145    UpdateAssumeRolePolicy,
146    /// The SimulatePrincipalPolicy operation.
147    SimulatePrincipalPolicy,
148    /// The SimulateCustomPolicy operation.
149    SimulateCustomPolicy,
150    /// The ListEntitiesForPolicy operation.
151    ListEntitiesForPolicy,
152    /// The GetAccountAuthorizationDetails operation.
153    GetAccountAuthorizationDetails,
154    /// The CreateOpenIDConnectProvider operation.
155    CreateOpenIDConnectProvider,
156    /// The GetOpenIDConnectProvider operation.
157    GetOpenIDConnectProvider,
158    /// The DeleteOpenIDConnectProvider operation.
159    DeleteOpenIDConnectProvider,
160    /// The ListOpenIDConnectProviders operation.
161    ListOpenIDConnectProviders,
162    /// The TagPolicy operation.
163    TagPolicy,
164    /// The UntagPolicy operation.
165    UntagPolicy,
166    /// The ListPolicyTags operation.
167    ListPolicyTags,
168    /// The TagInstanceProfile operation.
169    TagInstanceProfile,
170    /// The UntagInstanceProfile operation.
171    UntagInstanceProfile,
172    /// The ListInstanceProfileTags operation.
173    ListInstanceProfileTags,
174}
175
176impl IamOperation {
177    /// Returns the AWS operation name string.
178    #[must_use]
179    pub fn as_str(&self) -> &'static str {
180        match self {
181            Self::CreateUser => "CreateUser",
182            Self::GetUser => "GetUser",
183            Self::DeleteUser => "DeleteUser",
184            Self::ListUsers => "ListUsers",
185            Self::UpdateUser => "UpdateUser",
186            Self::CreateRole => "CreateRole",
187            Self::GetRole => "GetRole",
188            Self::DeleteRole => "DeleteRole",
189            Self::ListRoles => "ListRoles",
190            Self::UpdateRole => "UpdateRole",
191            Self::CreatePolicy => "CreatePolicy",
192            Self::GetPolicy => "GetPolicy",
193            Self::DeletePolicy => "DeletePolicy",
194            Self::ListPolicies => "ListPolicies",
195            Self::AttachUserPolicy => "AttachUserPolicy",
196            Self::DetachUserPolicy => "DetachUserPolicy",
197            Self::ListAttachedUserPolicies => "ListAttachedUserPolicies",
198            Self::AttachRolePolicy => "AttachRolePolicy",
199            Self::DetachRolePolicy => "DetachRolePolicy",
200            Self::ListAttachedRolePolicies => "ListAttachedRolePolicies",
201            Self::CreateAccessKey => "CreateAccessKey",
202            Self::DeleteAccessKey => "DeleteAccessKey",
203            Self::ListAccessKeys => "ListAccessKeys",
204            Self::UpdateAccessKey => "UpdateAccessKey",
205            Self::GetAccessKeyLastUsed => "GetAccessKeyLastUsed",
206            Self::CreateGroup => "CreateGroup",
207            Self::GetGroup => "GetGroup",
208            Self::DeleteGroup => "DeleteGroup",
209            Self::ListGroups => "ListGroups",
210            Self::UpdateGroup => "UpdateGroup",
211            Self::AddUserToGroup => "AddUserToGroup",
212            Self::RemoveUserFromGroup => "RemoveUserFromGroup",
213            Self::ListGroupsForUser => "ListGroupsForUser",
214            Self::AttachGroupPolicy => "AttachGroupPolicy",
215            Self::DetachGroupPolicy => "DetachGroupPolicy",
216            Self::ListAttachedGroupPolicies => "ListAttachedGroupPolicies",
217            Self::CreateInstanceProfile => "CreateInstanceProfile",
218            Self::GetInstanceProfile => "GetInstanceProfile",
219            Self::DeleteInstanceProfile => "DeleteInstanceProfile",
220            Self::ListInstanceProfiles => "ListInstanceProfiles",
221            Self::ListInstanceProfilesForRole => "ListInstanceProfilesForRole",
222            Self::AddRoleToInstanceProfile => "AddRoleToInstanceProfile",
223            Self::RemoveRoleFromInstanceProfile => "RemoveRoleFromInstanceProfile",
224            Self::CreatePolicyVersion => "CreatePolicyVersion",
225            Self::GetPolicyVersion => "GetPolicyVersion",
226            Self::DeletePolicyVersion => "DeletePolicyVersion",
227            Self::ListPolicyVersions => "ListPolicyVersions",
228            Self::SetDefaultPolicyVersion => "SetDefaultPolicyVersion",
229            Self::PutUserPolicy => "PutUserPolicy",
230            Self::GetUserPolicy => "GetUserPolicy",
231            Self::DeleteUserPolicy => "DeleteUserPolicy",
232            Self::ListUserPolicies => "ListUserPolicies",
233            Self::PutRolePolicy => "PutRolePolicy",
234            Self::GetRolePolicy => "GetRolePolicy",
235            Self::DeleteRolePolicy => "DeleteRolePolicy",
236            Self::ListRolePolicies => "ListRolePolicies",
237            Self::PutGroupPolicy => "PutGroupPolicy",
238            Self::GetGroupPolicy => "GetGroupPolicy",
239            Self::DeleteGroupPolicy => "DeleteGroupPolicy",
240            Self::ListGroupPolicies => "ListGroupPolicies",
241            Self::TagUser => "TagUser",
242            Self::UntagUser => "UntagUser",
243            Self::ListUserTags => "ListUserTags",
244            Self::TagRole => "TagRole",
245            Self::UntagRole => "UntagRole",
246            Self::ListRoleTags => "ListRoleTags",
247            Self::CreateServiceLinkedRole => "CreateServiceLinkedRole",
248            Self::DeleteServiceLinkedRole => "DeleteServiceLinkedRole",
249            Self::GetServiceLinkedRoleDeletionStatus => "GetServiceLinkedRoleDeletionStatus",
250            Self::UpdateAssumeRolePolicy => "UpdateAssumeRolePolicy",
251            Self::SimulatePrincipalPolicy => "SimulatePrincipalPolicy",
252            Self::SimulateCustomPolicy => "SimulateCustomPolicy",
253            Self::ListEntitiesForPolicy => "ListEntitiesForPolicy",
254            Self::GetAccountAuthorizationDetails => "GetAccountAuthorizationDetails",
255            Self::CreateOpenIDConnectProvider => "CreateOpenIDConnectProvider",
256            Self::GetOpenIDConnectProvider => "GetOpenIDConnectProvider",
257            Self::DeleteOpenIDConnectProvider => "DeleteOpenIDConnectProvider",
258            Self::ListOpenIDConnectProviders => "ListOpenIDConnectProviders",
259            Self::TagPolicy => "TagPolicy",
260            Self::UntagPolicy => "UntagPolicy",
261            Self::ListPolicyTags => "ListPolicyTags",
262            Self::TagInstanceProfile => "TagInstanceProfile",
263            Self::UntagInstanceProfile => "UntagInstanceProfile",
264            Self::ListInstanceProfileTags => "ListInstanceProfileTags",
265        }
266    }
267
268    /// Parse an operation name string into an IamOperation.
269    #[must_use]
270    pub fn from_name(name: &str) -> Option<Self> {
271        match name {
272            "CreateUser" => Some(Self::CreateUser),
273            "GetUser" => Some(Self::GetUser),
274            "DeleteUser" => Some(Self::DeleteUser),
275            "ListUsers" => Some(Self::ListUsers),
276            "UpdateUser" => Some(Self::UpdateUser),
277            "CreateRole" => Some(Self::CreateRole),
278            "GetRole" => Some(Self::GetRole),
279            "DeleteRole" => Some(Self::DeleteRole),
280            "ListRoles" => Some(Self::ListRoles),
281            "UpdateRole" => Some(Self::UpdateRole),
282            "CreatePolicy" => Some(Self::CreatePolicy),
283            "GetPolicy" => Some(Self::GetPolicy),
284            "DeletePolicy" => Some(Self::DeletePolicy),
285            "ListPolicies" => Some(Self::ListPolicies),
286            "AttachUserPolicy" => Some(Self::AttachUserPolicy),
287            "DetachUserPolicy" => Some(Self::DetachUserPolicy),
288            "ListAttachedUserPolicies" => Some(Self::ListAttachedUserPolicies),
289            "AttachRolePolicy" => Some(Self::AttachRolePolicy),
290            "DetachRolePolicy" => Some(Self::DetachRolePolicy),
291            "ListAttachedRolePolicies" => Some(Self::ListAttachedRolePolicies),
292            "CreateAccessKey" => Some(Self::CreateAccessKey),
293            "DeleteAccessKey" => Some(Self::DeleteAccessKey),
294            "ListAccessKeys" => Some(Self::ListAccessKeys),
295            "UpdateAccessKey" => Some(Self::UpdateAccessKey),
296            "GetAccessKeyLastUsed" => Some(Self::GetAccessKeyLastUsed),
297            "CreateGroup" => Some(Self::CreateGroup),
298            "GetGroup" => Some(Self::GetGroup),
299            "DeleteGroup" => Some(Self::DeleteGroup),
300            "ListGroups" => Some(Self::ListGroups),
301            "UpdateGroup" => Some(Self::UpdateGroup),
302            "AddUserToGroup" => Some(Self::AddUserToGroup),
303            "RemoveUserFromGroup" => Some(Self::RemoveUserFromGroup),
304            "ListGroupsForUser" => Some(Self::ListGroupsForUser),
305            "AttachGroupPolicy" => Some(Self::AttachGroupPolicy),
306            "DetachGroupPolicy" => Some(Self::DetachGroupPolicy),
307            "ListAttachedGroupPolicies" => Some(Self::ListAttachedGroupPolicies),
308            "CreateInstanceProfile" => Some(Self::CreateInstanceProfile),
309            "GetInstanceProfile" => Some(Self::GetInstanceProfile),
310            "DeleteInstanceProfile" => Some(Self::DeleteInstanceProfile),
311            "ListInstanceProfiles" => Some(Self::ListInstanceProfiles),
312            "ListInstanceProfilesForRole" => Some(Self::ListInstanceProfilesForRole),
313            "AddRoleToInstanceProfile" => Some(Self::AddRoleToInstanceProfile),
314            "RemoveRoleFromInstanceProfile" => Some(Self::RemoveRoleFromInstanceProfile),
315            "CreatePolicyVersion" => Some(Self::CreatePolicyVersion),
316            "GetPolicyVersion" => Some(Self::GetPolicyVersion),
317            "DeletePolicyVersion" => Some(Self::DeletePolicyVersion),
318            "ListPolicyVersions" => Some(Self::ListPolicyVersions),
319            "SetDefaultPolicyVersion" => Some(Self::SetDefaultPolicyVersion),
320            "PutUserPolicy" => Some(Self::PutUserPolicy),
321            "GetUserPolicy" => Some(Self::GetUserPolicy),
322            "DeleteUserPolicy" => Some(Self::DeleteUserPolicy),
323            "ListUserPolicies" => Some(Self::ListUserPolicies),
324            "PutRolePolicy" => Some(Self::PutRolePolicy),
325            "GetRolePolicy" => Some(Self::GetRolePolicy),
326            "DeleteRolePolicy" => Some(Self::DeleteRolePolicy),
327            "ListRolePolicies" => Some(Self::ListRolePolicies),
328            "PutGroupPolicy" => Some(Self::PutGroupPolicy),
329            "GetGroupPolicy" => Some(Self::GetGroupPolicy),
330            "DeleteGroupPolicy" => Some(Self::DeleteGroupPolicy),
331            "ListGroupPolicies" => Some(Self::ListGroupPolicies),
332            "TagUser" => Some(Self::TagUser),
333            "UntagUser" => Some(Self::UntagUser),
334            "ListUserTags" => Some(Self::ListUserTags),
335            "TagRole" => Some(Self::TagRole),
336            "UntagRole" => Some(Self::UntagRole),
337            "ListRoleTags" => Some(Self::ListRoleTags),
338            "CreateServiceLinkedRole" => Some(Self::CreateServiceLinkedRole),
339            "DeleteServiceLinkedRole" => Some(Self::DeleteServiceLinkedRole),
340            "GetServiceLinkedRoleDeletionStatus" => Some(Self::GetServiceLinkedRoleDeletionStatus),
341            "UpdateAssumeRolePolicy" => Some(Self::UpdateAssumeRolePolicy),
342            "SimulatePrincipalPolicy" => Some(Self::SimulatePrincipalPolicy),
343            "SimulateCustomPolicy" => Some(Self::SimulateCustomPolicy),
344            "ListEntitiesForPolicy" => Some(Self::ListEntitiesForPolicy),
345            "GetAccountAuthorizationDetails" => Some(Self::GetAccountAuthorizationDetails),
346            "CreateOpenIDConnectProvider" => Some(Self::CreateOpenIDConnectProvider),
347            "GetOpenIDConnectProvider" => Some(Self::GetOpenIDConnectProvider),
348            "DeleteOpenIDConnectProvider" => Some(Self::DeleteOpenIDConnectProvider),
349            "ListOpenIDConnectProviders" => Some(Self::ListOpenIDConnectProviders),
350            "TagPolicy" => Some(Self::TagPolicy),
351            "UntagPolicy" => Some(Self::UntagPolicy),
352            "ListPolicyTags" => Some(Self::ListPolicyTags),
353            "TagInstanceProfile" => Some(Self::TagInstanceProfile),
354            "UntagInstanceProfile" => Some(Self::UntagInstanceProfile),
355            "ListInstanceProfileTags" => Some(Self::ListInstanceProfileTags),
356            _ => None,
357        }
358    }
359}
360
361impl std::fmt::Display for IamOperation {
362    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
363        f.write_str(self.as_str())
364    }
365}