/*
* Hanzo Cloud API
*
* The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
*
* The version of the OpenAPI document: v1
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ArgoTree {
/// Hosts is ArgoCD's per-node machine inventory. Always empty: this plane projects applications and serves no cluster-node view.
#[serde(rename = "hosts", skip_serializing_if = "Option::is_none")]
pub hosts: Option<Vec<serde_json::Value>>,
/// Nodes is the FLAT node list, root first: the App CR, then the objects the operator owns, then their ReplicaSets and Pods. The hierarchy is in ParentRefs, not in the ordering.
#[serde(rename = "nodes", skip_serializing_if = "Option::is_none")]
pub nodes: Option<Vec<models::ArgoNode>>,
/// OrphanedNodes are objects in the namespace belonging to no application. Always empty: this walk reaches an object only THROUGH ownership from the App CR, so it can never hold one that is orphaned.
#[serde(rename = "orphanedNodes", skip_serializing_if = "Option::is_none")]
pub orphaned_nodes: Option<Vec<models::ArgoNode>>,
}
impl ArgoTree {
pub fn new() -> ArgoTree {
ArgoTree {
hosts: None,
nodes: None,
orphaned_nodes: None,
}
}
}