@kubernetes-models/autoscaler
Version:
Kubernetes Autoscaler models
47 lines (46 loc) • 3 kB
TypeScript
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 };