#[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;
pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "monitoring.coreos.com", version = "v1", kind = "Prometheus", plural = "prometheuses")]
#[kube(namespaced)]
#[kube(status = "PrometheusStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct PrometheusSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "additionalAlertManagerConfigs")]
pub additional_alert_manager_configs: Option<PrometheusAdditionalAlertManagerConfigs>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "additionalAlertRelabelConfigs")]
pub additional_alert_relabel_configs: Option<PrometheusAdditionalAlertRelabelConfigs>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "additionalArgs")]
pub additional_args: Option<Vec<PrometheusAdditionalArgs>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "additionalScrapeConfigs")]
pub additional_scrape_configs: Option<PrometheusAdditionalScrapeConfigs>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<PrometheusAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alerting: Option<PrometheusAlerting>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowOverlappingBlocks")]
pub allow_overlapping_blocks: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiserverConfig")]
pub apiserver_config: Option<PrometheusApiserverConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "arbitraryFSAccessThroughSMs")]
pub arbitrary_fs_access_through_s_ms: Option<PrometheusArbitraryFsAccessThroughSMs>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "automountServiceAccountToken")]
pub automount_service_account_token: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "baseImage")]
pub base_image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bodySizeLimit")]
pub body_size_limit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMaps")]
pub config_maps: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<Vec<PrometheusContainers>>,
#[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 = "disableCompaction")]
pub disable_compaction: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsConfig")]
pub dns_config: Option<PrometheusDnsConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsPolicy")]
pub dns_policy: Option<PrometheusDnsPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableAdminAPI")]
pub enable_admin_api: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableFeatures")]
pub enable_features: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableOTLPReceiver")]
pub enable_otlp_receiver: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableRemoteWriteReceiver")]
pub enable_remote_write_receiver: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableServiceLinks")]
pub enable_service_links: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enforcedBodySizeLimit")]
pub enforced_body_size_limit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enforcedKeepDroppedTargets")]
pub enforced_keep_dropped_targets: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enforcedLabelLimit")]
pub enforced_label_limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enforcedLabelNameLengthLimit")]
pub enforced_label_name_length_limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enforcedLabelValueLengthLimit")]
pub enforced_label_value_length_limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enforcedNamespaceLabel")]
pub enforced_namespace_label: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enforcedSampleLimit")]
pub enforced_sample_limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enforcedTargetLimit")]
pub enforced_target_limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "evaluationInterval")]
pub evaluation_interval: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "excludedFromEnforcement")]
pub excluded_from_enforcement: Option<Vec<PrometheusExcludedFromEnforcement>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exemplars: Option<PrometheusExemplars>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalLabels")]
pub external_labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalUrl")]
pub external_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostAliases")]
pub host_aliases: Option<Vec<PrometheusHostAliases>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostNetwork")]
pub host_network: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostUsers")]
pub host_users: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ignoreNamespaceSelectors")]
pub ignore_namespace_selectors: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<PrometheusImagePullPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullSecrets")]
pub image_pull_secrets: Option<Vec<PrometheusImagePullSecrets>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initContainers")]
pub init_containers: Option<Vec<PrometheusInitContainers>>,
#[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 = "listenLocal")]
pub listen_local: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "logFormat")]
pub log_format: Option<PrometheusLogFormat>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "logLevel")]
pub log_level: Option<PrometheusLogLevel>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maximumStartupDurationSeconds")]
pub maximum_startup_duration_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minReadySeconds")]
pub min_ready_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nameEscapingScheme")]
pub name_escaping_scheme: Option<PrometheusNameEscapingScheme>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nameValidationScheme")]
pub name_validation_scheme: Option<PrometheusNameValidationScheme>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub otlp: Option<PrometheusOtlp>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "overrideHonorLabels")]
pub override_honor_labels: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "overrideHonorTimestamps")]
pub override_honor_timestamps: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub paused: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "persistentVolumeClaimRetentionPolicy")]
pub persistent_volume_claim_retention_policy: Option<PrometheusPersistentVolumeClaimRetentionPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podManagementPolicy")]
pub pod_management_policy: Option<PrometheusPodManagementPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podMetadata")]
pub pod_metadata: Option<PrometheusPodMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podMonitorNamespaceSelector")]
pub pod_monitor_namespace_selector: Option<PrometheusPodMonitorNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podMonitorSelector")]
pub pod_monitor_selector: Option<PrometheusPodMonitorSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podTargetLabels")]
pub pod_target_labels: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "portName")]
pub port_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "priorityClassName")]
pub priority_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "probeNamespaceSelector")]
pub probe_namespace_selector: Option<PrometheusProbeNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "probeSelector")]
pub probe_selector: Option<PrometheusProbeSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "prometheusExternalLabelName")]
pub prometheus_external_label_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "prometheusRulesExcludedFromEnforce")]
pub prometheus_rules_excluded_from_enforce: Option<Vec<PrometheusPrometheusRulesExcludedFromEnforce>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub query: Option<PrometheusQuery>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "queryLogFile")]
pub query_log_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "reloadStrategy")]
pub reload_strategy: Option<PrometheusReloadStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "remoteRead")]
pub remote_read: Option<Vec<PrometheusRemoteRead>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "remoteWrite")]
pub remote_write: Option<Vec<PrometheusRemoteWrite>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "remoteWriteReceiverMessageVersions")]
pub remote_write_receiver_message_versions: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "replicaExternalLabelName")]
pub replica_external_label_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<PrometheusResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub retention: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "retentionSize")]
pub retention_size: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "routePrefix")]
pub route_prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ruleNamespaceSelector")]
pub rule_namespace_selector: Option<PrometheusRuleNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ruleQueryOffset")]
pub rule_query_offset: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ruleSelector")]
pub rule_selector: Option<PrometheusRuleSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rules: Option<PrometheusRules>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub runtime: Option<PrometheusRuntime>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sampleLimit")]
pub sample_limit: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scrapeClasses")]
pub scrape_classes: Option<Vec<PrometheusScrapeClasses>>,
#[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 = "scrapeConfigNamespaceSelector")]
pub scrape_config_namespace_selector: Option<PrometheusScrapeConfigNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scrapeConfigSelector")]
pub scrape_config_selector: Option<PrometheusScrapeConfigSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scrapeFailureLogFile")]
pub scrape_failure_log_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scrapeInterval")]
pub scrape_interval: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scrapeNativeHistograms")]
pub scrape_native_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")]
pub secrets: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<PrometheusSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountName")]
pub service_account_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceDiscoveryRole")]
pub service_discovery_role: Option<PrometheusServiceDiscoveryRole>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceMonitorNamespaceSelector")]
pub service_monitor_namespace_selector: Option<PrometheusServiceMonitorNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceMonitorSelector")]
pub service_monitor_selector: Option<PrometheusServiceMonitorSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceName")]
pub service_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "shardRetentionPolicy")]
pub shard_retention_policy: Option<PrometheusShardRetentionPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub shards: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<PrometheusStorage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tag: 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", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub thanos: Option<PrometheusThanos>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tolerations: Option<Vec<PrometheusTolerations>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "topologySpreadConstraints")]
pub topology_spread_constraints: Option<Vec<PrometheusTopologySpreadConstraints>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tracingConfig")]
pub tracing_config: Option<PrometheusTracingConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tsdb: Option<PrometheusTsdb>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "updateStrategy")]
pub update_strategy: Option<PrometheusUpdateStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<PrometheusVolumeMounts>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub volumes: Option<Vec<PrometheusVolumes>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "walCompression")]
pub wal_compression: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub web: Option<PrometheusWeb>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAdditionalAlertManagerConfigs {
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 PrometheusAdditionalAlertRelabelConfigs {
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 PrometheusAdditionalArgs {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAdditionalScrapeConfigs {
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 PrometheusAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")]
pub node_affinity: Option<PrometheusAffinityNodeAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAffinity")]
pub pod_affinity: Option<PrometheusAffinityPodAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")]
pub pod_anti_affinity: Option<PrometheusAffinityPodAntiAffinity>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAffinityNodeAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<PrometheusAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<PrometheusAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution {
pub preference: PrometheusAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<PrometheusAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions {
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 PrometheusAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields {
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 PrometheusAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "nodeSelectorTerms")]
pub node_selector_terms: Vec<PrometheusAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<PrometheusAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions {
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 PrometheusAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields {
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 PrometheusAffinityPodAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<PrometheusAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<PrometheusAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: PrometheusAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<PrometheusAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<PrometheusAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[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 PrometheusAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
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 PrometheusAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[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 PrometheusAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
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 PrometheusAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<PrometheusAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<PrometheusAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[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 PrometheusAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
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 PrometheusAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[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 PrometheusAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
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 PrometheusAffinityPodAntiAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<PrometheusAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<PrometheusAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: PrometheusAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<PrometheusAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<PrometheusAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[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 PrometheusAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
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 PrometheusAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[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 PrometheusAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
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 PrometheusAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<PrometheusAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<PrometheusAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[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 PrometheusAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
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 PrometheusAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[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 PrometheusAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
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 PrometheusAlerting {
pub alertmanagers: Vec<PrometheusAlertingAlertmanagers>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAlertingAlertmanagers {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "alertRelabelings")]
pub alert_relabelings: Option<Vec<PrometheusAlertingAlertmanagersAlertRelabelings>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<PrometheusAlertingAlertmanagersApiVersion>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization: Option<PrometheusAlertingAlertmanagersAuthorization>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "basicAuth")]
pub basic_auth: Option<PrometheusAlertingAlertmanagersBasicAuth>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bearerTokenFile")]
pub bearer_token_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableHttp2")]
pub enable_http2: Option<bool>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<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 = "pathPrefix")]
pub path_prefix: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "proxyConnectHeader")]
pub proxy_connect_header: Option<BTreeMap<String, Vec<PrometheusAlertingAlertmanagersProxyConnectHeader>>>,
#[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 relabelings: Option<Vec<PrometheusAlertingAlertmanagersRelabelings>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<PrometheusAlertingAlertmanagersScheme>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sigv4: Option<PrometheusAlertingAlertmanagersSigv4>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tlsConfig")]
pub tls_config: Option<PrometheusAlertingAlertmanagersTlsConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAlertingAlertmanagersAlertRelabelings {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action: Option<PrometheusAlertingAlertmanagersAlertRelabelingsAction>,
#[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 PrometheusAlertingAlertmanagersAlertRelabelingsAction {
#[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, PartialEq)]
pub enum PrometheusAlertingAlertmanagersApiVersion {
#[serde(rename = "v1")]
V1,
#[serde(rename = "V1")]
V1X,
#[serde(rename = "v2")]
V2,
#[serde(rename = "V2")]
V2X,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAlertingAlertmanagersAuthorization {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credentials: Option<PrometheusAlertingAlertmanagersAuthorizationCredentials>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAlertingAlertmanagersAuthorizationCredentials {
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 PrometheusAlertingAlertmanagersBasicAuth {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<PrometheusAlertingAlertmanagersBasicAuthPassword>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<PrometheusAlertingAlertmanagersBasicAuthUsername>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAlertingAlertmanagersBasicAuthPassword {
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 PrometheusAlertingAlertmanagersBasicAuthUsername {
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 PrometheusAlertingAlertmanagersProxyConnectHeader {
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 PrometheusAlertingAlertmanagersRelabelings {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action: Option<PrometheusAlertingAlertmanagersRelabelingsAction>,
#[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 PrometheusAlertingAlertmanagersRelabelingsAction {
#[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, PartialEq)]
pub enum PrometheusAlertingAlertmanagersScheme {
#[serde(rename = "http")]
Http,
#[serde(rename = "https")]
Https,
#[serde(rename = "HTTP")]
HttpX,
#[serde(rename = "HTTPS")]
HttpsX,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAlertingAlertmanagersSigv4 {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessKey")]
pub access_key: Option<PrometheusAlertingAlertmanagersSigv4AccessKey>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "roleArn")]
pub role_arn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKey")]
pub secret_key: Option<PrometheusAlertingAlertmanagersSigv4SecretKey>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "useFIPSSTSEndpoint")]
pub use_fipssts_endpoint: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAlertingAlertmanagersSigv4AccessKey {
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 PrometheusAlertingAlertmanagersSigv4SecretKey {
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 PrometheusAlertingAlertmanagersTlsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca: Option<PrometheusAlertingAlertmanagersTlsConfigCa>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caFile")]
pub ca_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<PrometheusAlertingAlertmanagersTlsConfigCert>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "certFile")]
pub cert_file: Option<String>,
#[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 = "keyFile")]
pub key_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keySecret")]
pub key_secret: Option<PrometheusAlertingAlertmanagersTlsConfigKeySecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxVersion")]
pub max_version: Option<PrometheusAlertingAlertmanagersTlsConfigMaxVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minVersion")]
pub min_version: Option<PrometheusAlertingAlertmanagersTlsConfigMinVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverName")]
pub server_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAlertingAlertmanagersTlsConfigCa {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusAlertingAlertmanagersTlsConfigCaConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusAlertingAlertmanagersTlsConfigCaSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAlertingAlertmanagersTlsConfigCaConfigMap {
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 PrometheusAlertingAlertmanagersTlsConfigCaSecret {
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 PrometheusAlertingAlertmanagersTlsConfigCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusAlertingAlertmanagersTlsConfigCertConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusAlertingAlertmanagersTlsConfigCertSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusAlertingAlertmanagersTlsConfigCertConfigMap {
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 PrometheusAlertingAlertmanagersTlsConfigCertSecret {
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 PrometheusAlertingAlertmanagersTlsConfigKeySecret {
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 PrometheusAlertingAlertmanagersTlsConfigMaxVersion {
#[serde(rename = "TLS10")]
Tls10,
#[serde(rename = "TLS11")]
Tls11,
#[serde(rename = "TLS12")]
Tls12,
#[serde(rename = "TLS13")]
Tls13,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusAlertingAlertmanagersTlsConfigMinVersion {
#[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 PrometheusApiserverConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization: Option<PrometheusApiserverConfigAuthorization>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "basicAuth")]
pub basic_auth: Option<PrometheusApiserverConfigBasicAuth>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bearerToken")]
pub bearer_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bearerTokenFile")]
pub bearer_token_file: Option<String>,
pub host: 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, Vec<PrometheusApiserverConfigProxyConnectHeader>>>,
#[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", rename = "tlsConfig")]
pub tls_config: Option<PrometheusApiserverConfigTlsConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusApiserverConfigAuthorization {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credentials: Option<PrometheusApiserverConfigAuthorizationCredentials>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "credentialsFile")]
pub credentials_file: 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 PrometheusApiserverConfigAuthorizationCredentials {
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 PrometheusApiserverConfigBasicAuth {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<PrometheusApiserverConfigBasicAuthPassword>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<PrometheusApiserverConfigBasicAuthUsername>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusApiserverConfigBasicAuthPassword {
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 PrometheusApiserverConfigBasicAuthUsername {
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 PrometheusApiserverConfigProxyConnectHeader {
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 PrometheusApiserverConfigTlsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca: Option<PrometheusApiserverConfigTlsConfigCa>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caFile")]
pub ca_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<PrometheusApiserverConfigTlsConfigCert>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "certFile")]
pub cert_file: Option<String>,
#[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 = "keyFile")]
pub key_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keySecret")]
pub key_secret: Option<PrometheusApiserverConfigTlsConfigKeySecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxVersion")]
pub max_version: Option<PrometheusApiserverConfigTlsConfigMaxVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minVersion")]
pub min_version: Option<PrometheusApiserverConfigTlsConfigMinVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverName")]
pub server_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusApiserverConfigTlsConfigCa {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusApiserverConfigTlsConfigCaConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusApiserverConfigTlsConfigCaSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusApiserverConfigTlsConfigCaConfigMap {
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 PrometheusApiserverConfigTlsConfigCaSecret {
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 PrometheusApiserverConfigTlsConfigCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusApiserverConfigTlsConfigCertConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusApiserverConfigTlsConfigCertSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusApiserverConfigTlsConfigCertConfigMap {
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 PrometheusApiserverConfigTlsConfigCertSecret {
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 PrometheusApiserverConfigTlsConfigKeySecret {
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 PrometheusApiserverConfigTlsConfigMaxVersion {
#[serde(rename = "TLS10")]
Tls10,
#[serde(rename = "TLS11")]
Tls11,
#[serde(rename = "TLS12")]
Tls12,
#[serde(rename = "TLS13")]
Tls13,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusApiserverConfigTlsConfigMinVersion {
#[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 PrometheusArbitraryFsAccessThroughSMs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deny: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<PrometheusContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
pub env_from: Option<Vec<PrometheusContainersEnvFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lifecycle: Option<PrometheusContainersLifecycle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "livenessProbe")]
pub liveness_probe: Option<PrometheusContainersLivenessProbe>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ports: Option<Vec<PrometheusContainersPorts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readinessProbe")]
pub readiness_probe: Option<PrometheusContainersReadinessProbe>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resizePolicy")]
pub resize_policy: Option<Vec<PrometheusContainersResizePolicy>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<PrometheusContainersResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")]
pub restart_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicyRules")]
pub restart_policy_rules: Option<Vec<PrometheusContainersRestartPolicyRules>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<PrometheusContainersSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startupProbe")]
pub startup_probe: Option<PrometheusContainersStartupProbe>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stdin: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stdinOnce")]
pub stdin_once: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePath")]
pub termination_message_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePolicy")]
pub termination_message_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tty: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeDevices")]
pub volume_devices: Option<Vec<PrometheusContainersVolumeDevices>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<PrometheusContainersVolumeMounts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDir")]
pub working_dir: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersEnv {
pub name: 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<PrometheusContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<PrometheusContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<PrometheusContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<PrometheusContainersEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<PrometheusContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<PrometheusContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersEnvValueFromConfigMapKeyRef {
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 PrometheusContainersEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersEnvValueFromSecretKeyRef {
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 PrometheusContainersEnvFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapRef")]
pub config_map_ref: Option<PrometheusContainersEnvFromConfigMapRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<PrometheusContainersEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersEnvFromConfigMapRef {
#[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 PrometheusContainersEnvFromSecretRef {
#[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 PrometheusContainersLifecycle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")]
pub post_start: Option<PrometheusContainersLifecyclePostStart>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")]
pub pre_stop: Option<PrometheusContainersLifecyclePreStop>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stopSignal")]
pub stop_signal: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLifecyclePostStart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<PrometheusContainersLifecyclePostStartExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<PrometheusContainersLifecyclePostStartHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<PrometheusContainersLifecyclePostStartSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<PrometheusContainersLifecyclePostStartTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLifecyclePostStartExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLifecyclePostStartHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<PrometheusContainersLifecyclePostStartHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLifecyclePostStartHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLifecyclePostStartSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLifecyclePostStartTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLifecyclePreStop {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<PrometheusContainersLifecyclePreStopExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<PrometheusContainersLifecyclePreStopHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<PrometheusContainersLifecyclePreStopSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<PrometheusContainersLifecyclePreStopTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLifecyclePreStopExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLifecyclePreStopHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<PrometheusContainersLifecyclePreStopHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLifecyclePreStopHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLifecyclePreStopSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLifecyclePreStopTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLivenessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<PrometheusContainersLivenessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<PrometheusContainersLivenessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<PrometheusContainersLivenessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<PrometheusContainersLivenessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLivenessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLivenessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLivenessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<PrometheusContainersLivenessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLivenessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersLivenessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersPorts {
#[serde(rename = "containerPort")]
pub container_port: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIP")]
pub host_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPort")]
pub host_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersReadinessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<PrometheusContainersReadinessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<PrometheusContainersReadinessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<PrometheusContainersReadinessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<PrometheusContainersReadinessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersReadinessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersReadinessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersReadinessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<PrometheusContainersReadinessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersReadinessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersReadinessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersResizePolicy {
#[serde(rename = "resourceName")]
pub resource_name: String,
#[serde(rename = "restartPolicy")]
pub restart_policy: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<PrometheusContainersResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersRestartPolicyRules {
pub action: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exitCodes")]
pub exit_codes: Option<PrometheusContainersRestartPolicyRulesExitCodes>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersRestartPolicyRulesExitCodes {
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<i64>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")]
pub allow_privilege_escalation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<PrometheusContainersSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<PrometheusContainersSecurityContextCapabilities>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
pub proc_mount: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")]
pub read_only_root_filesystem: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<PrometheusContainersSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<PrometheusContainersSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<PrometheusContainersSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersSecurityContextAppArmorProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersSecurityContextCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub drop: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: 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 user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersStartupProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<PrometheusContainersStartupProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<PrometheusContainersStartupProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<PrometheusContainersStartupProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<PrometheusContainersStartupProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersStartupProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersStartupProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersStartupProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<PrometheusContainersStartupProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersStartupProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersStartupProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersVolumeDevices {
#[serde(rename = "devicePath")]
pub device_path: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusContainersVolumeMounts {
#[serde(rename = "mountPath")]
pub mount_path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")]
pub mount_propagation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "recursiveReadOnly")]
pub recursive_read_only: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")]
pub sub_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")]
pub sub_path_expr: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusDnsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub nameservers: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub options: Option<Vec<PrometheusDnsConfigOptions>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub searches: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusDnsConfigOptions {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusDnsPolicy {
ClusterFirstWithHostNet,
ClusterFirst,
Default,
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct PrometheusExcludedFromEnforcement {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group: Option<PrometheusExcludedFromEnforcementGroup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
pub namespace: String,
pub resource: PrometheusExcludedFromEnforcementResource,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusExcludedFromEnforcementGroup {
#[serde(rename = "monitoring.coreos.com")]
MonitoringCoreosCom,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusExcludedFromEnforcementResource {
#[serde(rename = "prometheusrules")]
Prometheusrules,
#[serde(rename = "servicemonitors")]
Servicemonitors,
#[serde(rename = "podmonitors")]
Podmonitors,
#[serde(rename = "probes")]
Probes,
#[serde(rename = "scrapeconfigs")]
Scrapeconfigs,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusExemplars {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxSize")]
pub max_size: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusHostAliases {
pub hostnames: Vec<String>,
pub ip: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusImagePullPolicy {
#[serde(rename = "")]
KopiumEmpty,
Always,
Never,
IfNotPresent,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusImagePullSecrets {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<PrometheusInitContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
pub env_from: Option<Vec<PrometheusInitContainersEnvFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lifecycle: Option<PrometheusInitContainersLifecycle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "livenessProbe")]
pub liveness_probe: Option<PrometheusInitContainersLivenessProbe>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ports: Option<Vec<PrometheusInitContainersPorts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readinessProbe")]
pub readiness_probe: Option<PrometheusInitContainersReadinessProbe>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resizePolicy")]
pub resize_policy: Option<Vec<PrometheusInitContainersResizePolicy>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<PrometheusInitContainersResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")]
pub restart_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicyRules")]
pub restart_policy_rules: Option<Vec<PrometheusInitContainersRestartPolicyRules>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<PrometheusInitContainersSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startupProbe")]
pub startup_probe: Option<PrometheusInitContainersStartupProbe>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stdin: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stdinOnce")]
pub stdin_once: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePath")]
pub termination_message_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePolicy")]
pub termination_message_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tty: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeDevices")]
pub volume_devices: Option<Vec<PrometheusInitContainersVolumeDevices>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<PrometheusInitContainersVolumeMounts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDir")]
pub working_dir: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersEnv {
pub name: 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<PrometheusInitContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<PrometheusInitContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<PrometheusInitContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<PrometheusInitContainersEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<PrometheusInitContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<PrometheusInitContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersEnvValueFromConfigMapKeyRef {
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 PrometheusInitContainersEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersEnvValueFromSecretKeyRef {
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 PrometheusInitContainersEnvFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapRef")]
pub config_map_ref: Option<PrometheusInitContainersEnvFromConfigMapRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<PrometheusInitContainersEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersEnvFromConfigMapRef {
#[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 PrometheusInitContainersEnvFromSecretRef {
#[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 PrometheusInitContainersLifecycle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")]
pub post_start: Option<PrometheusInitContainersLifecyclePostStart>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")]
pub pre_stop: Option<PrometheusInitContainersLifecyclePreStop>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stopSignal")]
pub stop_signal: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLifecyclePostStart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<PrometheusInitContainersLifecyclePostStartExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<PrometheusInitContainersLifecyclePostStartHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<PrometheusInitContainersLifecyclePostStartSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<PrometheusInitContainersLifecyclePostStartTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLifecyclePostStartExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLifecyclePostStartHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<PrometheusInitContainersLifecyclePostStartHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLifecyclePostStartHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLifecyclePostStartSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLifecyclePostStartTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLifecyclePreStop {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<PrometheusInitContainersLifecyclePreStopExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<PrometheusInitContainersLifecyclePreStopHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<PrometheusInitContainersLifecyclePreStopSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<PrometheusInitContainersLifecyclePreStopTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLifecyclePreStopExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLifecyclePreStopHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<PrometheusInitContainersLifecyclePreStopHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLifecyclePreStopHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLifecyclePreStopSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLifecyclePreStopTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLivenessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<PrometheusInitContainersLivenessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<PrometheusInitContainersLivenessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<PrometheusInitContainersLivenessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<PrometheusInitContainersLivenessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLivenessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLivenessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLivenessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<PrometheusInitContainersLivenessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLivenessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersLivenessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersPorts {
#[serde(rename = "containerPort")]
pub container_port: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIP")]
pub host_ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPort")]
pub host_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersReadinessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<PrometheusInitContainersReadinessProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<PrometheusInitContainersReadinessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<PrometheusInitContainersReadinessProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<PrometheusInitContainersReadinessProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersReadinessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersReadinessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersReadinessProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<PrometheusInitContainersReadinessProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersReadinessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersReadinessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersResizePolicy {
#[serde(rename = "resourceName")]
pub resource_name: String,
#[serde(rename = "restartPolicy")]
pub restart_policy: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<PrometheusInitContainersResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersRestartPolicyRules {
pub action: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exitCodes")]
pub exit_codes: Option<PrometheusInitContainersRestartPolicyRulesExitCodes>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersRestartPolicyRulesExitCodes {
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<i64>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")]
pub allow_privilege_escalation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<PrometheusInitContainersSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<PrometheusInitContainersSecurityContextCapabilities>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
pub proc_mount: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")]
pub read_only_root_filesystem: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<PrometheusInitContainersSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<PrometheusInitContainersSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<PrometheusInitContainersSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersSecurityContextAppArmorProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersSecurityContextCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub drop: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: 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 user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersStartupProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<PrometheusInitContainersStartupProbeExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")]
pub failure_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub grpc: Option<PrometheusInitContainersStartupProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<PrometheusInitContainersStartupProbeHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")]
pub initial_delay_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")]
pub period_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")]
pub success_threshold: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<PrometheusInitContainersStartupProbeTcpSocket>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")]
pub termination_grace_period_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")]
pub timeout_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersStartupProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersStartupProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersStartupProbeHttpGet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpHeaders")]
pub http_headers: Option<Vec<PrometheusInitContainersStartupProbeHttpGetHttpHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
pub port: IntOrString,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersStartupProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersStartupProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersVolumeDevices {
#[serde(rename = "devicePath")]
pub device_path: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusInitContainersVolumeMounts {
#[serde(rename = "mountPath")]
pub mount_path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")]
pub mount_propagation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "recursiveReadOnly")]
pub recursive_read_only: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")]
pub sub_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")]
pub sub_path_expr: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusLogFormat {
#[serde(rename = "")]
KopiumEmpty,
#[serde(rename = "logfmt")]
Logfmt,
#[serde(rename = "json")]
Json,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusLogLevel {
#[serde(rename = "")]
KopiumEmpty,
#[serde(rename = "debug")]
Debug,
#[serde(rename = "info")]
Info,
#[serde(rename = "warn")]
Warn,
#[serde(rename = "error")]
Error,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusNameEscapingScheme {
#[serde(rename = "AllowUTF8")]
AllowUtf8,
Underscores,
Dots,
Values,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusNameValidationScheme {
#[serde(rename = "UTF8")]
Utf8,
Legacy,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusOtlp {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "convertHistogramsToNHCB")]
pub convert_histograms_to_nhcb: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ignoreResourceAttributes")]
pub ignore_resource_attributes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keepIdentifyingResourceAttributes")]
pub keep_identifying_resource_attributes: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "promoteAllResourceAttributes")]
pub promote_all_resource_attributes: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "promoteResourceAttributes")]
pub promote_resource_attributes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "promoteScopeMetadata")]
pub promote_scope_metadata: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "translationStrategy")]
pub translation_strategy: Option<PrometheusOtlpTranslationStrategy>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusOtlpTranslationStrategy {
#[serde(rename = "NoUTF8EscapingWithSuffixes")]
NoUtf8EscapingWithSuffixes,
UnderscoreEscapingWithSuffixes,
NoTranslation,
UnderscoreEscapingWithoutSuffixes,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusPersistentVolumeClaimRetentionPolicy {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "whenDeleted")]
pub when_deleted: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "whenScaled")]
pub when_scaled: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusPodManagementPolicy {
OrderedReady,
Parallel,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusPodMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[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>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusPodMonitorNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusPodMonitorNamespaceSelectorMatchExpressions>>,
#[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 PrometheusPodMonitorNamespaceSelectorMatchExpressions {
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 PrometheusPodMonitorSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusPodMonitorSelectorMatchExpressions>>,
#[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 PrometheusPodMonitorSelectorMatchExpressions {
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 PrometheusProbeNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusProbeNamespaceSelectorMatchExpressions>>,
#[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 PrometheusProbeNamespaceSelectorMatchExpressions {
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 PrometheusProbeSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusProbeSelectorMatchExpressions>>,
#[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 PrometheusProbeSelectorMatchExpressions {
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 PrometheusPrometheusRulesExcludedFromEnforce {
#[serde(rename = "ruleName")]
pub rule_name: String,
#[serde(rename = "ruleNamespace")]
pub rule_namespace: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusQuery {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lookbackDelta")]
pub lookback_delta: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxConcurrency")]
pub max_concurrency: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxSamples")]
pub max_samples: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusReloadStrategy {
#[serde(rename = "HTTP")]
Http,
ProcessSignal,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteRead {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization: Option<PrometheusRemoteReadAuthorization>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "basicAuth")]
pub basic_auth: Option<PrometheusRemoteReadBasicAuth>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bearerToken")]
pub bearer_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bearerTokenFile")]
pub bearer_token_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "filterExternalLabels")]
pub filter_external_labels: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "followRedirects")]
pub follow_redirects: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub headers: 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 = "noProxy")]
pub no_proxy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oauth2: Option<PrometheusRemoteReadOauth2>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "proxyConnectHeader")]
pub proxy_connect_header: Option<BTreeMap<String, Vec<PrometheusRemoteReadProxyConnectHeader>>>,
#[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", rename = "readRecent")]
pub read_recent: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "remoteTimeout")]
pub remote_timeout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredMatchers")]
pub required_matchers: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tlsConfig")]
pub tls_config: Option<PrometheusRemoteReadTlsConfig>,
pub url: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteReadAuthorization {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credentials: Option<PrometheusRemoteReadAuthorizationCredentials>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "credentialsFile")]
pub credentials_file: 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 PrometheusRemoteReadAuthorizationCredentials {
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 PrometheusRemoteReadBasicAuth {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<PrometheusRemoteReadBasicAuthPassword>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<PrometheusRemoteReadBasicAuthUsername>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteReadBasicAuthPassword {
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 PrometheusRemoteReadBasicAuthUsername {
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 PrometheusRemoteReadOauth2 {
#[serde(rename = "clientId")]
pub client_id: PrometheusRemoteReadOauth2ClientId,
#[serde(rename = "clientSecret")]
pub client_secret: PrometheusRemoteReadOauth2ClientSecret,
#[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, Vec<PrometheusRemoteReadOauth2ProxyConnectHeader>>>,
#[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<PrometheusRemoteReadOauth2TlsConfig>,
#[serde(rename = "tokenUrl")]
pub token_url: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteReadOauth2ClientId {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusRemoteReadOauth2ClientIdConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusRemoteReadOauth2ClientIdSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteReadOauth2ClientIdConfigMap {
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 PrometheusRemoteReadOauth2ClientIdSecret {
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 PrometheusRemoteReadOauth2ClientSecret {
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 PrometheusRemoteReadOauth2ProxyConnectHeader {
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 PrometheusRemoteReadOauth2TlsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca: Option<PrometheusRemoteReadOauth2TlsConfigCa>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<PrometheusRemoteReadOauth2TlsConfigCert>,
#[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<PrometheusRemoteReadOauth2TlsConfigKeySecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxVersion")]
pub max_version: Option<PrometheusRemoteReadOauth2TlsConfigMaxVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minVersion")]
pub min_version: Option<PrometheusRemoteReadOauth2TlsConfigMinVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverName")]
pub server_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteReadOauth2TlsConfigCa {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusRemoteReadOauth2TlsConfigCaConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusRemoteReadOauth2TlsConfigCaSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteReadOauth2TlsConfigCaConfigMap {
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 PrometheusRemoteReadOauth2TlsConfigCaSecret {
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 PrometheusRemoteReadOauth2TlsConfigCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusRemoteReadOauth2TlsConfigCertConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusRemoteReadOauth2TlsConfigCertSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteReadOauth2TlsConfigCertConfigMap {
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 PrometheusRemoteReadOauth2TlsConfigCertSecret {
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 PrometheusRemoteReadOauth2TlsConfigKeySecret {
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 PrometheusRemoteReadOauth2TlsConfigMaxVersion {
#[serde(rename = "TLS10")]
Tls10,
#[serde(rename = "TLS11")]
Tls11,
#[serde(rename = "TLS12")]
Tls12,
#[serde(rename = "TLS13")]
Tls13,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusRemoteReadOauth2TlsConfigMinVersion {
#[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 PrometheusRemoteReadProxyConnectHeader {
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 PrometheusRemoteReadTlsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca: Option<PrometheusRemoteReadTlsConfigCa>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caFile")]
pub ca_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<PrometheusRemoteReadTlsConfigCert>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "certFile")]
pub cert_file: Option<String>,
#[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 = "keyFile")]
pub key_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keySecret")]
pub key_secret: Option<PrometheusRemoteReadTlsConfigKeySecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxVersion")]
pub max_version: Option<PrometheusRemoteReadTlsConfigMaxVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minVersion")]
pub min_version: Option<PrometheusRemoteReadTlsConfigMinVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverName")]
pub server_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteReadTlsConfigCa {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusRemoteReadTlsConfigCaConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusRemoteReadTlsConfigCaSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteReadTlsConfigCaConfigMap {
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 PrometheusRemoteReadTlsConfigCaSecret {
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 PrometheusRemoteReadTlsConfigCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusRemoteReadTlsConfigCertConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusRemoteReadTlsConfigCertSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteReadTlsConfigCertConfigMap {
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 PrometheusRemoteReadTlsConfigCertSecret {
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 PrometheusRemoteReadTlsConfigKeySecret {
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 PrometheusRemoteReadTlsConfigMaxVersion {
#[serde(rename = "TLS10")]
Tls10,
#[serde(rename = "TLS11")]
Tls11,
#[serde(rename = "TLS12")]
Tls12,
#[serde(rename = "TLS13")]
Tls13,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusRemoteReadTlsConfigMinVersion {
#[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 PrometheusRemoteWrite {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization: Option<PrometheusRemoteWriteAuthorization>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "azureAd")]
pub azure_ad: Option<PrometheusRemoteWriteAzureAd>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "basicAuth")]
pub basic_auth: Option<PrometheusRemoteWriteBasicAuth>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bearerToken")]
pub bearer_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bearerTokenFile")]
pub bearer_token_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableHTTP2")]
pub enable_http2: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "followRedirects")]
pub follow_redirects: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub headers: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "messageVersion")]
pub message_version: Option<PrometheusRemoteWriteMessageVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "metadataConfig")]
pub metadata_config: Option<PrometheusRemoteWriteMetadataConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "noProxy")]
pub no_proxy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oauth2: Option<PrometheusRemoteWriteOauth2>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "proxyConnectHeader")]
pub proxy_connect_header: Option<BTreeMap<String, Vec<PrometheusRemoteWriteProxyConnectHeader>>>,
#[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", rename = "queueConfig")]
pub queue_config: Option<PrometheusRemoteWriteQueueConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "remoteTimeout")]
pub remote_timeout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "roundRobinDNS")]
pub round_robin_dns: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sendExemplars")]
pub send_exemplars: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sendNativeHistograms")]
pub send_native_histograms: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sigv4: Option<PrometheusRemoteWriteSigv4>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tlsConfig")]
pub tls_config: Option<PrometheusRemoteWriteTlsConfig>,
pub url: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "writeRelabelConfigs")]
pub write_relabel_configs: Option<Vec<PrometheusRemoteWriteWriteRelabelConfigs>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteAuthorization {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credentials: Option<PrometheusRemoteWriteAuthorizationCredentials>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "credentialsFile")]
pub credentials_file: 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 PrometheusRemoteWriteAuthorizationCredentials {
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 PrometheusRemoteWriteAzureAd {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cloud: Option<PrometheusRemoteWriteAzureAdCloud>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "managedIdentity")]
pub managed_identity: Option<PrometheusRemoteWriteAzureAdManagedIdentity>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oauth: Option<PrometheusRemoteWriteAzureAdOauth>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sdk: Option<PrometheusRemoteWriteAzureAdSdk>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workloadIdentity")]
pub workload_identity: Option<PrometheusRemoteWriteAzureAdWorkloadIdentity>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusRemoteWriteAzureAdCloud {
AzureChina,
AzureGovernment,
AzurePublic,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteAzureAdManagedIdentity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientId")]
pub client_id: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteAzureAdOauth {
#[serde(rename = "clientId")]
pub client_id: String,
#[serde(rename = "clientSecret")]
pub client_secret: PrometheusRemoteWriteAzureAdOauthClientSecret,
#[serde(rename = "tenantId")]
pub tenant_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteAzureAdOauthClientSecret {
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 PrometheusRemoteWriteAzureAdSdk {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tenantId")]
pub tenant_id: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteAzureAdWorkloadIdentity {
#[serde(rename = "clientId")]
pub client_id: String,
#[serde(rename = "tenantId")]
pub tenant_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteBasicAuth {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<PrometheusRemoteWriteBasicAuthPassword>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<PrometheusRemoteWriteBasicAuthUsername>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteBasicAuthPassword {
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 PrometheusRemoteWriteBasicAuthUsername {
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 PrometheusRemoteWriteMessageVersion {
#[serde(rename = "V1.0")]
V10,
#[serde(rename = "V2.0")]
V20,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteMetadataConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxSamplesPerSend")]
pub max_samples_per_send: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub send: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sendInterval")]
pub send_interval: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteOauth2 {
#[serde(rename = "clientId")]
pub client_id: PrometheusRemoteWriteOauth2ClientId,
#[serde(rename = "clientSecret")]
pub client_secret: PrometheusRemoteWriteOauth2ClientSecret,
#[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, Vec<PrometheusRemoteWriteOauth2ProxyConnectHeader>>>,
#[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<PrometheusRemoteWriteOauth2TlsConfig>,
#[serde(rename = "tokenUrl")]
pub token_url: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteOauth2ClientId {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusRemoteWriteOauth2ClientIdConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusRemoteWriteOauth2ClientIdSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteOauth2ClientIdConfigMap {
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 PrometheusRemoteWriteOauth2ClientIdSecret {
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 PrometheusRemoteWriteOauth2ClientSecret {
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 PrometheusRemoteWriteOauth2ProxyConnectHeader {
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 PrometheusRemoteWriteOauth2TlsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca: Option<PrometheusRemoteWriteOauth2TlsConfigCa>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<PrometheusRemoteWriteOauth2TlsConfigCert>,
#[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<PrometheusRemoteWriteOauth2TlsConfigKeySecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxVersion")]
pub max_version: Option<PrometheusRemoteWriteOauth2TlsConfigMaxVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minVersion")]
pub min_version: Option<PrometheusRemoteWriteOauth2TlsConfigMinVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverName")]
pub server_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteOauth2TlsConfigCa {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusRemoteWriteOauth2TlsConfigCaConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusRemoteWriteOauth2TlsConfigCaSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteOauth2TlsConfigCaConfigMap {
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 PrometheusRemoteWriteOauth2TlsConfigCaSecret {
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 PrometheusRemoteWriteOauth2TlsConfigCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusRemoteWriteOauth2TlsConfigCertConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusRemoteWriteOauth2TlsConfigCertSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteOauth2TlsConfigCertConfigMap {
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 PrometheusRemoteWriteOauth2TlsConfigCertSecret {
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 PrometheusRemoteWriteOauth2TlsConfigKeySecret {
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 PrometheusRemoteWriteOauth2TlsConfigMaxVersion {
#[serde(rename = "TLS10")]
Tls10,
#[serde(rename = "TLS11")]
Tls11,
#[serde(rename = "TLS12")]
Tls12,
#[serde(rename = "TLS13")]
Tls13,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusRemoteWriteOauth2TlsConfigMinVersion {
#[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 PrometheusRemoteWriteProxyConnectHeader {
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 PrometheusRemoteWriteQueueConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "batchSendDeadline")]
pub batch_send_deadline: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capacity: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxBackoff")]
pub max_backoff: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxRetries")]
pub max_retries: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxSamplesPerSend")]
pub max_samples_per_send: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxShards")]
pub max_shards: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minBackoff")]
pub min_backoff: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minShards")]
pub min_shards: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "retryOnRateLimit")]
pub retry_on_rate_limit: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sampleAgeLimit")]
pub sample_age_limit: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteSigv4 {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessKey")]
pub access_key: Option<PrometheusRemoteWriteSigv4AccessKey>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub profile: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "roleArn")]
pub role_arn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKey")]
pub secret_key: Option<PrometheusRemoteWriteSigv4SecretKey>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "useFIPSSTSEndpoint")]
pub use_fipssts_endpoint: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteSigv4AccessKey {
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 PrometheusRemoteWriteSigv4SecretKey {
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 PrometheusRemoteWriteTlsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca: Option<PrometheusRemoteWriteTlsConfigCa>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caFile")]
pub ca_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<PrometheusRemoteWriteTlsConfigCert>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "certFile")]
pub cert_file: Option<String>,
#[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 = "keyFile")]
pub key_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keySecret")]
pub key_secret: Option<PrometheusRemoteWriteTlsConfigKeySecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxVersion")]
pub max_version: Option<PrometheusRemoteWriteTlsConfigMaxVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minVersion")]
pub min_version: Option<PrometheusRemoteWriteTlsConfigMinVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverName")]
pub server_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteTlsConfigCa {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusRemoteWriteTlsConfigCaConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusRemoteWriteTlsConfigCaSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteTlsConfigCaConfigMap {
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 PrometheusRemoteWriteTlsConfigCaSecret {
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 PrometheusRemoteWriteTlsConfigCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusRemoteWriteTlsConfigCertConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusRemoteWriteTlsConfigCertSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRemoteWriteTlsConfigCertConfigMap {
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 PrometheusRemoteWriteTlsConfigCertSecret {
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 PrometheusRemoteWriteTlsConfigKeySecret {
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 PrometheusRemoteWriteTlsConfigMaxVersion {
#[serde(rename = "TLS10")]
Tls10,
#[serde(rename = "TLS11")]
Tls11,
#[serde(rename = "TLS12")]
Tls12,
#[serde(rename = "TLS13")]
Tls13,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusRemoteWriteTlsConfigMinVersion {
#[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 PrometheusRemoteWriteWriteRelabelConfigs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action: Option<PrometheusRemoteWriteWriteRelabelConfigsAction>,
#[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 PrometheusRemoteWriteWriteRelabelConfigsAction {
#[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 PrometheusResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<PrometheusResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRuleNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusRuleNamespaceSelectorMatchExpressions>>,
#[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 PrometheusRuleNamespaceSelectorMatchExpressions {
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 PrometheusRuleSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusRuleSelectorMatchExpressions>>,
#[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 PrometheusRuleSelectorMatchExpressions {
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 PrometheusRules {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alert: Option<PrometheusRulesAlert>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRulesAlert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "forGracePeriod")]
pub for_grace_period: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "forOutageTolerance")]
pub for_outage_tolerance: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resendDelay")]
pub resend_delay: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusRuntime {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "goGC")]
pub go_gc: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusScrapeClasses {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "attachMetadata")]
pub attach_metadata: Option<PrometheusScrapeClassesAttachMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub authorization: Option<PrometheusScrapeClassesAuthorization>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fallbackScrapeProtocol")]
pub fallback_scrape_protocol: Option<PrometheusScrapeClassesFallbackScrapeProtocol>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "metricRelabelings")]
pub metric_relabelings: Option<Vec<PrometheusScrapeClassesMetricRelabelings>>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub relabelings: Option<Vec<PrometheusScrapeClassesRelabelings>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tlsConfig")]
pub tls_config: Option<PrometheusScrapeClassesTlsConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusScrapeClassesAttachMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub node: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusScrapeClassesAuthorization {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credentials: Option<PrometheusScrapeClassesAuthorizationCredentials>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "credentialsFile")]
pub credentials_file: 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 PrometheusScrapeClassesAuthorizationCredentials {
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 PrometheusScrapeClassesFallbackScrapeProtocol {
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 PrometheusScrapeClassesMetricRelabelings {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action: Option<PrometheusScrapeClassesMetricRelabelingsAction>,
#[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 PrometheusScrapeClassesMetricRelabelingsAction {
#[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 PrometheusScrapeClassesRelabelings {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action: Option<PrometheusScrapeClassesRelabelingsAction>,
#[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 PrometheusScrapeClassesRelabelingsAction {
#[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 PrometheusScrapeClassesTlsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca: Option<PrometheusScrapeClassesTlsConfigCa>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caFile")]
pub ca_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<PrometheusScrapeClassesTlsConfigCert>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "certFile")]
pub cert_file: Option<String>,
#[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 = "keyFile")]
pub key_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keySecret")]
pub key_secret: Option<PrometheusScrapeClassesTlsConfigKeySecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxVersion")]
pub max_version: Option<PrometheusScrapeClassesTlsConfigMaxVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minVersion")]
pub min_version: Option<PrometheusScrapeClassesTlsConfigMinVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverName")]
pub server_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusScrapeClassesTlsConfigCa {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusScrapeClassesTlsConfigCaConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusScrapeClassesTlsConfigCaSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusScrapeClassesTlsConfigCaConfigMap {
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 PrometheusScrapeClassesTlsConfigCaSecret {
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 PrometheusScrapeClassesTlsConfigCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusScrapeClassesTlsConfigCertConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusScrapeClassesTlsConfigCertSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusScrapeClassesTlsConfigCertConfigMap {
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 PrometheusScrapeClassesTlsConfigCertSecret {
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 PrometheusScrapeClassesTlsConfigKeySecret {
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 PrometheusScrapeClassesTlsConfigMaxVersion {
#[serde(rename = "TLS10")]
Tls10,
#[serde(rename = "TLS11")]
Tls11,
#[serde(rename = "TLS12")]
Tls12,
#[serde(rename = "TLS13")]
Tls13,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusScrapeClassesTlsConfigMinVersion {
#[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 PrometheusScrapeConfigNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusScrapeConfigNamespaceSelectorMatchExpressions>>,
#[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 PrometheusScrapeConfigNamespaceSelectorMatchExpressions {
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 PrometheusScrapeConfigSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusScrapeConfigSelectorMatchExpressions>>,
#[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 PrometheusScrapeConfigSelectorMatchExpressions {
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 PrometheusSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<PrometheusSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")]
pub fs_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroupChangePolicy")]
pub fs_group_change_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxChangePolicy")]
pub se_linux_change_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<PrometheusSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<PrometheusSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroups")]
pub supplemental_groups: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroupsPolicy")]
pub supplemental_groups_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sysctls: Option<Vec<PrometheusSecurityContextSysctls>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<PrometheusSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusSecurityContextAppArmorProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: 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 user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusSecurityContextSysctls {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusServiceDiscoveryRole {
Endpoints,
EndpointSlice,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusServiceMonitorNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusServiceMonitorNamespaceSelectorMatchExpressions>>,
#[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 PrometheusServiceMonitorNamespaceSelectorMatchExpressions {
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 PrometheusServiceMonitorSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusServiceMonitorSelectorMatchExpressions>>,
#[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 PrometheusServiceMonitorSelectorMatchExpressions {
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 PrometheusShardRetentionPolicy {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub retain: Option<PrometheusShardRetentionPolicyRetain>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "whenScaled")]
pub when_scaled: Option<PrometheusShardRetentionPolicyWhenScaled>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusShardRetentionPolicyRetain {
#[serde(rename = "retentionPeriod")]
pub retention_period: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusShardRetentionPolicyWhenScaled {
Retain,
Delete,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorage {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disableMountSubPath")]
pub disable_mount_sub_path: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")]
pub empty_dir: Option<PrometheusStorageEmptyDir>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ephemeral: Option<PrometheusStorageEphemeral>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeClaimTemplate")]
pub volume_claim_template: Option<PrometheusStorageVolumeClaimTemplate>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageEmptyDir {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub medium: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sizeLimit")]
pub size_limit: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageEphemeral {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeClaimTemplate")]
pub volume_claim_template: Option<PrometheusStorageEphemeralVolumeClaimTemplate>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageEphemeralVolumeClaimTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<PrometheusStorageEphemeralVolumeClaimTemplateMetadata>,
pub spec: PrometheusStorageEphemeralVolumeClaimTemplateSpec,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageEphemeralVolumeClaimTemplateMetadata {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageEphemeralVolumeClaimTemplateSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")]
pub access_modes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")]
pub data_source: Option<PrometheusStorageEphemeralVolumeClaimTemplateSpecDataSource>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")]
pub data_source_ref: Option<PrometheusStorageEphemeralVolumeClaimTemplateSpecDataSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<PrometheusStorageEphemeralVolumeClaimTemplateSpecResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<PrometheusStorageEphemeralVolumeClaimTemplateSpecSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")]
pub storage_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributesClassName")]
pub volume_attributes_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMode")]
pub volume_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageEphemeralVolumeClaimTemplateSpecDataSource {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageEphemeralVolumeClaimTemplateSpecDataSourceRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageEphemeralVolumeClaimTemplateSpecResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageEphemeralVolumeClaimTemplateSpecSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusStorageEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions>>,
#[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 PrometheusStorageEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions {
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 PrometheusStorageVolumeClaimTemplate {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<PrometheusStorageVolumeClaimTemplateMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spec: Option<PrometheusStorageVolumeClaimTemplateSpec>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<PrometheusStorageVolumeClaimTemplateStatus>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageVolumeClaimTemplateMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[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>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageVolumeClaimTemplateSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")]
pub access_modes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")]
pub data_source: Option<PrometheusStorageVolumeClaimTemplateSpecDataSource>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")]
pub data_source_ref: Option<PrometheusStorageVolumeClaimTemplateSpecDataSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<PrometheusStorageVolumeClaimTemplateSpecResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<PrometheusStorageVolumeClaimTemplateSpecSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")]
pub storage_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributesClassName")]
pub volume_attributes_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMode")]
pub volume_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageVolumeClaimTemplateSpecDataSource {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageVolumeClaimTemplateSpecDataSourceRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageVolumeClaimTemplateSpecResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageVolumeClaimTemplateSpecSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusStorageVolumeClaimTemplateSpecSelectorMatchExpressions>>,
#[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 PrometheusStorageVolumeClaimTemplateSpecSelectorMatchExpressions {
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 PrometheusStorageVolumeClaimTemplateStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")]
pub access_modes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allocatedResourceStatuses")]
pub allocated_resource_statuses: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allocatedResources")]
pub allocated_resources: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capacity: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "currentVolumeAttributesClassName")]
pub current_volume_attributes_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "modifyVolumeStatus")]
pub modify_volume_status: Option<PrometheusStorageVolumeClaimTemplateStatusModifyVolumeStatus>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phase: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStorageVolumeClaimTemplateStatusModifyVolumeStatus {
pub status: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetVolumeAttributesClassName")]
pub target_volume_attributes_class_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusThanos {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "additionalArgs")]
pub additional_args: Option<Vec<PrometheusThanosAdditionalArgs>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "baseImage")]
pub base_image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "blockSize")]
pub block_size: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "getConfigInterval")]
pub get_config_interval: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "getConfigTimeout")]
pub get_config_timeout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "grpcListenLocal")]
pub grpc_listen_local: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "grpcServerTlsConfig")]
pub grpc_server_tls_config: Option<PrometheusThanosGrpcServerTlsConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpListenLocal")]
pub http_listen_local: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "listenLocal")]
pub listen_local: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "logFormat")]
pub log_format: Option<PrometheusThanosLogFormat>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "logLevel")]
pub log_level: Option<PrometheusThanosLogLevel>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minTime")]
pub min_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "objectStorageConfig")]
pub object_storage_config: Option<PrometheusThanosObjectStorageConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "objectStorageConfigFile")]
pub object_storage_config_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readyTimeout")]
pub ready_timeout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<PrometheusThanosResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sha: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tag: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tracingConfig")]
pub tracing_config: Option<PrometheusThanosTracingConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tracingConfigFile")]
pub tracing_config_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<PrometheusThanosVolumeMounts>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusThanosAdditionalArgs {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusThanosGrpcServerTlsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca: Option<PrometheusThanosGrpcServerTlsConfigCa>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caFile")]
pub ca_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<PrometheusThanosGrpcServerTlsConfigCert>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "certFile")]
pub cert_file: Option<String>,
#[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 = "keyFile")]
pub key_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keySecret")]
pub key_secret: Option<PrometheusThanosGrpcServerTlsConfigKeySecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxVersion")]
pub max_version: Option<PrometheusThanosGrpcServerTlsConfigMaxVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minVersion")]
pub min_version: Option<PrometheusThanosGrpcServerTlsConfigMinVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverName")]
pub server_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusThanosGrpcServerTlsConfigCa {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusThanosGrpcServerTlsConfigCaConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusThanosGrpcServerTlsConfigCaSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusThanosGrpcServerTlsConfigCaConfigMap {
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 PrometheusThanosGrpcServerTlsConfigCaSecret {
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 PrometheusThanosGrpcServerTlsConfigCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusThanosGrpcServerTlsConfigCertConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusThanosGrpcServerTlsConfigCertSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusThanosGrpcServerTlsConfigCertConfigMap {
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 PrometheusThanosGrpcServerTlsConfigCertSecret {
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 PrometheusThanosGrpcServerTlsConfigKeySecret {
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 PrometheusThanosGrpcServerTlsConfigMaxVersion {
#[serde(rename = "TLS10")]
Tls10,
#[serde(rename = "TLS11")]
Tls11,
#[serde(rename = "TLS12")]
Tls12,
#[serde(rename = "TLS13")]
Tls13,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusThanosGrpcServerTlsConfigMinVersion {
#[serde(rename = "TLS10")]
Tls10,
#[serde(rename = "TLS11")]
Tls11,
#[serde(rename = "TLS12")]
Tls12,
#[serde(rename = "TLS13")]
Tls13,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusThanosLogFormat {
#[serde(rename = "")]
KopiumEmpty,
#[serde(rename = "logfmt")]
Logfmt,
#[serde(rename = "json")]
Json,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusThanosLogLevel {
#[serde(rename = "")]
KopiumEmpty,
#[serde(rename = "debug")]
Debug,
#[serde(rename = "info")]
Info,
#[serde(rename = "warn")]
Warn,
#[serde(rename = "error")]
Error,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusThanosObjectStorageConfig {
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 PrometheusThanosResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<PrometheusThanosResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusThanosResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusThanosTracingConfig {
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 PrometheusThanosVolumeMounts {
#[serde(rename = "mountPath")]
pub mount_path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")]
pub mount_propagation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "recursiveReadOnly")]
pub recursive_read_only: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")]
pub sub_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")]
pub sub_path_expr: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusTolerations {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub effect: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub operator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")]
pub toleration_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusTopologySpreadConstraints {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "additionalLabelSelectors")]
pub additional_label_selectors: Option<PrometheusTopologySpreadConstraintsAdditionalLabelSelectors>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<PrometheusTopologySpreadConstraintsLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(rename = "maxSkew")]
pub max_skew: i32,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minDomains")]
pub min_domains: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinityPolicy")]
pub node_affinity_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeTaintsPolicy")]
pub node_taints_policy: Option<String>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
#[serde(rename = "whenUnsatisfiable")]
pub when_unsatisfiable: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusTopologySpreadConstraintsAdditionalLabelSelectors {
OnResource,
OnShard,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusTopologySpreadConstraintsLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusTopologySpreadConstraintsLabelSelectorMatchExpressions>>,
#[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 PrometheusTopologySpreadConstraintsLabelSelectorMatchExpressions {
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 PrometheusTracingConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientType")]
pub client_type: Option<PrometheusTracingConfigClientType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub compression: Option<PrometheusTracingConfigCompression>,
pub endpoint: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub headers: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub insecure: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "samplingFraction")]
pub sampling_fraction: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tlsConfig")]
pub tls_config: Option<PrometheusTracingConfigTlsConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusTracingConfigClientType {
#[serde(rename = "http")]
Http,
#[serde(rename = "grpc")]
Grpc,
#[serde(rename = "HTTP")]
HttpX,
#[serde(rename = "GRPC")]
GrpcX,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusTracingConfigCompression {
#[serde(rename = "gzip")]
Gzip,
#[serde(rename = "Gzip")]
GzipX,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusTracingConfigTlsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca: Option<PrometheusTracingConfigTlsConfigCa>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caFile")]
pub ca_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<PrometheusTracingConfigTlsConfigCert>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "certFile")]
pub cert_file: Option<String>,
#[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 = "keyFile")]
pub key_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keySecret")]
pub key_secret: Option<PrometheusTracingConfigTlsConfigKeySecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxVersion")]
pub max_version: Option<PrometheusTracingConfigTlsConfigMaxVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minVersion")]
pub min_version: Option<PrometheusTracingConfigTlsConfigMinVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverName")]
pub server_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusTracingConfigTlsConfigCa {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusTracingConfigTlsConfigCaConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusTracingConfigTlsConfigCaSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusTracingConfigTlsConfigCaConfigMap {
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 PrometheusTracingConfigTlsConfigCaSecret {
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 PrometheusTracingConfigTlsConfigCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusTracingConfigTlsConfigCertConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusTracingConfigTlsConfigCertSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusTracingConfigTlsConfigCertConfigMap {
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 PrometheusTracingConfigTlsConfigCertSecret {
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 PrometheusTracingConfigTlsConfigKeySecret {
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 PrometheusTracingConfigTlsConfigMaxVersion {
#[serde(rename = "TLS10")]
Tls10,
#[serde(rename = "TLS11")]
Tls11,
#[serde(rename = "TLS12")]
Tls12,
#[serde(rename = "TLS13")]
Tls13,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusTracingConfigTlsConfigMinVersion {
#[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 PrometheusTsdb {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "outOfOrderTimeWindow")]
pub out_of_order_time_window: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct PrometheusUpdateStrategy {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rollingUpdate")]
pub rolling_update: Option<PrometheusUpdateStrategyRollingUpdate>,
#[serde(rename = "type")]
pub r#type: PrometheusUpdateStrategyType,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusUpdateStrategyRollingUpdate {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxUnavailable")]
pub max_unavailable: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusUpdateStrategyType {
OnDelete,
RollingUpdate,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumeMounts {
#[serde(rename = "mountPath")]
pub mount_path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")]
pub mount_propagation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "recursiveReadOnly")]
pub recursive_read_only: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")]
pub sub_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")]
pub sub_path_expr: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumes {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "awsElasticBlockStore")]
pub aws_elastic_block_store: Option<PrometheusVolumesAwsElasticBlockStore>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "azureDisk")]
pub azure_disk: Option<PrometheusVolumesAzureDisk>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "azureFile")]
pub azure_file: Option<PrometheusVolumesAzureFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cephfs: Option<PrometheusVolumesCephfs>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cinder: Option<PrometheusVolumesCinder>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusVolumesConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub csi: Option<PrometheusVolumesCsi>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPI")]
pub downward_api: Option<PrometheusVolumesDownwardApi>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")]
pub empty_dir: Option<PrometheusVolumesEmptyDir>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ephemeral: Option<PrometheusVolumesEphemeral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fc: Option<PrometheusVolumesFc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "flexVolume")]
pub flex_volume: Option<PrometheusVolumesFlexVolume>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub flocker: Option<PrometheusVolumesFlocker>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gcePersistentDisk")]
pub gce_persistent_disk: Option<PrometheusVolumesGcePersistentDisk>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gitRepo")]
pub git_repo: Option<PrometheusVolumesGitRepo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub glusterfs: Option<PrometheusVolumesGlusterfs>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPath")]
pub host_path: Option<PrometheusVolumesHostPath>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<PrometheusVolumesImage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub iscsi: Option<PrometheusVolumesIscsi>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub nfs: Option<PrometheusVolumesNfs>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "persistentVolumeClaim")]
pub persistent_volume_claim: Option<PrometheusVolumesPersistentVolumeClaim>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "photonPersistentDisk")]
pub photon_persistent_disk: Option<PrometheusVolumesPhotonPersistentDisk>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "portworxVolume")]
pub portworx_volume: Option<PrometheusVolumesPortworxVolume>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub projected: Option<PrometheusVolumesProjected>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub quobyte: Option<PrometheusVolumesQuobyte>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rbd: Option<PrometheusVolumesRbd>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scaleIO")]
pub scale_io: Option<PrometheusVolumesScaleIo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusVolumesSecret>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storageos: Option<PrometheusVolumesStorageos>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "vsphereVolume")]
pub vsphere_volume: Option<PrometheusVolumesVsphereVolume>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesAwsElasticBlockStore {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub partition: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(rename = "volumeID")]
pub volume_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesAzureDisk {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cachingMode")]
pub caching_mode: Option<String>,
#[serde(rename = "diskName")]
pub disk_name: String,
#[serde(rename = "diskURI")]
pub disk_uri: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesAzureFile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(rename = "secretName")]
pub secret_name: String,
#[serde(rename = "shareName")]
pub share_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesCephfs {
pub monitors: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretFile")]
pub secret_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<PrometheusVolumesCephfsSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesCephfsSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesCinder {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<PrometheusVolumesCinderSecretRef>,
#[serde(rename = "volumeID")]
pub volume_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesCinderSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesConfigMap {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<PrometheusVolumesConfigMapItems>>,
#[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 PrometheusVolumesConfigMapItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesCsi {
pub driver: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodePublishSecretRef")]
pub node_publish_secret_ref: Option<PrometheusVolumesCsiNodePublishSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributes")]
pub volume_attributes: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesCsiNodePublishSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesDownwardApi {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<PrometheusVolumesDownwardApiItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesDownwardApiItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<PrometheusVolumesDownwardApiItemsFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<PrometheusVolumesDownwardApiItemsResourceFieldRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesDownwardApiItemsFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesDownwardApiItemsResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesEmptyDir {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub medium: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sizeLimit")]
pub size_limit: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesEphemeral {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeClaimTemplate")]
pub volume_claim_template: Option<PrometheusVolumesEphemeralVolumeClaimTemplate>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesEphemeralVolumeClaimTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<PrometheusVolumesEphemeralVolumeClaimTemplateMetadata>,
pub spec: PrometheusVolumesEphemeralVolumeClaimTemplateSpec,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesEphemeralVolumeClaimTemplateMetadata {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesEphemeralVolumeClaimTemplateSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")]
pub access_modes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")]
pub data_source: Option<PrometheusVolumesEphemeralVolumeClaimTemplateSpecDataSource>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")]
pub data_source_ref: Option<PrometheusVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<PrometheusVolumesEphemeralVolumeClaimTemplateSpecResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<PrometheusVolumesEphemeralVolumeClaimTemplateSpecSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")]
pub storage_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributesClassName")]
pub volume_attributes_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMode")]
pub volume_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesEphemeralVolumeClaimTemplateSpecDataSource {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesEphemeralVolumeClaimTemplateSpecResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesEphemeralVolumeClaimTemplateSpecSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions>>,
#[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 PrometheusVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions {
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 PrometheusVolumesFc {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lun: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetWWNs")]
pub target_ww_ns: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub wwids: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesFlexVolume {
pub driver: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub options: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<PrometheusVolumesFlexVolumeSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesFlexVolumeSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesFlocker {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "datasetName")]
pub dataset_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "datasetUUID")]
pub dataset_uuid: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesGcePersistentDisk {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub partition: Option<i32>,
#[serde(rename = "pdName")]
pub pd_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesGitRepo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub directory: Option<String>,
pub repository: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revision: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesGlusterfs {
pub endpoints: String,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesHostPath {
pub path: 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 PrometheusVolumesImage {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pullPolicy")]
pub pull_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reference: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesIscsi {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "chapAuthDiscovery")]
pub chap_auth_discovery: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "chapAuthSession")]
pub chap_auth_session: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initiatorName")]
pub initiator_name: Option<String>,
pub iqn: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "iscsiInterface")]
pub iscsi_interface: Option<String>,
pub lun: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub portals: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<PrometheusVolumesIscsiSecretRef>,
#[serde(rename = "targetPortal")]
pub target_portal: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesIscsiSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesNfs {
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
pub server: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesPersistentVolumeClaim {
#[serde(rename = "claimName")]
pub claim_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesPhotonPersistentDisk {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(rename = "pdID")]
pub pd_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesPortworxVolume {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(rename = "volumeID")]
pub volume_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesProjected {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sources: Option<Vec<PrometheusVolumesProjectedSources>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesProjectedSources {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterTrustBundle")]
pub cluster_trust_bundle: Option<PrometheusVolumesProjectedSourcesClusterTrustBundle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusVolumesProjectedSourcesConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPI")]
pub downward_api: Option<PrometheusVolumesProjectedSourcesDownwardApi>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podCertificate")]
pub pod_certificate: Option<PrometheusVolumesProjectedSourcesPodCertificate>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusVolumesProjectedSourcesSecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountToken")]
pub service_account_token: Option<PrometheusVolumesProjectedSourcesServiceAccountToken>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesProjectedSourcesClusterTrustBundle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<PrometheusVolumesProjectedSourcesClusterTrustBundleLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "signerName")]
pub signer_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesProjectedSourcesClusterTrustBundleLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<PrometheusVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions>>,
#[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 PrometheusVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions {
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 PrometheusVolumesProjectedSourcesConfigMap {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<PrometheusVolumesProjectedSourcesConfigMapItems>>,
#[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 PrometheusVolumesProjectedSourcesConfigMapItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesProjectedSourcesDownwardApi {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<PrometheusVolumesProjectedSourcesDownwardApiItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesProjectedSourcesDownwardApiItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<PrometheusVolumesProjectedSourcesDownwardApiItemsFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<PrometheusVolumesProjectedSourcesDownwardApiItemsResourceFieldRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesProjectedSourcesDownwardApiItemsFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesProjectedSourcesDownwardApiItemsResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesProjectedSourcesPodCertificate {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "certificateChainPath")]
pub certificate_chain_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "credentialBundlePath")]
pub credential_bundle_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keyPath")]
pub key_path: Option<String>,
#[serde(rename = "keyType")]
pub key_type: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxExpirationSeconds")]
pub max_expiration_seconds: Option<i32>,
#[serde(rename = "signerName")]
pub signer_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesProjectedSourcesSecret {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<PrometheusVolumesProjectedSourcesSecretItems>>,
#[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 PrometheusVolumesProjectedSourcesSecretItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesProjectedSourcesServiceAccountToken {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "expirationSeconds")]
pub expiration_seconds: Option<i64>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesQuobyte {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
pub registry: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
pub volume: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesRbd {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
pub image: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keyring: Option<String>,
pub monitors: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pool: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<PrometheusVolumesRbdSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesRbdSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesScaleIo {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
pub gateway: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "protectionDomain")]
pub protection_domain: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(rename = "secretRef")]
pub secret_ref: PrometheusVolumesScaleIoSecretRef,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sslEnabled")]
pub ssl_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageMode")]
pub storage_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storagePool")]
pub storage_pool: Option<String>,
pub system: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesScaleIoSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesSecret {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")]
pub default_mode: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<PrometheusVolumesSecretItems>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")]
pub secret_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesSecretItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<i32>,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesStorageos {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<PrometheusVolumesStorageosSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeNamespace")]
pub volume_namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesStorageosSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusVolumesVsphereVolume {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")]
pub fs_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storagePolicyID")]
pub storage_policy_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storagePolicyName")]
pub storage_policy_name: Option<String>,
#[serde(rename = "volumePath")]
pub volume_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusWeb {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpConfig")]
pub http_config: Option<PrometheusWebHttpConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxConnections")]
pub max_connections: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pageTitle")]
pub page_title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tlsConfig")]
pub tls_config: Option<PrometheusWebTlsConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusWebHttpConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub headers: Option<PrometheusWebHttpConfigHeaders>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub http2: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusWebHttpConfigHeaders {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "contentSecurityPolicy")]
pub content_security_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "strictTransportSecurity")]
pub strict_transport_security: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "xContentTypeOptions")]
pub x_content_type_options: Option<PrometheusWebHttpConfigHeadersXContentTypeOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "xFrameOptions")]
pub x_frame_options: Option<PrometheusWebHttpConfigHeadersXFrameOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "xXSSProtection")]
pub x_xss_protection: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusWebHttpConfigHeadersXContentTypeOptions {
#[serde(rename = "")]
KopiumEmpty,
NoSniff,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum PrometheusWebHttpConfigHeadersXFrameOptions {
#[serde(rename = "")]
KopiumEmpty,
Deny,
SameOrigin,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusWebTlsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<PrometheusWebTlsConfigCert>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "certFile")]
pub cert_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cipherSuites")]
pub cipher_suites: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientAuthType")]
pub client_auth_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientCAFile")]
pub client_ca_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_ca: Option<PrometheusWebTlsConfigClientCa>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "curvePreferences")]
pub curve_preferences: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keyFile")]
pub key_file: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keySecret")]
pub key_secret: Option<PrometheusWebTlsConfigKeySecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxVersion")]
pub max_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minVersion")]
pub min_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferServerCipherSuites")]
pub prefer_server_cipher_suites: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusWebTlsConfigCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusWebTlsConfigCertConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusWebTlsConfigCertSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusWebTlsConfigCertConfigMap {
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 PrometheusWebTlsConfigCertSecret {
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 PrometheusWebTlsConfigClientCa {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<PrometheusWebTlsConfigClientCaConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<PrometheusWebTlsConfigClientCaSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusWebTlsConfigClientCaConfigMap {
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 PrometheusWebTlsConfigClientCaSecret {
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 PrometheusWebTlsConfigKeySecret {
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 PrometheusStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "availableReplicas")]
pub available_replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub paused: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "shardStatuses")]
pub shard_statuses: Option<Vec<PrometheusStatusShardStatuses>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub shards: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "unavailableReplicas")]
pub unavailable_replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "updatedReplicas")]
pub updated_replicas: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PrometheusStatusShardStatuses {
#[serde(rename = "availableReplicas")]
pub available_replicas: i32,
pub replicas: i32,
#[serde(rename = "shardID")]
pub shard_id: String,
#[serde(rename = "unavailableReplicas")]
pub unavailable_replicas: i32,
#[serde(rename = "updatedReplicas")]
pub updated_replicas: i32,
}