use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListClustersInput {
#[serde(skip_serializing_if = "Option::is_none")]
pub created_after: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub created_before: Option<f64>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub cluster_states: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub marker: Option<String>,
}
impl ListClustersInput {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
cluster_states: vec![],
marker: Some("test-marker".into()),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListClustersOutput {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub clusters: Vec<ClusterSummary>,
#[serde(skip_serializing_if = "Option::is_none")]
pub marker: Option<String>,
}
impl ListClustersOutput {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
clusters: vec![],
marker: Some("test-marker".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ClusterSummary {
pub id: String,
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<Option<ClusterStatus>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub normalized_instance_hours: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cluster_arn: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub outpost_arn: Option<String>,
}
impl ClusterSummary {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: "test-id".into(),
name: "test-name".into(),
normalized_instance_hours: Some(100),
cluster_arn: Some("test-cluster_arn".into()),
outpost_arn: Some("test-outpost_arn".into()),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ClusterStatus {
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub state_change_reason: Option<Option<ClusterStateChangeReason>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub timeline: Option<Option<ClusterTimeline>>,
}
impl ClusterStatus {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
state: Some("test-state".into()),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ClusterStateChangeReason {
#[serde(skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
impl ClusterStateChangeReason {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
code: Some("test-code".into()),
message: Some("test-message".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ClusterTimeline {
#[serde(skip_serializing_if = "Option::is_none")]
pub creation_date_time: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ready_date_time: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub end_date_time: Option<f64>,
}
impl ClusterTimeline {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeClusterInput {
pub cluster_id: String,
}
impl DescribeClusterInput {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
cluster_id: "test-cluster_id".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeClusterOutput {
#[serde(skip_serializing_if = "Option::is_none")]
pub cluster: Option<Option<Cluster>>,
}
impl DescribeClusterOutput {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct Cluster {
pub id: String,
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<Option<ClusterStatus>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ec2_instance_attributes: Option<Option<Ec2InstanceAttributes>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub release_label: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub log_uri: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub auto_terminate: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub termination_protected: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub visible_to_all_users: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub service_role: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub normalized_instance_hours: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub master_public_dns_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cluster_arn: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub outpost_arn: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub step_concurrency_level: Option<i32>,
}
impl Cluster {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: "test-id".into(),
name: "test-name".into(),
release_label: Some("test-release_label".into()),
log_uri: Some("test-log_uri".into()),
auto_terminate: Some(false),
termination_protected: Some(false),
visible_to_all_users: Some(false),
service_role: Some("test-service_role".into()),
normalized_instance_hours: Some(100),
master_public_dns_name: Some("test-master_public_dns_name".into()),
cluster_arn: Some("test-cluster_arn".into()),
outpost_arn: Some("test-outpost_arn".into()),
step_concurrency_level: Some(100),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct Ec2InstanceAttributes {
#[serde(skip_serializing_if = "Option::is_none")]
pub ec2_key_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ec2_subnet_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ec2_availability_zone: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub iam_instance_profile: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub emr_managed_master_security_group: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub emr_managed_slave_security_group: Option<String>,
}
impl Ec2InstanceAttributes {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
ec2_key_name: Some("test-ec2_key_name".into()),
ec2_subnet_id: Some("test-ec2_subnet_id".into()),
ec2_availability_zone: Some("test-ec2_availability_zone".into()),
iam_instance_profile: Some("test-iam_instance_profile".into()),
emr_managed_master_security_group: Some(
"test-emr_managed_master_security_group".into(),
),
emr_managed_slave_security_group: Some("test-emr_managed_slave_security_group".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct TerminateJobFlowsInput {
#[serde(default)]
pub job_flow_ids: Vec<String>,
}
impl TerminateJobFlowsInput {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
job_flow_ids: vec![],
}
}
}