#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use std::collections::BTreeMap;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "canaries.flanksource.com", version = "v1", kind = "Topology", plural = "topologies")]
#[kube(namespaced)]
#[kube(status = "TopologyStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct TopologySpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub components: Option<Vec<TopologyComponents>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub configs: Option<Vec<TopologyConfigs>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "groupBy")]
pub group_by: Option<TopologyGroupBy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "healthExpr")]
pub health_expr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub icon: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<TopologyId>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owner: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<Vec<TopologyProperties>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub push: Option<TopologyPush>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub schedule: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "statusExpr")]
pub status_expr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tooltip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponents {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub checks: Option<Vec<TopologyComponentsChecks>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub components: Option<Vec<TopologyComponentsComponents>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configID")]
pub config_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub configs: Option<Vec<TopologyComponentsConfigs>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalID")]
pub external_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "forEach")]
pub for_each: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub health: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "healthExpr")]
pub health_expr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hidden: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub icon: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<TopologyComponentsId>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lifecycle: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logs: Option<Vec<TopologyComponentsLogs>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lookup: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub order: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub owner: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "parentLookup")]
pub parent_lookup: Option<TopologyComponentsParentLookup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<Vec<TopologyComponentsProperties>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub relationships: Option<Vec<TopologyComponentsRelationships>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selectors: Option<Vec<TopologyComponentsSelectors>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "statusExpr")]
pub status_expr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub summary: Option<TopologyComponentsSummary>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tooltip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsChecks {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inline: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<TopologyComponentsChecksSelector>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsChecksSelector {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub agent: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cache: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldSelector")]
pub field_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub health: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "includeDeleted")]
pub include_deleted: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub search: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub statuses: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tagSelector")]
pub tag_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub types: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsComponents {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsConfigs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub agent: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cache: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldSelector")]
pub field_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub health: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "includeDeleted")]
pub include_deleted: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub search: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub statuses: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tagSelector")]
pub tag_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub types: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsId {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub javascript: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "jsonPath")]
pub json_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub template: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsLogs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsParentLookup {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalID")]
pub external_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configLookup")]
pub config_lookup: Option<TopologyComponentsPropertiesConfigLookup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub headline: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hidden: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub icon: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastTransition")]
pub last_transition: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub links: Option<Vec<TopologyComponentsPropertiesLinks>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lookup: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub min: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub order: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub summary: Option<TopologyComponentsPropertiesSummary>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tooltip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsPropertiesConfigLookup {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub config: Option<TopologyComponentsPropertiesConfigLookupConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display: Option<TopologyComponentsPropertiesConfigLookupDisplay>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsPropertiesConfigLookupConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub agent: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cache: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldSelector")]
pub field_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub health: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "includeDeleted")]
pub include_deleted: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub search: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub statuses: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tagSelector")]
pub tag_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub types: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsPropertiesConfigLookupDisplay {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub javascript: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "jsonPath")]
pub json_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub template: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsPropertiesLinks {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub icon: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tooltip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsPropertiesSummary {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub javascript: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "jsonPath")]
pub json_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub template: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsRelationships {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ref")]
pub r#ref: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsSelectors {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub agent: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cache: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldSelector")]
pub field_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub health: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "includeDeleted")]
pub include_deleted: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub search: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub statuses: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tagSelector")]
pub tag_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub types: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyComponentsSummary {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub checks: Option<BTreeMap<String, i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub healthy: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub incidents: Option<BTreeMap<String, BTreeMap<String, i64>>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub info: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub insights: Option<BTreeMap<String, BTreeMap<String, i64>>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unhealthy: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub warning: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyConfigs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub agent: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cache: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldSelector")]
pub field_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub health: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "includeDeleted")]
pub include_deleted: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub search: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub statuses: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tagSelector")]
pub tag_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub types: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyGroupBy {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<TopologyGroupBySelector>,
pub tag: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyGroupBySelector {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub agent: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cache: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldSelector")]
pub field_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub health: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "includeDeleted")]
pub include_deleted: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub search: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub statuses: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tagSelector")]
pub tag_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub types: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyId {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub javascript: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "jsonPath")]
pub json_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub template: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configLookup")]
pub config_lookup: Option<TopologyPropertiesConfigLookup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub headline: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hidden: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub icon: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastTransition")]
pub last_transition: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub links: Option<Vec<TopologyPropertiesLinks>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lookup: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub min: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub order: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub summary: Option<TopologyPropertiesSummary>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tooltip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPropertiesConfigLookup {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub config: Option<TopologyPropertiesConfigLookupConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display: Option<TopologyPropertiesConfigLookupDisplay>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPropertiesConfigLookupConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub agent: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cache: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldSelector")]
pub field_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub health: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "includeDeleted")]
pub include_deleted: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub search: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub statuses: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tagSelector")]
pub tag_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub types: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPropertiesConfigLookupDisplay {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub javascript: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "jsonPath")]
pub json_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub template: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPropertiesLinks {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub icon: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tooltip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPropertiesSummary {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expr: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub javascript: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "jsonPath")]
pub json_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub template: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPush {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "awsSigV4")]
pub aws_sig_v4: Option<TopologyPushAwsSigV4>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bearer: Option<TopologyPushBearer>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub digest: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub headers: Option<Vec<TopologyPushHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ntlm: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ntlmv2: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oauth: Option<TopologyPushOauth>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<TopologyPushPassword>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls: Option<TopologyPushTls>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<TopologyPushUsername>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4 {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessKey")]
pub access_key: Option<TopologyPushAwsSigV4AccessKey>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "assumeRole")]
pub assume_role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub connection: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKey")]
pub secret_key: Option<TopologyPushAwsSigV4SecretKey>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sessionToken")]
pub session_token: Option<TopologyPushAwsSigV4SessionToken>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "skipTLSVerify")]
pub skip_tls_verify: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4AccessKey {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<TopologyPushAwsSigV4AccessKeyValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4AccessKeyValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<TopologyPushAwsSigV4AccessKeyValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "helmRef")]
pub helm_ref: Option<TopologyPushAwsSigV4AccessKeyValueFromHelmRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<TopologyPushAwsSigV4AccessKeyValueFromSecretKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4AccessKeyValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4AccessKeyValueFromHelmRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4AccessKeyValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4SecretKey {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<TopologyPushAwsSigV4SecretKeyValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4SecretKeyValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<TopologyPushAwsSigV4SecretKeyValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "helmRef")]
pub helm_ref: Option<TopologyPushAwsSigV4SecretKeyValueFromHelmRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<TopologyPushAwsSigV4SecretKeyValueFromSecretKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4SecretKeyValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4SecretKeyValueFromHelmRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4SecretKeyValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4SessionToken {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<TopologyPushAwsSigV4SessionTokenValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4SessionTokenValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<TopologyPushAwsSigV4SessionTokenValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "helmRef")]
pub helm_ref: Option<TopologyPushAwsSigV4SessionTokenValueFromHelmRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<TopologyPushAwsSigV4SessionTokenValueFromSecretKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4SessionTokenValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4SessionTokenValueFromHelmRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushAwsSigV4SessionTokenValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushBearer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<TopologyPushBearerValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushBearerValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<TopologyPushBearerValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "helmRef")]
pub helm_ref: Option<TopologyPushBearerValueFromHelmRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<TopologyPushBearerValueFromSecretKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushBearerValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushBearerValueFromHelmRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushBearerValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushHeaders {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<TopologyPushHeadersValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushHeadersValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<TopologyPushHeadersValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "helmRef")]
pub helm_ref: Option<TopologyPushHeadersValueFromHelmRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<TopologyPushHeadersValueFromSecretKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushHeadersValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushHeadersValueFromHelmRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushHeadersValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushOauth {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientID")]
pub client_id: Option<TopologyPushOauthClientId>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientSecret")]
pub client_secret: Option<TopologyPushOauthClientSecret>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub params: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tokenURL")]
pub token_url: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushOauthClientId {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<TopologyPushOauthClientIdValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushOauthClientIdValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<TopologyPushOauthClientIdValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "helmRef")]
pub helm_ref: Option<TopologyPushOauthClientIdValueFromHelmRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<TopologyPushOauthClientIdValueFromSecretKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushOauthClientIdValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushOauthClientIdValueFromHelmRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushOauthClientIdValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushOauthClientSecret {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<TopologyPushOauthClientSecretValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushOauthClientSecretValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<TopologyPushOauthClientSecretValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "helmRef")]
pub helm_ref: Option<TopologyPushOauthClientSecretValueFromHelmRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<TopologyPushOauthClientSecretValueFromSecretKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushOauthClientSecretValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushOauthClientSecretValueFromHelmRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushOauthClientSecretValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushPassword {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<TopologyPushPasswordValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushPasswordValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<TopologyPushPasswordValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "helmRef")]
pub helm_ref: Option<TopologyPushPasswordValueFromHelmRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<TopologyPushPasswordValueFromSecretKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushPasswordValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushPasswordValueFromHelmRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushPasswordValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTls {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca: Option<TopologyPushTlsCa>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<TopologyPushTlsCert>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "handshakeTimeout")]
pub handshake_timeout: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "insecureSkipVerify")]
pub insecure_skip_verify: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<TopologyPushTlsKey>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTlsCa {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<TopologyPushTlsCaValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTlsCaValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<TopologyPushTlsCaValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "helmRef")]
pub helm_ref: Option<TopologyPushTlsCaValueFromHelmRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<TopologyPushTlsCaValueFromSecretKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTlsCaValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTlsCaValueFromHelmRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTlsCaValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTlsCert {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<TopologyPushTlsCertValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTlsCertValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<TopologyPushTlsCertValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "helmRef")]
pub helm_ref: Option<TopologyPushTlsCertValueFromHelmRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<TopologyPushTlsCertValueFromSecretKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTlsCertValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTlsCertValueFromHelmRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTlsCertValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTlsKey {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<TopologyPushTlsKeyValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTlsKeyValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<TopologyPushTlsKeyValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "helmRef")]
pub helm_ref: Option<TopologyPushTlsKeyValueFromHelmRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<TopologyPushTlsKeyValueFromSecretKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTlsKeyValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTlsKeyValueFromHelmRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushTlsKeyValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushUsername {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<TopologyPushUsernameValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushUsernameValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<TopologyPushUsernameValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "helmRef")]
pub helm_ref: Option<TopologyPushUsernameValueFromHelmRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<TopologyPushUsernameValueFromSecretKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushUsernameValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushUsernameValueFromHelmRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyPushUsernameValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TopologyStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")]
pub observed_generation: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "persistentID")]
pub persistent_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}