401 lines
15 KiB
Protocol Buffer
401 lines
15 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.kubernetes.pkg.api.unversioned;
|
||
|
|
||
|
import "k8s.io/kubernetes/pkg/runtime/generated.proto";
|
||
|
import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
|
||
|
|
||
|
// Package-wide variables from generator "generated".
|
||
|
option go_package = "unversioned";
|
||
|
|
||
|
// APIGroup contains the name, the supported versions, and the preferred version
|
||
|
// of a group.
|
||
|
message APIGroup {
|
||
|
// name is the name of the group.
|
||
|
optional string name = 1;
|
||
|
|
||
|
// versions are the versions supported in this group.
|
||
|
repeated GroupVersionForDiscovery versions = 2;
|
||
|
|
||
|
// preferredVersion is the version preferred by the API server, which
|
||
|
// probably is the storage version.
|
||
|
// +optional
|
||
|
optional GroupVersionForDiscovery preferredVersion = 3;
|
||
|
|
||
|
// a map of client CIDR to server address that is serving this group.
|
||
|
// This is to help clients reach servers in the most network-efficient way possible.
|
||
|
// Clients can use the appropriate server address as per the CIDR that they match.
|
||
|
// In case of multiple matches, clients should use the longest matching CIDR.
|
||
|
// The server returns only those CIDRs that it thinks that the client can match.
|
||
|
// For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP.
|
||
|
// Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.
|
||
|
repeated ServerAddressByClientCIDR serverAddressByClientCIDRs = 4;
|
||
|
}
|
||
|
|
||
|
// APIGroupList is a list of APIGroup, to allow clients to discover the API at
|
||
|
// /apis.
|
||
|
message APIGroupList {
|
||
|
// groups is a list of APIGroup.
|
||
|
repeated APIGroup groups = 1;
|
||
|
}
|
||
|
|
||
|
// APIResource specifies the name of a resource and whether it is namespaced.
|
||
|
message APIResource {
|
||
|
// name is the name of the resource.
|
||
|
optional string name = 1;
|
||
|
|
||
|
// namespaced indicates if a resource is namespaced or not.
|
||
|
optional bool namespaced = 2;
|
||
|
|
||
|
// kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')
|
||
|
optional string kind = 3;
|
||
|
}
|
||
|
|
||
|
// APIResourceList is a list of APIResource, it is used to expose the name of the
|
||
|
// resources supported in a specific group and version, and if the resource
|
||
|
// is namespaced.
|
||
|
message APIResourceList {
|
||
|
// groupVersion is the group and version this APIResourceList is for.
|
||
|
optional string groupVersion = 1;
|
||
|
|
||
|
// resources contains the name of the resources and if they are namespaced.
|
||
|
repeated APIResource resources = 2;
|
||
|
}
|
||
|
|
||
|
// APIVersions lists the versions that are available, to allow clients to
|
||
|
// discover the API at /api, which is the root path of the legacy v1 API.
|
||
|
//
|
||
|
// +protobuf.options.(gogoproto.goproto_stringer)=false
|
||
|
message APIVersions {
|
||
|
// versions are the api versions that are available.
|
||
|
repeated string versions = 1;
|
||
|
|
||
|
// a map of client CIDR to server address that is serving this group.
|
||
|
// This is to help clients reach servers in the most network-efficient way possible.
|
||
|
// Clients can use the appropriate server address as per the CIDR that they match.
|
||
|
// In case of multiple matches, clients should use the longest matching CIDR.
|
||
|
// The server returns only those CIDRs that it thinks that the client can match.
|
||
|
// For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP.
|
||
|
// Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.
|
||
|
repeated ServerAddressByClientCIDR serverAddressByClientCIDRs = 2;
|
||
|
}
|
||
|
|
||
|
// Duration is a wrapper around time.Duration which supports correct
|
||
|
// marshaling to YAML and JSON. In particular, it marshals into strings, which
|
||
|
// can be used as map keys in json.
|
||
|
message Duration {
|
||
|
optional int64 duration = 1;
|
||
|
}
|
||
|
|
||
|
// ExportOptions is the query options to the standard REST get call.
|
||
|
message ExportOptions {
|
||
|
// Should this value be exported. Export strips fields that a user can not specify.`
|
||
|
optional bool export = 1;
|
||
|
|
||
|
// Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'
|
||
|
optional bool exact = 2;
|
||
|
}
|
||
|
|
||
|
// GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying
|
||
|
// concepts during lookup stages without having partially valid types
|
||
|
//
|
||
|
// +protobuf.options.(gogoproto.goproto_stringer)=false
|
||
|
message GroupKind {
|
||
|
optional string group = 1;
|
||
|
|
||
|
optional string kind = 2;
|
||
|
}
|
||
|
|
||
|
// GroupResource specifies a Group and a Resource, but does not force a version. This is useful for identifying
|
||
|
// concepts during lookup stages without having partially valid types
|
||
|
//
|
||
|
// +protobuf.options.(gogoproto.goproto_stringer)=false
|
||
|
message GroupResource {
|
||
|
optional string group = 1;
|
||
|
|
||
|
optional string resource = 2;
|
||
|
}
|
||
|
|
||
|
// GroupVersion contains the "group" and the "version", which uniquely identifies the API.
|
||
|
//
|
||
|
// +protobuf.options.(gogoproto.goproto_stringer)=false
|
||
|
message GroupVersion {
|
||
|
optional string group = 1;
|
||
|
|
||
|
optional string version = 2;
|
||
|
}
|
||
|
|
||
|
// GroupVersion contains the "group/version" and "version" string of a version.
|
||
|
// It is made a struct to keep extensibility.
|
||
|
message GroupVersionForDiscovery {
|
||
|
// groupVersion specifies the API group and version in the form "group/version"
|
||
|
optional string groupVersion = 1;
|
||
|
|
||
|
// version specifies the version in the form of "version". This is to save
|
||
|
// the clients the trouble of splitting the GroupVersion.
|
||
|
optional string version = 2;
|
||
|
}
|
||
|
|
||
|
// GroupVersionKind unambiguously identifies a kind. It doesn't anonymously include GroupVersion
|
||
|
// to avoid automatic coersion. It doesn't use a GroupVersion to avoid custom marshalling
|
||
|
//
|
||
|
// +protobuf.options.(gogoproto.goproto_stringer)=false
|
||
|
message GroupVersionKind {
|
||
|
optional string group = 1;
|
||
|
|
||
|
optional string version = 2;
|
||
|
|
||
|
optional string kind = 3;
|
||
|
}
|
||
|
|
||
|
// GroupVersionResource unambiguously identifies a resource. It doesn't anonymously include GroupVersion
|
||
|
// to avoid automatic coersion. It doesn't use a GroupVersion to avoid custom marshalling
|
||
|
//
|
||
|
// +protobuf.options.(gogoproto.goproto_stringer)=false
|
||
|
message GroupVersionResource {
|
||
|
optional string group = 1;
|
||
|
|
||
|
optional string version = 2;
|
||
|
|
||
|
optional string resource = 3;
|
||
|
}
|
||
|
|
||
|
// A label selector is a label query over a set of resources. The result of matchLabels and
|
||
|
// matchExpressions are ANDed. An empty label selector matches all objects. A null
|
||
|
// label selector matches no objects.
|
||
|
message LabelSelector {
|
||
|
// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
|
||
|
// map is equivalent to an element of matchExpressions, whose key field is "key", the
|
||
|
// operator is "In", and the values array contains only "value". The requirements are ANDed.
|
||
|
// +optional
|
||
|
map<string, string> matchLabels = 1;
|
||
|
|
||
|
// matchExpressions is a list of label selector requirements. The requirements are ANDed.
|
||
|
// +optional
|
||
|
repeated LabelSelectorRequirement matchExpressions = 2;
|
||
|
}
|
||
|
|
||
|
// A label selector requirement is a selector that contains values, a key, and an operator that
|
||
|
// relates the key and values.
|
||
|
message LabelSelectorRequirement {
|
||
|
// key is the label key that the selector applies to.
|
||
|
optional string key = 1;
|
||
|
|
||
|
// operator represents a key's relationship to a set of values.
|
||
|
// Valid operators ard In, NotIn, Exists and DoesNotExist.
|
||
|
optional string operator = 2;
|
||
|
|
||
|
// values is an array of string values. If the operator is In or NotIn,
|
||
|
// the values array must be non-empty. If the operator is Exists or DoesNotExist,
|
||
|
// the values array must be empty. This array is replaced during a strategic
|
||
|
// merge patch.
|
||
|
// +optional
|
||
|
repeated string values = 3;
|
||
|
}
|
||
|
|
||
|
// ListMeta describes metadata that synthetic resources must have, including lists and
|
||
|
// various status objects. A resource may have only one of {ObjectMeta, ListMeta}.
|
||
|
message ListMeta {
|
||
|
// SelfLink is a URL representing this object.
|
||
|
// Populated by the system.
|
||
|
// Read-only.
|
||
|
// +optional
|
||
|
optional string selfLink = 1;
|
||
|
|
||
|
// String that identifies the server's internal version of this object that
|
||
|
// can be used by clients to determine when objects have changed.
|
||
|
// Value must be treated as opaque by clients and passed unmodified back to the server.
|
||
|
// Populated by the system.
|
||
|
// Read-only.
|
||
|
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency
|
||
|
// +optional
|
||
|
optional string resourceVersion = 2;
|
||
|
}
|
||
|
|
||
|
// RootPaths lists the paths available at root.
|
||
|
// For example: "/healthz", "/apis".
|
||
|
message RootPaths {
|
||
|
// paths are the paths available at root.
|
||
|
repeated string paths = 1;
|
||
|
}
|
||
|
|
||
|
// ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.
|
||
|
message ServerAddressByClientCIDR {
|
||
|
// The CIDR with which clients can match their IP to figure out the server address that they should use.
|
||
|
optional string clientCIDR = 1;
|
||
|
|
||
|
// Address of this server, suitable for a client that matches the above CIDR.
|
||
|
// This can be a hostname, hostname:port, IP or IP:port.
|
||
|
optional string serverAddress = 2;
|
||
|
}
|
||
|
|
||
|
// Status is a return value for calls that don't return other objects.
|
||
|
message Status {
|
||
|
// Standard list metadata.
|
||
|
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds
|
||
|
// +optional
|
||
|
optional ListMeta metadata = 1;
|
||
|
|
||
|
// Status of the operation.
|
||
|
// One of: "Success" or "Failure".
|
||
|
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status
|
||
|
// +optional
|
||
|
optional string status = 2;
|
||
|
|
||
|
// A human-readable description of the status of this operation.
|
||
|
// +optional
|
||
|
optional string message = 3;
|
||
|
|
||
|
// A machine-readable description of why this operation is in the
|
||
|
// "Failure" status. If this value is empty there
|
||
|
// is no information available. A Reason clarifies an HTTP status
|
||
|
// code but does not override it.
|
||
|
// +optional
|
||
|
optional string reason = 4;
|
||
|
|
||
|
// Extended data associated with the reason. Each reason may define its
|
||
|
// own extended details. This field is optional and the data returned
|
||
|
// is not guaranteed to conform to any schema except that defined by
|
||
|
// the reason type.
|
||
|
// +optional
|
||
|
optional StatusDetails details = 5;
|
||
|
|
||
|
// Suggested HTTP return code for this status, 0 if not set.
|
||
|
// +optional
|
||
|
optional int32 code = 6;
|
||
|
}
|
||
|
|
||
|
// StatusCause provides more information about an api.Status failure, including
|
||
|
// cases when multiple errors are encountered.
|
||
|
message StatusCause {
|
||
|
// A machine-readable description of the cause of the error. If this value is
|
||
|
// empty there is no information available.
|
||
|
// +optional
|
||
|
optional string reason = 1;
|
||
|
|
||
|
// A human-readable description of the cause of the error. This field may be
|
||
|
// presented as-is to a reader.
|
||
|
// +optional
|
||
|
optional string message = 2;
|
||
|
|
||
|
// The field of the resource that has caused this error, as named by its JSON
|
||
|
// serialization. May include dot and postfix notation for nested attributes.
|
||
|
// Arrays are zero-indexed. Fields may appear more than once in an array of
|
||
|
// causes due to fields having multiple errors.
|
||
|
// Optional.
|
||
|
//
|
||
|
// Examples:
|
||
|
// "name" - the field "name" on the current resource
|
||
|
// "items[0].name" - the field "name" on the first array entry in "items"
|
||
|
// +optional
|
||
|
optional string field = 3;
|
||
|
}
|
||
|
|
||
|
// StatusDetails is a set of additional properties that MAY be set by the
|
||
|
// server to provide additional information about a response. The Reason
|
||
|
// field of a Status object defines what attributes will be set. Clients
|
||
|
// must ignore fields that do not match the defined type of each attribute,
|
||
|
// and should assume that any attribute may be empty, invalid, or under
|
||
|
// defined.
|
||
|
message StatusDetails {
|
||
|
// The name attribute of the resource associated with the status StatusReason
|
||
|
// (when there is a single name which can be described).
|
||
|
// +optional
|
||
|
optional string name = 1;
|
||
|
|
||
|
// The group attribute of the resource associated with the status StatusReason.
|
||
|
// +optional
|
||
|
optional string group = 2;
|
||
|
|
||
|
// The kind attribute of the resource associated with the status StatusReason.
|
||
|
// On some operations may differ from the requested resource Kind.
|
||
|
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds
|
||
|
// +optional
|
||
|
optional string kind = 3;
|
||
|
|
||
|
// The Causes array includes more details associated with the StatusReason
|
||
|
// failure. Not all StatusReasons may provide detailed causes.
|
||
|
// +optional
|
||
|
repeated StatusCause causes = 4;
|
||
|
|
||
|
// If specified, the time in seconds before the operation should be retried.
|
||
|
// +optional
|
||
|
optional int32 retryAfterSeconds = 5;
|
||
|
}
|
||
|
|
||
|
// Time is a wrapper around time.Time which supports correct
|
||
|
// marshaling to YAML and JSON. Wrappers are provided for many
|
||
|
// of the factory methods that the time package offers.
|
||
|
//
|
||
|
// +protobuf.options.marshal=false
|
||
|
// +protobuf.as=Timestamp
|
||
|
// +protobuf.options.(gogoproto.goproto_stringer)=false
|
||
|
message Time {
|
||
|
// Represents seconds of UTC time since Unix epoch
|
||
|
// 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to
|
||
|
// 9999-12-31T23:59:59Z inclusive.
|
||
|
optional int64 seconds = 1;
|
||
|
|
||
|
// Non-negative fractions of a second at nanosecond resolution. Negative
|
||
|
// second values with fractions must still have non-negative nanos values
|
||
|
// that count forward in time. Must be from 0 to 999,999,999
|
||
|
// inclusive. This field may be limited in precision depending on context.
|
||
|
optional int32 nanos = 2;
|
||
|
}
|
||
|
|
||
|
// Timestamp is a struct that is equivalent to Time, but intended for
|
||
|
// protobuf marshalling/unmarshalling. It is generated into a serialization
|
||
|
// that matches Time. Do not use in Go structs.
|
||
|
message Timestamp {
|
||
|
// Represents seconds of UTC time since Unix epoch
|
||
|
// 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to
|
||
|
// 9999-12-31T23:59:59Z inclusive.
|
||
|
optional int64 seconds = 1;
|
||
|
|
||
|
// Non-negative fractions of a second at nanosecond resolution. Negative
|
||
|
// second values with fractions must still have non-negative nanos values
|
||
|
// that count forward in time. Must be from 0 to 999,999,999
|
||
|
// inclusive. This field may be limited in precision depending on context.
|
||
|
optional int32 nanos = 2;
|
||
|
}
|
||
|
|
||
|
// TypeMeta describes an individual object in an API response or request
|
||
|
// with strings representing the type of the object and its API schema version.
|
||
|
// Structures that are versioned or persisted should inline TypeMeta.
|
||
|
message TypeMeta {
|
||
|
// 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: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds
|
||
|
// +optional
|
||
|
optional string kind = 1;
|
||
|
|
||
|
// 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: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources
|
||
|
// +optional
|
||
|
optional string apiVersion = 2;
|
||
|
}
|
||
|
|