k8s_pb/api/apps/v1beta2/
mod.rs

1// This file is @generated by prost-build.
2/// DEPRECATED - This group version of ControllerRevision is deprecated by apps/v1/ControllerRevision. See the
3/// release notes for more information.
4/// ControllerRevision implements an immutable snapshot of state data. Clients
5/// are responsible for serializing and deserializing the objects that contain
6/// their internal state.
7/// Once a ControllerRevision has been successfully created, it can not be updated.
8/// The API Server will fail validation of all requests that attempt to mutate
9/// the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both
10/// the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However,
11/// it may be subject to name and representation changes in future releases, and clients should not
12/// depend on its stability. It is primarily for internal use by controllers.
13#[derive(Clone, PartialEq, ::prost::Message)]
14pub struct ControllerRevision {
15    /// Standard object's metadata.
16    /// More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata>
17    /// +optional
18    #[prost(message, optional, tag = "1")]
19    pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
20    /// Data is the serialized representation of the state.
21    #[prost(message, optional, tag = "2")]
22    pub data: ::core::option::Option<super::super::super::apimachinery::pkg::runtime::RawExtension>,
23    /// Revision indicates the revision of the state represented by Data.
24    #[prost(int64, optional, tag = "3")]
25    pub revision: ::core::option::Option<i64>,
26}
27/// ControllerRevisionList is a resource containing a list of ControllerRevision objects.
28#[derive(Clone, PartialEq, ::prost::Message)]
29pub struct ControllerRevisionList {
30    /// More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata>
31    /// +optional
32    #[prost(message, optional, tag = "1")]
33    pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
34    /// Items is the list of ControllerRevisions
35    #[prost(message, repeated, tag = "2")]
36    pub items: ::prost::alloc::vec::Vec<ControllerRevision>,
37}
38/// DEPRECATED - This group version of DaemonSet is deprecated by apps/v1/DaemonSet. See the release notes for
39/// more information.
40/// DaemonSet represents the configuration of a daemon set.
41#[derive(Clone, PartialEq, ::prost::Message)]
42pub struct DaemonSet {
43    /// Standard object's metadata.
44    /// More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata>
45    /// +optional
46    #[prost(message, optional, tag = "1")]
47    pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
48    /// The desired behavior of this daemon set.
49    /// More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status>
50    /// +optional
51    #[prost(message, optional, tag = "2")]
52    pub spec: ::core::option::Option<DaemonSetSpec>,
53    /// The current status of this daemon set. This data may be
54    /// out of date by some window of time.
55    /// Populated by the system.
56    /// Read-only.
57    /// More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status>
58    /// +optional
59    #[prost(message, optional, tag = "3")]
60    pub status: ::core::option::Option<DaemonSetStatus>,
61}
62/// DaemonSetCondition describes the state of a DaemonSet at a certain point.
63#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
64pub struct DaemonSetCondition {
65    /// Type of DaemonSet condition.
66    #[prost(string, optional, tag = "1")]
67    pub r#type: ::core::option::Option<::prost::alloc::string::String>,
68    /// Status of the condition, one of True, False, Unknown.
69    #[prost(string, optional, tag = "2")]
70    pub status: ::core::option::Option<::prost::alloc::string::String>,
71    /// Last time the condition transitioned from one status to another.
72    /// +optional
73    #[prost(message, optional, tag = "3")]
74    pub last_transition_time:
75        ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::Time>,
76    /// The reason for the condition's last transition.
77    /// +optional
78    #[prost(string, optional, tag = "4")]
79    pub reason: ::core::option::Option<::prost::alloc::string::String>,
80    /// A human readable message indicating details about the transition.
81    /// +optional
82    #[prost(string, optional, tag = "5")]
83    pub message: ::core::option::Option<::prost::alloc::string::String>,
84}
85/// DaemonSetList is a collection of daemon sets.
86#[derive(Clone, PartialEq, ::prost::Message)]
87pub struct DaemonSetList {
88    /// Standard list metadata.
89    /// More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata>
90    /// +optional
91    #[prost(message, optional, tag = "1")]
92    pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
93    /// A list of daemon sets.
94    #[prost(message, repeated, tag = "2")]
95    pub items: ::prost::alloc::vec::Vec<DaemonSet>,
96}
97/// DaemonSetSpec is the specification of a daemon set.
98#[derive(Clone, PartialEq, ::prost::Message)]
99pub struct DaemonSetSpec {
100    /// A label query over pods that are managed by the daemon set.
101    /// Must match in order to be controlled.
102    /// It must match the pod template's labels.
103    /// More info: <https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors>
104    #[prost(message, optional, tag = "1")]
105    pub selector:
106        ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::LabelSelector>,
107    /// An object that describes the pod that will be created.
108    /// The DaemonSet will create exactly one copy of this pod on every node
109    /// that matches the template's node selector (or on every node if no node
110    /// selector is specified).
111    /// The only allowed template.spec.restartPolicy value is "Always".
112    /// More info: <https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template>
113    #[prost(message, optional, tag = "2")]
114    pub template: ::core::option::Option<super::super::core::v1::PodTemplateSpec>,
115    /// An update strategy to replace existing DaemonSet pods with new pods.
116    /// +optional
117    #[prost(message, optional, tag = "3")]
118    pub update_strategy: ::core::option::Option<DaemonSetUpdateStrategy>,
119    /// The minimum number of seconds for which a newly created DaemonSet pod should
120    /// be ready without any of its container crashing, for it to be considered
121    /// available. Defaults to 0 (pod will be considered available as soon as it
122    /// is ready).
123    /// +optional
124    #[prost(int32, optional, tag = "4")]
125    pub min_ready_seconds: ::core::option::Option<i32>,
126    /// The number of old history to retain to allow rollback.
127    /// This is a pointer to distinguish between explicit zero and not specified.
128    /// Defaults to 10.
129    /// +optional
130    #[prost(int32, optional, tag = "6")]
131    pub revision_history_limit: ::core::option::Option<i32>,
132}
133/// DaemonSetStatus represents the current status of a daemon set.
134#[derive(Clone, PartialEq, ::prost::Message)]
135pub struct DaemonSetStatus {
136    /// The number of nodes that are running at least 1
137    /// daemon pod and are supposed to run the daemon pod.
138    /// More info: <https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/>
139    #[prost(int32, optional, tag = "1")]
140    pub current_number_scheduled: ::core::option::Option<i32>,
141    /// The number of nodes that are running the daemon pod, but are
142    /// not supposed to run the daemon pod.
143    /// More info: <https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/>
144    #[prost(int32, optional, tag = "2")]
145    pub number_misscheduled: ::core::option::Option<i32>,
146    /// The total number of nodes that should be running the daemon
147    /// pod (including nodes correctly running the daemon pod).
148    /// More info: <https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/>
149    #[prost(int32, optional, tag = "3")]
150    pub desired_number_scheduled: ::core::option::Option<i32>,
151    /// Total number of nodes that should be running the daemon pod and have one
152    /// or more of the daemon pod running with a Ready Condition by passing the readinessProbe.
153    #[prost(int32, optional, tag = "4")]
154    pub number_ready: ::core::option::Option<i32>,
155    /// The most recent generation observed by the daemon set controller.
156    /// +optional
157    #[prost(int64, optional, tag = "5")]
158    pub observed_generation: ::core::option::Option<i64>,
159    /// The total number of nodes that are running updated daemon pod
160    /// +optional
161    #[prost(int32, optional, tag = "6")]
162    pub updated_number_scheduled: ::core::option::Option<i32>,
163    /// The number of nodes that should be running the
164    /// daemon pod and have one or more of the daemon pod running and
165    /// available (ready for at least spec.minReadySeconds)
166    /// +optional
167    #[prost(int32, optional, tag = "7")]
168    pub number_available: ::core::option::Option<i32>,
169    /// The number of nodes that should be running the
170    /// daemon pod and have none of the daemon pod running and available
171    /// (ready for at least spec.minReadySeconds)
172    /// +optional
173    #[prost(int32, optional, tag = "8")]
174    pub number_unavailable: ::core::option::Option<i32>,
175    /// Count of hash collisions for the DaemonSet. The DaemonSet controller
176    /// uses this field as a collision avoidance mechanism when it needs to
177    /// create the name for the newest ControllerRevision.
178    /// +optional
179    #[prost(int32, optional, tag = "9")]
180    pub collision_count: ::core::option::Option<i32>,
181    /// Represents the latest available observations of a DaemonSet's current state.
182    /// +optional
183    /// +patchMergeKey=type
184    /// +patchStrategy=merge
185    /// +listType=map
186    /// +listMapKey=type
187    #[prost(message, repeated, tag = "10")]
188    pub conditions: ::prost::alloc::vec::Vec<DaemonSetCondition>,
189}
190/// DaemonSetUpdateStrategy is a struct used to control the update strategy for a DaemonSet.
191#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
192pub struct DaemonSetUpdateStrategy {
193    /// Type of daemon set update. Can be "RollingUpdate" or "OnDelete". Default is RollingUpdate.
194    /// +optional
195    #[prost(string, optional, tag = "1")]
196    pub r#type: ::core::option::Option<::prost::alloc::string::String>,
197    /// Rolling update config params. Present only if type = "RollingUpdate".
198    /// ---
199    /// TODO: Update this to follow our convention for oneOf, whatever we decide it
200    /// to be. Same as Deployment `strategy.rollingUpdate`.
201    /// See <https://github.com/kubernetes/kubernetes/issues/35345>
202    /// +optional
203    #[prost(message, optional, tag = "2")]
204    pub rolling_update: ::core::option::Option<RollingUpdateDaemonSet>,
205}
206/// DEPRECATED - This group version of Deployment is deprecated by apps/v1/Deployment. See the release notes for
207/// more information.
208/// Deployment enables declarative updates for Pods and ReplicaSets.
209#[derive(Clone, PartialEq, ::prost::Message)]
210pub struct Deployment {
211    /// Standard object metadata.
212    /// +optional
213    #[prost(message, optional, tag = "1")]
214    pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
215    /// Specification of the desired behavior of the Deployment.
216    /// +optional
217    #[prost(message, optional, tag = "2")]
218    pub spec: ::core::option::Option<DeploymentSpec>,
219    /// Most recently observed status of the Deployment.
220    /// +optional
221    #[prost(message, optional, tag = "3")]
222    pub status: ::core::option::Option<DeploymentStatus>,
223}
224/// DeploymentCondition describes the state of a deployment at a certain point.
225#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
226pub struct DeploymentCondition {
227    /// Type of deployment condition.
228    #[prost(string, optional, tag = "1")]
229    pub r#type: ::core::option::Option<::prost::alloc::string::String>,
230    /// Status of the condition, one of True, False, Unknown.
231    #[prost(string, optional, tag = "2")]
232    pub status: ::core::option::Option<::prost::alloc::string::String>,
233    /// The last time this condition was updated.
234    #[prost(message, optional, tag = "6")]
235    pub last_update_time:
236        ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::Time>,
237    /// Last time the condition transitioned from one status to another.
238    #[prost(message, optional, tag = "7")]
239    pub last_transition_time:
240        ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::Time>,
241    /// The reason for the condition's last transition.
242    #[prost(string, optional, tag = "4")]
243    pub reason: ::core::option::Option<::prost::alloc::string::String>,
244    /// A human readable message indicating details about the transition.
245    #[prost(string, optional, tag = "5")]
246    pub message: ::core::option::Option<::prost::alloc::string::String>,
247}
248/// DeploymentList is a list of Deployments.
249#[derive(Clone, PartialEq, ::prost::Message)]
250pub struct DeploymentList {
251    /// Standard list metadata.
252    /// +optional
253    #[prost(message, optional, tag = "1")]
254    pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
255    /// Items is the list of Deployments.
256    #[prost(message, repeated, tag = "2")]
257    pub items: ::prost::alloc::vec::Vec<Deployment>,
258}
259/// DeploymentSpec is the specification of the desired behavior of the Deployment.
260#[derive(Clone, PartialEq, ::prost::Message)]
261pub struct DeploymentSpec {
262    /// Number of desired pods. This is a pointer to distinguish between explicit
263    /// zero and not specified. Defaults to 1.
264    /// +optional
265    #[prost(int32, optional, tag = "1")]
266    pub replicas: ::core::option::Option<i32>,
267    /// Label selector for pods. Existing ReplicaSets whose pods are
268    /// selected by this will be the ones affected by this deployment.
269    /// It must match the pod template's labels.
270    #[prost(message, optional, tag = "2")]
271    pub selector:
272        ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::LabelSelector>,
273    /// Template describes the pods that will be created.
274    /// The only allowed template.spec.restartPolicy value is "Always".
275    #[prost(message, optional, tag = "3")]
276    pub template: ::core::option::Option<super::super::core::v1::PodTemplateSpec>,
277    /// The deployment strategy to use to replace existing pods with new ones.
278    /// +optional
279    /// +patchStrategy=retainKeys
280    #[prost(message, optional, tag = "4")]
281    pub strategy: ::core::option::Option<DeploymentStrategy>,
282    /// Minimum number of seconds for which a newly created pod should be ready
283    /// without any of its container crashing, for it to be considered available.
284    /// Defaults to 0 (pod will be considered available as soon as it is ready)
285    /// +optional
286    #[prost(int32, optional, tag = "5")]
287    pub min_ready_seconds: ::core::option::Option<i32>,
288    /// The number of old ReplicaSets to retain to allow rollback.
289    /// This is a pointer to distinguish between explicit zero and not specified.
290    /// Defaults to 10.
291    /// +optional
292    #[prost(int32, optional, tag = "6")]
293    pub revision_history_limit: ::core::option::Option<i32>,
294    /// Indicates that the deployment is paused.
295    /// +optional
296    #[prost(bool, optional, tag = "7")]
297    pub paused: ::core::option::Option<bool>,
298    /// The maximum time in seconds for a deployment to make progress before it
299    /// is considered to be failed. The deployment controller will continue to
300    /// process failed deployments and a condition with a ProgressDeadlineExceeded
301    /// reason will be surfaced in the deployment status. Note that progress will
302    /// not be estimated during the time a deployment is paused. Defaults to 600s.
303    #[prost(int32, optional, tag = "9")]
304    pub progress_deadline_seconds: ::core::option::Option<i32>,
305}
306/// DeploymentStatus is the most recently observed status of the Deployment.
307#[derive(Clone, PartialEq, ::prost::Message)]
308pub struct DeploymentStatus {
309    /// The generation observed by the deployment controller.
310    /// +optional
311    #[prost(int64, optional, tag = "1")]
312    pub observed_generation: ::core::option::Option<i64>,
313    /// Total number of non-terminating pods targeted by this deployment (their labels match the selector).
314    /// +optional
315    #[prost(int32, optional, tag = "2")]
316    pub replicas: ::core::option::Option<i32>,
317    /// Total number of non-terminating pods targeted by this deployment that have the desired template spec.
318    /// +optional
319    #[prost(int32, optional, tag = "3")]
320    pub updated_replicas: ::core::option::Option<i32>,
321    /// Total number of non-terminating pods targeted by this Deployment with a Ready Condition.
322    /// +optional
323    #[prost(int32, optional, tag = "7")]
324    pub ready_replicas: ::core::option::Option<i32>,
325    /// Total number of available non-terminating pods (ready for at least minReadySeconds) targeted by this deployment.
326    /// +optional
327    #[prost(int32, optional, tag = "4")]
328    pub available_replicas: ::core::option::Option<i32>,
329    /// Total number of unavailable pods targeted by this deployment. This is the total number of
330    /// pods that are still required for the deployment to have 100% available capacity. They may
331    /// either be pods that are running but not yet available or pods that still have not been created.
332    /// +optional
333    #[prost(int32, optional, tag = "5")]
334    pub unavailable_replicas: ::core::option::Option<i32>,
335    /// Total number of terminating pods targeted by this deployment. Terminating pods have a non-null
336    /// .metadata.deletionTimestamp and have not yet reached the Failed or Succeeded .status.phase.
337    ///
338    /// This is a beta field and requires enabling DeploymentReplicaSetTerminatingReplicas feature (enabled by default).
339    /// +optional
340    #[prost(int32, optional, tag = "9")]
341    pub terminating_replicas: ::core::option::Option<i32>,
342    /// Represents the latest available observations of a deployment's current state.
343    /// +patchMergeKey=type
344    /// +patchStrategy=merge
345    /// +listType=map
346    /// +listMapKey=type
347    #[prost(message, repeated, tag = "6")]
348    pub conditions: ::prost::alloc::vec::Vec<DeploymentCondition>,
349    /// Count of hash collisions for the Deployment. The Deployment controller uses this
350    /// field as a collision avoidance mechanism when it needs to create the name for the
351    /// newest ReplicaSet.
352    /// +optional
353    #[prost(int32, optional, tag = "8")]
354    pub collision_count: ::core::option::Option<i32>,
355}
356/// DeploymentStrategy describes how to replace existing pods with new ones.
357#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
358pub struct DeploymentStrategy {
359    /// Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.
360    /// +optional
361    #[prost(string, optional, tag = "1")]
362    pub r#type: ::core::option::Option<::prost::alloc::string::String>,
363    /// Rolling update config params. Present only if DeploymentStrategyType =
364    /// RollingUpdate.
365    /// ---
366    /// TODO: Update this to follow our convention for oneOf, whatever we decide it
367    /// to be.
368    /// +optional
369    #[prost(message, optional, tag = "2")]
370    pub rolling_update: ::core::option::Option<RollingUpdateDeployment>,
371}
372/// DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1/ReplicaSet. See the release notes for
373/// more information.
374/// ReplicaSet ensures that a specified number of pod replicas are running at any given time.
375#[derive(Clone, PartialEq, ::prost::Message)]
376pub struct ReplicaSet {
377    /// If the Labels of a ReplicaSet are empty, they are defaulted to
378    /// be the same as the Pod(s) that the ReplicaSet manages.
379    /// Standard object's metadata. More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata>
380    /// +optional
381    #[prost(message, optional, tag = "1")]
382    pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
383    /// Spec defines the specification of the desired behavior of the ReplicaSet.
384    /// More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status>
385    /// +optional
386    #[prost(message, optional, tag = "2")]
387    pub spec: ::core::option::Option<ReplicaSetSpec>,
388    /// Status is the most recently observed status of the ReplicaSet.
389    /// This data may be out of date by some window of time.
390    /// Populated by the system.
391    /// Read-only.
392    /// More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status>
393    /// +optional
394    #[prost(message, optional, tag = "3")]
395    pub status: ::core::option::Option<ReplicaSetStatus>,
396}
397/// ReplicaSetCondition describes the state of a replica set at a certain point.
398#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
399pub struct ReplicaSetCondition {
400    /// Type of replica set condition.
401    #[prost(string, optional, tag = "1")]
402    pub r#type: ::core::option::Option<::prost::alloc::string::String>,
403    /// Status of the condition, one of True, False, Unknown.
404    #[prost(string, optional, tag = "2")]
405    pub status: ::core::option::Option<::prost::alloc::string::String>,
406    /// The last time the condition transitioned from one status to another.
407    /// +optional
408    #[prost(message, optional, tag = "3")]
409    pub last_transition_time:
410        ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::Time>,
411    /// The reason for the condition's last transition.
412    /// +optional
413    #[prost(string, optional, tag = "4")]
414    pub reason: ::core::option::Option<::prost::alloc::string::String>,
415    /// A human readable message indicating details about the transition.
416    /// +optional
417    #[prost(string, optional, tag = "5")]
418    pub message: ::core::option::Option<::prost::alloc::string::String>,
419}
420/// ReplicaSetList is a collection of ReplicaSets.
421#[derive(Clone, PartialEq, ::prost::Message)]
422pub struct ReplicaSetList {
423    /// Standard list metadata.
424    /// More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds>
425    /// +optional
426    #[prost(message, optional, tag = "1")]
427    pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
428    /// List of ReplicaSets.
429    /// More info: <https://kubernetes.io/docs/concepts/workloads/controllers/replicaset>
430    #[prost(message, repeated, tag = "2")]
431    pub items: ::prost::alloc::vec::Vec<ReplicaSet>,
432}
433/// ReplicaSetSpec is the specification of a ReplicaSet.
434#[derive(Clone, PartialEq, ::prost::Message)]
435pub struct ReplicaSetSpec {
436    /// Replicas is the number of desired pods.
437    /// This is a pointer to distinguish between explicit zero and unspecified.
438    /// Defaults to 1.
439    /// More info: <https://kubernetes.io/docs/concepts/workloads/controllers/replicaset>
440    /// +optional
441    #[prost(int32, optional, tag = "1")]
442    pub replicas: ::core::option::Option<i32>,
443    /// Minimum number of seconds for which a newly created pod should be ready
444    /// without any of its container crashing, for it to be considered available.
445    /// Defaults to 0 (pod will be considered available as soon as it is ready)
446    /// +optional
447    #[prost(int32, optional, tag = "4")]
448    pub min_ready_seconds: ::core::option::Option<i32>,
449    /// Selector is a label query over pods that should match the replica count.
450    /// Label keys and values that must match in order to be controlled by this replica set.
451    /// It must match the pod template's labels.
452    /// More info: <https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors>
453    #[prost(message, optional, tag = "2")]
454    pub selector:
455        ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::LabelSelector>,
456    /// Template is the object that describes the pod that will be created if
457    /// insufficient replicas are detected.
458    /// More info: <https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/#pod-template>
459    /// +optional
460    #[prost(message, optional, tag = "3")]
461    pub template: ::core::option::Option<super::super::core::v1::PodTemplateSpec>,
462}
463/// ReplicaSetStatus represents the current status of a ReplicaSet.
464#[derive(Clone, PartialEq, ::prost::Message)]
465pub struct ReplicaSetStatus {
466    /// Replicas is the most recently observed number of non-terminating pods.
467    /// More info: <https://kubernetes.io/docs/concepts/workloads/controllers/replicaset>
468    #[prost(int32, optional, tag = "1")]
469    pub replicas: ::core::option::Option<i32>,
470    /// The number of non-terminating pods that have labels matching the labels of the pod template of the replicaset.
471    /// +optional
472    #[prost(int32, optional, tag = "2")]
473    pub fully_labeled_replicas: ::core::option::Option<i32>,
474    /// The number of non-terminating pods targeted by this ReplicaSet with a Ready Condition.
475    /// +optional
476    #[prost(int32, optional, tag = "4")]
477    pub ready_replicas: ::core::option::Option<i32>,
478    /// The number of available non-terminating pods (ready for at least minReadySeconds) for this replica set.
479    /// +optional
480    #[prost(int32, optional, tag = "5")]
481    pub available_replicas: ::core::option::Option<i32>,
482    /// The number of terminating pods for this replica set. Terminating pods have a non-null .metadata.deletionTimestamp
483    /// and have not yet reached the Failed or Succeeded .status.phase.
484    ///
485    /// This is a beta field and requires enabling DeploymentReplicaSetTerminatingReplicas feature (enabled by default).
486    /// +optional
487    #[prost(int32, optional, tag = "7")]
488    pub terminating_replicas: ::core::option::Option<i32>,
489    /// ObservedGeneration reflects the generation of the most recently observed ReplicaSet.
490    /// +optional
491    #[prost(int64, optional, tag = "3")]
492    pub observed_generation: ::core::option::Option<i64>,
493    /// Represents the latest available observations of a replica set's current state.
494    /// +optional
495    /// +patchMergeKey=type
496    /// +patchStrategy=merge
497    /// +listType=map
498    /// +listMapKey=type
499    #[prost(message, repeated, tag = "6")]
500    pub conditions: ::prost::alloc::vec::Vec<ReplicaSetCondition>,
501}
502/// Spec to control the desired behavior of daemon set rolling update.
503#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
504pub struct RollingUpdateDaemonSet {
505    /// The maximum number of DaemonSet pods that can be unavailable during the
506    /// update. Value can be an absolute number (ex: 5) or a percentage of total
507    /// number of DaemonSet pods at the start of the update (ex: 10%). Absolute
508    /// number is calculated from percentage by rounding up.
509    /// This cannot be 0 if MaxSurge is 0
510    /// Default value is 1.
511    /// Example: when this is set to 30%, at most 30% of the total number of nodes
512    /// that should be running the daemon pod (i.e. status.desiredNumberScheduled)
513    /// can have their pods stopped for an update at any given time. The update
514    /// starts by stopping at most 30% of those DaemonSet pods and then brings
515    /// up new DaemonSet pods in their place. Once the new pods are available,
516    /// it then proceeds onto other DaemonSet pods, thus ensuring that at least
517    /// 70% of original number of DaemonSet pods are available at all times during
518    /// the update.
519    /// +optional
520    #[prost(message, optional, tag = "1")]
521    pub max_unavailable:
522        ::core::option::Option<super::super::super::apimachinery::pkg::util::intstr::IntOrString>,
523    /// The maximum number of nodes with an existing available DaemonSet pod that
524    /// can have an updated DaemonSet pod during during an update.
525    /// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
526    /// This can not be 0 if MaxUnavailable is 0.
527    /// Absolute number is calculated from percentage by rounding up to a minimum of 1.
528    /// Default value is 0.
529    /// Example: when this is set to 30%, at most 30% of the total number of nodes
530    /// that should be running the daemon pod (i.e. status.desiredNumberScheduled)
531    /// can have their a new pod created before the old pod is marked as deleted.
532    /// The update starts by launching new pods on 30% of nodes. Once an updated
533    /// pod is available (Ready for at least minReadySeconds) the old DaemonSet pod
534    /// on that node is marked deleted. If the old pod becomes unavailable for any
535    /// reason (Ready transitions to false, is evicted, or is drained) an updated
536    /// pod is immediately created on that node without considering surge limits.
537    /// Allowing surge implies the possibility that the resources consumed by the
538    /// daemonset on any given node can double if the readiness check fails, and
539    /// so resource intensive daemonsets should take into account that they may
540    /// cause evictions during disruption.
541    /// +optional
542    #[prost(message, optional, tag = "2")]
543    pub max_surge: ::core::option::Option<super::super::super::apimachinery::pkg::util::intstr::IntOrString>,
544}
545/// Spec to control the desired behavior of rolling update.
546#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
547pub struct RollingUpdateDeployment {
548    /// The maximum number of pods that can be unavailable during the update.
549    /// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
550    /// Absolute number is calculated from percentage by rounding down.
551    /// This can not be 0 if MaxSurge is 0.
552    /// Defaults to 25%.
553    /// Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods
554    /// immediately when the rolling update starts. Once new pods are ready, old ReplicaSet
555    /// can be scaled down further, followed by scaling up the new ReplicaSet, ensuring
556    /// that the total number of pods available at all times during the update is at
557    /// least 70% of desired pods.
558    /// +optional
559    #[prost(message, optional, tag = "1")]
560    pub max_unavailable:
561        ::core::option::Option<super::super::super::apimachinery::pkg::util::intstr::IntOrString>,
562    /// The maximum number of pods that can be scheduled above the desired number of
563    /// pods.
564    /// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
565    /// This can not be 0 if MaxUnavailable is 0.
566    /// Absolute number is calculated from percentage by rounding up.
567    /// Defaults to 25%.
568    /// Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when
569    /// the rolling update starts, such that the total number of old and new pods do not exceed
570    /// 130% of desired pods. Once old pods have been killed,
571    /// new ReplicaSet can be scaled up further, ensuring that total number of pods running
572    /// at any time during the update is at most 130% of desired pods.
573    /// +optional
574    #[prost(message, optional, tag = "2")]
575    pub max_surge: ::core::option::Option<super::super::super::apimachinery::pkg::util::intstr::IntOrString>,
576}
577/// RollingUpdateStatefulSetStrategy is used to communicate parameter for RollingUpdateStatefulSetStrategyType.
578#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
579pub struct RollingUpdateStatefulSetStrategy {
580    /// Partition indicates the ordinal at which the StatefulSet should be partitioned
581    /// for updates. During a rolling update, all pods from ordinal Replicas-1 to
582    /// Partition are updated. All pods from ordinal Partition-1 to 0 remain untouched.
583    /// This is helpful in being able to do a canary based deployment. The default value is 0.
584    /// +optional
585    #[prost(int32, optional, tag = "1")]
586    pub partition: ::core::option::Option<i32>,
587    /// The maximum number of pods that can be unavailable during the update.
588    /// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
589    /// Absolute number is calculated from percentage by rounding up. This can not be 0.
590    /// Defaults to 1. This field is beta-level and is enabled by default. The field applies to all pods in the range 0 to
591    /// Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it
592    /// will be counted towards MaxUnavailable.
593    /// This setting might not be effective for the OrderedReady podManagementPolicy. That policy ensures pods are created and become ready one at a time.
594    ///
595    /// +featureGate=MaxUnavailableStatefulSet
596    /// +optional
597    #[prost(message, optional, tag = "2")]
598    pub max_unavailable:
599        ::core::option::Option<super::super::super::apimachinery::pkg::util::intstr::IntOrString>,
600}
601/// Scale represents a scaling request for a resource.
602#[derive(Clone, PartialEq, ::prost::Message)]
603pub struct Scale {
604    /// Standard object metadata; More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.>
605    /// +optional
606    #[prost(message, optional, tag = "1")]
607    pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
608    /// defines the behavior of the scale. More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.>
609    /// +optional
610    #[prost(message, optional, tag = "2")]
611    pub spec: ::core::option::Option<ScaleSpec>,
612    /// current status of the scale. More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.> Read-only.
613    /// +optional
614    #[prost(message, optional, tag = "3")]
615    pub status: ::core::option::Option<ScaleStatus>,
616}
617/// ScaleSpec describes the attributes of a scale subresource
618#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
619pub struct ScaleSpec {
620    /// desired number of instances for the scaled object.
621    /// +optional
622    /// +k8s:optional
623    /// +default=0
624    /// +k8s:minimum=0
625    #[prost(int32, optional, tag = "1")]
626    pub replicas: ::core::option::Option<i32>,
627}
628/// ScaleStatus represents the current status of a scale subresource.
629#[derive(Clone, PartialEq, ::prost::Message)]
630pub struct ScaleStatus {
631    /// actual number of observed instances of the scaled object.
632    #[prost(int32, optional, tag = "1")]
633    pub replicas: ::core::option::Option<i32>,
634    /// selector is a label query over pods that should match the replicas count. More info: <https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/>
635    /// +optional
636    /// +mapType=atomic
637    #[prost(btree_map = "string, string", tag = "2")]
638    pub selector:
639        ::prost::alloc::collections::BTreeMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
640    /// label selector for pods that should match the replicas count. This is a serializated
641    /// version of both map-based and more expressive set-based selectors. This is done to
642    /// avoid introspection in the clients. The string will be in the same format as the
643    /// query-param syntax. If the target type only supports map-based selectors, both this
644    /// field and map-based selector field are populated.
645    /// More info: <https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors>
646    /// +optional
647    #[prost(string, optional, tag = "3")]
648    pub target_selector: ::core::option::Option<::prost::alloc::string::String>,
649}
650/// DEPRECATED - This group version of StatefulSet is deprecated by apps/v1/StatefulSet. See the release notes for
651/// more information.
652/// StatefulSet represents a set of pods with consistent identities.
653/// Identities are defined as:
654///    - Network: A single stable DNS and hostname.
655///    - Storage: As many VolumeClaims as requested.
656///
657/// The StatefulSet guarantees that a given network identity will always
658/// map to the same storage identity.
659#[derive(Clone, PartialEq, ::prost::Message)]
660pub struct StatefulSet {
661    /// +optional
662    #[prost(message, optional, tag = "1")]
663    pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
664    /// Spec defines the desired identities of pods in this set.
665    /// +optional
666    #[prost(message, optional, tag = "2")]
667    pub spec: ::core::option::Option<StatefulSetSpec>,
668    /// Status is the current status of Pods in this StatefulSet. This data
669    /// may be out of date by some window of time.
670    /// +optional
671    #[prost(message, optional, tag = "3")]
672    pub status: ::core::option::Option<StatefulSetStatus>,
673}
674/// StatefulSetCondition describes the state of a statefulset at a certain point.
675#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
676pub struct StatefulSetCondition {
677    /// Type of statefulset condition.
678    #[prost(string, optional, tag = "1")]
679    pub r#type: ::core::option::Option<::prost::alloc::string::String>,
680    /// Status of the condition, one of True, False, Unknown.
681    #[prost(string, optional, tag = "2")]
682    pub status: ::core::option::Option<::prost::alloc::string::String>,
683    /// Last time the condition transitioned from one status to another.
684    /// +optional
685    #[prost(message, optional, tag = "3")]
686    pub last_transition_time:
687        ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::Time>,
688    /// The reason for the condition's last transition.
689    /// +optional
690    #[prost(string, optional, tag = "4")]
691    pub reason: ::core::option::Option<::prost::alloc::string::String>,
692    /// A human readable message indicating details about the transition.
693    /// +optional
694    #[prost(string, optional, tag = "5")]
695    pub message: ::core::option::Option<::prost::alloc::string::String>,
696}
697/// StatefulSetList is a collection of StatefulSets.
698#[derive(Clone, PartialEq, ::prost::Message)]
699pub struct StatefulSetList {
700    /// +optional
701    #[prost(message, optional, tag = "1")]
702    pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
703    #[prost(message, repeated, tag = "2")]
704    pub items: ::prost::alloc::vec::Vec<StatefulSet>,
705}
706/// StatefulSetOrdinals describes the policy used for replica ordinal assignment
707/// in this StatefulSet.
708#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
709pub struct StatefulSetOrdinals {
710    /// start is the number representing the first replica's index. It may be used
711    /// to number replicas from an alternate index (eg: 1-indexed) over the default
712    /// 0-indexed names, or to orchestrate progressive movement of replicas from
713    /// one StatefulSet to another.
714    /// If set, replica indices will be in the range:
715    ///    [.spec.ordinals.start, .spec.ordinals.start + .spec.replicas).
716    /// If unset, defaults to 0. Replica indices will be in the range:
717    ///    [0, .spec.replicas).
718    /// +optional
719    #[prost(int32, optional, tag = "1")]
720    pub start: ::core::option::Option<i32>,
721}
722/// StatefulSetPersistentVolumeClaimRetentionPolicy describes the policy used for PVCs
723/// created from the StatefulSet VolumeClaimTemplates.
724#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
725pub struct StatefulSetPersistentVolumeClaimRetentionPolicy {
726    /// WhenDeleted specifies what happens to PVCs created from StatefulSet
727    /// VolumeClaimTemplates when the StatefulSet is deleted. The default policy
728    /// of `Retain` causes PVCs to not be affected by StatefulSet deletion. The
729    /// `Delete` policy causes those PVCs to be deleted.
730    #[prost(string, optional, tag = "1")]
731    pub when_deleted: ::core::option::Option<::prost::alloc::string::String>,
732    /// WhenScaled specifies what happens to PVCs created from StatefulSet
733    /// VolumeClaimTemplates when the StatefulSet is scaled down. The default
734    /// policy of `Retain` causes PVCs to not be affected by a scaledown. The
735    /// `Delete` policy causes the associated PVCs for any excess pods above
736    /// the replica count to be deleted.
737    #[prost(string, optional, tag = "2")]
738    pub when_scaled: ::core::option::Option<::prost::alloc::string::String>,
739}
740/// A StatefulSetSpec is the specification of a StatefulSet.
741#[derive(Clone, PartialEq, ::prost::Message)]
742pub struct StatefulSetSpec {
743    /// replicas is the desired number of replicas of the given Template.
744    /// These are replicas in the sense that they are instantiations of the
745    /// same Template, but individual replicas also have a consistent identity.
746    /// If unspecified, defaults to 1.
747    /// TODO: Consider a rename of this field.
748    /// +optional
749    #[prost(int32, optional, tag = "1")]
750    pub replicas: ::core::option::Option<i32>,
751    /// selector is a label query over pods that should match the replica count.
752    /// It must match the pod template's labels.
753    /// More info: <https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors>
754    #[prost(message, optional, tag = "2")]
755    pub selector:
756        ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::LabelSelector>,
757    /// template is the object that describes the pod that will be created if
758    /// insufficient replicas are detected. Each pod stamped out by the StatefulSet
759    /// will fulfill this Template, but have a unique identity from the rest
760    /// of the StatefulSet. Each pod will be named with the format
761    /// <statefulsetname>-<podindex>. For example, a pod in a StatefulSet named
762    /// "web" with index number "3" would be named "web-3".
763    /// The only allowed template.spec.restartPolicy value is "Always".
764    #[prost(message, optional, tag = "3")]
765    pub template: ::core::option::Option<super::super::core::v1::PodTemplateSpec>,
766    /// volumeClaimTemplates is a list of claims that pods are allowed to reference.
767    /// The StatefulSet controller is responsible for mapping network identities to
768    /// claims in a way that maintains the identity of a pod. Every claim in
769    /// this list must have at least one matching (by name) volumeMount in one
770    /// container in the template. A claim in this list takes precedence over
771    /// any volumes in the template, with the same name.
772    /// TODO: Define the behavior if a claim already exists with the same name.
773    /// +optional
774    /// +listType=atomic
775    #[prost(message, repeated, tag = "4")]
776    pub volume_claim_templates: ::prost::alloc::vec::Vec<super::super::core::v1::PersistentVolumeClaim>,
777    /// serviceName is the name of the service that governs this StatefulSet.
778    /// This service must exist before the StatefulSet, and is responsible for
779    /// the network identity of the set. Pods get DNS/hostnames that follow the
780    /// pattern: pod-specific-string.serviceName.default.svc.cluster.local
781    /// where "pod-specific-string" is managed by the StatefulSet controller.
782    /// +optional
783    #[prost(string, optional, tag = "5")]
784    pub service_name: ::core::option::Option<::prost::alloc::string::String>,
785    /// podManagementPolicy controls how pods are created during initial scale up,
786    /// when replacing pods on nodes, or when scaling down. The default policy is
787    /// `OrderedReady`, where pods are created in increasing order (pod-0, then
788    /// pod-1, etc) and the controller will wait until each pod is ready before
789    /// continuing. When scaling down, the pods are removed in the opposite order.
790    /// The alternative policy is `Parallel` which will create pods in parallel
791    /// to match the desired scale without waiting, and on scale down will delete
792    /// all pods at once.
793    /// +optional
794    #[prost(string, optional, tag = "6")]
795    pub pod_management_policy: ::core::option::Option<::prost::alloc::string::String>,
796    /// updateStrategy indicates the StatefulSetUpdateStrategy that will be
797    /// employed to update Pods in the StatefulSet when a revision is made to
798    /// Template.
799    #[prost(message, optional, tag = "7")]
800    pub update_strategy: ::core::option::Option<StatefulSetUpdateStrategy>,
801    /// revisionHistoryLimit is the maximum number of revisions that will
802    /// be maintained in the StatefulSet's revision history. The revision history
803    /// consists of all revisions not represented by a currently applied
804    /// StatefulSetSpec version. The default value is 10.
805    #[prost(int32, optional, tag = "8")]
806    pub revision_history_limit: ::core::option::Option<i32>,
807    /// Minimum number of seconds for which a newly created pod should be ready
808    /// without any of its container crashing for it to be considered available.
809    /// Defaults to 0 (pod will be considered available as soon as it is ready)
810    /// +optional
811    #[prost(int32, optional, tag = "9")]
812    pub min_ready_seconds: ::core::option::Option<i32>,
813    /// persistentVolumeClaimRetentionPolicy describes the lifecycle of persistent
814    /// volume claims created from volumeClaimTemplates. By default, all persistent
815    /// volume claims are created as needed and retained until manually deleted. This
816    /// policy allows the lifecycle to be altered, for example by deleting persistent
817    /// volume claims when their stateful set is deleted, or when their pod is scaled
818    /// down.
819    /// +optional
820    #[prost(message, optional, tag = "10")]
821    pub persistent_volume_claim_retention_policy:
822        ::core::option::Option<StatefulSetPersistentVolumeClaimRetentionPolicy>,
823    /// ordinals controls the numbering of replica indices in a StatefulSet. The
824    /// default ordinals behavior assigns a "0" index to the first replica and
825    /// increments the index by one for each additional replica requested.
826    /// +optional
827    #[prost(message, optional, tag = "11")]
828    pub ordinals: ::core::option::Option<StatefulSetOrdinals>,
829}
830/// StatefulSetStatus represents the current state of a StatefulSet.
831#[derive(Clone, PartialEq, ::prost::Message)]
832pub struct StatefulSetStatus {
833    /// observedGeneration is the most recent generation observed for this StatefulSet. It corresponds to the
834    /// StatefulSet's generation, which is updated on mutation by the API Server.
835    /// +optional
836    #[prost(int64, optional, tag = "1")]
837    pub observed_generation: ::core::option::Option<i64>,
838    /// replicas is the number of Pods created by the StatefulSet controller.
839    #[prost(int32, optional, tag = "2")]
840    pub replicas: ::core::option::Option<i32>,
841    /// readyReplicas is the number of pods created by this StatefulSet controller with a Ready Condition.
842    #[prost(int32, optional, tag = "3")]
843    pub ready_replicas: ::core::option::Option<i32>,
844    /// currentReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version
845    /// indicated by currentRevision.
846    #[prost(int32, optional, tag = "4")]
847    pub current_replicas: ::core::option::Option<i32>,
848    /// updatedReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version
849    /// indicated by updateRevision.
850    #[prost(int32, optional, tag = "5")]
851    pub updated_replicas: ::core::option::Option<i32>,
852    /// currentRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the
853    /// sequence [0,currentReplicas).
854    #[prost(string, optional, tag = "6")]
855    pub current_revision: ::core::option::Option<::prost::alloc::string::String>,
856    /// updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence
857    /// [replicas-updatedReplicas,replicas)
858    #[prost(string, optional, tag = "7")]
859    pub update_revision: ::core::option::Option<::prost::alloc::string::String>,
860    /// collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller
861    /// uses this field as a collision avoidance mechanism when it needs to create the name for the
862    /// newest ControllerRevision.
863    /// +optional
864    #[prost(int32, optional, tag = "9")]
865    pub collision_count: ::core::option::Option<i32>,
866    /// Represents the latest available observations of a statefulset's current state.
867    /// +optional
868    /// +patchMergeKey=type
869    /// +patchStrategy=merge
870    /// +listType=map
871    /// +listMapKey=type
872    #[prost(message, repeated, tag = "10")]
873    pub conditions: ::prost::alloc::vec::Vec<StatefulSetCondition>,
874    /// Total number of available pods (ready for at least minReadySeconds) targeted by this StatefulSet.
875    /// +optional
876    #[prost(int32, optional, tag = "11")]
877    pub available_replicas: ::core::option::Option<i32>,
878}
879/// StatefulSetUpdateStrategy indicates the strategy that the StatefulSet
880/// controller will use to perform updates. It includes any additional parameters
881/// necessary to perform the update for the indicated strategy.
882#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
883pub struct StatefulSetUpdateStrategy {
884    /// Type indicates the type of the StatefulSetUpdateStrategy.
885    /// Default is RollingUpdate.
886    /// +optional
887    #[prost(string, optional, tag = "1")]
888    pub r#type: ::core::option::Option<::prost::alloc::string::String>,
889    /// RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType.
890    /// +optional
891    #[prost(message, optional, tag = "2")]
892    pub rolling_update: ::core::option::Option<RollingUpdateStatefulSetStrategy>,
893}