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}