rustack_sts_model/
operations.rs1#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
5pub enum StsOperation {
6 GetCallerIdentity,
8 AssumeRole,
10 GetSessionToken,
12 GetAccessKeyInfo,
14 AssumeRoleWithSAML,
16 AssumeRoleWithWebIdentity,
18 DecodeAuthorizationMessage,
20 GetFederationToken,
22}
23
24impl StsOperation {
25 #[must_use]
27 pub fn as_str(&self) -> &'static str {
28 match self {
29 Self::GetCallerIdentity => "GetCallerIdentity",
30 Self::AssumeRole => "AssumeRole",
31 Self::GetSessionToken => "GetSessionToken",
32 Self::GetAccessKeyInfo => "GetAccessKeyInfo",
33 Self::AssumeRoleWithSAML => "AssumeRoleWithSAML",
34 Self::AssumeRoleWithWebIdentity => "AssumeRoleWithWebIdentity",
35 Self::DecodeAuthorizationMessage => "DecodeAuthorizationMessage",
36 Self::GetFederationToken => "GetFederationToken",
37 }
38 }
39
40 #[must_use]
42 pub fn from_name(name: &str) -> Option<Self> {
43 match name {
44 "GetCallerIdentity" => Some(Self::GetCallerIdentity),
45 "AssumeRole" => Some(Self::AssumeRole),
46 "GetSessionToken" => Some(Self::GetSessionToken),
47 "GetAccessKeyInfo" => Some(Self::GetAccessKeyInfo),
48 "AssumeRoleWithSAML" => Some(Self::AssumeRoleWithSAML),
49 "AssumeRoleWithWebIdentity" => Some(Self::AssumeRoleWithWebIdentity),
50 "DecodeAuthorizationMessage" => Some(Self::DecodeAuthorizationMessage),
51 "GetFederationToken" => Some(Self::GetFederationToken),
52 _ => None,
53 }
54 }
55}
56
57impl std::fmt::Display for StsOperation {
58 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
59 f.write_str(self.as_str())
60 }
61}