#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use std::collections::BTreeMap;
pub use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "monitoring.coreos.com", version = "v1", kind = "Probe", plural = "probes")]
#[kube(namespaced)]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct ProbeSpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization: Option<ProbeAuthorization>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "basicAuth")]
pub basic_auth: Option<ProbeBasicAuth>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bearerTokenSecret")]
pub bearer_token_secret: Option<ProbeBearerTokenSecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "convertClassicHistogramsToNHCB")]
pub convert_classic_histograms_to_nhcb: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fallbackScrapeProtocol")]
pub fallback_scrape_protocol: Option<ProbeFallbackScrapeProtocol>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub interval: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "jobName")]
pub job_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keepDroppedTargets")]
pub keep_dropped_targets: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelLimit")]
pub label_limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelNameLengthLimit")]
pub label_name_length_limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelValueLengthLimit")]
pub label_value_length_limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "metricRelabelings")]
pub metric_relabelings: Option<Vec<ProbeMetricRelabelings>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub module: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nativeHistogramBucketLimit")]
pub native_histogram_bucket_limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nativeHistogramMinBucketFactor")]
pub native_histogram_min_bucket_factor: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oauth2: Option<ProbeOauth2>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prober: Option<ProbeProber>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sampleLimit")]
pub sample_limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scrapeClass")]
pub scrape_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scrapeClassicHistograms")]
pub scrape_classic_histograms: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scrapeProtocols")]
pub scrape_protocols: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scrapeTimeout")]
pub scrape_timeout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetLimit")]
pub target_limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets: Option<ProbeTargets>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tlsConfig")]
pub tls_config: Option<ProbeTlsConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeAuthorization {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credentials: Option<ProbeAuthorizationCredentials>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeAuthorizationCredentials {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeBasicAuth {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<ProbeBasicAuthPassword>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<ProbeBasicAuthUsername>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeBasicAuthPassword {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeBasicAuthUsername {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeBearerTokenSecret {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ProbeFallbackScrapeProtocol {
PrometheusProto,
#[serde(rename = "OpenMetricsText0.0.1")]
OpenMetricsText001,
#[serde(rename = "OpenMetricsText1.0.0")]
OpenMetricsText100,
#[serde(rename = "PrometheusText0.0.4")]
PrometheusText004,
#[serde(rename = "PrometheusText1.0.0")]
PrometheusText100,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeMetricRelabelings {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action: Option<ProbeMetricRelabelingsAction>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modulus: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub regex: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub replacement: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub separator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceLabels")]
pub source_labels: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetLabel")]
pub target_label: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ProbeMetricRelabelingsAction {
#[serde(rename = "replace")]
Replace,
#[serde(rename = "Replace")]
ReplaceX,
#[serde(rename = "keep")]
Keep,
#[serde(rename = "Keep")]
KeepX,
#[serde(rename = "drop")]
Drop,
#[serde(rename = "Drop")]
DropX,
#[serde(rename = "hashmod")]
Hashmod,
HashMod,
#[serde(rename = "labelmap")]
Labelmap,
LabelMap,
#[serde(rename = "labeldrop")]
Labeldrop,
LabelDrop,
#[serde(rename = "labelkeep")]
Labelkeep,
LabelKeep,
#[serde(rename = "lowercase")]
Lowercase,
#[serde(rename = "Lowercase")]
LowercaseX,
#[serde(rename = "uppercase")]
Uppercase,
#[serde(rename = "Uppercase")]
UppercaseX,
#[serde(rename = "keepequal")]
Keepequal,
KeepEqual,
#[serde(rename = "dropequal")]
Dropequal,
DropEqual,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeOauth2 {
#[serde(rename = "clientId")]
pub client_id: ProbeOauth2ClientId,
#[serde(rename = "clientSecret")]
pub client_secret: ProbeOauth2ClientSecret,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "endpointParams")]
pub endpoint_params: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "noProxy")]
pub no_proxy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "proxyConnectHeader")]
pub proxy_connect_header: Option<BTreeMap<String, ProbeOauth2ProxyConnectHeader>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "proxyFromEnvironment")]
pub proxy_from_environment: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "proxyUrl")]
pub proxy_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scopes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tlsConfig")]
pub tls_config: Option<ProbeOauth2TlsConfig>,
#[serde(rename = "tokenUrl")]
pub token_url: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeOauth2ClientId {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<ProbeOauth2ClientIdConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<ProbeOauth2ClientIdSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeOauth2ClientIdConfigMap {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeOauth2ClientIdSecret {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeOauth2ClientSecret {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeOauth2ProxyConnectHeader {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeOauth2TlsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca: Option<ProbeOauth2TlsConfigCa>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<ProbeOauth2TlsConfigCert>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "insecureSkipVerify")]
pub insecure_skip_verify: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keySecret")]
pub key_secret: Option<ProbeOauth2TlsConfigKeySecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxVersion")]
pub max_version: Option<ProbeOauth2TlsConfigMaxVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minVersion")]
pub min_version: Option<ProbeOauth2TlsConfigMinVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverName")]
pub server_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeOauth2TlsConfigCa {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<ProbeOauth2TlsConfigCaConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<ProbeOauth2TlsConfigCaSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeOauth2TlsConfigCaConfigMap {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeOauth2TlsConfigCaSecret {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeOauth2TlsConfigCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<ProbeOauth2TlsConfigCertConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<ProbeOauth2TlsConfigCertSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeOauth2TlsConfigCertConfigMap {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeOauth2TlsConfigCertSecret {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeOauth2TlsConfigKeySecret {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ProbeOauth2TlsConfigMaxVersion {
#[serde(rename = "TLS10")]
Tls10,
#[serde(rename = "TLS11")]
Tls11,
#[serde(rename = "TLS12")]
Tls12,
#[serde(rename = "TLS13")]
Tls13,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ProbeOauth2TlsConfigMinVersion {
#[serde(rename = "TLS10")]
Tls10,
#[serde(rename = "TLS11")]
Tls11,
#[serde(rename = "TLS12")]
Tls12,
#[serde(rename = "TLS13")]
Tls13,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeProber {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "proxyUrl")]
pub proxy_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<ProbeProberScheme>,
pub url: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ProbeProberScheme {
#[serde(rename = "http")]
Http,
#[serde(rename = "https")]
Https,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTargets {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ingress: Option<ProbeTargetsIngress>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "staticConfig")]
pub static_config: Option<ProbeTargetsStaticConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTargetsIngress {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<ProbeTargetsIngressNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "relabelingConfigs")]
pub relabeling_configs: Option<Vec<ProbeTargetsIngressRelabelingConfigs>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<ProbeTargetsIngressSelector>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTargetsIngressNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub any: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchNames")]
pub match_names: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTargetsIngressRelabelingConfigs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action: Option<ProbeTargetsIngressRelabelingConfigsAction>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modulus: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub regex: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub replacement: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub separator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceLabels")]
pub source_labels: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetLabel")]
pub target_label: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ProbeTargetsIngressRelabelingConfigsAction {
#[serde(rename = "replace")]
Replace,
#[serde(rename = "Replace")]
ReplaceX,
#[serde(rename = "keep")]
Keep,
#[serde(rename = "Keep")]
KeepX,
#[serde(rename = "drop")]
Drop,
#[serde(rename = "Drop")]
DropX,
#[serde(rename = "hashmod")]
Hashmod,
HashMod,
#[serde(rename = "labelmap")]
Labelmap,
LabelMap,
#[serde(rename = "labeldrop")]
Labeldrop,
LabelDrop,
#[serde(rename = "labelkeep")]
Labelkeep,
LabelKeep,
#[serde(rename = "lowercase")]
Lowercase,
#[serde(rename = "Lowercase")]
LowercaseX,
#[serde(rename = "uppercase")]
Uppercase,
#[serde(rename = "Uppercase")]
UppercaseX,
#[serde(rename = "keepequal")]
Keepequal,
KeepEqual,
#[serde(rename = "dropequal")]
Dropequal,
DropEqual,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTargetsIngressSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ProbeTargetsIngressSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTargetsIngressSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTargetsStaticConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "relabelingConfigs")]
pub relabeling_configs: Option<Vec<ProbeTargetsStaticConfigRelabelingConfigs>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "static")]
pub r#static: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTargetsStaticConfigRelabelingConfigs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action: Option<ProbeTargetsStaticConfigRelabelingConfigsAction>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modulus: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub regex: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub replacement: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub separator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceLabels")]
pub source_labels: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetLabel")]
pub target_label: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ProbeTargetsStaticConfigRelabelingConfigsAction {
#[serde(rename = "replace")]
Replace,
#[serde(rename = "Replace")]
ReplaceX,
#[serde(rename = "keep")]
Keep,
#[serde(rename = "Keep")]
KeepX,
#[serde(rename = "drop")]
Drop,
#[serde(rename = "Drop")]
DropX,
#[serde(rename = "hashmod")]
Hashmod,
HashMod,
#[serde(rename = "labelmap")]
Labelmap,
LabelMap,
#[serde(rename = "labeldrop")]
Labeldrop,
LabelDrop,
#[serde(rename = "labelkeep")]
Labelkeep,
LabelKeep,
#[serde(rename = "lowercase")]
Lowercase,
#[serde(rename = "Lowercase")]
LowercaseX,
#[serde(rename = "uppercase")]
Uppercase,
#[serde(rename = "Uppercase")]
UppercaseX,
#[serde(rename = "keepequal")]
Keepequal,
KeepEqual,
#[serde(rename = "dropequal")]
Dropequal,
DropEqual,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTlsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca: Option<ProbeTlsConfigCa>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<ProbeTlsConfigCert>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "insecureSkipVerify")]
pub insecure_skip_verify: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keySecret")]
pub key_secret: Option<ProbeTlsConfigKeySecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxVersion")]
pub max_version: Option<ProbeTlsConfigMaxVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minVersion")]
pub min_version: Option<ProbeTlsConfigMinVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverName")]
pub server_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTlsConfigCa {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<ProbeTlsConfigCaConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<ProbeTlsConfigCaSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTlsConfigCaConfigMap {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTlsConfigCaSecret {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTlsConfigCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<ProbeTlsConfigCertConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<ProbeTlsConfigCertSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTlsConfigCertConfigMap {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTlsConfigCertSecret {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ProbeTlsConfigKeySecret {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ProbeTlsConfigMaxVersion {
#[serde(rename = "TLS10")]
Tls10,
#[serde(rename = "TLS11")]
Tls11,
#[serde(rename = "TLS12")]
Tls12,
#[serde(rename = "TLS13")]
Tls13,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ProbeTlsConfigMinVersion {
#[serde(rename = "TLS10")]
Tls10,
#[serde(rename = "TLS11")]
Tls11,
#[serde(rename = "TLS12")]
Tls12,
#[serde(rename = "TLS13")]
Tls13,
}