k8s_pb/api/apidiscovery/v2beta1/
mod.rs

1// This file is @generated by prost-build.
2/// APIGroupDiscovery holds information about which resources are being served for all version of the API Group.
3/// It contains a list of APIVersionDiscovery that holds a list of APIResourceDiscovery types served for a version.
4/// Versions are in descending order of preference, with the first version being the preferred entry.
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct APIGroupDiscovery {
7    /// Standard object's metadata.
8    /// The only field completed will be name. For instance, resourceVersion will be empty.
9    /// name is the name of the API group whose discovery information is presented here.
10    /// name is allowed to be "" to represent the legacy, ungroupified resources.
11    /// More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata>
12    /// +optional
13    #[prost(message, optional, tag = "1")]
14    pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
15    /// versions are the versions supported in this group. They are sorted in descending order of preference,
16    /// with the preferred version being the first entry.
17    /// +listType=map
18    /// +listMapKey=version
19    #[prost(message, repeated, tag = "2")]
20    pub versions: ::prost::alloc::vec::Vec<APIVersionDiscovery>,
21}
22/// APIGroupDiscoveryList is a resource containing a list of APIGroupDiscovery.
23/// This is one of the types able to be returned from the /api and /apis endpoint and contains an aggregated
24/// list of API resources (built-ins, Custom Resource Definitions, resources from aggregated servers)
25/// that a cluster supports.
26#[derive(Clone, PartialEq, ::prost::Message)]
27pub struct APIGroupDiscoveryList {
28    /// ResourceVersion will not be set, because this does not have a replayable ordering among multiple apiservers.
29    /// More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata>
30    /// +optional
31    #[prost(message, optional, tag = "1")]
32    pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
33    /// items is the list of groups for discovery. The groups are listed in priority order.
34    #[prost(message, repeated, tag = "2")]
35    pub items: ::prost::alloc::vec::Vec<APIGroupDiscovery>,
36}
37/// APIResourceDiscovery provides information about an API resource for discovery.
38#[derive(Clone, PartialEq, ::prost::Message)]
39pub struct APIResourceDiscovery {
40    /// resource is the plural name of the resource.  This is used in the URL path and is the unique identifier
41    /// for this resource across all versions in the API group.
42    /// Resources with non-empty groups are located at /apis/<APIGroupDiscovery.objectMeta.name>/<APIVersionDiscovery.version>/<APIResourceDiscovery.Resource>
43    /// Resources with empty groups are located at /api/v1/<APIResourceDiscovery.Resource>
44    #[prost(string, optional, tag = "1")]
45    pub resource: ::core::option::Option<::prost::alloc::string::String>,
46    /// responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns.
47    /// APIs may return other objects types at their discretion, such as error conditions, requests for alternate representations, or other operation specific behavior.
48    /// This value will be null or empty if an APIService reports subresources but supports no operations on the parent resource
49    #[prost(message, optional, tag = "2")]
50    pub response_kind:
51        ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::GroupVersionKind>,
52    /// scope indicates the scope of a resource, either Cluster or Namespaced
53    #[prost(string, optional, tag = "3")]
54    pub scope: ::core::option::Option<::prost::alloc::string::String>,
55    /// singularResource is the singular name of the resource.  This allows clients to handle plural and singular opaquely.
56    /// 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.
57    /// The command line tool kubectl, for example, allows use of the singular resource name in place of plurals.
58    /// The singular form of a resource should always be an optional element - when in doubt use the canonical resource name.
59    #[prost(string, optional, tag = "4")]
60    pub singular_resource: ::core::option::Option<::prost::alloc::string::String>,
61    /// verbs is a list of supported API operation types (this includes
62    /// but is not limited to get, list, watch, create, update, patch,
63    /// delete, deletecollection, and proxy).
64    /// +listType=set
65    #[prost(string, repeated, tag = "5")]
66    pub verbs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
67    /// shortNames is a list of suggested short names of the resource.
68    /// +listType=set
69    #[prost(string, repeated, tag = "6")]
70    pub short_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
71    /// categories is a list of the grouped resources this resource belongs to (e.g. 'all').
72    /// Clients may use this to simplify acting on multiple resource types at once.
73    /// +listType=set
74    #[prost(string, repeated, tag = "7")]
75    pub categories: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
76    /// 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>
77    /// +listType=map
78    /// +listMapKey=subresource
79    #[prost(message, repeated, tag = "8")]
80    pub subresources: ::prost::alloc::vec::Vec<APISubresourceDiscovery>,
81}
82/// APISubresourceDiscovery provides information about an API subresource for discovery.
83#[derive(Clone, PartialEq, ::prost::Message)]
84pub struct APISubresourceDiscovery {
85    /// subresource is the name of the subresource.  This is used in the URL path and is the unique identifier
86    /// for this resource across all versions.
87    #[prost(string, optional, tag = "1")]
88    pub subresource: ::core::option::Option<::prost::alloc::string::String>,
89    /// responseKind describes the group, version, and kind of the serialization schema for the object type this endpoint typically returns.
90    /// Some subresources do not return normal resources, these will have null or empty return types.
91    #[prost(message, optional, tag = "2")]
92    pub response_kind:
93        ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::GroupVersionKind>,
94    /// acceptedTypes describes the kinds that this endpoint accepts.
95    /// Subresources may accept the standard content types or define
96    /// custom negotiation schemes. The list may not be exhaustive for
97    /// all operations.
98    /// +listType=map
99    /// +listMapKey=group
100    /// +listMapKey=version
101    /// +listMapKey=kind
102    #[prost(message, repeated, tag = "3")]
103    pub accepted_types:
104        ::prost::alloc::vec::Vec<super::super::super::apimachinery::pkg::apis::meta::v1::GroupVersionKind>,
105    /// verbs is a list of supported API operation types (this includes
106    /// but is not limited to get, list, watch, create, update, patch,
107    /// delete, deletecollection, and proxy). Subresources may define
108    /// custom verbs outside the standard Kubernetes verb set. Clients
109    /// should expect the behavior of standard verbs to align with
110    /// Kubernetes interaction conventions.
111    /// +listType=set
112    #[prost(string, repeated, tag = "4")]
113    pub verbs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
114}
115/// APIVersionDiscovery holds a list of APIResourceDiscovery types that are served for a particular version within an API Group.
116#[derive(Clone, PartialEq, ::prost::Message)]
117pub struct APIVersionDiscovery {
118    /// version is the name of the version within a group version.
119    #[prost(string, optional, tag = "1")]
120    pub version: ::core::option::Option<::prost::alloc::string::String>,
121    /// resources is a list of APIResourceDiscovery objects for the corresponding group version.
122    /// +listType=map
123    /// +listMapKey=resource
124    #[prost(message, repeated, tag = "2")]
125    pub resources: ::prost::alloc::vec::Vec<APIResourceDiscovery>,
126    /// freshness marks whether a group version's discovery document is up to date.
127    /// "Current" indicates the discovery document was recently
128    /// refreshed. "Stale" indicates the discovery document could not
129    /// be retrieved and the returned discovery document may be
130    /// significantly out of date. Clients that require the latest
131    /// version of the discovery information be retrieved before
132    /// performing an operation should not use the aggregated document
133    #[prost(string, optional, tag = "3")]
134    pub freshness: ::core::option::Option<::prost::alloc::string::String>,
135}