#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct CreatePlacementGroupRequest {
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "organization", skip_serializing_if = "Option::is_none")]
pub organization: Option<String>,
#[serde(rename = "project", skip_serializing_if = "Option::is_none")]
pub project: Option<String>,
#[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
pub tags: 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 CreatePlacementGroupRequest {
pub fn new() -> CreatePlacementGroupRequest {
CreatePlacementGroupRequest {
name: None,
organization: None,
project: 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
}
}