nautobot_openapi/models/
bulk_writable_interface_template_request.rs1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct BulkWritableInterfaceTemplateRequest {
15 #[serde(rename = "id")]
16 pub id: uuid::Uuid,
17 #[serde(rename = "type")]
18 pub r#type: crate::models::InterfaceTypeChoices,
19 #[serde(rename = "port_type", skip_serializing_if = "Option::is_none")]
20 pub port_type: Option<crate::models::PortTypeChoices>,
21 #[serde(rename = "name")]
22 pub name: String,
23 #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
25 pub label: Option<String>,
26 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
27 pub description: Option<String>,
28 #[serde(rename = "mgmt_only", skip_serializing_if = "Option::is_none")]
29 pub mgmt_only: Option<bool>,
30 #[serde(
31 rename = "speed",
32 default,
33 with = "::serde_with::rust::double_option",
34 skip_serializing_if = "Option::is_none"
35 )]
36 pub speed: Option<Option<i32>>,
37 #[serde(rename = "duplex", skip_serializing_if = "Option::is_none")]
38 pub duplex: Option<Box<crate::models::BulkWritableInterfaceTemplateRequestDuplex>>,
39 #[serde(
40 rename = "device_type",
41 default,
42 with = "::serde_with::rust::double_option",
43 skip_serializing_if = "Option::is_none"
44 )]
45 pub device_type: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
46 #[serde(
47 rename = "module_type",
48 default,
49 with = "::serde_with::rust::double_option",
50 skip_serializing_if = "Option::is_none"
51 )]
52 pub module_type: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
53 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
54 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
55 #[serde(rename = "relationships", skip_serializing_if = "Option::is_none")]
56 pub relationships: Option<
57 ::std::collections::HashMap<
58 String,
59 crate::models::ApprovalWorkflowDefinitionRequestRelationshipsValue,
60 >,
61 >,
62}
63
64impl BulkWritableInterfaceTemplateRequest {
65 pub fn new(
67 id: uuid::Uuid,
68 r#type: crate::models::InterfaceTypeChoices,
69 name: String,
70 ) -> BulkWritableInterfaceTemplateRequest {
71 BulkWritableInterfaceTemplateRequest {
72 id,
73 r#type,
74 port_type: None,
75 name,
76 label: None,
77 description: None,
78 mgmt_only: None,
79 speed: None,
80 duplex: None,
81 device_type: None,
82 module_type: None,
83 custom_fields: None,
84 relationships: None,
85 }
86 }
87}