...

Text file src/k8s.io/api/apidiscovery/v2beta1/generated.proto

Documentation: k8s.io/api/apidiscovery/v2beta1

     1/*
     2Copyright The Kubernetes Authors.
     3
     4Licensed under the Apache License, Version 2.0 (the "License");
     5you may not use this file except in compliance with the License.
     6You may obtain a copy of the License at
     7
     8    http://www.apache.org/licenses/LICENSE-2.0
     9
    10Unless required by applicable law or agreed to in writing, software
    11distributed under the License is distributed on an "AS IS" BASIS,
    12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13See the License for the specific language governing permissions and
    14limitations under the License.
    15*/
    16
    17
    18// This file was autogenerated by go-to-protobuf. Do not edit it manually!
    19
    20syntax = "proto2";
    21
    22package k8s.io.api.apidiscovery.v2beta1;
    23
    24import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
    25import "k8s.io/apimachinery/pkg/runtime/generated.proto";
    26import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
    27
    28// Package-wide variables from generator "generated".
    29option go_package = "k8s.io/api/apidiscovery/v2beta1";
    30
    31// APIGroupDiscovery holds information about which resources are being served for all version of the API Group.
    32// It contains a list of APIVersionDiscovery that holds a list of APIResourceDiscovery types served for a version.
    33// Versions are in descending order of preference, with the first version being the preferred entry.
    34message APIGroupDiscovery {
    35  // Standard object's metadata.
    36  // The only field completed will be name. For instance, resourceVersion will be empty.
    37  // name is the name of the API group whose discovery information is presented here.
    38  // name is allowed to be "" to represent the legacy, ungroupified resources.
    39  // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
    40  // +optional
    41  optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
    42
    43  // versions are the versions supported in this group. They are sorted in descending order of preference,
    44  // with the preferred version being the first entry.
    45  // +listType=map
    46  // +listMapKey=version
    47  repeated APIVersionDiscovery versions = 2;
    48}
    49
    50// APIGroupDiscoveryList is a resource containing a list of APIGroupDiscovery.
    51// This is one of the types able to be returned from the /api and /apis endpoint and contains an aggregated
    52// list of API resources (built-ins, Custom Resource Definitions, resources from aggregated servers)
    53// that a cluster supports.
    54message APIGroupDiscoveryList {
    55  // ResourceVersion will not be set, because this does not have a replayable ordering among multiple apiservers.
    56  // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
    57  // +optional
    58  optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
    59
    60  // items is the list of groups for discovery. The groups are listed in priority order.
    61  repeated APIGroupDiscovery items = 2;
    62}
    63
    64// APIResourceDiscovery provides information about an API resource for discovery.
    65message APIResourceDiscovery {
    66  // resource is the plural name of the resource.  This is used in the URL path and is the unique identifier
    67  // for this resource across all versions in the API group.
    68  // Resources with non-empty groups are located at /apis/<APIGroupDiscovery.objectMeta.name>/<APIVersionDiscovery.version>/<APIResourceDiscovery.Resource>
    69  // Resources with empty groups are located at /api/v1/<APIResourceDiscovery.Resource>
    70  optional string resource = 1;
    71
    72  // responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns.
    73  // APIs may return other objects types at their discretion, such as error conditions, requests for alternate representations, or other operation specific behavior.
    74  // This value will be null or empty if an APIService reports subresources but supports no operations on the parent resource
    75  optional k8s.io.apimachinery.pkg.apis.meta.v1.GroupVersionKind responseKind = 2;
    76
    77  // scope indicates the scope of a resource, either Cluster or Namespaced
    78  optional string scope = 3;
    79
    80  // singularResource is the singular name of the resource.  This allows clients to handle plural and singular opaquely.
    81  // For many clients the singular form of the resource will be more understandable to users reading messages and should be used when integrating the name of the resource into a sentence.
    82  // The command line tool kubectl, for example, allows use of the singular resource name in place of plurals.
    83  // The singular form of a resource should always be an optional element - when in doubt use the canonical resource name.
    84  optional string singularResource = 4;
    85
    86  // verbs is a list of supported API operation types (this includes
    87  // but is not limited to get, list, watch, create, update, patch,
    88  // delete, deletecollection, and proxy).
    89  // +listType=set
    90  repeated string verbs = 5;
    91
    92  // shortNames is a list of suggested short names of the resource.
    93  // +listType=set
    94  repeated string shortNames = 6;
    95
    96  // categories is a list of the grouped resources this resource belongs to (e.g. 'all').
    97  // Clients may use this to simplify acting on multiple resource types at once.
    98  // +listType=set
    99  repeated string categories = 7;
   100
   101  // subresources is a list of subresources provided by this resource. Subresources are located at /apis/<APIGroupDiscovery.objectMeta.name>/<APIVersionDiscovery.version>/<APIResourceDiscovery.Resource>/name-of-instance/<APIResourceDiscovery.subresources[i].subresource>
   102  // +listType=map
   103  // +listMapKey=subresource
   104  repeated APISubresourceDiscovery subresources = 8;
   105}
   106
   107// APISubresourceDiscovery provides information about an API subresource for discovery.
   108message APISubresourceDiscovery {
   109  // subresource is the name of the subresource.  This is used in the URL path and is the unique identifier
   110  // for this resource across all versions.
   111  optional string subresource = 1;
   112
   113  // responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns.
   114  // Some subresources do not return normal resources, these will have null or empty return types.
   115  optional k8s.io.apimachinery.pkg.apis.meta.v1.GroupVersionKind responseKind = 2;
   116
   117  // acceptedTypes describes the kinds that this endpoint accepts.
   118  // Subresources may accept the standard content types or define
   119  // custom negotiation schemes. The list may not be exhaustive for
   120  // all operations.
   121  // +listType=map
   122  // +listMapKey=group
   123  // +listMapKey=version
   124  // +listMapKey=kind
   125  repeated k8s.io.apimachinery.pkg.apis.meta.v1.GroupVersionKind acceptedTypes = 3;
   126
   127  // verbs is a list of supported API operation types (this includes
   128  // but is not limited to get, list, watch, create, update, patch,
   129  // delete, deletecollection, and proxy). Subresources may define
   130  // custom verbs outside the standard Kubernetes verb set. Clients
   131  // should expect the behavior of standard verbs to align with
   132  // Kubernetes interaction conventions.
   133  // +listType=set
   134  repeated string verbs = 4;
   135}
   136
   137// APIVersionDiscovery holds a list of APIResourceDiscovery types that are served for a particular version within an API Group.
   138message APIVersionDiscovery {
   139  // version is the name of the version within a group version.
   140  optional string version = 1;
   141
   142  // resources is a list of APIResourceDiscovery objects for the corresponding group version.
   143  // +listType=map
   144  // +listMapKey=resource
   145  repeated APIResourceDiscovery resources = 2;
   146
   147  // freshness marks whether a group version's discovery document is up to date.
   148  // "Current" indicates the discovery document was recently
   149  // refreshed. "Stale" indicates the discovery document could not
   150  // be retrieved and the returned discovery document may be
   151  // significantly out of date. Clients that require the latest
   152  // version of the discovery information be retrieved before
   153  // performing an operation should not use the aggregated document
   154  optional string freshness = 3;
   155}
   156

View as plain text