rancher_client 1.0.3

Rancher API client for Rust using OpenAPI Generator and kube
/*
 * Kubernetes
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1.27.5+k3s1
 * 
 * Generated by: https://openapi-generator.tech
 */

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

/// IoCattleManagementv3ClusterSpec : Spec is the specification of the desired configurationi of the cluster.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct IoCattleManagementv3ClusterSpec {
    #[serde(rename = "agentEnvVars", skip_serializing_if = "Option::is_none")]
    pub agent_env_vars: Option<Vec<serde_json::Value>>,
    #[serde(rename = "agentImageOverride", skip_serializing_if = "Option::is_none")]
    pub agent_image_override: Option<String>,
    #[serde(rename = "aksConfig", skip_serializing_if = "Option::is_none")]
    pub aks_config: Option<serde_json::Value>,
    #[serde(rename = "amazonElasticContainerServiceConfig", skip_serializing_if = "Option::is_none")]
    pub amazon_elastic_container_service_config: Option<std::collections::HashMap<String, serde_json::Value>>,
    #[serde(rename = "answers", skip_serializing_if = "Option::is_none")]
    pub answers: Option<serde_json::Value>,
    #[serde(rename = "azureKubernetesServiceConfig", skip_serializing_if = "Option::is_none")]
    pub azure_kubernetes_service_config: Option<std::collections::HashMap<String, serde_json::Value>>,
    #[serde(rename = "clusterAgentDeploymentCustomization", skip_serializing_if = "Option::is_none")]
    pub cluster_agent_deployment_customization: Option<serde_json::Value>,
    #[serde(rename = "clusterSecrets", skip_serializing_if = "Option::is_none")]
    pub cluster_secrets: Option<serde_json::Value>,
    #[serde(rename = "clusterTemplateId", skip_serializing_if = "Option::is_none")]
    pub cluster_template_id: Option<String>,
    #[serde(rename = "clusterTemplateRevisionId", skip_serializing_if = "Option::is_none")]
    pub cluster_template_revision_id: Option<String>,
    #[serde(rename = "defaultClusterRoleForProjectMembers", skip_serializing_if = "Option::is_none")]
    pub default_cluster_role_for_project_members: Option<String>,
    #[serde(rename = "defaultPodSecurityAdmissionConfigurationTemplateName", skip_serializing_if = "Option::is_none")]
    pub default_pod_security_admission_configuration_template_name: Option<String>,
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    #[serde(rename = "desiredAgentImage", skip_serializing_if = "Option::is_none")]
    pub desired_agent_image: Option<String>,
    #[serde(rename = "desiredAuthImage", skip_serializing_if = "Option::is_none")]
    pub desired_auth_image: Option<String>,
    /// The display name of the cluster.
    #[serde(rename = "displayName")]
    pub display_name: String,
    #[serde(rename = "dockerRootDir", skip_serializing_if = "Option::is_none")]
    pub docker_root_dir: Option<String>,
    #[serde(rename = "eksConfig", skip_serializing_if = "Option::is_none")]
    pub eks_config: Option<serde_json::Value>,
    #[serde(rename = "enableNetworkPolicy", skip_serializing_if = "Option::is_none")]
    pub enable_network_policy: Option<bool>,
    #[serde(rename = "fleetAgentDeploymentCustomization", skip_serializing_if = "Option::is_none")]
    pub fleet_agent_deployment_customization: Option<serde_json::Value>,
    #[serde(rename = "fleetWorkspaceName", skip_serializing_if = "Option::is_none")]
    pub fleet_workspace_name: Option<String>,
    #[serde(rename = "genericEngineConfig", skip_serializing_if = "Option::is_none")]
    pub generic_engine_config: Option<std::collections::HashMap<String, serde_json::Value>>,
    #[serde(rename = "gkeConfig", skip_serializing_if = "Option::is_none")]
    pub gke_config: Option<serde_json::Value>,
    #[serde(rename = "googleKubernetesEngineConfig", skip_serializing_if = "Option::is_none")]
    pub google_kubernetes_engine_config: Option<std::collections::HashMap<String, serde_json::Value>>,
    #[serde(rename = "importedConfig", skip_serializing_if = "Option::is_none")]
    pub imported_config: Option<serde_json::Value>,
    #[serde(rename = "internal", skip_serializing_if = "Option::is_none")]
    pub internal: Option<bool>,
    #[serde(rename = "k3sConfig", skip_serializing_if = "Option::is_none")]
    pub k3s_config: Option<serde_json::Value>,
    #[serde(rename = "localClusterAuthEndpoint", skip_serializing_if = "Option::is_none")]
    pub local_cluster_auth_endpoint: Option<serde_json::Value>,
    #[serde(rename = "questions", skip_serializing_if = "Option::is_none")]
    pub questions: Option<Vec<serde_json::Value>>,
    #[serde(rename = "rancherKubernetesEngineConfig", skip_serializing_if = "Option::is_none")]
    pub rancher_kubernetes_engine_config: Option<serde_json::Value>,
    #[serde(rename = "rke2Config", skip_serializing_if = "Option::is_none")]
    pub rke2_config: Option<serde_json::Value>,
    #[serde(rename = "windowsPreferedCluster", skip_serializing_if = "Option::is_none")]
    pub windows_prefered_cluster: Option<bool>,
}

impl IoCattleManagementv3ClusterSpec {
    /// Spec is the specification of the desired configurationi of the cluster.
    pub fn new(display_name: String) -> IoCattleManagementv3ClusterSpec {
        IoCattleManagementv3ClusterSpec {
            agent_env_vars: None,
            agent_image_override: None,
            aks_config: None,
            amazon_elastic_container_service_config: None,
            answers: None,
            azure_kubernetes_service_config: None,
            cluster_agent_deployment_customization: None,
            cluster_secrets: None,
            cluster_template_id: None,
            cluster_template_revision_id: None,
            default_cluster_role_for_project_members: None,
            default_pod_security_admission_configuration_template_name: None,
            description: None,
            desired_agent_image: None,
            desired_auth_image: None,
            display_name,
            docker_root_dir: None,
            eks_config: None,
            enable_network_policy: None,
            fleet_agent_deployment_customization: None,
            fleet_workspace_name: None,
            generic_engine_config: None,
            gke_config: None,
            google_kubernetes_engine_config: None,
            imported_config: None,
            internal: None,
            k3s_config: None,
            local_cluster_auth_endpoint: None,
            questions: None,
            rancher_kubernetes_engine_config: None,
            rke2_config: None,
            windows_prefered_cluster: None,
        }
    }
}