1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Feed {
16 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
17 pub name: Option<String>,
18 #[serde(rename = "provider", skip_serializing_if = "Option::is_none")]
19 pub provider: Option<String>,
20 #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
21 pub url: Option<String>,
22 #[serde(rename = "rules", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
24 pub rules: Option<Option<String>>,
25 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
26 pub enabled: Option<bool>,
27 #[serde(rename = "distribution", skip_serializing_if = "Option::is_none")]
28 pub distribution: Option<models::DistributionLevelId>,
29 #[serde(rename = "sharing_group_id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
30 pub sharing_group_id: Option<Option<String>>,
31 #[serde(rename = "tag_id", skip_serializing_if = "Option::is_none")]
32 pub tag_id: Option<String>,
33 #[serde(rename = "default", skip_serializing_if = "Option::is_none")]
34 pub default: Option<bool>,
35 #[serde(rename = "source_format", skip_serializing_if = "Option::is_none")]
36 pub source_format: Option<models::FeedSourceFormat>,
37 #[serde(rename = "fixed_event", skip_serializing_if = "Option::is_none")]
39 pub fixed_event: Option<bool>,
40 #[serde(rename = "delta_merge", skip_serializing_if = "Option::is_none")]
42 pub delta_merge: Option<bool>,
43 #[serde(rename = "event_id", skip_serializing_if = "Option::is_none")]
44 pub event_id: Option<String>,
45 #[serde(rename = "publish", skip_serializing_if = "Option::is_none")]
46 pub publish: Option<bool>,
47 #[serde(rename = "override_ids", skip_serializing_if = "Option::is_none")]
49 pub override_ids: Option<bool>,
50 #[serde(rename = "settings", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
51 pub settings: Option<Option<String>>,
52 #[serde(rename = "input_source", skip_serializing_if = "Option::is_none")]
53 pub input_source: Option<models::FeedInputSource>,
54 #[serde(rename = "delete_local_file", skip_serializing_if = "Option::is_none")]
56 pub delete_local_file: Option<bool>,
57 #[serde(rename = "lookup_visible", skip_serializing_if = "Option::is_none")]
59 pub lookup_visible: Option<bool>,
60 #[serde(rename = "headers", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
62 pub headers: Option<Option<String>>,
63 #[serde(rename = "caching_enabled", skip_serializing_if = "Option::is_none")]
65 pub caching_enabled: Option<bool>,
66 #[serde(rename = "force_to_ids", skip_serializing_if = "Option::is_none")]
68 pub force_to_ids: Option<bool>,
69 #[serde(rename = "orgc_id", skip_serializing_if = "Option::is_none")]
70 pub orgc_id: Option<String>,
71 #[serde(rename = "cache_timestamp", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
72 pub cache_timestamp: Option<Option<Box<models::FeedCacheTimestamp>>>,
73 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
74 pub id: Option<String>,
75}
76
77impl Feed {
78 pub fn new() -> Feed {
79 Feed {
80 name: None,
81 provider: None,
82 url: None,
83 rules: None,
84 enabled: None,
85 distribution: None,
86 sharing_group_id: None,
87 tag_id: None,
88 default: None,
89 source_format: None,
90 fixed_event: None,
91 delta_merge: None,
92 event_id: None,
93 publish: None,
94 override_ids: None,
95 settings: None,
96 input_source: None,
97 delete_local_file: None,
98 lookup_visible: None,
99 headers: None,
100 caching_enabled: None,
101 force_to_ids: None,
102 orgc_id: None,
103 cache_timestamp: None,
104 id: None,
105 }
106 }
107}
108