/** * @module apiextensions.k8s.io/v1beta1 * @internal */ import { ListMeta as _ListMeta_3 } from "./../meta/v1"; import { ObjectMeta as _ObjectMeta_1 } from "./../meta/v1"; import { Time as _Time_2 } from "./../meta/v1"; /** * CustomResourceDefinition represents a resource that should be exposed on the API server. Its name MUST be in the format <.spec.name>.<.spec.group>. */ export declare interface CustomResourceDefinition { /** * APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources */ apiVersion?: string; /** * Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds */ kind?: string; metadata?: _ObjectMeta_1; /** * Spec describes how the user wants the resources to appear */ spec?: CustomResourceDefinitionSpec; /** * Status indicates the actual state of the CustomResourceDefinition */ status?: CustomResourceDefinitionStatus; } /** * CustomResourceDefinitionCondition contains details for the current condition of this pod. */ export declare interface CustomResourceDefinitionCondition { /** * Last time the condition transitioned from one status to another. */ lastTransitionTime?: _Time_2; /** * Human-readable message indicating details about last transition. */ message?: string; /** * Unique, one-word, CamelCase reason for the condition's last transition. */ reason?: string; /** * Status is the status of the condition. Can be True, False, Unknown. */ status: string; /** * Type is the type of the condition. */ type: string; } /** * CustomResourceDefinitionList is a list of CustomResourceDefinition objects. */ export declare interface CustomResourceDefinitionList { /** * APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources */ apiVersion?: string; /** * Items individual CustomResourceDefinitions */ items: Iterable; /** * Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds */ kind?: string; metadata?: _ListMeta_3; } /** * CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition */ export declare interface CustomResourceDefinitionNames { /** * Kind is the serialized kind of the resource. It is normally CamelCase and singular. */ kind: string; /** * ListKind is the serialized kind of the list for this resource. Defaults to List. */ listKind?: string; /** * Plural is the plural name of the resource to serve. It must match the name of the CustomResourceDefinition-registration too: plural.group and it must be all lowercase. */ plural: string; /** * ShortNames are short names for the resource. It must be all lowercase. */ shortNames?: Iterable; /** * Singular is the singular name of the resource. It must be all lowercase Defaults to lowercased */ singular?: string; } /** * CustomResourceDefinitionSpec describes how a user wants their resource to appear */ export declare interface CustomResourceDefinitionSpec { /** * Group is the group this resource belongs in */ group: string; /** * Names are the names used to describe this custom resource */ names: CustomResourceDefinitionNames; /** * Scope indicates whether this resource is cluster or namespace scoped. Default is namespaced */ scope: string; /** * Validation describes the validation methods for CustomResources This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature. */ validation?: CustomResourceValidation; /** * Version is the version this resource belongs in */ version: string; } /** * CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition */ export declare interface CustomResourceDefinitionStatus { /** * AcceptedNames are the names that are actually being used to serve discovery They may be different than the names in spec. */ acceptedNames: CustomResourceDefinitionNames; /** * Conditions indicate state for particular aspects of a CustomResourceDefinition */ conditions: Iterable; } /** * CustomResourceValidation is a list of validation methods for CustomResources. */ export declare interface CustomResourceValidation { /** * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against. */ openAPIV3Schema?: JSONSchemaProps; } /** * ExternalDocumentation allows referencing an external resource for extended documentation. */ export declare interface ExternalDocumentation { description?: string; url?: string; } /** * JSON represents any valid JSON value. These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. */ export declare interface JSON { Raw: string; } /** * JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/). */ export declare interface JSONSchemaProps { $ref?: string; $schema?: string; additionalItems?: JSONSchemaPropsOrBool; additionalProperties?: JSONSchemaPropsOrBool; allOf?: Iterable; anyOf?: Iterable; default?: JSON; definitions?: { [key: string]: JSONSchemaProps; }; dependencies?: { [key: string]: JSONSchemaPropsOrStringArray; }; description?: string; enum?: Iterable; 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; oneOf?: Iterable; pattern?: string; patternProperties?: { [key: string]: JSONSchemaProps; }; properties?: { [key: string]: JSONSchemaProps; }; required?: Iterable; title?: string; type?: string; uniqueItems?: boolean; } /** * JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps or an array of JSONSchemaProps. Mainly here for serialization purposes. */ export declare interface JSONSchemaPropsOrArray { JSONSchemas: Iterable; Schema: JSONSchemaProps; } /** * JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value. Defaults to true for the boolean property. */ export declare interface JSONSchemaPropsOrBool { Allows: boolean; Schema: JSONSchemaProps; } /** * JSONSchemaPropsOrStringArray represents a JSONSchemaProps or a string array. */ export declare interface JSONSchemaPropsOrStringArray { Property: Iterable; Schema: JSONSchemaProps; }