/**
 * CODE GENERATED BY 'typgen' BINARY.
 *
 * DO NOT EDIT.
 */ import { KubernetesObject } from 'kpt-functions' ; import * as pkgApiResource from './io.k8s.apimachinery.pkg.api.resource' ; import * as apisMetaV1 from './io.k8s.apimachinery.pkg.apis.meta.v1' ; export class ContainerResourceMetricSource { public container : string ; public name : string ; public targetAverageUtilization ? : number ; public targetAverageValue ? : pkgApiResource . Quantity ; constructor ( desc ) { this . container = desc . container ; this . name = desc . name ; this . targetAverageUtilization = desc . targetAverageUtilization ; this . targetAverageValue = desc . targetAverageValue ; } } export class ContainerResourceMetricStatus { public container : string ; public currentAverageUtilization ? : number ; public currentAverageValue : pkgApiResource . Quantity ; public name : string ; constructor ( desc ) { this . container = desc . container ; this . currentAverageUtilization = desc . currentAverageUtilization ; this . currentAverageValue = desc . currentAverageValue ; this . name = desc . name ; } } export class CrossVersionObjectReference { public apiVersion ? : string ; public kind : string ; public name : string ; constructor ( desc ) { this . apiVersion = desc . apiVersion ; this . kind = desc . kind ; this . name = desc . name ; } } export class ExternalMetricSource { public metricName : string ; public metricSelector ? : apisMetaV1 . LabelSelector ; public targetAverageValue ? : pkgApiResource . Quantity ; public targetValue ? : pkgApiResource . Quantity ; constructor ( desc ) { this . metricName = desc . metricName ; this . metricSelector = desc . metricSelector ; this . targetAverageValue = desc . targetAverageValue ; this . targetValue = desc . targetValue ; } } export class ExternalMetricStatus { public currentAverageValue ? : pkgApiResource . Quantity ; public currentValue : pkgApiResource . Quantity ; public metricName : string ; public metricSelector ? : apisMetaV1 . LabelSelector ; constructor ( desc ) { this . currentAverageValue = desc . currentAverageValue ; this . currentValue = desc . currentValue ; this . metricName = desc . metricName ; this . metricSelector = desc . metricSelector ; } } export class HorizontalPodAutoscaler implements KubernetesObject { public apiVersion : string ; public kind : string ; public metadata : apisMetaV1 . ObjectMeta ; public spec ? : HorizontalPodAutoscalerSpec ; public status ? : HorizontalPodAutoscalerStatus ; constructor ( desc ) { this . apiVersion = HorizontalPodAutoscaler . apiVersion ; this . kind = HorizontalPodAutoscaler . kind ; this . metadata = desc . metadata ; this . spec = desc . spec ; this . status = desc . status ; } } export function isHorizontalPodAutoscaler ( o ) { return o && o . apiVersion === HorizontalPodAutoscaler . apiVersion && o . kind === HorizontalPodAutoscaler . kind ; } export namespace HorizontalPodAutoscaler { export const apiVersion = "autoscaling/v2beta1" ; export const group = "autoscaling" ; export const version = "v2beta1" ; export const kind = "HorizontalPodAutoscaler" ; export function named ( name ) { return new HorizontalPodAutoscaler ( { metadata : { name } } ) ; } export interface Interface { metadata : apisMetaV1 . ObjectMeta ; spec ? : HorizontalPodAutoscalerSpec ; status ? : HorizontalPodAutoscalerStatus ; } } export class HorizontalPodAutoscalerCondition { public lastTransitionTime ? : apisMetaV1 . Time ; public message ? : string ; public reason ? : string ; public status : string ; public type : string ; constructor ( desc ) { this . lastTransitionTime = desc . lastTransitionTime ; this . message = desc . message ; this . reason = desc . reason ; this . status = desc . status ; this . type = desc . type ; } } export class HorizontalPodAutoscalerList { public apiVersion : string ; public items : HorizontalPodAutoscaler [ ] ; public kind : string ; public metadata ? : apisMetaV1 . ListMeta ; constructor ( desc ) { this . apiVersion = HorizontalPodAutoscalerList . apiVersion ; this . items = desc . items . map ( ( i ) => new HorizontalPodAutoscaler ( i ) ) ; this . kind = HorizontalPodAutoscalerList . kind ; this . metadata = desc . metadata ; } } export function isHorizontalPodAutoscalerList ( o ) { return o && o . apiVersion === HorizontalPodAutoscalerList . apiVersion && o . kind === HorizontalPodAutoscalerList . kind ; } export namespace HorizontalPodAutoscalerList { export const apiVersion = "autoscaling/v2beta1" ; export const group = "autoscaling" ; export const version = "v2beta1" ; export const kind = "HorizontalPodAutoscalerList" ; export interface Interface { items : HorizontalPodAutoscaler [ ] ; metadata ? : apisMetaV1 . ListMeta ; } } export class HorizontalPodAutoscalerSpec { public maxReplicas : number ; public metrics ? : MetricSpec [ ] ; public minReplicas ? : number ; public scaleTargetRef : CrossVersionObjectReference ; constructor ( desc ) { this . maxReplicas = desc . maxReplicas ; this . metrics = desc . metrics ; this . minReplicas = desc . minReplicas ; this . scaleTargetRef = desc . scaleTargetRef ; } } export class HorizontalPodAutoscalerStatus { public conditions : HorizontalPodAutoscalerCondition [ ] ; public currentMetrics ? : MetricStatus [ ] ; public currentReplicas : number ; public desiredReplicas : number ; public lastScaleTime ? : apisMetaV1 . Time ; public observedGeneration ? : number ; constructor ( desc ) { this . conditions = desc . conditions ; this . currentMetrics = desc . currentMetrics ; this . currentReplicas = desc . currentReplicas ; this . desiredReplicas = desc . desiredReplicas ; this . lastScaleTime = desc . lastScaleTime ; this . observedGeneration = desc . observedGeneration ; } } export class MetricSpec { public containerResource ? : ContainerResourceMetricSource ; public external ? : ExternalMetricSource ; public object ? : ObjectMetricSource ; public pods ? : PodsMetricSource ; public resource ? : ResourceMetricSource ; public type : string ; constructor ( desc ) { this . containerResource = desc . containerResource ; this . external = desc . external ; this . object = desc . object ; this . pods = desc . pods ; this . resource = desc . resource ; this . type = desc . type ; } } export class MetricStatus { public containerResource ? : ContainerResourceMetricStatus ; public external ? : ExternalMetricStatus ; public object ? : ObjectMetricStatus ; public pods ? : PodsMetricStatus ; public resource ? : ResourceMetricStatus ; public type : string ; constructor ( desc ) { this . containerResource = desc . containerResource ; this . external = desc . external ; this . object = desc . object ; this . pods = desc . pods ; this . resource = desc . resource ; this . type = desc . type ; } } export class ObjectMetricSource { public averageValue ? : pkgApiResource . Quantity ; public metricName : string ; public selector ? : apisMetaV1 . LabelSelector ; public target : CrossVersionObjectReference ; public targetValue : pkgApiResource . Quantity ; constructor ( desc ) { this . averageValue = desc . averageValue ; this . metricName = desc . metricName ; this . selector = desc . selector ; this . target = desc . target ; this . targetValue = desc . targetValue ; } } export class ObjectMetricStatus { public averageValue ? : pkgApiResource . Quantity ; public currentValue : pkgApiResource . Quantity ; public metricName : string ; public selector ? : apisMetaV1 . LabelSelector ; public target : CrossVersionObjectReference ; constructor ( desc ) { this . averageValue = desc . averageValue ; this . currentValue = desc . currentValue ; this . metricName = desc . metricName ; this . selector = desc . selector ; this . target = desc . target ; } } export class PodsMetricSource { public metricName : string ; public selector ? : apisMetaV1 . LabelSelector ; public targetAverageValue : pkgApiResource . Quantity ; constructor ( desc ) { this . metricName = desc . metricName ; this . selector = desc . selector ; this . targetAverageValue = desc . targetAverageValue ; } } export class PodsMetricStatus { public currentAverageValue : pkgApiResource . Quantity ; public metricName : string ; public selector ? : apisMetaV1 . LabelSelector ; constructor ( desc ) { this . currentAverageValue = desc . currentAverageValue ; this . metricName = desc . metricName ; this . selector = desc . selector ; } } export class ResourceMetricSource { public name : string ; public targetAverageUtilization ? : number ; public targetAverageValue ? : pkgApiResource . Quantity ; constructor ( desc ) { this . name = desc . name ; this . targetAverageUtilization = desc . targetAverageUtilization ; this . targetAverageValue = desc . targetAverageValue ; } } export class ResourceMetricStatus { public currentAverageUtilization ? : number ; public currentAverageValue : pkgApiResource . Quantity ; public name : string ; constructor ( desc ) { this . currentAverageUtilization = desc . currentAverageUtilization ; this . currentAverageValue = desc . currentAverageValue ; this . name = desc . name ; } }