#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContainerResourceMetricSource {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub target: ::core::option::Option<MetricTarget>,
#[prost(string, optional, tag = "3")]
pub container: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContainerResourceMetricStatus {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub current: ::core::option::Option<MetricValueStatus>,
#[prost(string, optional, tag = "3")]
pub container: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CrossVersionObjectReference {
#[prost(string, optional, tag = "1")]
pub kind: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub api_version: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExternalMetricSource {
#[prost(message, optional, tag = "1")]
pub metric: ::core::option::Option<MetricIdentifier>,
#[prost(message, optional, tag = "2")]
pub target: ::core::option::Option<MetricTarget>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExternalMetricStatus {
#[prost(message, optional, tag = "1")]
pub metric: ::core::option::Option<MetricIdentifier>,
#[prost(message, optional, tag = "2")]
pub current: ::core::option::Option<MetricValueStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HpaScalingPolicy {
#[prost(string, optional, tag = "1")]
pub r#type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "2")]
pub value: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "3")]
pub period_seconds: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HpaScalingRules {
#[prost(int32, optional, tag = "3")]
pub stabilization_window_seconds: ::core::option::Option<i32>,
#[prost(string, optional, tag = "1")]
pub select_policy: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "2")]
pub policies: ::prost::alloc::vec::Vec<HpaScalingPolicy>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HorizontalPodAutoscaler {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
#[prost(message, optional, tag = "2")]
pub spec: ::core::option::Option<HorizontalPodAutoscalerSpec>,
#[prost(message, optional, tag = "3")]
pub status: ::core::option::Option<HorizontalPodAutoscalerStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HorizontalPodAutoscalerBehavior {
#[prost(message, optional, tag = "1")]
pub scale_up: ::core::option::Option<HpaScalingRules>,
#[prost(message, optional, tag = "2")]
pub scale_down: ::core::option::Option<HpaScalingRules>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HorizontalPodAutoscalerCondition {
#[prost(string, optional, tag = "1")]
pub r#type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub status: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub last_transition_time:
::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::Time>,
#[prost(string, optional, tag = "4")]
pub reason: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub message: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HorizontalPodAutoscalerList {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
#[prost(message, repeated, tag = "2")]
pub items: ::prost::alloc::vec::Vec<HorizontalPodAutoscaler>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HorizontalPodAutoscalerSpec {
#[prost(message, optional, tag = "1")]
pub scale_target_ref: ::core::option::Option<CrossVersionObjectReference>,
#[prost(int32, optional, tag = "2")]
pub min_replicas: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "3")]
pub max_replicas: ::core::option::Option<i32>,
#[prost(message, repeated, tag = "4")]
pub metrics: ::prost::alloc::vec::Vec<MetricSpec>,
#[prost(message, optional, tag = "5")]
pub behavior: ::core::option::Option<HorizontalPodAutoscalerBehavior>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HorizontalPodAutoscalerStatus {
#[prost(int64, optional, tag = "1")]
pub observed_generation: ::core::option::Option<i64>,
#[prost(message, optional, tag = "2")]
pub last_scale_time: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::Time>,
#[prost(int32, optional, tag = "3")]
pub current_replicas: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "4")]
pub desired_replicas: ::core::option::Option<i32>,
#[prost(message, repeated, tag = "5")]
pub current_metrics: ::prost::alloc::vec::Vec<MetricStatus>,
#[prost(message, repeated, tag = "6")]
pub conditions: ::prost::alloc::vec::Vec<HorizontalPodAutoscalerCondition>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetricIdentifier {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub selector:
::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::LabelSelector>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetricSpec {
#[prost(string, optional, tag = "1")]
pub r#type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub object: ::core::option::Option<ObjectMetricSource>,
#[prost(message, optional, tag = "3")]
pub pods: ::core::option::Option<PodsMetricSource>,
#[prost(message, optional, tag = "4")]
pub resource: ::core::option::Option<ResourceMetricSource>,
#[prost(message, optional, tag = "7")]
pub container_resource: ::core::option::Option<ContainerResourceMetricSource>,
#[prost(message, optional, tag = "5")]
pub external: ::core::option::Option<ExternalMetricSource>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetricStatus {
#[prost(string, optional, tag = "1")]
pub r#type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub object: ::core::option::Option<ObjectMetricStatus>,
#[prost(message, optional, tag = "3")]
pub pods: ::core::option::Option<PodsMetricStatus>,
#[prost(message, optional, tag = "4")]
pub resource: ::core::option::Option<ResourceMetricStatus>,
#[prost(message, optional, tag = "7")]
pub container_resource: ::core::option::Option<ContainerResourceMetricStatus>,
#[prost(message, optional, tag = "5")]
pub external: ::core::option::Option<ExternalMetricStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetricTarget {
#[prost(string, optional, tag = "1")]
pub r#type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub value: ::core::option::Option<super::super::super::apimachinery::pkg::api::resource::Quantity>,
#[prost(message, optional, tag = "3")]
pub average_value:
::core::option::Option<super::super::super::apimachinery::pkg::api::resource::Quantity>,
#[prost(int32, optional, tag = "4")]
pub average_utilization: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetricValueStatus {
#[prost(message, optional, tag = "1")]
pub value: ::core::option::Option<super::super::super::apimachinery::pkg::api::resource::Quantity>,
#[prost(message, optional, tag = "2")]
pub average_value:
::core::option::Option<super::super::super::apimachinery::pkg::api::resource::Quantity>,
#[prost(int32, optional, tag = "3")]
pub average_utilization: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectMetricSource {
#[prost(message, optional, tag = "1")]
pub described_object: ::core::option::Option<CrossVersionObjectReference>,
#[prost(message, optional, tag = "2")]
pub target: ::core::option::Option<MetricTarget>,
#[prost(message, optional, tag = "3")]
pub metric: ::core::option::Option<MetricIdentifier>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectMetricStatus {
#[prost(message, optional, tag = "1")]
pub metric: ::core::option::Option<MetricIdentifier>,
#[prost(message, optional, tag = "2")]
pub current: ::core::option::Option<MetricValueStatus>,
#[prost(message, optional, tag = "3")]
pub described_object: ::core::option::Option<CrossVersionObjectReference>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PodsMetricSource {
#[prost(message, optional, tag = "1")]
pub metric: ::core::option::Option<MetricIdentifier>,
#[prost(message, optional, tag = "2")]
pub target: ::core::option::Option<MetricTarget>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PodsMetricStatus {
#[prost(message, optional, tag = "1")]
pub metric: ::core::option::Option<MetricIdentifier>,
#[prost(message, optional, tag = "2")]
pub current: ::core::option::Option<MetricValueStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceMetricSource {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub target: ::core::option::Option<MetricTarget>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceMetricStatus {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub current: ::core::option::Option<MetricValueStatus>,
}