#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct ConfigContext {
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(rename = "url", skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(rename = "display_url", skip_serializing_if = "Option::is_none")]
pub display_url: Option<String>,
#[serde(rename = "display", skip_serializing_if = "Option::is_none")]
pub display: Option<String>,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "weight", skip_serializing_if = "Option::is_none")]
pub weight: Option<i32>,
#[serde(
rename = "profile",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub profile: Option<Option<Box<crate::models::BriefConfigContextProfile>>>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "is_active", skip_serializing_if = "Option::is_none")]
pub is_active: Option<bool>,
#[serde(rename = "regions", skip_serializing_if = "Option::is_none")]
pub regions: Option<Vec<crate::models::Region>>,
#[serde(rename = "site_groups", skip_serializing_if = "Option::is_none")]
pub site_groups: Option<Vec<crate::models::SiteGroup>>,
#[serde(rename = "sites", skip_serializing_if = "Option::is_none")]
pub sites: Option<Vec<crate::models::Site>>,
#[serde(rename = "locations", skip_serializing_if = "Option::is_none")]
pub locations: Option<Vec<crate::models::Location>>,
#[serde(rename = "device_types", skip_serializing_if = "Option::is_none")]
pub device_types: Option<Vec<crate::models::DeviceType>>,
#[serde(rename = "roles", skip_serializing_if = "Option::is_none")]
pub roles: Option<Vec<crate::models::DeviceRole>>,
#[serde(rename = "platforms", skip_serializing_if = "Option::is_none")]
pub platforms: Option<Vec<crate::models::Platform>>,
#[serde(rename = "cluster_types", skip_serializing_if = "Option::is_none")]
pub cluster_types: Option<Vec<crate::models::ClusterType>>,
#[serde(rename = "cluster_groups", skip_serializing_if = "Option::is_none")]
pub cluster_groups: Option<Vec<crate::models::ClusterGroup>>,
#[serde(rename = "clusters", skip_serializing_if = "Option::is_none")]
pub clusters: Option<Vec<crate::models::Cluster>>,
#[serde(rename = "tenant_groups", skip_serializing_if = "Option::is_none")]
pub tenant_groups: Option<Vec<crate::models::TenantGroup>>,
#[serde(rename = "tenants", skip_serializing_if = "Option::is_none")]
pub tenants: Option<Vec<crate::models::Tenant>>,
#[serde(
rename = "owner",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub owner: Option<Option<Box<crate::models::BriefOwner>>>,
#[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(rename = "data_source", skip_serializing_if = "Option::is_none")]
pub data_source: Option<Box<crate::models::BriefDataSource>>,
#[serde(rename = "data_path", skip_serializing_if = "Option::is_none")]
pub data_path: Option<String>,
#[serde(rename = "data_file", skip_serializing_if = "Option::is_none")]
pub data_file: Option<Box<crate::models::BriefDataFile>>,
#[serde(
rename = "data_synced",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub data_synced: Option<Option<String>>,
#[serde(rename = "data", deserialize_with = "Option::deserialize")]
pub data: Option<serde_json::Value>,
#[serde(
rename = "created",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub created: Option<Option<String>>,
#[serde(
rename = "last_updated",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub last_updated: Option<Option<String>>,
}
impl ConfigContext {
pub fn new(name: String, data: Option<serde_json::Value>) -> ConfigContext {
ConfigContext {
id: None,
url: None,
display_url: None,
display: None,
name,
weight: None,
profile: None,
description: None,
is_active: None,
regions: None,
site_groups: None,
sites: None,
locations: None,
device_types: None,
roles: None,
platforms: None,
cluster_types: None,
cluster_groups: None,
clusters: None,
tenant_groups: None,
tenants: None,
owner: None,
tags: None,
data_source: None,
data_path: None,
data_file: None,
data_synced: None,
data,
created: None,
last_updated: None,
}
}
}