#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use std::collections::BTreeMap;
pub use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "keda.sh", version = "v1alpha1", kind = "ScaledJob", plural = "scaledjobs")]
#[kube(namespaced)]
#[kube(status = "ScaledJobStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct ScaledJobSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envSourceContainerName")]
pub env_source_container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failedJobsHistoryLimit")]
pub failed_jobs_history_limit: Option<i32>,
#[serde(rename = "jobTargetRef")]
pub job_target_ref: ScaledJobJobTargetRef,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxReplicaCount")]
pub max_replica_count: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minReplicaCount")]
pub min_replica_count: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pollingInterval")]
pub polling_interval: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rollout: Option<ScaledJobRollout>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rolloutStrategy")]
pub rollout_strategy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scalingStrategy")]
pub scaling_strategy: Option<ScaledJobScalingStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successfulJobsHistoryLimit")]
pub successful_jobs_history_limit: Option<i32>,
pub triggers: Vec<ScaledJobTriggers>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "activeDeadlineSeconds")]
pub active_deadline_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "backoffLimit")]
pub backoff_limit: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "backoffLimitPerIndex")]
pub backoff_limit_per_index: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "completionMode")]
pub completion_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub completions: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "managedBy")]
pub managed_by: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "manualSelector")]
pub manual_selector: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxFailedIndexes")]
pub max_failed_indexes: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parallelism: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podFailurePolicy")]
pub pod_failure_policy: Option<ScaledJobJobTargetRefPodFailurePolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podReplacementPolicy")]
pub pod_replacement_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<ScaledJobJobTargetRefSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "successPolicy")]
pub success_policy: Option<ScaledJobJobTargetRefSuccessPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub suspend: Option<bool>,
pub template: ScaledJobJobTargetRefTemplate,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ttlSecondsAfterFinished")]
pub ttl_seconds_after_finished: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefPodFailurePolicy {
pub rules: Vec<ScaledJobJobTargetRefPodFailurePolicyRules>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefPodFailurePolicyRules {
pub action: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "onExitCodes")]
pub on_exit_codes: Option<ScaledJobJobTargetRefPodFailurePolicyRulesOnExitCodes>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "onPodConditions")]
pub on_pod_conditions: Option<Vec<ScaledJobJobTargetRefPodFailurePolicyRulesOnPodConditions>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefPodFailurePolicyRulesOnExitCodes {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
pub operator: String,
pub values: Vec<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefPodFailurePolicyRulesOnPodConditions {
pub status: String,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ScaledJobJobTargetRefSelectorMatchExpressions>>,
#[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 ScaledJobJobTargetRefSelectorMatchExpressions {
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 ScaledJobJobTargetRefSuccessPolicy {
pub rules: Vec<ScaledJobJobTargetRefSuccessPolicyRules>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefSuccessPolicyRules {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "succeededCount")]
pub succeeded_count: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "succeededIndexes")]
pub succeeded_indexes: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<ScaledJobJobTargetRefTemplateMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spec: Option<ScaledJobJobTargetRefTemplateSpec>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub finalizers: Option<Vec<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>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "activeDeadlineSeconds")]
pub active_deadline_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<ScaledJobJobTargetRefTemplateSpecAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "automountServiceAccountToken")]
pub automount_service_account_token: Option<bool>,
pub containers: Vec<ScaledJobJobTargetRefTemplateSpecContainers>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsConfig")]
pub dns_config: Option<ScaledJobJobTargetRefTemplateSpecDnsConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsPolicy")]
pub dns_policy: Option<String>,
#[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 = "ephemeralContainers")]
pub ephemeral_containers: Option<Vec<ScaledJobJobTargetRefTemplateSpecEphemeralContainers>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostAliases")]
pub host_aliases: Option<Vec<ScaledJobJobTargetRefTemplateSpecHostAliases>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIPC")]
pub host_ipc: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostNetwork")]
pub host_network: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPID")]
pub host_pid: 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")]
pub hostname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullSecrets")]
pub image_pull_secrets: Option<Vec<ScaledJobJobTargetRefTemplateSpecImagePullSecrets>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "initContainers")]
pub init_containers: Option<Vec<ScaledJobJobTargetRefTemplateSpecInitContainers>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeName")]
pub node_name: Option<String>,
#[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 os: Option<ScaledJobJobTargetRefTemplateSpecOs>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub overhead: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preemptionPolicy")]
pub preemption_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub priority: Option<i32>,
#[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 = "readinessGates")]
pub readiness_gates: Option<Vec<ScaledJobJobTargetRefTemplateSpecReadinessGates>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceClaims")]
pub resource_claims: Option<Vec<ScaledJobJobTargetRefTemplateSpecResourceClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<ScaledJobJobTargetRefTemplateSpecResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")]
pub restart_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runtimeClassName")]
pub runtime_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulerName")]
pub scheduler_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulingGates")]
pub scheduling_gates: Option<Vec<ScaledJobJobTargetRefTemplateSpecSchedulingGates>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<ScaledJobJobTargetRefTemplateSpecSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
#[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 = "setHostnameAsFQDN")]
pub set_hostname_as_fqdn: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "shareProcessNamespace")]
pub share_process_namespace: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subdomain: Option<String>,
#[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 tolerations: Option<Vec<ScaledJobJobTargetRefTemplateSpecTolerations>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "topologySpreadConstraints")]
pub topology_spread_constraints: Option<Vec<ScaledJobJobTargetRefTemplateSpecTopologySpreadConstraints>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub volumes: Option<Vec<ScaledJobJobTargetRefTemplateSpecVolumes>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")]
pub node_affinity: Option<ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAffinity")]
pub pod_affinity: Option<ScaledJobJobTargetRefTemplateSpecAffinityPodAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")]
pub pod_anti_affinity: Option<ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinity>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution {
pub preference: ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions {
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 ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields {
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 ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "nodeSelectorTerms")]
pub node_selector_terms: Vec<ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions {
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 ScaledJobJobTargetRefTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields {
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 ScaledJobJobTargetRefTemplateSpecAffinityPodAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[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<ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[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 ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[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 ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
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 ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[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 ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
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 ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[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<ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[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 ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[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 ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
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 ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[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 ScaledJobJobTargetRefTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
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 ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[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<ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[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 ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[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 ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
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 ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[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 ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
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 ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[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<ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[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 ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[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 ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
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 ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[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 ScaledJobJobTargetRefTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
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 ScaledJobJobTargetRefTemplateSpecContainers {
#[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<ScaledJobJobTargetRefTemplateSpecContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
pub env_from: Option<Vec<ScaledJobJobTargetRefTemplateSpecContainersEnvFrom>>,
#[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<ScaledJobJobTargetRefTemplateSpecContainersLifecycle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "livenessProbe")]
pub liveness_probe: Option<ScaledJobJobTargetRefTemplateSpecContainersLivenessProbe>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ports: Option<Vec<ScaledJobJobTargetRefTemplateSpecContainersPorts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readinessProbe")]
pub readiness_probe: Option<ScaledJobJobTargetRefTemplateSpecContainersReadinessProbe>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resizePolicy")]
pub resize_policy: Option<Vec<ScaledJobJobTargetRefTemplateSpecContainersResizePolicy>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<ScaledJobJobTargetRefTemplateSpecContainersResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")]
pub restart_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<ScaledJobJobTargetRefTemplateSpecContainersSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startupProbe")]
pub startup_probe: Option<ScaledJobJobTargetRefTemplateSpecContainersStartupProbe>,
#[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<ScaledJobJobTargetRefTemplateSpecContainersVolumeDevices>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<ScaledJobJobTargetRefTemplateSpecContainersVolumeMounts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDir")]
pub working_dir: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersEnv {
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<ScaledJobJobTargetRefTemplateSpecContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<ScaledJobJobTargetRefTemplateSpecContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<ScaledJobJobTargetRefTemplateSpecContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<ScaledJobJobTargetRefTemplateSpecContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<ScaledJobJobTargetRefTemplateSpecContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersEnvValueFromConfigMapKeyRef {
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 ScaledJobJobTargetRefTemplateSpecContainersEnvValueFromFieldRef {
#[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 ScaledJobJobTargetRefTemplateSpecContainersEnvValueFromResourceFieldRef {
#[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 ScaledJobJobTargetRefTemplateSpecContainersEnvValueFromSecretKeyRef {
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 ScaledJobJobTargetRefTemplateSpecContainersEnvFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapRef")]
pub config_map_ref: Option<ScaledJobJobTargetRefTemplateSpecContainersEnvFromConfigMapRef>,
#[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<ScaledJobJobTargetRefTemplateSpecContainersEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersEnvFromConfigMapRef {
#[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 ScaledJobJobTargetRefTemplateSpecContainersEnvFromSecretRef {
#[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 ScaledJobJobTargetRefTemplateSpecContainersLifecycle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")]
pub post_start: Option<ScaledJobJobTargetRefTemplateSpecContainersLifecyclePostStart>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")]
pub pre_stop: Option<ScaledJobJobTargetRefTemplateSpecContainersLifecyclePreStop>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stopSignal")]
pub stop_signal: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersLifecyclePostStart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<ScaledJobJobTargetRefTemplateSpecContainersLifecyclePostStartExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<ScaledJobJobTargetRefTemplateSpecContainersLifecyclePostStartHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<ScaledJobJobTargetRefTemplateSpecContainersLifecyclePostStartSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<ScaledJobJobTargetRefTemplateSpecContainersLifecyclePostStartTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersLifecyclePostStartExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersLifecyclePostStartHttpGet {
#[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<ScaledJobJobTargetRefTemplateSpecContainersLifecyclePostStartHttpGetHttpHeaders>>,
#[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 ScaledJobJobTargetRefTemplateSpecContainersLifecyclePostStartHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersLifecyclePostStartSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersLifecyclePostStartTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersLifecyclePreStop {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<ScaledJobJobTargetRefTemplateSpecContainersLifecyclePreStopExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<ScaledJobJobTargetRefTemplateSpecContainersLifecyclePreStopHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<ScaledJobJobTargetRefTemplateSpecContainersLifecyclePreStopSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<ScaledJobJobTargetRefTemplateSpecContainersLifecyclePreStopTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersLifecyclePreStopExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersLifecyclePreStopHttpGet {
#[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<ScaledJobJobTargetRefTemplateSpecContainersLifecyclePreStopHttpGetHttpHeaders>>,
#[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 ScaledJobJobTargetRefTemplateSpecContainersLifecyclePreStopHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersLifecyclePreStopSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersLifecyclePreStopTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersLivenessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<ScaledJobJobTargetRefTemplateSpecContainersLivenessProbeExec>,
#[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<ScaledJobJobTargetRefTemplateSpecContainersLivenessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<ScaledJobJobTargetRefTemplateSpecContainersLivenessProbeHttpGet>,
#[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<ScaledJobJobTargetRefTemplateSpecContainersLivenessProbeTcpSocket>,
#[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 ScaledJobJobTargetRefTemplateSpecContainersLivenessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersLivenessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersLivenessProbeHttpGet {
#[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<ScaledJobJobTargetRefTemplateSpecContainersLivenessProbeHttpGetHttpHeaders>>,
#[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 ScaledJobJobTargetRefTemplateSpecContainersLivenessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersLivenessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersPorts {
#[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 ScaledJobJobTargetRefTemplateSpecContainersReadinessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<ScaledJobJobTargetRefTemplateSpecContainersReadinessProbeExec>,
#[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<ScaledJobJobTargetRefTemplateSpecContainersReadinessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<ScaledJobJobTargetRefTemplateSpecContainersReadinessProbeHttpGet>,
#[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<ScaledJobJobTargetRefTemplateSpecContainersReadinessProbeTcpSocket>,
#[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 ScaledJobJobTargetRefTemplateSpecContainersReadinessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersReadinessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersReadinessProbeHttpGet {
#[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<ScaledJobJobTargetRefTemplateSpecContainersReadinessProbeHttpGetHttpHeaders>>,
#[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 ScaledJobJobTargetRefTemplateSpecContainersReadinessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersReadinessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersResizePolicy {
#[serde(rename = "resourceName")]
pub resource_name: String,
#[serde(rename = "restartPolicy")]
pub restart_policy: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<ScaledJobJobTargetRefTemplateSpecContainersResourcesClaims>>,
#[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 ScaledJobJobTargetRefTemplateSpecContainersResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersSecurityContext {
#[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<ScaledJobJobTargetRefTemplateSpecContainersSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<ScaledJobJobTargetRefTemplateSpecContainersSecurityContextCapabilities>,
#[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<ScaledJobJobTargetRefTemplateSpecContainersSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<ScaledJobJobTargetRefTemplateSpecContainersSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<ScaledJobJobTargetRefTemplateSpecContainersSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersSecurityContextAppArmorProfile {
#[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 ScaledJobJobTargetRefTemplateSpecContainersSecurityContextCapabilities {
#[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 ScaledJobJobTargetRefTemplateSpecContainersSecurityContextSeLinuxOptions {
#[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 ScaledJobJobTargetRefTemplateSpecContainersSecurityContextSeccompProfile {
#[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 ScaledJobJobTargetRefTemplateSpecContainersSecurityContextWindowsOptions {
#[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 ScaledJobJobTargetRefTemplateSpecContainersStartupProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<ScaledJobJobTargetRefTemplateSpecContainersStartupProbeExec>,
#[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<ScaledJobJobTargetRefTemplateSpecContainersStartupProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<ScaledJobJobTargetRefTemplateSpecContainersStartupProbeHttpGet>,
#[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<ScaledJobJobTargetRefTemplateSpecContainersStartupProbeTcpSocket>,
#[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 ScaledJobJobTargetRefTemplateSpecContainersStartupProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersStartupProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersStartupProbeHttpGet {
#[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<ScaledJobJobTargetRefTemplateSpecContainersStartupProbeHttpGetHttpHeaders>>,
#[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 ScaledJobJobTargetRefTemplateSpecContainersStartupProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersStartupProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersVolumeDevices {
#[serde(rename = "devicePath")]
pub device_path: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecContainersVolumeMounts {
#[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 ScaledJobJobTargetRefTemplateSpecDnsConfig {
#[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<ScaledJobJobTargetRefTemplateSpecDnsConfigOptions>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub searches: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecDnsConfigOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainers {
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
pub env_from: Option<Vec<ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvFrom>>,
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecycle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "livenessProbe")]
pub liveness_probe: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLivenessProbe>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ports: Option<Vec<ScaledJobJobTargetRefTemplateSpecEphemeralContainersPorts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readinessProbe")]
pub readiness_probe: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersReadinessProbe>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resizePolicy")]
pub resize_policy: Option<Vec<ScaledJobJobTargetRefTemplateSpecEphemeralContainersResizePolicy>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")]
pub restart_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startupProbe")]
pub startup_probe: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersStartupProbe>,
#[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 = "targetContainerName")]
pub target_container_name: Option<String>,
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersVolumeDevices>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<ScaledJobJobTargetRefTemplateSpecEphemeralContainersVolumeMounts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDir")]
pub working_dir: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnv {
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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvValueFromConfigMapKeyRef {
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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvValueFromFieldRef {
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvValueFromResourceFieldRef {
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvValueFromSecretKeyRef {
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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapRef")]
pub config_map_ref: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvFromConfigMapRef>,
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvFromConfigMapRef {
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersEnvFromSecretRef {
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecycle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")]
pub post_start: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePostStart>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")]
pub pre_stop: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePreStop>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stopSignal")]
pub stop_signal: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePostStart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePostStartExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePostStartHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePostStartSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePostStartTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePostStartExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePostStartHttpGet {
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePostStartHttpGetHttpHeaders>>,
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePostStartHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePostStartSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePostStartTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePreStop {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePreStopExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePreStopHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePreStopSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePreStopTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePreStopExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePreStopHttpGet {
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePreStopHttpGetHttpHeaders>>,
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePreStopHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePreStopSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersLifecyclePreStopTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersLivenessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLivenessProbeExec>,
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLivenessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLivenessProbeHttpGet>,
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLivenessProbeTcpSocket>,
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersLivenessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersLivenessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersLivenessProbeHttpGet {
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersLivenessProbeHttpGetHttpHeaders>>,
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersLivenessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersLivenessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersPorts {
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersReadinessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersReadinessProbeExec>,
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersReadinessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersReadinessProbeHttpGet>,
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersReadinessProbeTcpSocket>,
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersReadinessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersReadinessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersReadinessProbeHttpGet {
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersReadinessProbeHttpGetHttpHeaders>>,
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersReadinessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersReadinessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersResizePolicy {
#[serde(rename = "resourceName")]
pub resource_name: String,
#[serde(rename = "restartPolicy")]
pub restart_policy: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<ScaledJobJobTargetRefTemplateSpecEphemeralContainersResourcesClaims>>,
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersSecurityContext {
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersSecurityContextCapabilities>,
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersSecurityContextAppArmorProfile {
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersSecurityContextCapabilities {
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersSecurityContextSeLinuxOptions {
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersSecurityContextSeccompProfile {
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersSecurityContextWindowsOptions {
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersStartupProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersStartupProbeExec>,
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersStartupProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<ScaledJobJobTargetRefTemplateSpecEphemeralContainersStartupProbeHttpGet>,
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersStartupProbeTcpSocket>,
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersStartupProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersStartupProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersStartupProbeHttpGet {
#[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<ScaledJobJobTargetRefTemplateSpecEphemeralContainersStartupProbeHttpGetHttpHeaders>>,
#[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 ScaledJobJobTargetRefTemplateSpecEphemeralContainersStartupProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersStartupProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersVolumeDevices {
#[serde(rename = "devicePath")]
pub device_path: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecEphemeralContainersVolumeMounts {
#[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 ScaledJobJobTargetRefTemplateSpecHostAliases {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hostnames: Option<Vec<String>>,
pub ip: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecImagePullSecrets {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainers {
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
pub env_from: Option<Vec<ScaledJobJobTargetRefTemplateSpecInitContainersEnvFrom>>,
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersLifecycle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "livenessProbe")]
pub liveness_probe: Option<ScaledJobJobTargetRefTemplateSpecInitContainersLivenessProbe>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ports: Option<Vec<ScaledJobJobTargetRefTemplateSpecInitContainersPorts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readinessProbe")]
pub readiness_probe: Option<ScaledJobJobTargetRefTemplateSpecInitContainersReadinessProbe>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resizePolicy")]
pub resize_policy: Option<Vec<ScaledJobJobTargetRefTemplateSpecInitContainersResizePolicy>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<ScaledJobJobTargetRefTemplateSpecInitContainersResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")]
pub restart_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<ScaledJobJobTargetRefTemplateSpecInitContainersSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startupProbe")]
pub startup_probe: Option<ScaledJobJobTargetRefTemplateSpecInitContainersStartupProbe>,
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersVolumeDevices>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<ScaledJobJobTargetRefTemplateSpecInitContainersVolumeMounts>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDir")]
pub working_dir: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersEnv {
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<ScaledJobJobTargetRefTemplateSpecInitContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<ScaledJobJobTargetRefTemplateSpecInitContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<ScaledJobJobTargetRefTemplateSpecInitContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<ScaledJobJobTargetRefTemplateSpecInitContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<ScaledJobJobTargetRefTemplateSpecInitContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersEnvValueFromConfigMapKeyRef {
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 ScaledJobJobTargetRefTemplateSpecInitContainersEnvValueFromFieldRef {
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersEnvValueFromResourceFieldRef {
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersEnvValueFromSecretKeyRef {
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 ScaledJobJobTargetRefTemplateSpecInitContainersEnvFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapRef")]
pub config_map_ref: Option<ScaledJobJobTargetRefTemplateSpecInitContainersEnvFromConfigMapRef>,
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersEnvFromSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersEnvFromConfigMapRef {
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersEnvFromSecretRef {
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersLifecycle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")]
pub post_start: Option<ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePostStart>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")]
pub pre_stop: Option<ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePreStop>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stopSignal")]
pub stop_signal: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePostStart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePostStartExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePostStartHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePostStartSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePostStartTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePostStartExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePostStartHttpGet {
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePostStartHttpGetHttpHeaders>>,
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePostStartHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePostStartSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePostStartTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePreStop {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePreStopExec>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePreStopHttpGet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sleep: Option<ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePreStopSleep>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")]
pub tcp_socket: Option<ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePreStopTcpSocket>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePreStopExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePreStopHttpGet {
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePreStopHttpGetHttpHeaders>>,
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePreStopHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePreStopSleep {
pub seconds: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersLifecyclePreStopTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersLivenessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<ScaledJobJobTargetRefTemplateSpecInitContainersLivenessProbeExec>,
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersLivenessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<ScaledJobJobTargetRefTemplateSpecInitContainersLivenessProbeHttpGet>,
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersLivenessProbeTcpSocket>,
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersLivenessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersLivenessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersLivenessProbeHttpGet {
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersLivenessProbeHttpGetHttpHeaders>>,
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersLivenessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersLivenessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersPorts {
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersReadinessProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<ScaledJobJobTargetRefTemplateSpecInitContainersReadinessProbeExec>,
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersReadinessProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<ScaledJobJobTargetRefTemplateSpecInitContainersReadinessProbeHttpGet>,
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersReadinessProbeTcpSocket>,
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersReadinessProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersReadinessProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersReadinessProbeHttpGet {
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersReadinessProbeHttpGetHttpHeaders>>,
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersReadinessProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersReadinessProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersResizePolicy {
#[serde(rename = "resourceName")]
pub resource_name: String,
#[serde(rename = "restartPolicy")]
pub restart_policy: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<ScaledJobJobTargetRefTemplateSpecInitContainersResourcesClaims>>,
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersSecurityContext {
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<ScaledJobJobTargetRefTemplateSpecInitContainersSecurityContextCapabilities>,
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<ScaledJobJobTargetRefTemplateSpecInitContainersSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<ScaledJobJobTargetRefTemplateSpecInitContainersSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersSecurityContextAppArmorProfile {
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersSecurityContextCapabilities {
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersSecurityContextSeLinuxOptions {
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersSecurityContextSeccompProfile {
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersSecurityContextWindowsOptions {
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersStartupProbe {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<ScaledJobJobTargetRefTemplateSpecInitContainersStartupProbeExec>,
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersStartupProbeGrpc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")]
pub http_get: Option<ScaledJobJobTargetRefTemplateSpecInitContainersStartupProbeHttpGet>,
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersStartupProbeTcpSocket>,
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersStartupProbeExec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersStartupProbeGrpc {
pub port: i32,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersStartupProbeHttpGet {
#[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<ScaledJobJobTargetRefTemplateSpecInitContainersStartupProbeHttpGetHttpHeaders>>,
#[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 ScaledJobJobTargetRefTemplateSpecInitContainersStartupProbeHttpGetHttpHeaders {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersStartupProbeTcpSocket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
pub port: IntOrString,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersVolumeDevices {
#[serde(rename = "devicePath")]
pub device_path: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecInitContainersVolumeMounts {
#[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 ScaledJobJobTargetRefTemplateSpecOs {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecReadinessGates {
#[serde(rename = "conditionType")]
pub condition_type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecResourceClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceClaimName")]
pub resource_claim_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceClaimTemplateName")]
pub resource_claim_template_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<ScaledJobJobTargetRefTemplateSpecResourcesClaims>>,
#[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 ScaledJobJobTargetRefTemplateSpecResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecSchedulingGates {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<ScaledJobJobTargetRefTemplateSpecSecurityContextAppArmorProfile>,
#[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<ScaledJobJobTargetRefTemplateSpecSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<ScaledJobJobTargetRefTemplateSpecSecurityContextSeccompProfile>,
#[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<ScaledJobJobTargetRefTemplateSpecSecurityContextSysctls>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<ScaledJobJobTargetRefTemplateSpecSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecSecurityContextAppArmorProfile {
#[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 ScaledJobJobTargetRefTemplateSpecSecurityContextSeLinuxOptions {
#[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 ScaledJobJobTargetRefTemplateSpecSecurityContextSeccompProfile {
#[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 ScaledJobJobTargetRefTemplateSpecSecurityContextSysctls {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecSecurityContextWindowsOptions {
#[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 ScaledJobJobTargetRefTemplateSpecTolerations {
#[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 ScaledJobJobTargetRefTemplateSpecTopologySpreadConstraints {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<ScaledJobJobTargetRefTemplateSpecTopologySpreadConstraintsLabelSelector>,
#[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, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecTopologySpreadConstraintsLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ScaledJobJobTargetRefTemplateSpecTopologySpreadConstraintsLabelSelectorMatchExpressions>>,
#[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 ScaledJobJobTargetRefTemplateSpecTopologySpreadConstraintsLabelSelectorMatchExpressions {
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 ScaledJobJobTargetRefTemplateSpecVolumes {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "awsElasticBlockStore")]
pub aws_elastic_block_store: Option<ScaledJobJobTargetRefTemplateSpecVolumesAwsElasticBlockStore>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "azureDisk")]
pub azure_disk: Option<ScaledJobJobTargetRefTemplateSpecVolumesAzureDisk>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "azureFile")]
pub azure_file: Option<ScaledJobJobTargetRefTemplateSpecVolumesAzureFile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cephfs: Option<ScaledJobJobTargetRefTemplateSpecVolumesCephfs>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cinder: Option<ScaledJobJobTargetRefTemplateSpecVolumesCinder>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<ScaledJobJobTargetRefTemplateSpecVolumesConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub csi: Option<ScaledJobJobTargetRefTemplateSpecVolumesCsi>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPI")]
pub downward_api: Option<ScaledJobJobTargetRefTemplateSpecVolumesDownwardApi>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")]
pub empty_dir: Option<ScaledJobJobTargetRefTemplateSpecVolumesEmptyDir>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ephemeral: Option<ScaledJobJobTargetRefTemplateSpecVolumesEphemeral>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fc: Option<ScaledJobJobTargetRefTemplateSpecVolumesFc>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "flexVolume")]
pub flex_volume: Option<ScaledJobJobTargetRefTemplateSpecVolumesFlexVolume>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub flocker: Option<ScaledJobJobTargetRefTemplateSpecVolumesFlocker>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gcePersistentDisk")]
pub gce_persistent_disk: Option<ScaledJobJobTargetRefTemplateSpecVolumesGcePersistentDisk>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gitRepo")]
pub git_repo: Option<ScaledJobJobTargetRefTemplateSpecVolumesGitRepo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub glusterfs: Option<ScaledJobJobTargetRefTemplateSpecVolumesGlusterfs>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPath")]
pub host_path: Option<ScaledJobJobTargetRefTemplateSpecVolumesHostPath>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<ScaledJobJobTargetRefTemplateSpecVolumesImage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub iscsi: Option<ScaledJobJobTargetRefTemplateSpecVolumesIscsi>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub nfs: Option<ScaledJobJobTargetRefTemplateSpecVolumesNfs>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "persistentVolumeClaim")]
pub persistent_volume_claim: Option<ScaledJobJobTargetRefTemplateSpecVolumesPersistentVolumeClaim>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "photonPersistentDisk")]
pub photon_persistent_disk: Option<ScaledJobJobTargetRefTemplateSpecVolumesPhotonPersistentDisk>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "portworxVolume")]
pub portworx_volume: Option<ScaledJobJobTargetRefTemplateSpecVolumesPortworxVolume>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub projected: Option<ScaledJobJobTargetRefTemplateSpecVolumesProjected>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub quobyte: Option<ScaledJobJobTargetRefTemplateSpecVolumesQuobyte>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rbd: Option<ScaledJobJobTargetRefTemplateSpecVolumesRbd>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scaleIO")]
pub scale_io: Option<ScaledJobJobTargetRefTemplateSpecVolumesScaleIo>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<ScaledJobJobTargetRefTemplateSpecVolumesSecret>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storageos: Option<ScaledJobJobTargetRefTemplateSpecVolumesStorageos>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "vsphereVolume")]
pub vsphere_volume: Option<ScaledJobJobTargetRefTemplateSpecVolumesVsphereVolume>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesAwsElasticBlockStore {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesAzureDisk {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesAzureFile {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesCephfs {
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<ScaledJobJobTargetRefTemplateSpecVolumesCephfsSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesCephfsSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesCinder {
#[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<ScaledJobJobTargetRefTemplateSpecVolumesCinderSecretRef>,
#[serde(rename = "volumeID")]
pub volume_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesCinderSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesConfigMap {
#[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<ScaledJobJobTargetRefTemplateSpecVolumesConfigMapItems>>,
#[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 ScaledJobJobTargetRefTemplateSpecVolumesConfigMapItems {
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 ScaledJobJobTargetRefTemplateSpecVolumesCsi {
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<ScaledJobJobTargetRefTemplateSpecVolumesCsiNodePublishSecretRef>,
#[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 ScaledJobJobTargetRefTemplateSpecVolumesCsiNodePublishSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesDownwardApi {
#[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<ScaledJobJobTargetRefTemplateSpecVolumesDownwardApiItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesDownwardApiItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<ScaledJobJobTargetRefTemplateSpecVolumesDownwardApiItemsFieldRef>,
#[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<ScaledJobJobTargetRefTemplateSpecVolumesDownwardApiItemsResourceFieldRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesDownwardApiItemsFieldRef {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesDownwardApiItemsResourceFieldRef {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesEmptyDir {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesEphemeral {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeClaimTemplate")]
pub volume_claim_template: Option<ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplate>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplateMetadata>,
pub spec: ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplateSpec,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplateMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub finalizers: Option<Vec<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>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplateSpec {
#[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<ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSource>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")]
pub data_source_ref: Option<ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelector>,
#[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 ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSource {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecResources {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions>>,
#[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 ScaledJobJobTargetRefTemplateSpecVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions {
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 ScaledJobJobTargetRefTemplateSpecVolumesFc {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesFlexVolume {
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<ScaledJobJobTargetRefTemplateSpecVolumesFlexVolumeSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesFlexVolumeSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesFlocker {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesGcePersistentDisk {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesGitRepo {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesGlusterfs {
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 ScaledJobJobTargetRefTemplateSpecVolumesHostPath {
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 ScaledJobJobTargetRefTemplateSpecVolumesImage {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesIscsi {
#[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<ScaledJobJobTargetRefTemplateSpecVolumesIscsiSecretRef>,
#[serde(rename = "targetPortal")]
pub target_portal: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesIscsiSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesNfs {
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 ScaledJobJobTargetRefTemplateSpecVolumesPersistentVolumeClaim {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesPhotonPersistentDisk {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesPortworxVolume {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesProjected {
#[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<ScaledJobJobTargetRefTemplateSpecVolumesProjectedSources>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesProjectedSources {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterTrustBundle")]
pub cluster_trust_bundle: Option<ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesClusterTrustBundle>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPI")]
pub downward_api: Option<ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesDownwardApi>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesSecret>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountToken")]
pub service_account_token: Option<ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesServiceAccountToken>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesClusterTrustBundle {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelector>,
#[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 ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions>>,
#[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 ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions {
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 ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesConfigMap {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesConfigMapItems>>,
#[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 ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesConfigMapItems {
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 ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesDownwardApi {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesDownwardApiItems>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesDownwardApiItems {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesDownwardApiItemsFieldRef>,
#[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<ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesDownwardApiItemsResourceFieldRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesDownwardApiItemsFieldRef {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesDownwardApiItemsResourceFieldRef {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesSecret {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub items: Option<Vec<ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesSecretItems>>,
#[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 ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesSecretItems {
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 ScaledJobJobTargetRefTemplateSpecVolumesProjectedSourcesServiceAccountToken {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesQuobyte {
#[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 ScaledJobJobTargetRefTemplateSpecVolumesRbd {
#[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<ScaledJobJobTargetRefTemplateSpecVolumesRbdSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesRbdSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesScaleIo {
#[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: ScaledJobJobTargetRefTemplateSpecVolumesScaleIoSecretRef,
#[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 ScaledJobJobTargetRefTemplateSpecVolumesScaleIoSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesSecret {
#[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<ScaledJobJobTargetRefTemplateSpecVolumesSecretItems>>,
#[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 ScaledJobJobTargetRefTemplateSpecVolumesSecretItems {
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 ScaledJobJobTargetRefTemplateSpecVolumesStorageos {
#[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<ScaledJobJobTargetRefTemplateSpecVolumesStorageosSecretRef>,
#[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 ScaledJobJobTargetRefTemplateSpecVolumesStorageosSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobJobTargetRefTemplateSpecVolumesVsphereVolume {
#[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 ScaledJobRollout {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "propagationPolicy")]
pub propagation_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub strategy: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobScalingStrategy {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "customScalingQueueLengthDeduction")]
pub custom_scaling_queue_length_deduction: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "customScalingRunningJobPercentage")]
pub custom_scaling_running_job_percentage: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "multipleScalersCalculation")]
pub multiple_scalers_calculation: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pendingPodConditions")]
pub pending_pod_conditions: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub strategy: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobTriggers {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "authenticationRef")]
pub authentication_ref: Option<ScaledJobTriggersAuthenticationRef>,
pub metadata: BTreeMap<String, String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "metricType")]
pub metric_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "useCachedMetrics")]
pub use_cached_metrics: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobTriggersAuthenticationRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "Paused")]
pub paused: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "authenticationsTypes")]
pub authentications_types: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<ScaledJobStatusConditions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastActiveTime")]
pub last_active_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "triggersTypes")]
pub triggers_types: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ScaledJobStatusConditions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
pub status: String,
#[serde(rename = "type")]
pub r#type: String,
}