netbox-openapi 0.6.0

low level netbox bindings (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
Documentation
/*
 * NetBox REST API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 4.6.2 (4.6)
 *
 * Generated by: https://openapi-generator.tech
 */

/// WritableCableRequest : Base serializer class for models inheriting from PrimaryModel.

#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct WritableCableRequest {
    /// * `cat3` - CAT3 * `cat5` - CAT5 * `cat5e` - CAT5e * `cat6` - CAT6 * `cat6a` - CAT6a * `cat7` - CAT7 * `cat7a` - CAT7a * `cat8` - CAT8 * `mrj21-trunk` - MRJ21 Trunk * `dac-active` - Direct Attach Copper (Active) * `dac-passive` - Direct Attach Copper (Passive) * `coaxial` - Coaxial * `rg-6` - RG-6 * `rg-8` - RG-8 * `rg-11` - RG-11 * `rg-59` - RG-59 * `rg-62` - RG-62 * `rg-213` - RG-213 * `lmr-100` - LMR-100 * `lmr-200` - LMR-200 * `lmr-400` - LMR-400 * `mmf` - Multimode Fiber * `mmf-om1` - Multimode Fiber (OM1) * `mmf-om2` - Multimode Fiber (OM2) * `mmf-om3` - Multimode Fiber (OM3) * `mmf-om4` - Multimode Fiber (OM4) * `mmf-om5` - Multimode Fiber (OM5) * `smf` - Single-mode Fiber * `smf-os1` - Single-mode Fiber (OS1) * `smf-os2` - Single-mode Fiber (OS2) * `aoc` - Active Optical Cabling (AOC) * `power` - Power * `usb` - USB
    #[serde(
        rename = "type",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub r#type: Option<Option<RHashType>>,
    #[serde(rename = "a_terminations", skip_serializing_if = "Option::is_none")]
    pub a_terminations: Option<Vec<crate::models::GenericObjectRequest>>,
    #[serde(rename = "b_terminations", skip_serializing_if = "Option::is_none")]
    pub b_terminations: Option<Vec<crate::models::GenericObjectRequest>>,
    /// * `connected` - Connected * `planned` - Planned * `decommissioning` - Decommissioning
    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
    pub status: Option<Status>,
    /// * `single-1c1p` - 1C1P * `single-1c2p` - 1C2P * `single-1c4p` - 1C4P * `single-1c6p` - 1C6P * `single-1c8p` - 1C8P * `single-1c12p` - 1C12P * `single-1c16p` - 1C16P * `trunk-2c1p` - 2C1P trunk * `trunk-2c2p` - 2C2P trunk * `trunk-2c4p` - 2C4P trunk * `trunk-2c4p-shuffle` - 2C4P trunk (shuffle) * `trunk-2c6p` - 2C6P trunk * `trunk-2c8p` - 2C8P trunk * `trunk-2c12p` - 2C12P trunk * `trunk-4c1p` - 4C1P trunk * `trunk-4c2p` - 4C2P trunk * `trunk-4c4p` - 4C4P trunk * `trunk-4c4p-shuffle` - 4C4P trunk (shuffle) * `trunk-4c6p` - 4C6P trunk * `trunk-4c8p` - 4C8P trunk * `trunk-8c4p` - 8C4P trunk * `breakout-1c2p-2c1p` - 1C2P:2C1P breakout * `breakout-1c4p-4c1p` - 1C4P:4C1P breakout * `breakout-1c6p-6c1p` - 1C6P:6C1P breakout * `breakout-2c4p-8c1p-shuffle` - 2C4P:8C1P breakout (shuffle)
    #[serde(rename = "profile", skip_serializing_if = "Option::is_none")]
    pub profile: Option<Profile>,
    #[serde(
        rename = "tenant",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub tenant: Option<Option<Box<crate::models::AsnRangeRequestTenant>>>,
    #[serde(
        rename = "bundle",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub bundle: Option<Option<Box<crate::models::CableRequestBundle>>>,
    #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
    pub label: Option<String>,
    #[serde(rename = "color", skip_serializing_if = "Option::is_none")]
    pub color: Option<String>,
    #[serde(
        rename = "length",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub length: Option<Option<f64>>,
    /// * `km` - Kilometers * `m` - Meters * `cm` - Centimeters * `mi` - Miles * `ft` - Feet * `in` - Inches
    #[serde(
        rename = "length_unit",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub length_unit: Option<Option<LengthUnit>>,
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    #[serde(
        rename = "owner",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
    #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
    pub comments: Option<String>,
    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
    pub tags: Option<Vec<crate::models::NestedTagRequest>>,
    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
}

