netbox_openapi/models/
extras_webhooks_create_request.rs1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
12pub struct ExtrasWebhooksCreateRequest {
13 #[serde(rename = "name")]
14 pub name: String,
15 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
16 pub description: Option<String>,
17 #[serde(rename = "payload_url")]
19 pub payload_url: String,
20 #[serde(rename = "http_method", skip_serializing_if = "Option::is_none")]
22 pub http_method: Option<HttpMethod>,
23 #[serde(rename = "http_content_type", skip_serializing_if = "Option::is_none")]
25 pub http_content_type: Option<String>,
26 #[serde(rename = "additional_headers", skip_serializing_if = "Option::is_none")]
28 pub additional_headers: Option<String>,
29 #[serde(rename = "body_template", skip_serializing_if = "Option::is_none")]
31 pub body_template: Option<String>,
32 #[serde(rename = "secret", skip_serializing_if = "Option::is_none")]
34 pub secret: Option<String>,
35 #[serde(rename = "ssl_verification", skip_serializing_if = "Option::is_none")]
37 pub ssl_verification: Option<bool>,
38 #[serde(
40 rename = "ca_file_path",
41 default,
42 with = "::serde_with::rust::double_option",
43 skip_serializing_if = "Option::is_none"
44 )]
45 pub ca_file_path: Option<Option<String>>,
46 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
47 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
48 #[serde(
49 rename = "owner",
50 default,
51 with = "::serde_with::rust::double_option",
52 skip_serializing_if = "Option::is_none"
53 )]
54 pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
55 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
56 pub tags: Option<Vec<crate::models::NestedTagRequest>>,
57}
58
59impl ExtrasWebhooksCreateRequest {
60 pub fn new(name: String, payload_url: String) -> ExtrasWebhooksCreateRequest {
61 ExtrasWebhooksCreateRequest {
62 name,
63 description: None,
64 payload_url,
65 http_method: None,
66 http_content_type: None,
67 additional_headers: None,
68 body_template: None,
69 secret: None,
70 ssl_verification: None,
71 ca_file_path: None,
72 custom_fields: None,
73 owner: None,
74 tags: None,
75 }
76 }
77}
78
79#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
81pub enum HttpMethod {
82 #[serde(rename = "GET")]
83 Get,
84 #[serde(rename = "POST")]
85 Post,
86 #[serde(rename = "PUT")]
87 Put,
88 #[serde(rename = "PATCH")]
89 Patch,
90 #[serde(rename = "DELETE")]
91 Delete,
92}
93
94impl Default for HttpMethod {
95 fn default() -> HttpMethod {
96 Self::Get
97 }
98}