@kubernetes-models/autoscaler
Version:
Kubernetes Autoscaler models
58 lines (57 loc) • 3.81 kB
TypeScript
import { IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1VerticalPodAutoscalerRecommenderSelector } from "./VerticalPodAutoscalerRecommenderSelector.js";
import { IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1PodResourcePolicy } from "./PodResourcePolicy.js";
import { IIoK8sApiAutoscalingV1CrossVersionObjectReference } from "kubernetes-models/autoscaling/v1/CrossVersionObjectReference";
import { IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1PodUpdatePolicy } from "./PodUpdatePolicy.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
* VerticalPodAutoscalerSpec is the specification of the behavior of the autoscaler.
*/
export interface IVerticalPodAutoscalerSpec {
/**
* Recommender responsible for generating recommendation for this object.
* List should be empty (then the default recommender will generate the
* recommendation) or contain exactly one recommender.
*/
"recommenders"?: Array<IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1VerticalPodAutoscalerRecommenderSelector>;
/**
* Controls how the autoscaler computes recommended resources.
* The resource policy may be used to set constraints on the recommendations
* for individual containers.
* If any individual containers need to be excluded from getting the VPA recommendations, then
* it must be disabled explicitly by setting mode to "Off" under containerPolicies.
* If not specified, the autoscaler computes recommended resources for all containers in the pod,
* without additional constraints.
*/
"resourcePolicy"?: IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1PodResourcePolicy;
/**
* TargetRef points to the controller managing the set of pods for the
* autoscaler to control - e.g. Deployment, StatefulSet. VerticalPodAutoscaler
* can be targeted at controller implementing scale subresource (the pod set is
* retrieved from the controller's ScaleStatus) or some well known controllers
* (e.g. for DaemonSet the pod set is read from the controller's spec).
* If VerticalPodAutoscaler cannot use specified target it will report
* ConfigUnsupported condition.
* Note that VerticalPodAutoscaler does not require full implementation
* of scale subresource - it will not use it to modify the replica count.
* The only thing retrieved is a label selector matching pods grouped by
* the target resource.
*/
"targetRef": IIoK8sApiAutoscalingV1CrossVersionObjectReference;
/**
* Describes the rules on how changes are applied to the pods.
* If not specified, all fields in the `PodUpdatePolicy` are set to their
* default values.
*/
"updatePolicy"?: IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1PodUpdatePolicy;
}
/**
* VerticalPodAutoscalerSpec is the specification of the behavior of the autoscaler.
*/
export declare class VerticalPodAutoscalerSpec extends Model<IVerticalPodAutoscalerSpec> implements IVerticalPodAutoscalerSpec {
"recommenders"?: Array<IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1VerticalPodAutoscalerRecommenderSelector>;
"resourcePolicy"?: IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1PodResourcePolicy;
"targetRef": IIoK8sApiAutoscalingV1CrossVersionObjectReference;
"updatePolicy"?: IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1PodUpdatePolicy;
constructor(data?: ModelData<IVerticalPodAutoscalerSpec>);
}
export type { IVerticalPodAutoscalerSpec as IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1VerticalPodAutoscalerSpec, VerticalPodAutoscalerSpec as IoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1VerticalPodAutoscalerSpec };