tembo-api-client 1.1.1

API client for Tembo Cloud's Platform API (api.tembo.io)
Documentation
/*
 * Tembo Cloud
 *
 * Platform API for Tembo Cloud             </br>             </br>             To find a Tembo Data API, please find it here:             </br>             </br>             [AWS US East 1](https://api.data-1.use1.tembo.io/swagger-ui/)
 *
 * The version of the OpenAPI document: v1.0.0
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Instance {
    #[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")]
    pub autoscaling: Box<models::Autoscaling>,
    #[serde(
        rename = "connection_info",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub connection_info: Option<Option<Box<models::ConnectionInfo>>>,
    #[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")]
    pub cpu: models::Cpu,
    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
    pub created_at: Option<String>,
    #[serde(rename = "dataplane_index")]
    pub dataplane_index: String,
    #[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")]
    pub environment: models::Environment,
    #[serde(
        rename = "extensions",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub extensions: Option<Option<Vec<models::ExtensionStatus>>>,
    #[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 = "first_recoverability_time",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub first_recoverability_time: Option<Option<String>>,
    #[serde(
        rename = "image",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub image: Option<Option<String>>,
    #[serde(rename = "instance_id")]
    pub instance_id: 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 = "last_updated_at", skip_serializing_if = "Option::is_none")]
    pub last_updated_at: Option<String>,
    #[serde(
        rename = "last_wal_archive_status",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub last_wal_archive_status: Option<Option<String>>,
    #[serde(rename = "memory")]
    pub memory: models::Memory,
    #[serde(rename = "namespace")]
    pub namespace: String,
    #[serde(rename = "organization_id")]
    pub organization_id: String,
    #[serde(rename = "organization_name")]
    pub organization_name: String,
    #[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>>>,
    /// Major Postgres version this instance is using. Currently: 14, 15, 16 and 17
    #[serde(rename = "postgres_version")]
    pub postgres_version: i32,
    #[serde(rename = "provider_id")]
    pub provider_id: String,
    #[serde(rename = "region_id")]
    pub region_id: String,
    #[serde(rename = "region_name")]
    pub region_name: String,
    #[serde(rename = "replicas")]
    pub replicas: i32,
    #[serde(
        rename = "runtime_config",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub runtime_config: Option<Option<Vec<models::PgConfig>>>,
    #[serde(
        rename = "spot",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub spot: Option<Option<bool>>,
    #[serde(rename = "stack_type")]
    pub stack_type: models::StackType,
    #[serde(rename = "state")]
    pub state: models::State,
    #[serde(rename = "storage")]
    pub storage: 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::TrunkInstallStatus>>>,
}