use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetCallerIdentityResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub user_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub account: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
}
impl GetCallerIdentityResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
user_id: Some("test-user_id".into()),
account: Some("test-account".into()),
arn: Some("test-arn".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct AssumeRoleResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub credentials: Option<Credentials>,
#[serde(skip_serializing_if = "Option::is_none")]
pub assumed_role_user: Option<AssumedRoleUser>,
}
impl AssumeRoleResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
credentials: Some(Credentials::fixture()),
assumed_role_user: Some(AssumedRoleUser::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct Credentials {
pub access_key_id: String,
pub secret_access_key: String,
pub session_token: String,
pub expiration: String,
}
impl Credentials {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
access_key_id: "test-access_key_id".into(),
secret_access_key: "test-secret_access_key".into(),
session_token: "test-session_token".into(),
expiration: "test-expiration".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct AssumedRoleUser {
pub assumed_role_id: String,
pub arn: String,
}
impl AssumedRoleUser {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
assumed_role_id: "test-assumed_role_id".into(),
arn: "test-arn".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct AssumeRoleRequest {
pub role_arn: String,
pub role_session_name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub external_id: Option<String>,
}
impl AssumeRoleRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
role_arn: "test-role_arn".into(),
role_session_name: "test-role_session_name".into(),
external_id: Some("test-external_id".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetCallerIdentityRequest {}
impl GetCallerIdentityRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {}
}
}