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