use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum AccountStatus {
Active,
Suspended,
PendingClosure,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum AccountJoinedMethod {
Invited,
Created,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct OrganizationalUnit {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl OrganizationalUnit {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
arn: Some("test-arn".into()),
name: Some("test-name".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListOrganizationalUnitsForParentResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub organizational_units: Vec<OrganizationalUnit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
impl ListOrganizationalUnitsForParentResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
organizational_units: vec![],
next_token: Some("test-next_token".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct Account {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<AccountStatus>,
#[serde(skip_serializing_if = "Option::is_none")]
pub joined_method: Option<AccountJoinedMethod>,
#[serde(skip_serializing_if = "Option::is_none")]
pub joined_timestamp: Option<String>,
}
impl Account {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
arn: Some("test-arn".into()),
email: Some("test-email".into()),
name: Some("test-name".into()),
joined_timestamp: Some("test-joined_timestamp".into()),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListAccountsForParentResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub accounts: Vec<Account>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
impl ListAccountsForParentResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
accounts: vec![],
next_token: Some("test-next_token".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListOrganizationalUnitsForParentRequest {
pub parent_id: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_results: Option<i32>,
}
impl ListOrganizationalUnitsForParentRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
parent_id: "test-parent_id".into(),
next_token: Some("test-next_token".into()),
max_results: Some(100),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListAccountsForParentRequest {
pub parent_id: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_results: Option<i32>,
}
impl ListAccountsForParentRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
parent_id: "test-parent_id".into(),
next_token: Some("test-next_token".into()),
max_results: Some(100),
}
}
}