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}