#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct UpdatePlacementGroupRequest {
#[serde(
rename = "name",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub name: Option<Option<String>>,
#[serde(
rename = "tags",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub tags: Option<Option<Vec<String>>>,
#[serde(rename = "policy_mode", skip_serializing_if = "Option::is_none")]
pub policy_mode: Option<PolicyMode>,
#[serde(rename = "policy_type", skip_serializing_if = "Option::is_none")]
pub policy_type: Option<PolicyType>,
}
impl UpdatePlacementGroupRequest {
pub fn new() -> UpdatePlacementGroupRequest {
UpdatePlacementGroupRequest {
name: None,
tags: None,
policy_mode: None,
policy_type: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum PolicyMode {
#[serde(rename = "optional")]
Optional,
#[serde(rename = "enforced")]
Enforced,
}
impl Default for PolicyMode {
fn default() -> PolicyMode {
Self::Optional
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum PolicyType {
#[serde(rename = "max_availability")]
MaxAvailability,
#[serde(rename = "low_latency")]
LowLatency,
}
impl Default for PolicyType {
fn default() -> PolicyType {
Self::MaxAvailability
}
}