impl WritableCableRequest {
    /// Base serializer class for models inheriting from PrimaryModel.
    pub fn new() -> WritableCableRequest {
        WritableCableRequest {
            r#type: None,
            a_terminations: None,
            b_terminations: None,
            status: None,
            profile: None,
            tenant: None,
            bundle: None,
            label: None,
            color: None,
            length: None,
            length_unit: None,
            description: None,
            owner: None,
            comments: None,
            tags: None,
            custom_fields: None,
        }
    }
}

/// * `cat3` - CAT3 * `cat5` - CAT5 * `cat5e` - CAT5e * `cat6` - CAT6 * `cat6a` - CAT6a * `cat7` - CAT7 * `cat7a` - CAT7a * `cat8` - CAT8 * `mrj21-trunk` - MRJ21 Trunk * `dac-active` - Direct Attach Copper (Active) * `dac-passive` - Direct Attach Copper (Passive) * `coaxial` - Coaxial * `rg-6` - RG-6 * `rg-8` - RG-8 * `rg-11` - RG-11 * `rg-59` - RG-59 * `rg-62` - RG-62 * `rg-213` - RG-213 * `lmr-100` - LMR-100 * `lmr-200` - LMR-200 * `lmr-400` - LMR-400 * `mmf` - Multimode Fiber * `mmf-om1` - Multimode Fiber (OM1) * `mmf-om2` - Multimode Fiber (OM2) * `mmf-om3` - Multimode Fiber (OM3) * `mmf-om4` - Multimode Fiber (OM4) * `mmf-om5` - Multimode Fiber (OM5) * `smf` - Single-mode Fiber * `smf-os1` - Single-mode Fiber (OS1) * `smf-os2` - Single-mode Fiber (OS2) * `aoc` - Active Optical Cabling (AOC) * `power` - Power * `usb` - USB
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum RHashType {
    #[serde(rename = "cat3")]
    Cat3,
    #[serde(rename = "cat5")]
    Cat5,
    #[serde(rename = "cat5e")]
    Cat5e,
    #[serde(rename = "cat6")]
    Cat6,
    #[serde(rename = "cat6a")]
    Cat6a,
    #[serde(rename = "cat7")]
    Cat7,
    #[serde(rename = "cat7a")]
    Cat7a,
    #[serde(rename = "cat8")]
    Cat8,
    #[serde(rename = "mrj21-trunk")]
    Mrj21Trunk,
    #[serde(rename = "dac-active")]
    DacActive,
    #[serde(rename = "dac-passive")]
    DacPassive,
    #[serde(rename = "coaxial")]
    Coaxial,
    #[serde(rename = "rg-6")]
    Rg6,
    #[serde(rename = "rg-8")]
    Rg8,
    #[serde(rename = "rg-11")]
    Rg11,
    #[serde(rename = "rg-59")]
    Rg59,
    #[serde(rename = "rg-62")]
    Rg62,
    #[serde(rename = "rg-213")]
    Rg213,
    #[serde(rename = "lmr-100")]
    Lmr100,
    #[serde(rename = "lmr-200")]
    Lmr200,
    #[serde(rename = "lmr-400")]
    Lmr400,
    #[serde(rename = "mmf")]
    Mmf,
    #[serde(rename = "mmf-om1")]
    MmfOm1,
    #[serde(rename = "mmf-om2")]
    MmfOm2,
    #[serde(rename = "mmf-om3")]
    MmfOm3,
    #[serde(rename = "mmf-om4")]
    MmfOm4,
    #[serde(rename = "mmf-om5")]
    MmfOm5,
    #[serde(rename = "smf")]
    Smf,
    #[serde(rename = "smf-os1")]
    SmfOs1,
    #[serde(rename = "smf-os2")]
    SmfOs2,
    #[serde(rename = "aoc")]
    Aoc,
    #[serde(rename = "power")]
    Power,
    #[serde(rename = "usb")]
    Usb,
    #[serde(rename = "")]
    Empty,
    #[serde(rename = "null")]
    Null,
}

impl Default for RHashType {
    fn default() -> RHashType {
        Self::Cat3
    }
}
/// * `connected` - Connected * `planned` - Planned * `decommissioning` - Decommissioning
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
    #[serde(rename = "connected")]
    Connected,
    #[serde(rename = "planned")]
    Planned,
    #[serde(rename = "decommissioning")]
    Decommissioning,
}

