import { Resource } from '@c6o/kubeclient-contracts'; import { ListMeta, ObjectMeta, Time } from '../meta/v1'; export interface CustomResourceColumnDefinition { JSONPath: string; description?: string; format?: string; name: string; priority?: number; type: string; } export interface CustomResourceConversion { conversionReviewVersions?: Array; strategy: string; webhookClientConfig?: WebhookClientConfig; } export interface CustomResourceDefinition extends Resource { apiVersion?: 'apiextensions.k8s.io/v1beta1'; kind?: 'CustomResourceDefinition'; metadata?: ObjectMeta; spec: CustomResourceDefinitionSpec; status?: CustomResourceDefinitionStatus; } export interface CustomResourceDefinitionCondition { lastTransitionTime?: Time; message?: string; reason?: string; status: string; type: string; } export interface CustomResourceDefinitionList extends Resource { apiVersion?: 'apiextensions.k8s.io/v1beta1'; items: Array; kind?: 'CustomResourceDefinitionList'; metadata?: ListMeta; } export interface CustomResourceDefinitionNames { categories?: Array; kind: string; listKind?: string; plural: string; shortNames?: Array; singular?: string; } export interface CustomResourceDefinitionSpec { additionalPrinterColumns?: Array; conversion?: CustomResourceConversion; group: string; names: CustomResourceDefinitionNames; preserveUnknownFields?: boolean; scope: string; subresources?: CustomResourceSubresources; validation?: CustomResourceValidation; version?: string; versions?: Array; } export interface CustomResourceDefinitionStatus { acceptedNames?: CustomResourceDefinitionNames; conditions?: Array; storedVersions?: Array; } export interface CustomResourceDefinitionVersion { additionalPrinterColumns?: Array; deprecated?: boolean; deprecationWarning?: string; name: string; schema?: CustomResourceValidation; served: boolean; storage: boolean; subresources?: CustomResourceSubresources; } export interface CustomResourceSubresourceScale { labelSelectorPath?: string; specReplicasPath: string; statusReplicasPath: string; } export interface CustomResourceSubresourceStatus { } export interface CustomResourceSubresources { scale?: CustomResourceSubresourceScale; status?: CustomResourceSubresourceStatus; } export interface CustomResourceValidation { openAPIV3Schema?: JSONSchemaProps; } export interface ExternalDocumentation { description?: string; url?: string; } export interface JSON { } export interface JSONSchemaProps { $ref?: string; $schema?: string; additionalItems?: JSONSchemaPropsOrBool; additionalProperties?: JSONSchemaPropsOrBool; allOf?: Array; anyOf?: Array; default?: JSON; definitions?: { [name: string]: JSONSchemaProps; }; dependencies?: { [name: string]: JSONSchemaPropsOrStringArray; }; description?: string; enum?: Array; example?: JSON; exclusiveMaximum?: boolean; exclusiveMinimum?: boolean; externalDocs?: ExternalDocumentation; format?: string; id?: string; items?: JSONSchemaPropsOrArray; maxItems?: number; maxLength?: number; maxProperties?: number; maximum?: number; minItems?: number; minLength?: number; minProperties?: number; minimum?: number; multipleOf?: number; not?: JSONSchemaProps; nullable?: boolean; oneOf?: Array; pattern?: string; patternProperties?: { [name: string]: JSONSchemaProps; }; properties?: { [name: string]: JSONSchemaProps; }; required?: Array; title?: string; type?: string; uniqueItems?: boolean; 'x-kubernetes-embedded-resource'?: boolean; 'x-kubernetes-int-or-string'?: boolean; 'x-kubernetes-list-map-keys'?: Array; 'x-kubernetes-list-type'?: string; 'x-kubernetes-map-type'?: string; 'x-kubernetes-preserve-unknown-fields'?: boolean; } export declare type JSONSchemaPropsOrArray = JSONSchemaProps | JSONSchemaProps[]; export declare type JSONSchemaPropsOrBool = JSONSchemaProps | boolean; export declare type JSONSchemaPropsOrStringArray = JSONSchemaProps | string[]; export interface ServiceReference { name: string; namespace: string; path?: string; port?: number; } export interface WebhookClientConfig { caBundle?: string; service?: ServiceReference; url?: string; }