#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use schemars::JsonSchema;
pub use serde::{Serialize, Deserialize};
pub use std::collections::BTreeMap;
pub use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString;
pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, JsonSchema)]
#[kube(group = "networking.istio.io", version = "v1beta1", kind = "ProxyConfig", plural = "proxyconfigs")]
#[kube(namespaced)]
#[kube(status = "ProxyConfigStatus")]
pub struct ProxyConfigSpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub concurrency: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "environmentVariables")]
pub environment_variables: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<ProxyConfigImage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<ProxyConfigSelector>,
}
#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)]
pub struct ProxyConfigImage {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imageType")]
pub image_type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)]
pub struct ProxyConfigSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)]
pub struct ProxyConfigStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")]
pub observed_generation: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "validationMessages")]
pub validation_messages: Option<Vec<ProxyConfigStatusValidationMessages>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)]
pub struct ProxyConfigStatusValidationMessages {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "documentationUrl")]
pub documentation_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<ProxyConfigStatusValidationMessagesLevel>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<ProxyConfigStatusValidationMessagesType>,
}
#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)]
pub enum ProxyConfigStatusValidationMessagesLevel {
#[serde(rename = "UNKNOWN")]
Unknown,
#[serde(rename = "ERROR")]
Error,
#[serde(rename = "WARNING")]
Warning,
#[serde(rename = "INFO")]
Info,
}
#[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)]
pub struct ProxyConfigStatusValidationMessagesType {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}