UNPKG

@kubernetes-models/autoscaler

Version:
58 lines (57 loc) 3.81 kB
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 };