nautobot_openapi/models/
webhook.rs1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct Webhook {
15 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
16 pub id: Option<uuid::Uuid>,
17 #[serde(rename = "object_type", skip_serializing_if = "Option::is_none")]
18 pub object_type: Option<String>,
19 #[serde(rename = "display", skip_serializing_if = "Option::is_none")]
21 pub display: Option<String>,
22 #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
23 pub url: Option<String>,
24 #[serde(rename = "natural_slug", skip_serializing_if = "Option::is_none")]
25 pub natural_slug: Option<String>,
26 #[serde(rename = "content_types")]
27 pub content_types: Vec<String>,
28 #[serde(rename = "name")]
29 pub name: String,
30 #[serde(rename = "type_create", skip_serializing_if = "Option::is_none")]
32 pub type_create: Option<bool>,
33 #[serde(rename = "type_update", skip_serializing_if = "Option::is_none")]
35 pub type_update: Option<bool>,
36 #[serde(rename = "type_delete", skip_serializing_if = "Option::is_none")]
38 pub type_delete: Option<bool>,
39 #[serde(rename = "payload_url")]
41 pub payload_url: String,
42 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
43 pub enabled: Option<bool>,
44 #[serde(rename = "http_method", skip_serializing_if = "Option::is_none")]
45 pub http_method: Option<crate::models::HttpMethodEnum>,
46 #[serde(rename = "http_content_type", skip_serializing_if = "Option::is_none")]
48 pub http_content_type: Option<String>,
49 #[serde(rename = "additional_headers", skip_serializing_if = "Option::is_none")]
51 pub additional_headers: Option<String>,
52 #[serde(rename = "body_template", skip_serializing_if = "Option::is_none")]
54 pub body_template: Option<String>,
55 #[serde(rename = "secret", skip_serializing_if = "Option::is_none")]
57 pub secret: Option<String>,
58 #[serde(rename = "ssl_verification", skip_serializing_if = "Option::is_none")]
60 pub ssl_verification: Option<bool>,
61 #[serde(rename = "ca_file_path", skip_serializing_if = "Option::is_none")]
63 pub ca_file_path: Option<String>,
64 #[serde(
65 rename = "created",
66 default,
67 with = "::serde_with::rust::double_option",
68 skip_serializing_if = "Option::is_none"
69 )]
70 pub created: Option<Option<String>>,
71 #[serde(
72 rename = "last_updated",
73 default,
74 with = "::serde_with::rust::double_option",
75 skip_serializing_if = "Option::is_none"
76 )]
77 pub last_updated: Option<Option<String>>,
78 #[serde(rename = "notes_url", skip_serializing_if = "Option::is_none")]
79 pub notes_url: Option<String>,
80}
81
82impl Webhook {
83 pub fn new(content_types: Vec<String>, name: String, payload_url: String) -> Webhook {
85 Webhook {
86 id: None,
87 object_type: None,
88 display: None,
89 url: None,
90 natural_slug: None,
91 content_types,
92 name,
93 type_create: None,
94 type_update: None,
95 type_delete: None,
96 payload_url,
97 enabled: None,
98 http_method: None,
99 http_content_type: None,
100 additional_headers: None,
101 body_template: None,
102 secret: None,
103 ssl_verification: None,
104 ca_file_path: None,
105 created: None,
106 last_updated: None,
107 notes_url: None,
108 }
109 }
110}