1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct ConfigContext {
15 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
16 pub id: Option<i32>,
17 #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
18 pub url: Option<String>,
19 #[serde(rename = "display_url", skip_serializing_if = "Option::is_none")]
20 pub display_url: Option<String>,
21 #[serde(rename = "display", skip_serializing_if = "Option::is_none")]
22 pub display: Option<String>,
23 #[serde(rename = "name")]
24 pub name: String,
25 #[serde(rename = "weight", skip_serializing_if = "Option::is_none")]
26 pub weight: Option<i32>,
27 #[serde(
28 rename = "profile",
29 default,
30 with = "::serde_with::rust::double_option",
31 skip_serializing_if = "Option::is_none"
32 )]
33 pub profile: Option<Option<Box<crate::models::BriefConfigContextProfile>>>,
34 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
35 pub description: Option<String>,
36 #[serde(rename = "is_active", skip_serializing_if = "Option::is_none")]
37 pub is_active: Option<bool>,
38 #[serde(rename = "regions", skip_serializing_if = "Option::is_none")]
39 pub regions: Option<Vec<crate::models::Region>>,
40 #[serde(rename = "site_groups", skip_serializing_if = "Option::is_none")]
41 pub site_groups: Option<Vec<crate::models::SiteGroup>>,
42 #[serde(rename = "sites", skip_serializing_if = "Option::is_none")]
43 pub sites: Option<Vec<crate::models::Site>>,
44 #[serde(rename = "locations", skip_serializing_if = "Option::is_none")]
45 pub locations: Option<Vec<crate::models::Location>>,
46 #[serde(rename = "device_types", skip_serializing_if = "Option::is_none")]
47 pub device_types: Option<Vec<crate::models::DeviceType>>,
48 #[serde(rename = "roles", skip_serializing_if = "Option::is_none")]
49 pub roles: Option<Vec<crate::models::DeviceRole>>,
50 #[serde(rename = "platforms", skip_serializing_if = "Option::is_none")]
51 pub platforms: Option<Vec<crate::models::Platform>>,
52 #[serde(rename = "cluster_types", skip_serializing_if = "Option::is_none")]
53 pub cluster_types: Option<Vec<crate::models::ClusterType>>,
54 #[serde(rename = "cluster_groups", skip_serializing_if = "Option::is_none")]
55 pub cluster_groups: Option<Vec<crate::models::ClusterGroup>>,
56 #[serde(rename = "clusters", skip_serializing_if = "Option::is_none")]
57 pub clusters: Option<Vec<crate::models::Cluster>>,
58 #[serde(rename = "tenant_groups", skip_serializing_if = "Option::is_none")]
59 pub tenant_groups: Option<Vec<crate::models::TenantGroup>>,
60 #[serde(rename = "tenants", skip_serializing_if = "Option::is_none")]
61 pub tenants: Option<Vec<crate::models::Tenant>>,
62 #[serde(
63 rename = "owner",
64 default,
65 with = "::serde_with::rust::double_option",
66 skip_serializing_if = "Option::is_none"
67 )]
68 pub owner: Option<Option<Box<crate::models::BriefOwner>>>,
69 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
70 pub tags: Option<Vec<String>>,
71 #[serde(rename = "data_source", skip_serializing_if = "Option::is_none")]
72 pub data_source: Option<Box<crate::models::BriefDataSource>>,
73 #[serde(rename = "data_path", skip_serializing_if = "Option::is_none")]
75 pub data_path: Option<String>,
76 #[serde(rename = "data_file", skip_serializing_if = "Option::is_none")]
77 pub data_file: Option<Box<crate::models::BriefDataFile>>,
78 #[serde(
79 rename = "data_synced",
80 default,
81 with = "::serde_with::rust::double_option",
82 skip_serializing_if = "Option::is_none"
83 )]
84 pub data_synced: Option<Option<String>>,
85 #[serde(rename = "data", deserialize_with = "Option::deserialize")]
86 pub data: Option<serde_json::Value>,
87 #[serde(
88 rename = "created",
89 default,
90 with = "::serde_with::rust::double_option",
91 skip_serializing_if = "Option::is_none"
92 )]
93 pub created: Option<Option<String>>,
94 #[serde(
95 rename = "last_updated",
96 default,
97 with = "::serde_with::rust::double_option",
98 skip_serializing_if = "Option::is_none"
99 )]
100 pub last_updated: Option<Option<String>>,
101}
102
103impl ConfigContext {
104 pub fn new(name: String, data: Option<serde_json::Value>) -> ConfigContext {
106 ConfigContext {
107 id: None,
108 url: None,
109 display_url: None,
110 display: None,
111 name,
112 weight: None,
113 profile: None,
114 description: None,
115 is_active: None,
116 regions: None,
117 site_groups: None,
118 sites: None,
119 locations: None,
120 device_types: None,
121 roles: None,
122 platforms: None,
123 cluster_types: None,
124 cluster_groups: None,
125 clusters: None,
126 tenant_groups: None,
127 tenants: None,
128 owner: None,
129 tags: None,
130 data_source: None,
131 data_path: None,
132 data_file: None,
133 data_synced: None,
134 data,
135 created: None,
136 last_updated: None,
137 }
138 }
139}