summaryrefslogtreecommitdiff
path: root/vendor/k8s.io/api/autoscaling/v1/generated.proto
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/k8s.io/api/autoscaling/v1/generated.proto')
-rw-r--r--vendor/k8s.io/api/autoscaling/v1/generated.proto382
1 files changed, 0 insertions, 382 deletions
diff --git a/vendor/k8s.io/api/autoscaling/v1/generated.proto b/vendor/k8s.io/api/autoscaling/v1/generated.proto
deleted file mode 100644
index 64f01f477..000000000
--- a/vendor/k8s.io/api/autoscaling/v1/generated.proto
+++ /dev/null
@@ -1,382 +0,0 @@
-/*
-Copyright 2018 The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-
-// This file was autogenerated by go-to-protobuf. Do not edit it manually!
-
-syntax = 'proto2';
-
-package k8s.io.api.autoscaling.v1;
-
-import "k8s.io/api/core/v1/generated.proto";
-import "k8s.io/apimachinery/pkg/api/resource/generated.proto";
-import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
-import "k8s.io/apimachinery/pkg/runtime/generated.proto";
-import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
-import "k8s.io/apimachinery/pkg/util/intstr/generated.proto";
-
-// Package-wide variables from generator "generated".
-option go_package = "v1";
-
-// CrossVersionObjectReference contains enough information to let you identify the referred resource.
-message CrossVersionObjectReference {
- // Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds"
- optional string kind = 1;
-
- // Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names
- optional string name = 2;
-
- // API version of the referent
- // +optional
- optional string apiVersion = 3;
-}
-
-// ExternalMetricSource indicates how to scale on a metric not associated with
-// any Kubernetes object (for example length of queue in cloud
-// messaging service, or QPS from loadbalancer running outside of cluster).
-message ExternalMetricSource {
- // metricName is the name of the metric in question.
- optional string metricName = 1;
-
- // metricSelector is used to identify a specific time series
- // within a given metric.
- // +optional
- optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2;
-
- // targetValue is the target value of the metric (as a quantity).
- // Mutually exclusive with TargetAverageValue.
- // +optional
- optional k8s.io.apimachinery.pkg.api.resource.Quantity targetValue = 3;
-
- // targetAverageValue is the target per-pod value of global metric (as a quantity).
- // Mutually exclusive with TargetValue.
- // +optional
- optional k8s.io.apimachinery.pkg.api.resource.Quantity targetAverageValue = 4;
-}
-
-// ExternalMetricStatus indicates the current value of a global metric
-// not associated with any Kubernetes object.
-message ExternalMetricStatus {
- // metricName is the name of a metric used for autoscaling in
- // metric system.
- optional string metricName = 1;
-
- // metricSelector is used to identify a specific time series
- // within a given metric.
- // +optional
- optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2;
-
- // currentValue is the current value of the metric (as a quantity)
- optional k8s.io.apimachinery.pkg.api.resource.Quantity currentValue = 3;
-
- // currentAverageValue is the current value of metric averaged over autoscaled pods.
- // +optional
- optional k8s.io.apimachinery.pkg.api.resource.Quantity currentAverageValue = 4;
-}
-
-// configuration of a horizontal pod autoscaler.
-message HorizontalPodAutoscaler {
- // Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
- // +optional
- optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
-
- // behaviour of autoscaler. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
- // +optional
- optional HorizontalPodAutoscalerSpec spec = 2;
-
- // current information about the autoscaler.
- // +optional
- optional HorizontalPodAutoscalerStatus status = 3;
-}
-
-// HorizontalPodAutoscalerCondition describes the state of
-// a HorizontalPodAutoscaler at a certain point.
-message HorizontalPodAutoscalerCondition {
- // type describes the current condition
- optional string type = 1;
-
- // status is the status of the condition (True, False, Unknown)
- optional string status = 2;
-
- // lastTransitionTime is the last time the condition transitioned from
- // one status to another
- // +optional
- optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
-
- // reason is the reason for the condition's last transition.
- // +optional
- optional string reason = 4;
-
- // message is a human-readable explanation containing details about
- // the transition
- // +optional
- optional string message = 5;
-}
-
-// list of horizontal pod autoscaler objects.
-message HorizontalPodAutoscalerList {
- // Standard list metadata.
- // +optional
- optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
-
- // list of horizontal pod autoscaler objects.
- repeated HorizontalPodAutoscaler items = 2;
-}
-
-// specification of a horizontal pod autoscaler.
-message HorizontalPodAutoscalerSpec {
- // reference to scaled resource; horizontal pod autoscaler will learn the current resource consumption
- // and will set the desired number of pods by using its Scale subresource.
- optional CrossVersionObjectReference scaleTargetRef = 1;
-
- // lower limit for the number of pods that can be set by the autoscaler, default 1.
- // +optional
- optional int32 minReplicas = 2;
-
- // upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas.
- optional int32 maxReplicas = 3;
-
- // target average CPU utilization (represented as a percentage of requested CPU) over all the pods;
- // if not specified the default autoscaling policy will be used.
- // +optional
- optional int32 targetCPUUtilizationPercentage = 4;
-}
-
-// current status of a horizontal pod autoscaler
-message HorizontalPodAutoscalerStatus {
- // most recent generation observed by this autoscaler.
- // +optional
- optional int64 observedGeneration = 1;
-
- // last time the HorizontalPodAutoscaler scaled the number of pods;
- // used by the autoscaler to control how often the number of pods is changed.
- // +optional
- optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastScaleTime = 2;
-
- // current number of replicas of pods managed by this autoscaler.
- optional int32 currentReplicas = 3;
-
- // desired number of replicas of pods managed by this autoscaler.
- optional int32 desiredReplicas = 4;
-
- // current average CPU utilization over all pods, represented as a percentage of requested CPU,
- // e.g. 70 means that an average pod is using now 70% of its requested CPU.
- // +optional
- optional int32 currentCPUUtilizationPercentage = 5;
-}
-
-// MetricSpec specifies how to scale based on a single metric
-// (only `type` and one other matching field should be set at once).
-message MetricSpec {
- // type is the type of metric source. It should be one of "Object",
- // "Pods" or "Resource", each mapping to a matching field in the object.
- optional string type = 1;
-
- // object refers to a metric describing a single kubernetes object
- // (for example, hits-per-second on an Ingress object).
- // +optional
- optional ObjectMetricSource object = 2;
-
- // pods refers to a metric describing each pod in the current scale target
- // (for example, transactions-processed-per-second). The values will be
- // averaged together before being compared to the target value.
- // +optional
- optional PodsMetricSource pods = 3;
-
- // resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing each pod in the
- // current scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics using the "pods" source.
- // +optional
- optional ResourceMetricSource resource = 4;
-
- // external refers to a global metric that is not associated
- // with any Kubernetes object. It allows autoscaling based on information
- // coming from components running outside of cluster
- // (for example length of queue in cloud messaging service, or
- // QPS from loadbalancer running outside of cluster).
- // +optional
- optional ExternalMetricSource external = 5;
-}
-
-// MetricStatus describes the last-read state of a single metric.
-message MetricStatus {
- // type is the type of metric source. It will be one of "Object",
- // "Pods" or "Resource", each corresponds to a matching field in the object.
- optional string type = 1;
-
- // object refers to a metric describing a single kubernetes object
- // (for example, hits-per-second on an Ingress object).
- // +optional
- optional ObjectMetricStatus object = 2;
-
- // pods refers to a metric describing each pod in the current scale target
- // (for example, transactions-processed-per-second). The values will be
- // averaged together before being compared to the target value.
- // +optional
- optional PodsMetricStatus pods = 3;
-
- // resource refers to a resource metric (such as those specified in
- // requests and limits) known to Kubernetes describing each pod in the
- // current scale target (e.g. CPU or memory). Such metrics are built in to
- // Kubernetes, and have special scaling options on top of those available
- // to normal per-pod metrics using the "pods" source.
- // +optional
- optional ResourceMetricStatus resource = 4;
-
- // external refers to a global metric that is not associated
- // with any Kubernetes object. It allows autoscaling based on information
- // coming from components running outside of cluster
- // (for example length of queue in cloud messaging service, or
- // QPS from loadbalancer running outside of cluster).
- // +optional
- optional ExternalMetricStatus external = 5;
-}
-
-// ObjectMetricSource indicates how to scale on a metric describing a
-// kubernetes object (for example, hits-per-second on an Ingress object).
-message ObjectMetricSource {
- // target is the described Kubernetes object.
- optional CrossVersionObjectReference target = 1;
-
- // metricName is the name of the metric in question.
- optional string metricName = 2;
-
- // targetValue is the target value of the metric (as a quantity).
- optional k8s.io.apimachinery.pkg.api.resource.Quantity targetValue = 3;
-}
-
-// ObjectMetricStatus indicates the current value of a metric describing a
-// kubernetes object (for example, hits-per-second on an Ingress object).
-message ObjectMetricStatus {
- // target is the described Kubernetes object.
- optional CrossVersionObjectReference target = 1;
-
- // metricName is the name of the metric in question.
- optional string metricName = 2;
-
- // currentValue is the current value of the metric (as a quantity).
- optional k8s.io.apimachinery.pkg.api.resource.Quantity currentValue = 3;
-}
-
-// PodsMetricSource indicates how to scale on a metric describing each pod in
-// the current scale target (for example, transactions-processed-per-second).
-// The values will be averaged together before being compared to the target
-// value.
-message PodsMetricSource {
- // metricName is the name of the metric in question
- optional string metricName = 1;
-
- // targetAverageValue is the target value of the average of the
- // metric across all relevant pods (as a quantity)
- optional k8s.io.apimachinery.pkg.api.resource.Quantity targetAverageValue = 2;
-}
-
-// PodsMetricStatus indicates the current value of a metric describing each pod in
-// the current scale target (for example, transactions-processed-per-second).
-message PodsMetricStatus {
- // metricName is the name of the metric in question
- optional string metricName = 1;
-
- // currentAverageValue is the current value of the average of the
- // metric across all relevant pods (as a quantity)
- optional k8s.io.apimachinery.pkg.api.resource.Quantity currentAverageValue = 2;
-}
-
-// ResourceMetricSource indicates how to scale on a resource metric known to
-// Kubernetes, as specified in requests and limits, describing each pod in the
-// current scale target (e.g. CPU or memory). The values will be averaged
-// together before being compared to the target. Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source. Only one "target" type
-// should be set.
-message ResourceMetricSource {
- // name is the name of the resource in question.
- optional string name = 1;
-
- // targetAverageUtilization is the target value of the average of the
- // resource metric across all relevant pods, represented as a percentage of
- // the requested value of the resource for the pods.
- // +optional
- optional int32 targetAverageUtilization = 2;
-
- // targetAverageValue is the target value of the average of the
- // resource metric across all relevant pods, as a raw value (instead of as
- // a percentage of the request), similar to the "pods" metric source type.
- // +optional
- optional k8s.io.apimachinery.pkg.api.resource.Quantity targetAverageValue = 3;
-}
-
-// ResourceMetricStatus indicates the current value of a resource metric known to
-// Kubernetes, as specified in requests and limits, describing each pod in the
-// current scale target (e.g. CPU or memory). Such metrics are built in to
-// Kubernetes, and have special scaling options on top of those available to
-// normal per-pod metrics using the "pods" source.
-message ResourceMetricStatus {
- // name is the name of the resource in question.
- optional string name = 1;
-
- // currentAverageUtilization is the current value of the average of the
- // resource metric across all relevant pods, represented as a percentage of
- // the requested value of the resource for the pods. It will only be
- // present if `targetAverageValue` was set in the corresponding metric
- // specification.
- // +optional
- optional int32 currentAverageUtilization = 2;
-
- // currentAverageValue is the current value of the average of the
- // resource metric across all relevant pods, as a raw value (instead of as
- // a percentage of the request), similar to the "pods" metric source type.
- // It will always be set, regardless of the corresponding metric specification.
- optional k8s.io.apimachinery.pkg.api.resource.Quantity currentAverageValue = 3;
-}
-
-// Scale represents a scaling request for a resource.
-message Scale {
- // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.
- // +optional
- optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
-
- // defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
- // +optional
- optional ScaleSpec spec = 2;
-
- // current status of the scale. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status. Read-only.
- // +optional
- optional ScaleStatus status = 3;
-}
-
-// ScaleSpec describes the attributes of a scale subresource.
-message ScaleSpec {
- // desired number of instances for the scaled object.
- // +optional
- optional int32 replicas = 1;
-}
-
-// ScaleStatus represents the current status of a scale subresource.
-message ScaleStatus {
- // actual number of observed instances of the scaled object.
- optional int32 replicas = 1;
-
- // label query over pods that should match the replicas count. This is same
- // as the label selector but in the string format to avoid introspection
- // by clients. The string will be in the same format as the query-param syntax.
- // More info about label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors
- // +optional
- optional string selector = 2;
-}
-