UNPKG

@kubernetes-models/autoscaler

Version:
47 lines (46 loc) 3 kB
import { IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1beta2PodResourcePolicy } from "./PodResourcePolicy.js"; import { IIoK8sApiAutoscalingV1CrossVersionObjectReference } from "kubernetes-models/autoscaling/v1/CrossVersionObjectReference"; import { IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1beta2PodUpdatePolicy } from "./PodUpdatePolicy.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * VerticalPodAutoscalerSpec is the specification of the behavior of the autoscaler. */ export interface IVerticalPodAutoscalerSpec { /** * Controls how the autoscaler computes recommended resources. * The resource policy may be used to set constraints on the recommendations * for individual containers. If not specified, the autoscaler computes recommended * resources for all containers in the pod, without additional constraints. */ "resourcePolicy"?: IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1beta2PodResourcePolicy; /** * 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"?: IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1beta2PodUpdatePolicy; } /** * VerticalPodAutoscalerSpec is the specification of the behavior of the autoscaler. */ export declare class VerticalPodAutoscalerSpec extends Model<IVerticalPodAutoscalerSpec> implements IVerticalPodAutoscalerSpec { "resourcePolicy"?: IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1beta2PodResourcePolicy; "targetRef": IIoK8sApiAutoscalingV1CrossVersionObjectReference; "updatePolicy"?: IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1beta2PodUpdatePolicy; constructor(data?: ModelData<IVerticalPodAutoscalerSpec>); } export type { IVerticalPodAutoscalerSpec as IIoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1beta2VerticalPodAutoscalerSpec, VerticalPodAutoscalerSpec as IoK8sAutoscalerVerticalPodAutoscalerPkgApisAutoscalingK8sIoV1beta2VerticalPodAutoscalerSpec };