github.com/aclisp/heapster@v0.19.2-0.20160613100040-51756f899a96/Godeps/_workspace/src/k8s.io/kubernetes/pkg/api/unversioned/generated.proto (about)

     1  /*
     2  Copyright 2016 The Kubernetes Authors All rights reserved.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  
    18  // This file was autogenerated by go-to-protobuf. Do not edit it manually!
    19  
    20  syntax = 'proto2';
    21  
    22  package k8s.io.kubernetes.pkg.api.unversioned;
    23  
    24  import "k8s.io/kubernetes/pkg/runtime/generated.proto";
    25  import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
    26  
    27  // Package-wide variables from generator "generated".
    28  option go_package = "unversioned";
    29  
    30  // APIGroup contains the name, the supported versions, and the preferred version
    31  // of a group.
    32  message APIGroup {
    33    // name is the name of the group.
    34    optional string name = 1;
    35  
    36    // versions are the versions supported in this group.
    37    repeated GroupVersionForDiscovery versions = 2;
    38  
    39    // preferredVersion is the version preferred by the API server, which
    40    // probably is the storage version.
    41    optional GroupVersionForDiscovery preferredVersion = 3;
    42  
    43    // a map of client CIDR to server address that is serving this group.
    44    // This is to help clients reach servers in the most network-efficient way possible.
    45    // Clients can use the appropriate server address as per the CIDR that they match.
    46    // In case of multiple matches, clients should use the longest matching CIDR.
    47    // The server returns only those CIDRs that it thinks that the client can match.
    48    // For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP.
    49    // Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.
    50    repeated ServerAddressByClientCIDR serverAddressByClientCIDRs = 4;
    51  }
    52  
    53  // APIGroupList is a list of APIGroup, to allow clients to discover the API at
    54  // /apis.
    55  message APIGroupList {
    56    // groups is a list of APIGroup.
    57    repeated APIGroup groups = 1;
    58  }
    59  
    60  // APIResource specifies the name of a resource and whether it is namespaced.
    61  message APIResource {
    62    // name is the name of the resource.
    63    optional string name = 1;
    64  
    65    // namespaced indicates if a resource is namespaced or not.
    66    optional bool namespaced = 2;
    67  
    68    // kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')
    69    optional string kind = 3;
    70  }
    71  
    72  // APIResourceList is a list of APIResource, it is used to expose the name of the
    73  // resources supported in a specific group and version, and if the resource
    74  // is namespaced.
    75  message APIResourceList {
    76    // groupVersion is the group and version this APIResourceList is for.
    77    optional string groupVersion = 1;
    78  
    79    // resources contains the name of the resources and if they are namespaced.
    80    repeated APIResource resources = 2;
    81  }
    82  
    83  // APIVersions lists the versions that are available, to allow clients to
    84  // discover the API at /api, which is the root path of the legacy v1 API.
    85  // 
    86  // +protobuf.options.(gogoproto.goproto_stringer)=false
    87  message APIVersions {
    88    // versions are the api versions that are available.
    89    repeated string versions = 1;
    90  
    91    // a map of client CIDR to server address that is serving this group.
    92    // This is to help clients reach servers in the most network-efficient way possible.
    93    // Clients can use the appropriate server address as per the CIDR that they match.
    94    // In case of multiple matches, clients should use the longest matching CIDR.
    95    // The server returns only those CIDRs that it thinks that the client can match.
    96    // For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP.
    97    // Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.
    98    repeated ServerAddressByClientCIDR serverAddressByClientCIDRs = 2;
    99  }
   100  
   101  // Duration is a wrapper around time.Duration which supports correct
   102  // marshaling to YAML and JSON. In particular, it marshals into strings, which
   103  // can be used as map keys in json.
   104  message Duration {
   105    optional int64 duration = 1;
   106  }
   107  
   108  // ExportOptions is the query options to the standard REST get call.
   109  message ExportOptions {
   110    // Should this value be exported.  Export strips fields that a user can not specify.`
   111    optional bool export = 1;
   112  
   113    // Should the export be exact.  Exact export maintains cluster-specific fields like 'Namespace'
   114    optional bool exact = 2;
   115  }
   116  
   117  // GroupKind specifies a Group and a Kind, but does not force a version.  This is useful for identifying
   118  // concepts during lookup stages without having partially valid types
   119  // 
   120  // +protobuf.options.(gogoproto.goproto_stringer)=false
   121  message GroupKind {
   122    optional string group = 1;
   123  
   124    optional string kind = 2;
   125  }
   126  
   127  // GroupResource specifies a Group and a Resource, but does not force a version.  This is useful for identifying
   128  // concepts during lookup stages without having partially valid types
   129  // 
   130  // +protobuf.options.(gogoproto.goproto_stringer)=false
   131  message GroupResource {
   132    optional string group = 1;
   133  
   134    optional string resource = 2;
   135  }
   136  
   137  // GroupVersion contains the "group" and the "version", which uniquely identifies the API.
   138  // 
   139  // +protobuf.options.(gogoproto.goproto_stringer)=false
   140  message GroupVersion {
   141    optional string group = 1;
   142  
   143    optional string version = 2;
   144  }
   145  
   146  // GroupVersion contains the "group/version" and "version" string of a version.
   147  // It is made a struct to keep extensiblity.
   148  message GroupVersionForDiscovery {
   149    // groupVersion specifies the API group and version in the form "group/version"
   150    optional string groupVersion = 1;
   151  
   152    // version specifies the version in the form of "version". This is to save
   153    // the clients the trouble of splitting the GroupVersion.
   154    optional string version = 2;
   155  }
   156  
   157  // GroupVersionKind unambiguously identifies a kind.  It doesn't anonymously include GroupVersion
   158  // to avoid automatic coersion.  It doesn't use a GroupVersion to avoid custom marshalling
   159  // 
   160  // +protobuf.options.(gogoproto.goproto_stringer)=false
   161  message GroupVersionKind {
   162    optional string group = 1;
   163  
   164    optional string version = 2;
   165  
   166    optional string kind = 3;
   167  }
   168  
   169  // GroupVersionResource unambiguously identifies a resource.  It doesn't anonymously include GroupVersion
   170  // to avoid automatic coersion.  It doesn't use a GroupVersion to avoid custom marshalling
   171  // 
   172  // +protobuf.options.(gogoproto.goproto_stringer)=false
   173  message GroupVersionResource {
   174    optional string group = 1;
   175  
   176    optional string version = 2;
   177  
   178    optional string resource = 3;
   179  }
   180  
   181  // A label selector is a label query over a set of resources. The result of matchLabels and
   182  // matchExpressions are ANDed. An empty label selector matches all objects. A null
   183  // label selector matches no objects.
   184  message LabelSelector {
   185    // matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   186    // map is equivalent to an element of matchExpressions, whose key field is "key", the
   187    // operator is "In", and the values array contains only "value". The requirements are ANDed.
   188    map<string, string> matchLabels = 1;
   189  
   190    // matchExpressions is a list of label selector requirements. The requirements are ANDed.
   191    repeated LabelSelectorRequirement matchExpressions = 2;
   192  }
   193  
   194  // A label selector requirement is a selector that contains values, a key, and an operator that
   195  // relates the key and values.
   196  message LabelSelectorRequirement {
   197    // key is the label key that the selector applies to.
   198    optional string key = 1;
   199  
   200    // operator represents a key's relationship to a set of values.
   201    // Valid operators ard In, NotIn, Exists and DoesNotExist.
   202    optional string operator = 2;
   203  
   204    // values is an array of string values. If the operator is In or NotIn,
   205    // the values array must be non-empty. If the operator is Exists or DoesNotExist,
   206    // the values array must be empty. This array is replaced during a strategic
   207    // merge patch.
   208    repeated string values = 3;
   209  }
   210  
   211  // ListMeta describes metadata that synthetic resources must have, including lists and
   212  // various status objects. A resource may have only one of {ObjectMeta, ListMeta}.
   213  message ListMeta {
   214    // SelfLink is a URL representing this object.
   215    // Populated by the system.
   216    // Read-only.
   217    optional string selfLink = 1;
   218  
   219    // String that identifies the server's internal version of this object that
   220    // can be used by clients to determine when objects have changed.
   221    // Value must be treated as opaque by clients and passed unmodified back to the server.
   222    // Populated by the system.
   223    // Read-only.
   224    // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency
   225    optional string resourceVersion = 2;
   226  }
   227  
   228  // RootPaths lists the paths available at root.
   229  // For example: "/healthz", "/apis".
   230  message RootPaths {
   231    // paths are the paths available at root.
   232    repeated string paths = 1;
   233  }
   234  
   235  // ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.
   236  message ServerAddressByClientCIDR {
   237    // The CIDR with which clients can match their IP to figure out the server address that they should use.
   238    optional string clientCIDR = 1;
   239  
   240    // Address of this server, suitable for a client that matches the above CIDR.
   241    // This can be a hostname, hostname:port, IP or IP:port.
   242    optional string serverAddress = 2;
   243  }
   244  
   245  // Status is a return value for calls that don't return other objects.
   246  message Status {
   247    // Standard list metadata.
   248    // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds
   249    optional ListMeta metadata = 1;
   250  
   251    // Status of the operation.
   252    // One of: "Success" or "Failure".
   253    // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status
   254    optional string status = 2;
   255  
   256    // A human-readable description of the status of this operation.
   257    optional string message = 3;
   258  
   259    // A machine-readable description of why this operation is in the
   260    // "Failure" status. If this value is empty there
   261    // is no information available. A Reason clarifies an HTTP status
   262    // code but does not override it.
   263    optional string reason = 4;
   264  
   265    // Extended data associated with the reason.  Each reason may define its
   266    // own extended details. This field is optional and the data returned
   267    // is not guaranteed to conform to any schema except that defined by
   268    // the reason type.
   269    optional StatusDetails details = 5;
   270  
   271    // Suggested HTTP return code for this status, 0 if not set.
   272    optional int32 code = 6;
   273  }
   274  
   275  // StatusCause provides more information about an api.Status failure, including
   276  // cases when multiple errors are encountered.
   277  message StatusCause {
   278    // A machine-readable description of the cause of the error. If this value is
   279    // empty there is no information available.
   280    optional string reason = 1;
   281  
   282    // A human-readable description of the cause of the error.  This field may be
   283    // presented as-is to a reader.
   284    optional string message = 2;
   285  
   286    // The field of the resource that has caused this error, as named by its JSON
   287    // serialization. May include dot and postfix notation for nested attributes.
   288    // Arrays are zero-indexed.  Fields may appear more than once in an array of
   289    // causes due to fields having multiple errors.
   290    // Optional.
   291    // 
   292    // Examples:
   293    //   "name" - the field "name" on the current resource
   294    //   "items[0].name" - the field "name" on the first array entry in "items"
   295    optional string field = 3;
   296  }
   297  
   298  // StatusDetails is a set of additional properties that MAY be set by the
   299  // server to provide additional information about a response. The Reason
   300  // field of a Status object defines what attributes will be set. Clients
   301  // must ignore fields that do not match the defined type of each attribute,
   302  // and should assume that any attribute may be empty, invalid, or under
   303  // defined.
   304  message StatusDetails {
   305    // The name attribute of the resource associated with the status StatusReason
   306    // (when there is a single name which can be described).
   307    optional string name = 1;
   308  
   309    // The group attribute of the resource associated with the status StatusReason.
   310    optional string group = 2;
   311  
   312    // The kind attribute of the resource associated with the status StatusReason.
   313    // On some operations may differ from the requested resource Kind.
   314    // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds
   315    optional string kind = 3;
   316  
   317    // The Causes array includes more details associated with the StatusReason
   318    // failure. Not all StatusReasons may provide detailed causes.
   319    repeated StatusCause causes = 4;
   320  
   321    // If specified, the time in seconds before the operation should be retried.
   322    optional int32 retryAfterSeconds = 5;
   323  }
   324  
   325  // Time is a wrapper around time.Time which supports correct
   326  // marshaling to YAML and JSON.  Wrappers are provided for many
   327  // of the factory methods that the time package offers.
   328  // 
   329  // +protobuf.options.marshal=false
   330  // +protobuf.as=Timestamp
   331  message Time {
   332    // Represents seconds of UTC time since Unix epoch
   333    // 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to
   334    // 9999-12-31T23:59:59Z inclusive.
   335    optional int64 seconds = 1;
   336  
   337    // Non-negative fractions of a second at nanosecond resolution. Negative
   338    // second values with fractions must still have non-negative nanos values
   339    // that count forward in time. Must be from 0 to 999,999,999
   340    // inclusive. This field may be limited in precision depending on context.
   341    optional int32 nanos = 2;
   342  }
   343  
   344  // Timestamp is a struct that is equivalent to Time, but intended for
   345  // protobuf marshalling/unmarshalling. It is generated into a serialization
   346  // that matches Time. Do not use in Go structs.
   347  message Timestamp {
   348    // Represents seconds of UTC time since Unix epoch
   349    // 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to
   350    // 9999-12-31T23:59:59Z inclusive.
   351    optional int64 seconds = 1;
   352  
   353    // Non-negative fractions of a second at nanosecond resolution. Negative
   354    // second values with fractions must still have non-negative nanos values
   355    // that count forward in time. Must be from 0 to 999,999,999
   356    // inclusive. This field may be limited in precision depending on context.
   357    optional int32 nanos = 2;
   358  }
   359  
   360  // TypeMeta describes an individual object in an API response or request
   361  // with strings representing the type of the object and its API schema version.
   362  // Structures that are versioned or persisted should inline TypeMeta.
   363  message TypeMeta {
   364    // Kind is a string value representing the REST resource this object represents.
   365    // Servers may infer this from the endpoint the client submits requests to.
   366    // Cannot be updated.
   367    // In CamelCase.
   368    // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds
   369    optional string kind = 1;
   370  
   371    // APIVersion defines the versioned schema of this representation of an object.
   372    // Servers should convert recognized schemas to the latest internal value, and
   373    // may reject unrecognized values.
   374    // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources
   375    optional string apiVersion = 2;
   376  }
   377