impl Default for Status {
    fn default() -> Status {
        Self::Connected
    }
}
/// * `single-1c1p` - 1C1P * `single-1c2p` - 1C2P * `single-1c4p` - 1C4P * `single-1c6p` - 1C6P * `single-1c8p` - 1C8P * `single-1c12p` - 1C12P * `single-1c16p` - 1C16P * `trunk-2c1p` - 2C1P trunk * `trunk-2c2p` - 2C2P trunk * `trunk-2c4p` - 2C4P trunk * `trunk-2c4p-shuffle` - 2C4P trunk (shuffle) * `trunk-2c6p` - 2C6P trunk * `trunk-2c8p` - 2C8P trunk * `trunk-2c12p` - 2C12P trunk * `trunk-4c1p` - 4C1P trunk * `trunk-4c2p` - 4C2P trunk * `trunk-4c4p` - 4C4P trunk * `trunk-4c4p-shuffle` - 4C4P trunk (shuffle) * `trunk-4c6p` - 4C6P trunk * `trunk-4c8p` - 4C8P trunk * `trunk-8c4p` - 8C4P trunk * `breakout-1c2p-2c1p` - 1C2P:2C1P breakout * `breakout-1c4p-4c1p` - 1C4P:4C1P breakout * `breakout-1c6p-6c1p` - 1C6P:6C1P breakout * `breakout-2c4p-8c1p-shuffle` - 2C4P:8C1P breakout (shuffle)
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Profile {
    #[serde(rename = "single-1c1p")]
    Single1c1p,
    #[serde(rename = "single-1c2p")]
    Single1c2p,
    #[serde(rename = "single-1c4p")]
    Single1c4p,
    #[serde(rename = "single-1c6p")]
    Single1c6p,
    #[serde(rename = "single-1c8p")]
    Single1c8p,
    #[serde(rename = "single-1c12p")]
    Single1c12p,
    #[serde(rename = "single-1c16p")]
    Single1c16p,
    #[serde(rename = "trunk-2c1p")]
    Trunk2c1p,
    #[serde(rename = "trunk-2c2p")]
    Trunk2c2p,
    #[serde(rename = "trunk-2c4p")]
    Trunk2c4p,
    #[serde(rename = "trunk-2c4p-shuffle")]
    Trunk2c4pShuffle,
    #[serde(rename = "trunk-2c6p")]
    Trunk2c6p,
    #[serde(rename = "trunk-2c8p")]
    Trunk2c8p,
    #[serde(rename = "trunk-2c12p")]
    Trunk2c12p,
    #[serde(rename = "trunk-4c1p")]
    Trunk4c1p,
    #[serde(rename = "trunk-4c2p")]
    Trunk4c2p,
    #[serde(rename = "trunk-4c4p")]
    Trunk4c4p,
    #[serde(rename = "trunk-4c4p-shuffle")]
    Trunk4c4pShuffle,
    #[serde(rename = "trunk-4c6p")]
    Trunk4c6p,
    #[serde(rename = "trunk-4c8p")]
    Trunk4c8p,
    #[serde(rename = "trunk-8c4p")]
    Trunk8c4p,
    #[serde(rename = "breakout-1c2p-2c1p")]
    Breakout1c2p2c1p,
    #[serde(rename = "breakout-1c4p-4c1p")]
    Breakout1c4p4c1p,
    #[serde(rename = "breakout-1c6p-6c1p")]
    Breakout1c6p6c1p,
    #[serde(rename = "breakout-2c4p-8c1p-shuffle")]
    Breakout2c4p8c1pShuffle,
    #[serde(rename = "")]
    Empty,
}

impl Default for Profile {
    fn default() -> Profile {
        Self::Single1c1p
    }
}
/// * `km` - Kilometers * `m` - Meters * `cm` - Centimeters * `mi` - Miles * `ft` - Feet * `in` - Inches
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum LengthUnit {
    #[serde(rename = "km")]
    Km,
    #[serde(rename = "m")]
    M,
    #[serde(rename = "cm")]
    Cm,
    #[serde(rename = "mi")]
    Mi,
    #[serde(rename = "ft")]
    Ft,
    #[serde(rename = "in")]
    In,
    #[serde(rename = "")]
    Empty,
    #[serde(rename = "null")]
    Null,
}

impl Default for LengthUnit {
    fn default() -> LengthUnit {
        Self::Km
    }
}