mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-11-04 10:03:42 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			840 lines
		
	
	
		
			36 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			840 lines
		
	
	
		
			36 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
/*
 | 
						|
Copyright 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.apimachinery.pkg.apis.meta.v1;
 | 
						|
 | 
						|
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 = "v1";
 | 
						|
 | 
						|
// 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.
 | 
						|
  // +optional
 | 
						|
  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 plural name of the resource.
 | 
						|
  optional string name = 1;
 | 
						|
 | 
						|
  // singularName is the singular name of the resource.  This allows clients to handle plural and singular opaquely.
 | 
						|
  // The singularName is more correct for reporting status on a single item and both singular and plural are allowed
 | 
						|
  // from the kubectl CLI interface.
 | 
						|
  optional string singularName = 6;
 | 
						|
 | 
						|
  // namespaced indicates if a resource is namespaced or not.
 | 
						|
  optional bool namespaced = 2;
 | 
						|
 | 
						|
  // group is the preferred group of the resource.  Empty implies the group of the containing resource list.
 | 
						|
  // For subresources, this may have a different value, for example: Scale".
 | 
						|
  optional string group = 8;
 | 
						|
 | 
						|
  // version is the preferred version of the resource.  Empty implies the version of the containing resource list
 | 
						|
  // For subresources, this may have a different value, for example: v1 (while inside a v1beta1 version of the core resource's group)".
 | 
						|
  optional string version = 9;
 | 
						|
 | 
						|
  // kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')
 | 
						|
  optional string kind = 3;
 | 
						|
 | 
						|
  // verbs is a list of supported kube verbs (this includes get, list, watch, create,
 | 
						|
  // update, patch, delete, deletecollection, and proxy)
 | 
						|
  optional Verbs verbs = 4;
 | 
						|
 | 
						|
  // shortNames is a list of suggested short names of the resource.
 | 
						|
  repeated string shortNames = 5;
 | 
						|
 | 
						|
  // categories is a list of the grouped resources this resource belongs to (e.g. 'all')
 | 
						|
  repeated string categories = 7;
 | 
						|
}
 | 
						|
 | 
						|
// 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
 | 
						|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
 | 
						|
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;
 | 
						|
}
 | 
						|
 | 
						|
// DeleteOptions may be provided when deleting an API object.
 | 
						|
message DeleteOptions {
 | 
						|
  // The duration in seconds before the object should be deleted. Value must be non-negative integer.
 | 
						|
  // The value zero indicates delete immediately. If this value is nil, the default grace period for the
 | 
						|
  // specified type will be used.
 | 
						|
  // Defaults to a per object value if not specified. zero means delete immediately.
 | 
						|
  // +optional
 | 
						|
  optional int64 gracePeriodSeconds = 1;
 | 
						|
 | 
						|
  // Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be
 | 
						|
  // returned.
 | 
						|
  // +optional
 | 
						|
  optional Preconditions preconditions = 2;
 | 
						|
 | 
						|
  // Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7.
 | 
						|
  // Should the dependent objects be orphaned. If true/false, the "orphan"
 | 
						|
  // finalizer will be added to/removed from the object's finalizers list.
 | 
						|
  // Either this field or PropagationPolicy may be set, but not both.
 | 
						|
  // +optional
 | 
						|
  optional bool orphanDependents = 3;
 | 
						|
 | 
						|
  // Whether and how garbage collection will be performed.
 | 
						|
  // Either this field or OrphanDependents may be set, but not both.
 | 
						|
  // The default policy is decided by the existing finalizer set in the
 | 
						|
  // metadata.finalizers and the resource-specific default policy.
 | 
						|
  // Acceptable values are: 'Orphan' - orphan the dependents; 'Background' -
 | 
						|
  // allow the garbage collector to delete the dependents in the background;
 | 
						|
  // 'Foreground' - a cascading policy that deletes all dependents in the
 | 
						|
  // foreground.
 | 
						|
  // +optional
 | 
						|
  optional string propagationPolicy = 4;
 | 
						|
}
 | 
						|
 | 
						|
// 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;
 | 
						|
}
 | 
						|
 | 
						|
// GetOptions is the standard query options to the standard REST get call.
 | 
						|
message GetOptions {
 | 
						|
  // When specified:
 | 
						|
  // - if unset, then the result is returned from remote storage based on quorum-read flag;
 | 
						|
  // - if it's 0, then we simply return what we currently have in cache, no guarantee;
 | 
						|
  // - if set to non zero, then the result is at least as fresh as given rv.
 | 
						|
  optional string resourceVersion = 1;
 | 
						|
 | 
						|
  // If true, partially initialized resources are included in the response.
 | 
						|
  // +optional
 | 
						|
  optional bool includeUninitialized = 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;
 | 
						|
}
 | 
						|
 | 
						|
// Initializer is information about an initializer that has not yet completed.
 | 
						|
message Initializer {
 | 
						|
  // name of the process that is responsible for initializing this object.
 | 
						|
  optional string name = 1;
 | 
						|
}
 | 
						|
 | 
						|
// Initializers tracks the progress of initialization.
 | 
						|
message Initializers {
 | 
						|
  // Pending is a list of initializers that must execute in order before this object is visible.
 | 
						|
  // When the last pending initializer is removed, and no failing result is set, the initializers
 | 
						|
  // struct will be set to nil and the object is considered as initialized and visible to all
 | 
						|
  // clients.
 | 
						|
  // +patchMergeKey=name
 | 
						|
  // +patchStrategy=merge
 | 
						|
  repeated Initializer pending = 1;
 | 
						|
 | 
						|
  // If result is set with the Failure field, the object will be persisted to storage and then deleted,
 | 
						|
  // ensuring that other clients can observe the deletion.
 | 
						|
  optional Status result = 2;
 | 
						|
}
 | 
						|
 | 
						|
// 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.
 | 
						|
  // +patchMergeKey=key
 | 
						|
  // +patchStrategy=merge
 | 
						|
  optional string key = 1;
 | 
						|
 | 
						|
  // operator represents a key's relationship to a set of values.
 | 
						|
  // Valid operators are 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;
 | 
						|
}
 | 
						|
 | 
						|
// List holds a list of objects, which may not be known by the server.
 | 
						|
message List {
 | 
						|
  // Standard list metadata.
 | 
						|
  // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
 | 
						|
  // +optional
 | 
						|
  optional ListMeta metadata = 1;
 | 
						|
 | 
						|
  // List of objects
 | 
						|
  repeated k8s.io.apimachinery.pkg.runtime.RawExtension items = 2;
 | 
						|
}
 | 
						|
 | 
						|
// 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: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
 | 
						|
  // +optional
 | 
						|
  optional string resourceVersion = 2;
 | 
						|
 | 
						|
  // continue may be set if the user set a limit on the number of items returned, and indicates that
 | 
						|
  // the server has more data available. The value is opaque and may be used to issue another request
 | 
						|
  // to the endpoint that served this list to retrieve the next set of available objects. Continuing a
 | 
						|
  // list may not be possible if the server configuration has changed or more than a few minutes have
 | 
						|
  // passed. The resourceVersion field returned when using this continue value will be identical to
 | 
						|
  // the value in the first response.
 | 
						|
  optional string continue = 3;
 | 
						|
}
 | 
						|
 | 
						|
// ListOptions is the query options to a standard REST list call.
 | 
						|
message ListOptions {
 | 
						|
  // A selector to restrict the list of returned objects by their labels.
 | 
						|
  // Defaults to everything.
 | 
						|
  // +optional
 | 
						|
  optional string labelSelector = 1;
 | 
						|
 | 
						|
  // A selector to restrict the list of returned objects by their fields.
 | 
						|
  // Defaults to everything.
 | 
						|
  // +optional
 | 
						|
  optional string fieldSelector = 2;
 | 
						|
 | 
						|
  // If true, partially initialized resources are included in the response.
 | 
						|
  // +optional
 | 
						|
  optional bool includeUninitialized = 6;
 | 
						|
 | 
						|
  // Watch for changes to the described resources and return them as a stream of
 | 
						|
  // add, update, and remove notifications. Specify resourceVersion.
 | 
						|
  // +optional
 | 
						|
  optional bool watch = 3;
 | 
						|
 | 
						|
  // When specified with a watch call, shows changes that occur after that particular version of a resource.
 | 
						|
  // Defaults to changes from the beginning of history.
 | 
						|
  // When specified for list:
 | 
						|
  // - if unset, then the result is returned from remote storage based on quorum-read flag;
 | 
						|
  // - if it's 0, then we simply return what we currently have in cache, no guarantee;
 | 
						|
  // - if set to non zero, then the result is at least as fresh as given rv.
 | 
						|
  // +optional
 | 
						|
  optional string resourceVersion = 4;
 | 
						|
 | 
						|
  // Timeout for the list/watch call.
 | 
						|
  // This limits the duration of the call, regardless of any activity or inactivity.
 | 
						|
  // +optional
 | 
						|
  optional int64 timeoutSeconds = 5;
 | 
						|
 | 
						|
  // limit is a maximum number of responses to return for a list call. If more items exist, the
 | 
						|
  // server will set the `continue` field on the list metadata to a value that can be used with the
 | 
						|
  // same initial query to retrieve the next set of results. Setting a limit may return fewer than
 | 
						|
  // the requested amount of items (up to zero items) in the event all requested objects are
 | 
						|
  // filtered out and clients should only use the presence of the continue field to determine whether
 | 
						|
  // more results are available. Servers may choose not to support the limit argument and will return
 | 
						|
  // all of the available results. If limit is specified and the continue field is empty, clients may
 | 
						|
  // assume that no more results are available. This field is not supported if watch is true.
 | 
						|
  // 
 | 
						|
  // The server guarantees that the objects returned when using continue will be identical to issuing
 | 
						|
  // a single list call without a limit - that is, no objects created, modified, or deleted after the
 | 
						|
  // first request is issued will be included in any subsequent continued requests. This is sometimes
 | 
						|
  // referred to as a consistent snapshot, and ensures that a client that is using limit to receive
 | 
						|
  // smaller chunks of a very large result can ensure they see all possible objects. If objects are
 | 
						|
  // updated during a chunked list the version of the object that was present at the time the first list
 | 
						|
  // result was calculated is returned.
 | 
						|
  optional int64 limit = 7;
 | 
						|
 | 
						|
  // The continue option should be set when retrieving more results from the server. Since this value
 | 
						|
  // is server defined, clients may only use the continue value from a previous query result with
 | 
						|
  // identical query parameters (except for the value of continue) and the server may reject a continue
 | 
						|
  // value it does not recognize. If the specified continue value is no longer valid whether due to
 | 
						|
  // expiration (generally five to fifteen minutes) or a configuration change on the server the server
 | 
						|
  // will respond with a 410 ResourceExpired error indicating the client must restart their list without
 | 
						|
  // the continue field. This field is not supported when watch is true. Clients may start a watch from
 | 
						|
  // the last resourceVersion value returned by the server and not miss any modifications.
 | 
						|
  optional string continue = 8;
 | 
						|
}
 | 
						|
 | 
						|
// MicroTime is version of Time with microsecond level precision.
 | 
						|
// 
 | 
						|
// +protobuf.options.marshal=false
 | 
						|
// +protobuf.as=Timestamp
 | 
						|
// +protobuf.options.(gogoproto.goproto_stringer)=false
 | 
						|
message MicroTime {
 | 
						|
  // Represents seconds of UTC time since Unix epoch
 | 
						|
  // 1970-01-01T00:00:00Z. Must be 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;
 | 
						|
}
 | 
						|
 | 
						|
// ObjectMeta is metadata that all persisted resources must have, which includes all objects
 | 
						|
// users must create.
 | 
						|
message ObjectMeta {
 | 
						|
  // Name must be unique within a namespace. Is required when creating resources, although
 | 
						|
  // some resources may allow a client to request the generation of an appropriate name
 | 
						|
  // automatically. Name is primarily intended for creation idempotence and configuration
 | 
						|
  // definition.
 | 
						|
  // Cannot be updated.
 | 
						|
  // More info: http://kubernetes.io/docs/user-guide/identifiers#names
 | 
						|
  // +optional
 | 
						|
  optional string name = 1;
 | 
						|
 | 
						|
  // GenerateName is an optional prefix, used by the server, to generate a unique
 | 
						|
  // name ONLY IF the Name field has not been provided.
 | 
						|
  // If this field is used, the name returned to the client will be different
 | 
						|
  // than the name passed. This value will also be combined with a unique suffix.
 | 
						|
  // The provided value has the same validation rules as the Name field,
 | 
						|
  // and may be truncated by the length of the suffix required to make the value
 | 
						|
  // unique on the server.
 | 
						|
  // 
 | 
						|
  // If this field is specified and the generated name exists, the server will
 | 
						|
  // NOT return a 409 - instead, it will either return 201 Created or 500 with Reason
 | 
						|
  // ServerTimeout indicating a unique name could not be found in the time allotted, and the client
 | 
						|
  // should retry (optionally after the time indicated in the Retry-After header).
 | 
						|
  // 
 | 
						|
  // Applied only if Name is not specified.
 | 
						|
  // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
 | 
						|
  // +optional
 | 
						|
  optional string generateName = 2;
 | 
						|
 | 
						|
  // Namespace defines the space within each name must be unique. An empty namespace is
 | 
						|
  // equivalent to the "default" namespace, but "default" is the canonical representation.
 | 
						|
  // Not all objects are required to be scoped to a namespace - the value of this field for
 | 
						|
  // those objects will be empty.
 | 
						|
  // 
 | 
						|
  // Must be a DNS_LABEL.
 | 
						|
  // Cannot be updated.
 | 
						|
  // More info: http://kubernetes.io/docs/user-guide/namespaces
 | 
						|
  // +optional
 | 
						|
  optional string namespace = 3;
 | 
						|
 | 
						|
  // SelfLink is a URL representing this object.
 | 
						|
  // Populated by the system.
 | 
						|
  // Read-only.
 | 
						|
  // +optional
 | 
						|
  optional string selfLink = 4;
 | 
						|
 | 
						|
  // UID is the unique in time and space value for this object. It is typically generated by
 | 
						|
  // the server on successful creation of a resource and is not allowed to change on PUT
 | 
						|
  // operations.
 | 
						|
  // 
 | 
						|
  // Populated by the system.
 | 
						|
  // Read-only.
 | 
						|
  // More info: http://kubernetes.io/docs/user-guide/identifiers#uids
 | 
						|
  // +optional
 | 
						|
  optional string uid = 5;
 | 
						|
 | 
						|
  // An opaque value that represents the internal version of this object that can
 | 
						|
  // be used by clients to determine when objects have changed. May be used for optimistic
 | 
						|
  // concurrency, change detection, and the watch operation on a resource or set of resources.
 | 
						|
  // Clients must treat these values as opaque and passed unmodified back to the server.
 | 
						|
  // They may only be valid for a particular resource or set of resources.
 | 
						|
  // 
 | 
						|
  // Populated by the system.
 | 
						|
  // Read-only.
 | 
						|
  // Value must be treated as opaque by clients and .
 | 
						|
  // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
 | 
						|
  // +optional
 | 
						|
  optional string resourceVersion = 6;
 | 
						|
 | 
						|
  // A sequence number representing a specific generation of the desired state.
 | 
						|
  // Populated by the system. Read-only.
 | 
						|
  // +optional
 | 
						|
  optional int64 generation = 7;
 | 
						|
 | 
						|
  // CreationTimestamp is a timestamp representing the server time when this object was
 | 
						|
  // created. It is not guaranteed to be set in happens-before order across separate operations.
 | 
						|
  // Clients may not set this value. It is represented in RFC3339 form and is in UTC.
 | 
						|
  // 
 | 
						|
  // Populated by the system.
 | 
						|
  // Read-only.
 | 
						|
  // Null for lists.
 | 
						|
  // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
 | 
						|
  // +optional
 | 
						|
  optional Time creationTimestamp = 8;
 | 
						|
 | 
						|
  // DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This
 | 
						|
  // field is set by the server when a graceful deletion is requested by the user, and is not
 | 
						|
  // directly settable by a client. The resource is expected to be deleted (no longer visible
 | 
						|
  // from resource lists, and not reachable by name) after the time in this field, once the
 | 
						|
  // finalizers list is empty. As long as the finalizers list contains items, deletion is blocked.
 | 
						|
  // Once the deletionTimestamp is set, this value may not be unset or be set further into the
 | 
						|
  // future, although it may be shortened or the resource may be deleted prior to this time.
 | 
						|
  // For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react
 | 
						|
  // by sending a graceful termination signal to the containers in the pod. After that 30 seconds,
 | 
						|
  // the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup,
 | 
						|
  // remove the pod from the API. In the presence of network partitions, this object may still
 | 
						|
  // exist after this timestamp, until an administrator or automated process can determine the
 | 
						|
  // resource is fully terminated.
 | 
						|
  // If not set, graceful deletion of the object has not been requested.
 | 
						|
  // 
 | 
						|
  // Populated by the system when a graceful deletion is requested.
 | 
						|
  // Read-only.
 | 
						|
  // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
 | 
						|
  // +optional
 | 
						|
  optional Time deletionTimestamp = 9;
 | 
						|
 | 
						|
  // Number of seconds allowed for this object to gracefully terminate before
 | 
						|
  // it will be removed from the system. Only set when deletionTimestamp is also set.
 | 
						|
  // May only be shortened.
 | 
						|
  // Read-only.
 | 
						|
  // +optional
 | 
						|
  optional int64 deletionGracePeriodSeconds = 10;
 | 
						|
 | 
						|
  // Map of string keys and values that can be used to organize and categorize
 | 
						|
  // (scope and select) objects. May match selectors of replication controllers
 | 
						|
  // and services.
 | 
						|
  // More info: http://kubernetes.io/docs/user-guide/labels
 | 
						|
  // +optional
 | 
						|
  map<string, string> labels = 11;
 | 
						|
 | 
						|
  // Annotations is an unstructured key value map stored with a resource that may be
 | 
						|
  // set by external tools to store and retrieve arbitrary metadata. They are not
 | 
						|
  // queryable and should be preserved when modifying objects.
 | 
						|
  // More info: http://kubernetes.io/docs/user-guide/annotations
 | 
						|
  // +optional
 | 
						|
  map<string, string> annotations = 12;
 | 
						|
 | 
						|
  // List of objects depended by this object. If ALL objects in the list have
 | 
						|
  // been deleted, this object will be garbage collected. If this object is managed by a controller,
 | 
						|
  // then an entry in this list will point to this controller, with the controller field set to true.
 | 
						|
  // There cannot be more than one managing controller.
 | 
						|
  // +optional
 | 
						|
  // +patchMergeKey=uid
 | 
						|
  // +patchStrategy=merge
 | 
						|
  repeated OwnerReference ownerReferences = 13;
 | 
						|
 | 
						|
  // An initializer is a controller which enforces some system invariant at object creation time.
 | 
						|
  // This field is a list of initializers that have not yet acted on this object. If nil or empty,
 | 
						|
  // this object has been completely initialized. Otherwise, the object is considered uninitialized
 | 
						|
  // and is hidden (in list/watch and get calls) from clients that haven't explicitly asked to
 | 
						|
  // observe uninitialized objects.
 | 
						|
  // 
 | 
						|
  // When an object is created, the system will populate this list with the current set of initializers.
 | 
						|
  // Only privileged users may set or modify this list. Once it is empty, it may not be modified further
 | 
						|
  // by any user.
 | 
						|
  optional Initializers initializers = 16;
 | 
						|
 | 
						|
  // Must be empty before the object is deleted from the registry. Each entry
 | 
						|
  // is an identifier for the responsible component that will remove the entry
 | 
						|
  // from the list. If the deletionTimestamp of the object is non-nil, entries
 | 
						|
  // in this list can only be removed.
 | 
						|
  // +optional
 | 
						|
  // +patchStrategy=merge
 | 
						|
  repeated string finalizers = 14;
 | 
						|
 | 
						|
  // The name of the cluster which the object belongs to.
 | 
						|
  // This is used to distinguish resources with same name and namespace in different clusters.
 | 
						|
  // This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.
 | 
						|
  // +optional
 | 
						|
  optional string clusterName = 15;
 | 
						|
}
 | 
						|
 | 
						|
// OwnerReference contains enough information to let you identify an owning
 | 
						|
// object. Currently, an owning object must be in the same namespace, so there
 | 
						|
// is no namespace field.
 | 
						|
message OwnerReference {
 | 
						|
  // API version of the referent.
 | 
						|
  optional string apiVersion = 5;
 | 
						|
 | 
						|
  // Kind of the referent.
 | 
						|
  // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
 | 
						|
  optional string kind = 1;
 | 
						|
 | 
						|
  // Name of the referent.
 | 
						|
  // More info: http://kubernetes.io/docs/user-guide/identifiers#names
 | 
						|
  optional string name = 3;
 | 
						|
 | 
						|
  // UID of the referent.
 | 
						|
  // More info: http://kubernetes.io/docs/user-guide/identifiers#uids
 | 
						|
  optional string uid = 4;
 | 
						|
 | 
						|
  // If true, this reference points to the managing controller.
 | 
						|
  // +optional
 | 
						|
  optional bool controller = 6;
 | 
						|
 | 
						|
  // If true, AND if the owner has the "foregroundDeletion" finalizer, then
 | 
						|
  // the owner cannot be deleted from the key-value store until this
 | 
						|
  // reference is removed.
 | 
						|
  // Defaults to false.
 | 
						|
  // To set this field, a user needs "delete" permission of the owner,
 | 
						|
  // otherwise 422 (Unprocessable Entity) will be returned.
 | 
						|
  // +optional
 | 
						|
  optional bool blockOwnerDeletion = 7;
 | 
						|
}
 | 
						|
 | 
						|
// Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.
 | 
						|
message Patch {
 | 
						|
}
 | 
						|
 | 
						|
// Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.
 | 
						|
message Preconditions {
 | 
						|
  // Specifies the target UID.
 | 
						|
  // +optional
 | 
						|
  optional string uid = 1;
 | 
						|
}
 | 
						|
 | 
						|
// 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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
 | 
						|
  // +optional
 | 
						|
  optional ListMeta metadata = 1;
 | 
						|
 | 
						|
  // Status of the operation.
 | 
						|
  // One of: "Success" or "Failure".
 | 
						|
  // More info: https://git.k8s.io/community/contributors/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: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
 | 
						|
  // +optional
 | 
						|
  optional string kind = 3;
 | 
						|
 | 
						|
  // UID of the resource.
 | 
						|
  // (when there is a single resource which can be described).
 | 
						|
  // More info: http://kubernetes.io/docs/user-guide/identifiers#uids
 | 
						|
  // +optional
 | 
						|
  optional string uid = 6;
 | 
						|
 | 
						|
  // 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. Some errors may indicate
 | 
						|
  // the client must take an alternate action - for those errors this field may indicate how long to wait
 | 
						|
  // before taking the alternate action.
 | 
						|
  // +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 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 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.
 | 
						|
// 
 | 
						|
// +k8s:deepcopy-gen=false
 | 
						|
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: https://git.k8s.io/community/contributors/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: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
 | 
						|
  // +optional
 | 
						|
  optional string apiVersion = 2;
 | 
						|
}
 | 
						|
 | 
						|
// Verbs masks the value so protobuf can generate
 | 
						|
// 
 | 
						|
// +protobuf.nullable=true
 | 
						|
// +protobuf.options.(gogoproto.goproto_stringer)=false
 | 
						|
message Verbs {
 | 
						|
  // items, if empty, will result in an empty slice
 | 
						|
 | 
						|
  repeated string items = 1;
 | 
						|
}
 | 
						|
 | 
						|
// Event represents a single event to a watched resource.
 | 
						|
// 
 | 
						|
// +protobuf=true
 | 
						|
// +k8s:deepcopy-gen=true
 | 
						|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
 | 
						|
message WatchEvent {
 | 
						|
  optional string type = 1;
 | 
						|
 | 
						|
  // Object is:
 | 
						|
  //  * If Type is Added or Modified: the new state of the object.
 | 
						|
  //  * If Type is Deleted: the state of the object immediately before deletion.
 | 
						|
  //  * If Type is Error: *Status is recommended; other types may make sense
 | 
						|
  //    depending on context.
 | 
						|
  optional k8s.io.apimachinery.pkg.runtime.RawExtension object = 2;
 | 
						|
}
 | 
						|
 |