2017-02-01 00:45:59 +00:00
|
|
|
/*
|
|
|
|
Copyright 2017 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.kubernetes.pkg.apis.autoscaling.v1;
|
|
|
|
|
|
|
|
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/kubernetes/pkg/api/resource/generated.proto";
|
|
|
|
import "k8s.io/kubernetes/pkg/api/v1/generated.proto";
|
|
|
|
import "k8s.io/kubernetes/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: http://releases.k8s.io/HEAD/docs/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;
|
|
|
|
}
|
|
|
|
|
|
|
|
// configuration of a horizontal pod autoscaler.
|
|
|
|
message HorizontalPodAutoscaler {
|
|
|
|
// Standard object metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
|
|
|
|
// +optional
|
2017-02-03 13:41:32 +00:00
|
|
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
2017-02-01 00:45:59 +00:00
|
|
|
|
|
|
|
// behaviour of autoscaler. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status.
|
|
|
|
// +optional
|
|
|
|
optional HorizontalPodAutoscalerSpec spec = 2;
|
|
|
|
|
|
|
|
// current information about the autoscaler.
|
|
|
|
// +optional
|
|
|
|
optional HorizontalPodAutoscalerStatus status = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
// 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;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Scale represents a scaling request for a resource.
|
|
|
|
message Scale {
|
|
|
|
// Standard object metadata; More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata.
|
|
|
|
// +optional
|
2017-02-03 13:41:32 +00:00
|
|
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
2017-02-01 00:45:59 +00:00
|
|
|
|
|
|
|
// defines the behavior of the scale. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status.
|
|
|
|
// +optional
|
|
|
|
optional ScaleSpec spec = 2;
|
|
|
|
|
|
|
|
// current status of the scale. More info: http://releases.k8s.io/HEAD/docs/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;
|
|
|
|
}
|
|
|
|
|