239 lines
7.3 KiB
Protocol Buffer
239 lines
7.3 KiB
Protocol Buffer
/*
|
|
Copyright 2017 The Kubernetes Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
|
|
// This file was autogenerated by go-to-protobuf. Do not edit it manually!
|
|
|
|
syntax = 'proto2';
|
|
|
|
package k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1;
|
|
|
|
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
|
|
import "k8s.io/apimachinery/pkg/runtime/generated.proto";
|
|
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
|
|
import "k8s.io/apimachinery/pkg/util/intstr/generated.proto";
|
|
|
|
// Package-wide variables from generator "generated".
|
|
option go_package = "v1beta1";
|
|
|
|
// CustomResourceDefinition represents a resource that should be exposed on the API server. Its name MUST be in the format
|
|
// <.spec.name>.<.spec.group>.
|
|
message CustomResourceDefinition {
|
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
|
|
|
// Spec describes how the user wants the resources to appear
|
|
optional CustomResourceDefinitionSpec spec = 2;
|
|
|
|
// Status indicates the actual state of the CustomResourceDefinition
|
|
optional CustomResourceDefinitionStatus status = 3;
|
|
}
|
|
|
|
// CustomResourceDefinitionCondition contains details for the current condition of this pod.
|
|
message CustomResourceDefinitionCondition {
|
|
// Type is the type of the condition.
|
|
optional string type = 1;
|
|
|
|
// Status is the status of the condition.
|
|
// Can be True, False, Unknown.
|
|
optional string status = 2;
|
|
|
|
// Last time the condition transitioned from one status to another.
|
|
// +optional
|
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
|
|
|
|
// Unique, one-word, CamelCase reason for the condition's last transition.
|
|
// +optional
|
|
optional string reason = 4;
|
|
|
|
// Human-readable message indicating details about last transition.
|
|
// +optional
|
|
optional string message = 5;
|
|
}
|
|
|
|
// CustomResourceDefinitionList is a list of CustomResourceDefinition objects.
|
|
message CustomResourceDefinitionList {
|
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
|
|
|
// Items individual CustomResourceDefinitions
|
|
repeated CustomResourceDefinition items = 2;
|
|
}
|
|
|
|
// CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition
|
|
message CustomResourceDefinitionNames {
|
|
// 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.
|
|
optional string plural = 1;
|
|
|
|
// Singular is the singular name of the resource. It must be all lowercase Defaults to lowercased <kind>
|
|
optional string singular = 2;
|
|
|
|
// ShortNames are short names for the resource. It must be all lowercase.
|
|
repeated string shortNames = 3;
|
|
|
|
// Kind is the serialized kind of the resource. It is normally CamelCase and singular.
|
|
optional string kind = 4;
|
|
|
|
// ListKind is the serialized kind of the list for this resource. Defaults to <kind>List.
|
|
optional string listKind = 5;
|
|
}
|
|
|
|
// CustomResourceDefinitionSpec describes how a user wants their resource to appear
|
|
message CustomResourceDefinitionSpec {
|
|
// Group is the group this resource belongs in
|
|
optional string group = 1;
|
|
|
|
// Version is the version this resource belongs in
|
|
optional string version = 2;
|
|
|
|
// Names are the names used to describe this custom resource
|
|
optional CustomResourceDefinitionNames names = 3;
|
|
|
|
// Scope indicates whether this resource is cluster or namespace scoped. Default is namespaced
|
|
optional string scope = 4;
|
|
|
|
// Validation describes the validation methods for CustomResources
|
|
// This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
|
|
// +optional
|
|
optional CustomResourceValidation validation = 5;
|
|
}
|
|
|
|
// CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition
|
|
message CustomResourceDefinitionStatus {
|
|
// Conditions indicate state for particular aspects of a CustomResourceDefinition
|
|
repeated CustomResourceDefinitionCondition conditions = 1;
|
|
|
|
// AcceptedNames are the names that are actually being used to serve discovery
|
|
// They may be different than the names in spec.
|
|
optional CustomResourceDefinitionNames acceptedNames = 2;
|
|
}
|
|
|
|
// CustomResourceValidation is a list of validation methods for CustomResources.
|
|
message CustomResourceValidation {
|
|
// OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
|
|
optional JSONSchemaProps openAPIV3Schema = 1;
|
|
}
|
|
|
|
// ExternalDocumentation allows referencing an external resource for extended documentation.
|
|
message ExternalDocumentation {
|
|
optional string description = 1;
|
|
|
|
optional string url = 2;
|
|
}
|
|
|
|
// JSON represents any valid JSON value.
|
|
// These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil.
|
|
message JSON {
|
|
optional bytes raw = 1;
|
|
}
|
|
|
|
// JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/).
|
|
message JSONSchemaProps {
|
|
optional string id = 1;
|
|
|
|
optional string schema = 2;
|
|
|
|
optional string ref = 3;
|
|
|
|
optional string description = 4;
|
|
|
|
optional string type = 5;
|
|
|
|
optional string format = 6;
|
|
|
|
optional string title = 7;
|
|
|
|
optional JSON default = 8;
|
|
|
|
optional double maximum = 9;
|
|
|
|
optional bool exclusiveMaximum = 10;
|
|
|
|
optional double minimum = 11;
|
|
|
|
optional bool exclusiveMinimum = 12;
|
|
|
|
optional int64 maxLength = 13;
|
|
|
|
optional int64 minLength = 14;
|
|
|
|
optional string pattern = 15;
|
|
|
|
optional int64 maxItems = 16;
|
|
|
|
optional int64 minItems = 17;
|
|
|
|
optional bool uniqueItems = 18;
|
|
|
|
optional double multipleOf = 19;
|
|
|
|
repeated JSON enum = 20;
|
|
|
|
optional int64 maxProperties = 21;
|
|
|
|
optional int64 minProperties = 22;
|
|
|
|
repeated string required = 23;
|
|
|
|
optional JSONSchemaPropsOrArray items = 24;
|
|
|
|
repeated JSONSchemaProps allOf = 25;
|
|
|
|
repeated JSONSchemaProps oneOf = 26;
|
|
|
|
repeated JSONSchemaProps anyOf = 27;
|
|
|
|
optional JSONSchemaProps not = 28;
|
|
|
|
map<string, JSONSchemaProps> properties = 29;
|
|
|
|
optional JSONSchemaPropsOrBool additionalProperties = 30;
|
|
|
|
map<string, JSONSchemaProps> patternProperties = 31;
|
|
|
|
map<string, JSONSchemaPropsOrStringArray> dependencies = 32;
|
|
|
|
optional JSONSchemaPropsOrBool additionalItems = 33;
|
|
|
|
map<string, JSONSchemaProps> definitions = 34;
|
|
|
|
optional ExternalDocumentation externalDocs = 35;
|
|
|
|
optional JSON example = 36;
|
|
}
|
|
|
|
// JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps
|
|
// or an array of JSONSchemaProps. Mainly here for serialization purposes.
|
|
message JSONSchemaPropsOrArray {
|
|
optional JSONSchemaProps schema = 1;
|
|
|
|
repeated JSONSchemaProps jSONSchemas = 2;
|
|
}
|
|
|
|
// JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value.
|
|
// Defaults to true for the boolean property.
|
|
message JSONSchemaPropsOrBool {
|
|
optional bool allows = 1;
|
|
|
|
optional JSONSchemaProps schema = 2;
|
|
}
|
|
|
|
// JSONSchemaPropsOrStringArray represents a JSONSchemaProps or a string array.
|
|
message JSONSchemaPropsOrStringArray {
|
|
optional JSONSchemaProps schema = 1;
|
|
|
|
repeated string property = 2;
|
|
}
|
|
|