/**
 * CODE GENERATED BY 'typgen' BINARY.
 *
 * DO NOT EDIT.
 */ import { KubernetesObject } from 'kpt-functions' ; import * as apisMetaV1 from './io.k8s.apimachinery.pkg.apis.meta.v1' ; export class FlowDistinguisherMethod { public type : string ; constructor ( desc ) { this . type = desc . type ; } } export class FlowSchema implements KubernetesObject { public apiVersion : string ; public kind : string ; public metadata : apisMetaV1 . ObjectMeta ; public spec ? : FlowSchemaSpec ; public status ? : FlowSchemaStatus ; constructor ( desc ) { this . apiVersion = FlowSchema . apiVersion ; this . kind = FlowSchema . kind ; this . metadata = desc . metadata ; this . spec = desc . spec ; this . status = desc . status ; } } export function isFlowSchema ( o ) { return o && o . apiVersion === FlowSchema . apiVersion && o . kind === FlowSchema . kind ; } export namespace FlowSchema { export const apiVersion = "flowcontrol.apiserver.k8s.io/v1beta1" ; export const group = "flowcontrol.apiserver.k8s.io" ; export const version = "v1beta1" ; export const kind = "FlowSchema" ; export function named ( name ) { return new FlowSchema ( { metadata : { name } } ) ; } export interface Interface { metadata : apisMetaV1 . ObjectMeta ; spec ? : FlowSchemaSpec ; status ? : FlowSchemaStatus ; } } export class FlowSchemaCondition { public lastTransitionTime ? : apisMetaV1 . Time ; public message ? : string ; public reason ? : string ; public status ? : string ; public type ? : string ; } export class FlowSchemaList { public apiVersion : string ; public items : FlowSchema [ ] ; public kind : string ; public metadata ? : apisMetaV1 . ListMeta ; constructor ( desc ) { this . apiVersion = FlowSchemaList . apiVersion ; this . items = desc . items . map ( ( i ) => new FlowSchema ( i ) ) ; this . kind = FlowSchemaList . kind ; this . metadata = desc . metadata ; } } export function isFlowSchemaList ( o ) { return o && o . apiVersion === FlowSchemaList . apiVersion && o . kind === FlowSchemaList . kind ; } export namespace FlowSchemaList { export const apiVersion = "flowcontrol.apiserver.k8s.io/v1beta1" ; export const group = "flowcontrol.apiserver.k8s.io" ; export const version = "v1beta1" ; export const kind = "FlowSchemaList" ; export interface Interface { items : FlowSchema [ ] ; metadata ? : apisMetaV1 . ListMeta ; } } export class FlowSchemaSpec { public distinguisherMethod ? : FlowDistinguisherMethod ; public matchingPrecedence ? : number ; public priorityLevelConfiguration : PriorityLevelConfigurationReference ; public rules ? : PolicyRulesWithSubjects [ ] ; constructor ( desc ) { this . distinguisherMethod = desc . distinguisherMethod ; this . matchingPrecedence = desc . matchingPrecedence ; this . priorityLevelConfiguration = desc . priorityLevelConfiguration ; this . rules = desc . rules ; } } export class FlowSchemaStatus { public conditions ? : FlowSchemaCondition [ ] ; } export class GroupSubject { public name : string ; constructor ( desc ) { this . name = desc . name ; } } export class LimitResponse { public queuing ? : QueuingConfiguration ; public type : string ; constructor ( desc ) { this . queuing = desc . queuing ; this . type = desc . type ; } } export class LimitedPriorityLevelConfiguration { public assuredConcurrencyShares ? : number ; public limitResponse ? : LimitResponse ; } export class NonResourcePolicyRule { public nonResourceURLs : string [ ] ; public verbs : string [ ] ; constructor ( desc ) { this . nonResourceURLs = desc . nonResourceURLs ; this . verbs = desc . verbs ; } } export class PolicyRulesWithSubjects { public nonResourceRules ? : NonResourcePolicyRule [ ] ; public resourceRules ? : ResourcePolicyRule [ ] ; public subjects : Subject [ ] ; constructor ( desc ) { this . nonResourceRules = desc . nonResourceRules ; this . resourceRules = desc . resourceRules ; this . subjects = desc . subjects ; } } export class PriorityLevelConfiguration implements KubernetesObject { public apiVersion : string ; public kind : string ; public metadata : apisMetaV1 . ObjectMeta ; public spec ? : PriorityLevelConfigurationSpec ; public status ? : PriorityLevelConfigurationStatus ; constructor ( desc ) { this . apiVersion = PriorityLevelConfiguration . apiVersion ; this . kind = PriorityLevelConfiguration . kind ; this . metadata = desc . metadata ; this . spec = desc . spec ; this . status = desc . status ; } } export function isPriorityLevelConfiguration ( o ) { return o && o . apiVersion === PriorityLevelConfiguration . apiVersion && o . kind === PriorityLevelConfiguration . kind ; } export namespace PriorityLevelConfiguration { export const apiVersion = "flowcontrol.apiserver.k8s.io/v1beta1" ; export const group = "flowcontrol.apiserver.k8s.io" ; export const version = "v1beta1" ; export const kind = "PriorityLevelConfiguration" ; export function named ( name ) { return new PriorityLevelConfiguration ( { metadata : { name } } ) ; } export interface Interface { metadata : apisMetaV1 . ObjectMeta ; spec ? : PriorityLevelConfigurationSpec ; status ? : PriorityLevelConfigurationStatus ; } } export class PriorityLevelConfigurationCondition { public lastTransitionTime ? : apisMetaV1 . Time ; public message ? : string ; public reason ? : string ; public status ? : string ; public type ? : string ; } export class PriorityLevelConfigurationList { public apiVersion : string ; public items : PriorityLevelConfiguration [ ] ; public kind : string ; public metadata ? : apisMetaV1 . ListMeta ; constructor ( desc ) { this . apiVersion = PriorityLevelConfigurationList . apiVersion ; this . items = desc . items . map ( ( i ) => new PriorityLevelConfiguration ( i ) ) ; this . kind = PriorityLevelConfigurationList . kind ; this . metadata = desc . metadata ; } } export function isPriorityLevelConfigurationList ( o ) { return o && o . apiVersion === PriorityLevelConfigurationList . apiVersion && o . kind === PriorityLevelConfigurationList . kind ; } export namespace PriorityLevelConfigurationList { export const apiVersion = "flowcontrol.apiserver.k8s.io/v1beta1" ; export const group = "flowcontrol.apiserver.k8s.io" ; export const version = "v1beta1" ; export const kind = "PriorityLevelConfigurationList" ; export interface Interface { items : PriorityLevelConfiguration [ ] ; metadata ? : apisMetaV1 . ListMeta ; } } export class PriorityLevelConfigurationReference { public name : string ; constructor ( desc ) { this . name = desc . name ; } } export class PriorityLevelConfigurationSpec { public limited ? : LimitedPriorityLevelConfiguration ; public type : string ; constructor ( desc ) { this . limited = desc . limited ; this . type = desc . type ; } } export class PriorityLevelConfigurationStatus { public conditions ? : PriorityLevelConfigurationCondition [ ] ; } export class QueuingConfiguration { public handSize ? : number ; public queueLengthLimit ? : number ; public queues ? : number ; } export class ResourcePolicyRule { public apiGroups : string [ ] ; public clusterScope ? : boolean ; public namespaces ? : string [ ] ; public resources : string [ ] ; public verbs : string [ ] ; constructor ( desc ) { this . apiGroups = desc . apiGroups ; this . clusterScope = desc . clusterScope ; this . namespaces = desc . namespaces ; this . resources = desc . resources ; this . verbs = desc . verbs ; } } export class ServiceAccountSubject { public name : string ; public namespace : string ; constructor ( desc ) { this . name = desc . name ; this . namespace = desc . namespace ; } } export class Subject { public group ? : GroupSubject ; public kind : string ; public serviceAccount ? : ServiceAccountSubject ; public user ? : UserSubject ; constructor ( desc ) { this . group = desc . group ; this . kind = desc . kind ; this . serviceAccount = desc . serviceAccount ; this . user = desc . user ; } } export class UserSubject { public name : string ; constructor ( desc ) { this . name = desc . name ; } }