scaleway_api_rs 0.1.8

Generated library to interact with Scaleway API.
Documentation
/*
 * Account API
 *
 * # Introduction  The Account API allows you to manage projects. Project is Scaleway’s resource management feature. Designed to help you organize your infrastructure and cloud services, the feature allows resources to be isolated and grouped into specific projects.
 *
 * The version of the OpenAPI document: v2
 *
 * Generated by: https://openapi-generator.tech
 */

#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct UpdatePlacementGroupRequest {
    /// Name of the placement group
    #[serde(
        rename = "name",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub name: Option<Option<String>>,
    /// The tags of the placement group
    #[serde(
        rename = "tags",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub tags: Option<Option<Vec<String>>>,
    /// The operating mode of the placement group
    #[serde(rename = "policy_mode", skip_serializing_if = "Option::is_none")]
    pub policy_mode: Option<PolicyMode>,
    /// The policy type of the placement group
    #[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,
        }
    }
}

/// The operating mode of the placement group
#[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
    }
}
/// The policy type of the placement group
#[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
    }
}