netbox_openapi/models/
writable_data_source_request.rs1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct WritableDataSourceRequest {
15 #[serde(rename = "name")]
16 pub name: String,
17 #[serde(rename = "type")]
18 pub r#type: String,
19 #[serde(rename = "source_url")]
20 pub source_url: String,
21 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
22 pub enabled: Option<bool>,
23 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
24 pub description: Option<String>,
25 #[serde(
27 rename = "sync_interval",
28 default,
29 with = "::serde_with::rust::double_option",
30 skip_serializing_if = "Option::is_none"
31 )]
32 pub sync_interval: Option<Option<SyncInterval>>,
33 #[serde(
34 rename = "parameters",
35 default,
36 with = "::serde_with::rust::double_option",
37 skip_serializing_if = "Option::is_none"
38 )]
39 pub parameters: Option<Option<serde_json::Value>>,
40 #[serde(rename = "ignore_rules", skip_serializing_if = "Option::is_none")]
42 pub ignore_rules: Option<String>,
43 #[serde(
44 rename = "owner",
45 default,
46 with = "::serde_with::rust::double_option",
47 skip_serializing_if = "Option::is_none"
48 )]
49 pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
50 #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
51 pub comments: Option<String>,
52 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
53 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
54}
55
56impl WritableDataSourceRequest {
57 pub fn new(name: String, r#type: String, source_url: String) -> WritableDataSourceRequest {
59 WritableDataSourceRequest {
60 name,
61 r#type,
62 source_url,
63 enabled: None,
64 description: None,
65 sync_interval: None,
66 parameters: None,
67 ignore_rules: None,
68 owner: None,
69 comments: None,
70 custom_fields: None,
71 }
72 }
73}
74
75#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
77pub enum SyncInterval {
78 #[serde(rename = "1")]
79 Variant1,
80 #[serde(rename = "60")]
81 Variant60,
82 #[serde(rename = "720")]
83 Variant720,
84 #[serde(rename = "1440")]
85 Variant1440,
86 #[serde(rename = "10080")]
87 Variant10080,
88 #[serde(rename = "43200")]
89 Variant43200,
90 #[serde(rename = "null")]
91 Null,
92}
93
94impl Default for SyncInterval {
95 fn default() -> SyncInterval {
96 Self::Variant1
97 }
98}