rustack_sts_model/
input.rs1use serde::{Deserialize, Serialize};
4
5use crate::types::{PolicyDescriptorType, ProvidedContext, Tag};
6
7#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9#[serde(rename_all = "PascalCase")]
10pub struct AssumeRoleInput {
11 #[serde(skip_serializing_if = "Option::is_none")]
12 pub duration_seconds: Option<i32>,
13 #[serde(skip_serializing_if = "Option::is_none")]
14 pub external_id: Option<String>,
15 #[serde(skip_serializing_if = "Option::is_none")]
16 pub policy: Option<String>,
17 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18 pub policy_arns: Vec<PolicyDescriptorType>,
19 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20 pub provided_contexts: Vec<ProvidedContext>,
21 pub role_arn: String,
22 pub role_session_name: String,
23 #[serde(skip_serializing_if = "Option::is_none")]
24 pub serial_number: Option<String>,
25 #[serde(skip_serializing_if = "Option::is_none")]
26 pub source_identity: Option<String>,
27 #[serde(default, skip_serializing_if = "Vec::is_empty")]
28 pub tags: Vec<Tag>,
29 #[serde(skip_serializing_if = "Option::is_none")]
30 pub token_code: Option<String>,
31 #[serde(default, skip_serializing_if = "Vec::is_empty")]
32 pub transitive_tag_keys: Vec<String>,
33}
34
35#[derive(Debug, Clone, Default, Serialize, Deserialize)]
37#[serde(rename_all = "PascalCase")]
38pub struct AssumeRoleWithSAMLInput {
39 #[serde(skip_serializing_if = "Option::is_none")]
40 pub duration_seconds: Option<i32>,
41 #[serde(skip_serializing_if = "Option::is_none")]
42 pub policy: Option<String>,
43 #[serde(default, skip_serializing_if = "Vec::is_empty")]
44 pub policy_arns: Vec<PolicyDescriptorType>,
45 pub principal_arn: String,
46 pub role_arn: String,
47 #[serde(rename = "SAMLAssertion")]
48 pub saml_assertion: String,
49}
50
51#[derive(Debug, Clone, Default, Serialize, Deserialize)]
53#[serde(rename_all = "PascalCase")]
54pub struct AssumeRoleWithWebIdentityInput {
55 #[serde(skip_serializing_if = "Option::is_none")]
56 pub duration_seconds: Option<i32>,
57 #[serde(skip_serializing_if = "Option::is_none")]
58 pub policy: Option<String>,
59 #[serde(default, skip_serializing_if = "Vec::is_empty")]
60 pub policy_arns: Vec<PolicyDescriptorType>,
61 #[serde(skip_serializing_if = "Option::is_none")]
62 pub provider_id: Option<String>,
63 pub role_arn: String,
64 pub role_session_name: String,
65 pub web_identity_token: String,
66}
67
68#[derive(Debug, Clone, Default, Serialize, Deserialize)]
70#[serde(rename_all = "PascalCase")]
71pub struct DecodeAuthorizationMessageInput {
72 pub encoded_message: String,
73}
74
75#[derive(Debug, Clone, Default, Serialize, Deserialize)]
77#[serde(rename_all = "PascalCase")]
78pub struct GetAccessKeyInfoInput {
79 pub access_key_id: String,
80}
81
82#[derive(Debug, Clone, Default, Serialize, Deserialize)]
84#[serde(rename_all = "PascalCase")]
85pub struct GetCallerIdentityInput {}
86
87#[derive(Debug, Clone, Default, Serialize, Deserialize)]
89#[serde(rename_all = "PascalCase")]
90pub struct GetFederationTokenInput {
91 #[serde(skip_serializing_if = "Option::is_none")]
92 pub duration_seconds: Option<i32>,
93 pub name: String,
94 #[serde(skip_serializing_if = "Option::is_none")]
95 pub policy: Option<String>,
96 #[serde(default, skip_serializing_if = "Vec::is_empty")]
97 pub policy_arns: Vec<PolicyDescriptorType>,
98 #[serde(default, skip_serializing_if = "Vec::is_empty")]
99 pub tags: Vec<Tag>,
100}
101
102#[derive(Debug, Clone, Default, Serialize, Deserialize)]
104#[serde(rename_all = "PascalCase")]
105pub struct GetSessionTokenInput {
106 #[serde(skip_serializing_if = "Option::is_none")]
107 pub duration_seconds: Option<i32>,
108 #[serde(skip_serializing_if = "Option::is_none")]
109 pub serial_number: Option<String>,
110 #[serde(skip_serializing_if = "Option::is_none")]
111 pub token_code: Option<String>,
112}