use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PatchInstance {
#[serde(
rename = "app_services",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub app_services: Option<Option<Vec<models::AppType>>>,
#[serde(
rename = "autoscaling",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub autoscaling: Option<Option<Box<models::PatchAutoscaling>>>,
#[serde(
rename = "connection_pooler",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub connection_pooler: Option<Option<Box<models::ConnectionPooler>>>,
#[serde(
rename = "cpu",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub cpu: Option<Option<models::Cpu>>,
#[serde(
rename = "dedicated_networking",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub dedicated_networking: Option<Option<Box<models::DedicatedNetworking>>>,
#[serde(
rename = "environment",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub environment: Option<Option<models::Environment>>,
#[serde(
rename = "experimental",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub experimental: Option<Option<Box<models::Experimental>>>,
#[serde(
rename = "extensions",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub extensions: Option<Option<Vec<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",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub instance_name: Option<Option<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",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub memory: Option<Option<models::Memory>>,
#[serde(
rename = "postgres_configs",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub postgres_configs: Option<Option<Vec<models::PgConfig>>>,
#[serde(
rename = "replicas",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub replicas: Option<Option<i32>>,
#[serde(
rename = "spot",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub spot: Option<Option<bool>>,
#[serde(
rename = "storage",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub storage: Option<Option<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<models::TrunkInstall>>>,
}
impl PatchInstance {
pub fn new() -> PatchInstance {
PatchInstance {
app_services: None,
autoscaling: None,
connection_pooler: None,
cpu: None,
dedicated_networking: None,
environment: None,
experimental: None,
extensions: None,
extra_domains_rw: None,
instance_name: None,
ip_allow_list: None,
memory: None,
postgres_configs: None,
replicas: None,
spot: None,
storage: None,
trunk_installs: None,
}
}
}