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