use serde::{Deserialize, Serialize};
use crate::types::{AssumedRoleUser, Credentials, FederatedUser};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct AssumeRoleResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub assumed_role_user: Option<AssumedRoleUser>,
#[serde(skip_serializing_if = "Option::is_none")]
pub credentials: Option<Credentials>,
#[serde(skip_serializing_if = "Option::is_none")]
pub packed_policy_size: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub source_identity: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct AssumeRoleWithSAMLResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub assumed_role_user: Option<AssumedRoleUser>,
#[serde(skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub credentials: Option<Credentials>,
#[serde(skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name_qualifier: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub packed_policy_size: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub source_identity: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub subject_type: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct AssumeRoleWithWebIdentityResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub assumed_role_user: Option<AssumedRoleUser>,
#[serde(skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub credentials: Option<Credentials>,
#[serde(skip_serializing_if = "Option::is_none")]
pub packed_policy_size: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provider: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub source_identity: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub subject_from_web_identity_token: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DecodeAuthorizationMessageResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub decoded_message: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetAccessKeyInfoResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub account: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetCallerIdentityResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub account: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub user_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetFederationTokenResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub credentials: Option<Credentials>,
#[serde(skip_serializing_if = "Option::is_none")]
pub federated_user: Option<FederatedUser>,
#[serde(skip_serializing_if = "Option::is_none")]
pub packed_policy_size: Option<i32>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetSessionTokenResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub credentials: Option<Credentials>,
}