use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Outpost {
#[serde(rename = "pk")]
pub pk: uuid::Uuid,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "type")]
pub r#type: models::OutpostTypeEnum,
#[serde(rename = "providers")]
pub providers: Vec<i32>,
#[serde(rename = "providers_obj")]
pub providers_obj: Vec<models::Provider>,
#[serde(rename = "service_connection", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub service_connection: Option<Option<uuid::Uuid>>,
#[serde(rename = "service_connection_obj")]
pub service_connection_obj: Box<models::ServiceConnection>,
#[serde(rename = "token_identifier")]
pub token_identifier: String,
#[serde(rename = "config")]
pub config: std::collections::HashMap<String, serde_json::Value>,
#[serde(rename = "managed", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub managed: Option<Option<String>>,
}
impl Outpost {
pub fn new(pk: uuid::Uuid, name: String, r#type: models::OutpostTypeEnum, providers: Vec<i32>, providers_obj: Vec<models::Provider>, service_connection_obj: models::ServiceConnection, token_identifier: String, config: std::collections::HashMap<String, serde_json::Value>) -> Outpost {
Outpost {
pk,
name,
r#type,
providers,
providers_obj,
service_connection: None,
service_connection_obj: Box::new(service_connection_obj),
token_identifier,
config,
managed: None,
}
}
}