#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateInstance {
#[serde(
rename = "app_services",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub app_services: Option<Option<Vec<crate::models::AppType>>>,
#[serde(
rename = "connection_pooler",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub connection_pooler: Option<Option<Box<crate::models::ConnectionPooler>>>,
#[serde(rename = "cpu")]
pub cpu: crate::models::Cpu,
#[serde(rename = "environment")]
pub environment: crate::models::Environment,
#[serde(
rename = "extensions",
default,
skip_serializing_if = "Option::is_none"
)]
pub extensions: Option<Option<Vec<crate::models::Extension>>>,
#[serde(
rename = "extra_domains_rw",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub extra_domains_rw: Option<Option<Vec<String>>>,
#[serde(rename = "instance_name")]
pub instance_name: String,
#[serde(
rename = "ip_allow_list",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub ip_allow_list: Option<Option<Vec<String>>>,
#[serde(rename = "memory")]
pub memory: crate::models::Memory,
#[serde(rename = "pg_version", skip_serializing_if = "Option::is_none")]
pub pg_version: Option<i32>,
#[serde(
rename = "postgres_configs",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub postgres_configs: Option<Option<Vec<crate::models::PgConfig>>>,
#[serde(rename = "replicas", skip_serializing_if = "Option::is_none")]
pub replicas: Option<i32>,
#[serde(rename = "stack_type")]
pub stack_type: crate::models::StackType,
#[serde(rename = "storage")]
pub storage: crate::models::Storage,
#[serde(
rename = "trunk_installs",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub trunk_installs: Option<Option<Vec<crate::models::TrunkInstall>>>,
}
impl CreateInstance {
pub fn new(
cpu: crate::models::Cpu,
environment: crate::models::Environment,
instance_name: String,
memory: crate::models::Memory,
stack_type: crate::models::StackType,
storage: crate::models::Storage,
) -> CreateInstance {
CreateInstance {
app_services: None,
connection_pooler: None,
cpu,
environment,
extensions: None,
extra_domains_rw: None,
instance_name,
ip_allow_list: None,
memory,
pg_version: None,
postgres_configs: None,
replicas: None,
stack_type,
storage,
trunk_installs: None,
}
}
}