Skip to main content

netbox_openapi/models/
power_feed.rs

1/*
2 * NetBox REST API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 4.6.2 (4.6)
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11/// PowerFeed : Base serializer class for models inheriting from PrimaryModel.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct PowerFeed {
15    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
16    pub id: Option<i32>,
17    #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
18    pub url: Option<String>,
19    #[serde(rename = "display_url", skip_serializing_if = "Option::is_none")]
20    pub display_url: Option<String>,
21    #[serde(rename = "display", skip_serializing_if = "Option::is_none")]
22    pub display: Option<String>,
23    #[serde(rename = "power_panel")]
24    pub power_panel: Box<crate::models::BriefPowerPanel>,
25    #[serde(
26        rename = "rack",
27        default,
28        with = "::serde_with::rust::double_option",
29        skip_serializing_if = "Option::is_none"
30    )]
31    pub rack: Option<Option<Box<crate::models::BriefRack>>>,
32    #[serde(rename = "name")]
33    pub name: String,
34    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
35    pub status: Option<Box<crate::models::PowerFeedStatus>>,
36    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
37    pub r#type: Option<Box<crate::models::PowerFeedType>>,
38    #[serde(rename = "supply", skip_serializing_if = "Option::is_none")]
39    pub supply: Option<Box<crate::models::PowerFeedSupply>>,
40    #[serde(rename = "phase", skip_serializing_if = "Option::is_none")]
41    pub phase: Option<Box<crate::models::PowerFeedPhase>>,
42    #[serde(rename = "voltage", skip_serializing_if = "Option::is_none")]
43    pub voltage: Option<i32>,
44    #[serde(rename = "amperage", skip_serializing_if = "Option::is_none")]
45    pub amperage: Option<i32>,
46    /// Maximum permissible draw (percentage)
47    #[serde(rename = "max_utilization", skip_serializing_if = "Option::is_none")]
48    pub max_utilization: Option<i32>,
49    /// Treat as if a cable is connected
50    #[serde(rename = "mark_connected", skip_serializing_if = "Option::is_none")]
51    pub mark_connected: Option<bool>,
52    #[serde(
53        rename = "cable",
54        default,
55        with = "::serde_with::rust::double_option",
56        skip_serializing_if = "Option::is_none"
57    )]
58    pub cable: Option<Option<Box<crate::models::BriefCable>>>,
59    /// * `A` - A * `B` - B
60    #[serde(
61        rename = "cable_end",
62        default,
63        with = "::serde_with::rust::double_option",
64        skip_serializing_if = "Option::is_none"
65    )]
66    pub cable_end: Option<Option<CableEnd>>,
67    #[serde(rename = "link_peers", skip_serializing_if = "Option::is_none")]
68    pub link_peers: Option<Vec<serde_json::Value>>,
69    /// Return the type of the peer link terminations, or None.
70    #[serde(
71        rename = "link_peers_type",
72        default,
73        with = "::serde_with::rust::double_option",
74        skip_serializing_if = "Option::is_none"
75    )]
76    pub link_peers_type: Option<Option<String>>,
77    #[serde(
78        rename = "connected_endpoints",
79        default,
80        with = "::serde_with::rust::double_option",
81        skip_serializing_if = "Option::is_none"
82    )]
83    pub connected_endpoints: Option<Option<Vec<serde_json::Value>>>,
84    #[serde(
85        rename = "connected_endpoints_type",
86        default,
87        with = "::serde_with::rust::double_option",
88        skip_serializing_if = "Option::is_none"
89    )]
90    pub connected_endpoints_type: Option<Option<String>>,
91    #[serde(
92        rename = "connected_endpoints_reachable",
93        skip_serializing_if = "Option::is_none"
94    )]
95    pub connected_endpoints_reachable: Option<bool>,
96    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
97    pub description: Option<String>,
98    #[serde(
99        rename = "tenant",
100        default,
101        with = "::serde_with::rust::double_option",
102        skip_serializing_if = "Option::is_none"
103    )]
104    pub tenant: Option<Option<Box<crate::models::BriefTenant>>>,
105    #[serde(
106        rename = "owner",
107        default,
108        with = "::serde_with::rust::double_option",
109        skip_serializing_if = "Option::is_none"
110    )]
111    pub owner: Option<Option<Box<crate::models::BriefOwner>>>,
112    #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
113    pub comments: Option<String>,
114    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
115    pub tags: Option<Vec<crate::models::NestedTag>>,
116    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
117    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
118    #[serde(
119        rename = "created",
120        default,
121        with = "::serde_with::rust::double_option",
122        skip_serializing_if = "Option::is_none"
123    )]
124    pub created: Option<Option<String>>,
125    #[serde(
126        rename = "last_updated",
127        default,
128        with = "::serde_with::rust::double_option",
129        skip_serializing_if = "Option::is_none"
130    )]
131    pub last_updated: Option<Option<String>>,
132    #[serde(rename = "_occupied", skip_serializing_if = "Option::is_none")]
133    pub _occupied: Option<bool>,
134}
135
136impl PowerFeed {
137    /// Base serializer class for models inheriting from PrimaryModel.
138    pub fn new(power_panel: crate::models::BriefPowerPanel, name: String) -> PowerFeed {
139        PowerFeed {
140            id: None,
141            url: None,
142            display_url: None,
143            display: None,
144            power_panel: Box::new(power_panel),
145            rack: None,
146            name,
147            status: None,
148            r#type: None,
149            supply: None,
150            phase: None,
151            voltage: None,
152            amperage: None,
153            max_utilization: None,
154            mark_connected: None,
155            cable: None,
156            cable_end: None,
157            link_peers: None,
158            link_peers_type: None,
159            connected_endpoints: None,
160            connected_endpoints_type: None,
161            connected_endpoints_reachable: None,
162            description: None,
163            tenant: None,
164            owner: None,
165            comments: None,
166            tags: None,
167            custom_fields: None,
168            created: None,
169            last_updated: None,
170            _occupied: None,
171        }
172    }
173}
174
175/// * `A` - A * `B` - B
176#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
177pub enum CableEnd {
178    #[serde(rename = "A")]
179    A,
180    #[serde(rename = "B")]
181    B,
182    #[serde(rename = "null")]
183    Null,
184}
185
186impl Default for CableEnd {
187    fn default() -> CableEnd {
188        Self::A
189    }
190}