k8s_pb/api/apps/v1beta1/mod.rs
1// This file is @generated by prost-build.
2/// DEPRECATED - This group version of ControllerRevision is deprecated by apps/v1beta2/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 Deployment is deprecated by apps/v1beta2/Deployment. See the release notes for
39/// more information.
40/// Deployment enables declarative updates for Pods and ReplicaSets.
41#[derive(Clone, PartialEq, ::prost::Message)]
42pub struct Deployment {
43 /// Standard object metadata.
44 /// +optional
45 #[prost(message, optional, tag = "1")]
46 pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
47 /// Specification of the desired behavior of the Deployment.
48 /// +optional
49 #[prost(message, optional, tag = "2")]
50 pub spec: ::core::option::Option<DeploymentSpec>,
51 /// Most recently observed status of the Deployment.
52 /// +optional
53 #[prost(message, optional, tag = "3")]
54 pub status: ::core::option::Option<DeploymentStatus>,
55}
56/// DeploymentCondition describes the state of a deployment at a certain point.
57#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
58pub struct DeploymentCondition {
59 /// Type of deployment condition.
60 #[prost(string, optional, tag = "1")]
61 pub r#type: ::core::option::Option<::prost::alloc::string::String>,
62 /// Status of the condition, one of True, False, Unknown.
63 #[prost(string, optional, tag = "2")]
64 pub status: ::core::option::Option<::prost::alloc::string::String>,
65 /// The last time this condition was updated.
66 #[prost(message, optional, tag = "6")]
67 pub last_update_time:
68 ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::Time>,
69 /// Last time the condition transitioned from one status to another.
70 #[prost(message, optional, tag = "7")]
71 pub last_transition_time:
72 ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::Time>,
73 /// The reason for the condition's last transition.
74 #[prost(string, optional, tag = "4")]
75 pub reason: ::core::option::Option<::prost::alloc::string::String>,
76 /// A human readable message indicating details about the transition.
77 #[prost(string, optional, tag = "5")]
78 pub message: ::core::option::Option<::prost::alloc::string::String>,
79}
80/// DeploymentList is a list of Deployments.
81#[derive(Clone, PartialEq, ::prost::Message)]
82pub struct DeploymentList {
83 /// Standard list metadata.
84 /// +optional
85 #[prost(message, optional, tag = "1")]
86 pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
87 /// Items is the list of Deployments.
88 #[prost(message, repeated, tag = "2")]
89 pub items: ::prost::alloc::vec::Vec<Deployment>,
90}
91/// DEPRECATED.
92/// DeploymentRollback stores the information required to rollback a deployment.
93#[derive(Clone, PartialEq, ::prost::Message)]
94pub struct DeploymentRollback {
95 /// Required: This must match the Name of a deployment.
96 #[prost(string, optional, tag = "1")]
97 pub name: ::core::option::Option<::prost::alloc::string::String>,
98 /// The annotations to be updated to a deployment
99 /// +optional
100 #[prost(btree_map = "string, string", tag = "2")]
101 pub updated_annotations:
102 ::prost::alloc::collections::BTreeMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
103 /// The config of this deployment rollback.
104 #[prost(message, optional, tag = "3")]
105 pub rollback_to: ::core::option::Option<RollbackConfig>,
106}
107/// DeploymentSpec is the specification of the desired behavior of the Deployment.
108#[derive(Clone, PartialEq, ::prost::Message)]
109pub struct DeploymentSpec {
110 /// replicas is the number of desired pods. This is a pointer to distinguish between explicit
111 /// zero and not specified. Defaults to 1.
112 /// +optional
113 #[prost(int32, optional, tag = "1")]
114 pub replicas: ::core::option::Option<i32>,
115 /// selector is the label selector for pods. Existing ReplicaSets whose pods are
116 /// selected by this will be the ones affected by this deployment.
117 /// +optional
118 #[prost(message, optional, tag = "2")]
119 pub selector:
120 ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::LabelSelector>,
121 /// Template describes the pods that will be created.
122 /// The only allowed template.spec.restartPolicy value is "Always".
123 #[prost(message, optional, tag = "3")]
124 pub template: ::core::option::Option<super::super::core::v1::PodTemplateSpec>,
125 /// The deployment strategy to use to replace existing pods with new ones.
126 /// +optional
127 /// +patchStrategy=retainKeys
128 #[prost(message, optional, tag = "4")]
129 pub strategy: ::core::option::Option<DeploymentStrategy>,
130 /// minReadySeconds is the minimum number of seconds for which a newly created pod should be ready
131 /// without any of its container crashing, for it to be considered available.
132 /// Defaults to 0 (pod will be considered available as soon as it is ready)
133 /// +optional
134 #[prost(int32, optional, tag = "5")]
135 pub min_ready_seconds: ::core::option::Option<i32>,
136 /// revisionHistoryLimit is the number of old ReplicaSets to retain to allow rollback.
137 /// This is a pointer to distinguish between explicit zero and not specified.
138 /// Defaults to 2.
139 /// +optional
140 #[prost(int32, optional, tag = "6")]
141 pub revision_history_limit: ::core::option::Option<i32>,
142 /// paused indicates that the deployment is paused.
143 /// +optional
144 #[prost(bool, optional, tag = "7")]
145 pub paused: ::core::option::Option<bool>,
146 /// DEPRECATED.
147 /// rollbackTo is the config this deployment is rolling back to. Will be cleared after rollback is done.
148 /// +optional
149 #[prost(message, optional, tag = "8")]
150 pub rollback_to: ::core::option::Option<RollbackConfig>,
151 /// progressDeadlineSeconds is the maximum time in seconds for a deployment to make progress before it
152 /// is considered to be failed. The deployment controller will continue to
153 /// process failed deployments and a condition with a ProgressDeadlineExceeded
154 /// reason will be surfaced in the deployment status. Note that progress will
155 /// not be estimated during the time a deployment is paused. Defaults to 600s.
156 /// +optional
157 #[prost(int32, optional, tag = "9")]
158 pub progress_deadline_seconds: ::core::option::Option<i32>,
159}
160/// DeploymentStatus is the most recently observed status of the Deployment.
161#[derive(Clone, PartialEq, ::prost::Message)]
162pub struct DeploymentStatus {
163 /// The generation observed by the deployment controller.
164 /// +optional
165 #[prost(int64, optional, tag = "1")]
166 pub observed_generation: ::core::option::Option<i64>,
167 /// Total number of non-terminating pods targeted by this deployment (their labels match the selector).
168 /// +optional
169 #[prost(int32, optional, tag = "2")]
170 pub replicas: ::core::option::Option<i32>,
171 /// Total number of non-terminating pods targeted by this deployment that have the desired template spec.
172 /// +optional
173 #[prost(int32, optional, tag = "3")]
174 pub updated_replicas: ::core::option::Option<i32>,
175 /// Total number of non-terminating pods targeted by this Deployment with a Ready Condition.
176 /// +optional
177 #[prost(int32, optional, tag = "7")]
178 pub ready_replicas: ::core::option::Option<i32>,
179 /// Total number of available non-terminating pods (ready for at least minReadySeconds) targeted by this deployment.
180 /// +optional
181 #[prost(int32, optional, tag = "4")]
182 pub available_replicas: ::core::option::Option<i32>,
183 /// Total number of unavailable pods targeted by this deployment. This is the total number of
184 /// pods that are still required for the deployment to have 100% available capacity. They may
185 /// either be pods that are running but not yet available or pods that still have not been created.
186 /// +optional
187 #[prost(int32, optional, tag = "5")]
188 pub unavailable_replicas: ::core::option::Option<i32>,
189 /// Total number of terminating pods targeted by this deployment. Terminating pods have a non-null
190 /// .metadata.deletionTimestamp and have not yet reached the Failed or Succeeded .status.phase.
191 ///
192 /// This is a beta field and requires enabling DeploymentReplicaSetTerminatingReplicas feature (enabled by default).
193 /// +optional
194 #[prost(int32, optional, tag = "9")]
195 pub terminating_replicas: ::core::option::Option<i32>,
196 /// Represents the latest available observations of a deployment's current state.
197 /// +patchMergeKey=type
198 /// +patchStrategy=merge
199 /// +listType=map
200 /// +listMapKey=type
201 #[prost(message, repeated, tag = "6")]
202 pub conditions: ::prost::alloc::vec::Vec<DeploymentCondition>,
203 /// collisionCount is the count of hash collisions for the Deployment. The Deployment controller uses this
204 /// field as a collision avoidance mechanism when it needs to create the name for the
205 /// newest ReplicaSet.
206 /// +optional
207 #[prost(int32, optional, tag = "8")]
208 pub collision_count: ::core::option::Option<i32>,
209}
210/// DeploymentStrategy describes how to replace existing pods with new ones.
211#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
212pub struct DeploymentStrategy {
213 /// Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.
214 /// +optional
215 #[prost(string, optional, tag = "1")]
216 pub r#type: ::core::option::Option<::prost::alloc::string::String>,
217 /// Rolling update config params. Present only if DeploymentStrategyType =
218 /// RollingUpdate.
219 /// ---
220 /// TODO: Update this to follow our convention for oneOf, whatever we decide it
221 /// to be.
222 /// +optional
223 #[prost(message, optional, tag = "2")]
224 pub rolling_update: ::core::option::Option<RollingUpdateDeployment>,
225}
226/// DEPRECATED.
227#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
228pub struct RollbackConfig {
229 /// The revision to rollback to. If set to 0, rollback to the last revision.
230 /// +optional
231 #[prost(int64, optional, tag = "1")]
232 pub revision: ::core::option::Option<i64>,
233}
234/// Spec to control the desired behavior of rolling update.
235#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
236pub struct RollingUpdateDeployment {
237 /// The maximum number of pods that can be unavailable during the update.
238 /// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
239 /// Absolute number is calculated from percentage by rounding down.
240 /// This can not be 0 if MaxSurge is 0.
241 /// Defaults to 25%.
242 /// Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods
243 /// immediately when the rolling update starts. Once new pods are ready, old ReplicaSet
244 /// can be scaled down further, followed by scaling up the new ReplicaSet, ensuring
245 /// that the total number of pods available at all times during the update is at
246 /// least 70% of desired pods.
247 /// +optional
248 #[prost(message, optional, tag = "1")]
249 pub max_unavailable:
250 ::core::option::Option<super::super::super::apimachinery::pkg::util::intstr::IntOrString>,
251 /// The maximum number of pods that can be scheduled above the desired number of
252 /// pods.
253 /// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
254 /// This can not be 0 if MaxUnavailable is 0.
255 /// Absolute number is calculated from percentage by rounding up.
256 /// Defaults to 25%.
257 /// Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when
258 /// the rolling update starts, such that the total number of old and new pods do not exceed
259 /// 130% of desired pods. Once old pods have been killed,
260 /// new ReplicaSet can be scaled up further, ensuring that total number of pods running
261 /// at any time during the update is at most 130% of desired pods.
262 /// +optional
263 #[prost(message, optional, tag = "2")]
264 pub max_surge: ::core::option::Option<super::super::super::apimachinery::pkg::util::intstr::IntOrString>,
265}
266/// RollingUpdateStatefulSetStrategy is used to communicate parameter for RollingUpdateStatefulSetStrategyType.
267#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
268pub struct RollingUpdateStatefulSetStrategy {
269 /// Partition indicates the ordinal at which the StatefulSet should be partitioned
270 /// for updates. During a rolling update, all pods from ordinal Replicas-1 to
271 /// Partition are updated. All pods from ordinal Partition-1 to 0 remain untouched.
272 /// This is helpful in being able to do a canary based deployment. The default value is 0.
273 #[prost(int32, optional, tag = "1")]
274 pub partition: ::core::option::Option<i32>,
275 /// maxUnavailable is the maximum number of pods that can be unavailable during the update.
276 /// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
277 /// Absolute number is calculated from percentage by rounding up. This can not be 0.
278 /// Defaults to 1. This field is beta-level and is enabled by default. The field applies to all pods in the range 0 to
279 /// Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it
280 /// will be counted towards MaxUnavailable.
281 /// This setting might not be effective for the OrderedReady podManagementPolicy. That policy ensures pods are created and become ready one at a time.
282 ///
283 /// +featureGate=MaxUnavailableStatefulSet
284 /// +optional
285 #[prost(message, optional, tag = "2")]
286 pub max_unavailable:
287 ::core::option::Option<super::super::super::apimachinery::pkg::util::intstr::IntOrString>,
288}
289/// Scale represents a scaling request for a resource.
290#[derive(Clone, PartialEq, ::prost::Message)]
291pub struct Scale {
292 /// Standard object metadata; More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.>
293 /// +optional
294 #[prost(message, optional, tag = "1")]
295 pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
296 /// spec defines the behavior of the scale. More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.>
297 /// +optional
298 #[prost(message, optional, tag = "2")]
299 pub spec: ::core::option::Option<ScaleSpec>,
300 /// status defines current status of the scale. More info: <https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.> Read-only.
301 /// +optional
302 #[prost(message, optional, tag = "3")]
303 pub status: ::core::option::Option<ScaleStatus>,
304}
305/// ScaleSpec describes the attributes of a scale subresource
306#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
307pub struct ScaleSpec {
308 /// replicas is the number of observed instances of the scaled object.
309 /// +optional
310 /// +k8s:optional
311 /// +default=0
312 /// +k8s:minimum=0
313 #[prost(int32, optional, tag = "1")]
314 pub replicas: ::core::option::Option<i32>,
315}
316/// ScaleStatus represents the current status of a scale subresource.
317#[derive(Clone, PartialEq, ::prost::Message)]
318pub struct ScaleStatus {
319 /// replias is the actual number of observed instances of the scaled object.
320 #[prost(int32, optional, tag = "1")]
321 pub replicas: ::core::option::Option<i32>,
322 /// 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/>
323 /// +optional
324 #[prost(btree_map = "string, string", tag = "2")]
325 pub selector:
326 ::prost::alloc::collections::BTreeMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
327 /// targetSelector is the label selector for pods that should match the replicas count. This is a serializated
328 /// version of both map-based and more expressive set-based selectors. This is done to
329 /// avoid introspection in the clients. The string will be in the same format as the
330 /// query-param syntax. If the target type only supports map-based selectors, both this
331 /// field and map-based selector field are populated.
332 /// More info: <https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors>
333 /// +optional
334 #[prost(string, optional, tag = "3")]
335 pub target_selector: ::core::option::Option<::prost::alloc::string::String>,
336}
337/// DEPRECATED - This group version of StatefulSet is deprecated by apps/v1beta2/StatefulSet. See the release notes for
338/// more information.
339/// StatefulSet represents a set of pods with consistent identities.
340/// Identities are defined as:
341/// - Network: A single stable DNS and hostname.
342/// - Storage: As many VolumeClaims as requested.
343///
344/// The StatefulSet guarantees that a given network identity will always
345/// map to the same storage identity.
346#[derive(Clone, PartialEq, ::prost::Message)]
347pub struct StatefulSet {
348 /// +optional
349 #[prost(message, optional, tag = "1")]
350 pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
351 /// Spec defines the desired identities of pods in this set.
352 /// +optional
353 #[prost(message, optional, tag = "2")]
354 pub spec: ::core::option::Option<StatefulSetSpec>,
355 /// Status is the current status of Pods in this StatefulSet. This data
356 /// may be out of date by some window of time.
357 /// +optional
358 #[prost(message, optional, tag = "3")]
359 pub status: ::core::option::Option<StatefulSetStatus>,
360}
361/// StatefulSetCondition describes the state of a statefulset at a certain point.
362#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
363pub struct StatefulSetCondition {
364 /// Type of statefulset condition.
365 #[prost(string, optional, tag = "1")]
366 pub r#type: ::core::option::Option<::prost::alloc::string::String>,
367 /// Status of the condition, one of True, False, Unknown.
368 #[prost(string, optional, tag = "2")]
369 pub status: ::core::option::Option<::prost::alloc::string::String>,
370 /// Last time the condition transitioned from one status to another.
371 /// +optional
372 #[prost(message, optional, tag = "3")]
373 pub last_transition_time:
374 ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::Time>,
375 /// The reason for the condition's last transition.
376 /// +optional
377 #[prost(string, optional, tag = "4")]
378 pub reason: ::core::option::Option<::prost::alloc::string::String>,
379 /// A human readable message indicating details about the transition.
380 /// +optional
381 #[prost(string, optional, tag = "5")]
382 pub message: ::core::option::Option<::prost::alloc::string::String>,
383}
384/// StatefulSetList is a collection of StatefulSets.
385#[derive(Clone, PartialEq, ::prost::Message)]
386pub struct StatefulSetList {
387 /// +optional
388 #[prost(message, optional, tag = "1")]
389 pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
390 #[prost(message, repeated, tag = "2")]
391 pub items: ::prost::alloc::vec::Vec<StatefulSet>,
392}
393/// StatefulSetOrdinals describes the policy used for replica ordinal assignment
394/// in this StatefulSet.
395#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
396pub struct StatefulSetOrdinals {
397 /// start is the number representing the first replica's index. It may be used
398 /// to number replicas from an alternate index (eg: 1-indexed) over the default
399 /// 0-indexed names, or to orchestrate progressive movement of replicas from
400 /// one StatefulSet to another.
401 /// If set, replica indices will be in the range:
402 /// [.spec.ordinals.start, .spec.ordinals.start + .spec.replicas).
403 /// If unset, defaults to 0. Replica indices will be in the range:
404 /// [0, .spec.replicas).
405 /// +optional
406 #[prost(int32, optional, tag = "1")]
407 pub start: ::core::option::Option<i32>,
408}
409/// StatefulSetPersistentVolumeClaimRetentionPolicy describes the policy used for PVCs
410/// created from the StatefulSet VolumeClaimTemplates.
411#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
412pub struct StatefulSetPersistentVolumeClaimRetentionPolicy {
413 /// whenDeleted specifies what happens to PVCs created from StatefulSet
414 /// VolumeClaimTemplates when the StatefulSet is deleted. The default policy
415 /// of `Retain` causes PVCs to not be affected by StatefulSet deletion. The
416 /// `Delete` policy causes those PVCs to be deleted.
417 #[prost(string, optional, tag = "1")]
418 pub when_deleted: ::core::option::Option<::prost::alloc::string::String>,
419 /// whenScaled specifies what happens to PVCs created from StatefulSet
420 /// VolumeClaimTemplates when the StatefulSet is scaled down. The default
421 /// policy of `Retain` causes PVCs to not be affected by a scaledown. The
422 /// `Delete` policy causes the associated PVCs for any excess pods above
423 /// the replica count to be deleted.
424 #[prost(string, optional, tag = "2")]
425 pub when_scaled: ::core::option::Option<::prost::alloc::string::String>,
426}
427/// A StatefulSetSpec is the specification of a StatefulSet.
428#[derive(Clone, PartialEq, ::prost::Message)]
429pub struct StatefulSetSpec {
430 /// replicas is the desired number of replicas of the given Template.
431 /// These are replicas in the sense that they are instantiations of the
432 /// same Template, but individual replicas also have a consistent identity.
433 /// If unspecified, defaults to 1.
434 /// TODO: Consider a rename of this field.
435 /// +optional
436 #[prost(int32, optional, tag = "1")]
437 pub replicas: ::core::option::Option<i32>,
438 /// selector is a label query over pods that should match the replica count.
439 /// If empty, defaulted to labels on the pod template.
440 /// More info: <https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors>
441 /// +optional
442 #[prost(message, optional, tag = "2")]
443 pub selector:
444 ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::LabelSelector>,
445 /// template is the object that describes the pod that will be created if
446 /// insufficient replicas are detected. Each pod stamped out by the StatefulSet
447 /// will fulfill this Template, but have a unique identity from the rest
448 /// of the StatefulSet. Each pod will be named with the format
449 /// <statefulsetname>-<podindex>. For example, a pod in a StatefulSet named
450 /// "web" with index number "3" would be named "web-3".
451 #[prost(message, optional, tag = "3")]
452 pub template: ::core::option::Option<super::super::core::v1::PodTemplateSpec>,
453 /// volumeClaimTemplates is a list of claims that pods are allowed to reference.
454 /// The StatefulSet controller is responsible for mapping network identities to
455 /// claims in a way that maintains the identity of a pod. Every claim in
456 /// this list must have at least one matching (by name) volumeMount in one
457 /// container in the template. A claim in this list takes precedence over
458 /// any volumes in the template, with the same name.
459 /// TODO: Define the behavior if a claim already exists with the same name.
460 /// +optional
461 /// +listType=atomic
462 #[prost(message, repeated, tag = "4")]
463 pub volume_claim_templates: ::prost::alloc::vec::Vec<super::super::core::v1::PersistentVolumeClaim>,
464 /// serviceName is the name of the service that governs this StatefulSet.
465 /// This service must exist before the StatefulSet, and is responsible for
466 /// the network identity of the set. Pods get DNS/hostnames that follow the
467 /// pattern: pod-specific-string.serviceName.default.svc.cluster.local
468 /// where "pod-specific-string" is managed by the StatefulSet controller.
469 /// +optional
470 #[prost(string, optional, tag = "5")]
471 pub service_name: ::core::option::Option<::prost::alloc::string::String>,
472 /// podManagementPolicy controls how pods are created during initial scale up,
473 /// when replacing pods on nodes, or when scaling down. The default policy is
474 /// `OrderedReady`, where pods are created in increasing order (pod-0, then
475 /// pod-1, etc) and the controller will wait until each pod is ready before
476 /// continuing. When scaling down, the pods are removed in the opposite order.
477 /// The alternative policy is `Parallel` which will create pods in parallel
478 /// to match the desired scale without waiting, and on scale down will delete
479 /// all pods at once.
480 /// +optional
481 #[prost(string, optional, tag = "6")]
482 pub pod_management_policy: ::core::option::Option<::prost::alloc::string::String>,
483 /// updateStrategy indicates the StatefulSetUpdateStrategy that will be
484 /// employed to update Pods in the StatefulSet when a revision is made to
485 /// Template.
486 #[prost(message, optional, tag = "7")]
487 pub update_strategy: ::core::option::Option<StatefulSetUpdateStrategy>,
488 /// revisionHistoryLimit is the maximum number of revisions that will
489 /// be maintained in the StatefulSet's revision history. The revision history
490 /// consists of all revisions not represented by a currently applied
491 /// StatefulSetSpec version. The default value is 10.
492 #[prost(int32, optional, tag = "8")]
493 pub revision_history_limit: ::core::option::Option<i32>,
494 /// minReadySeconds is the minimum number of seconds for which a newly created pod should be ready
495 /// without any of its container crashing for it to be considered available.
496 /// Defaults to 0 (pod will be considered available as soon as it is ready)
497 /// +optional
498 #[prost(int32, optional, tag = "9")]
499 pub min_ready_seconds: ::core::option::Option<i32>,
500 /// persistentVolumeClaimRetentionPolicy describes the lifecycle of persistent
501 /// volume claims created from volumeClaimTemplates. By default, all persistent
502 /// volume claims are created as needed and retained until manually deleted. This
503 /// policy allows the lifecycle to be altered, for example by deleting persistent
504 /// volume claims when their stateful set is deleted, or when their pod is scaled
505 /// down.
506 /// +optional
507 #[prost(message, optional, tag = "10")]
508 pub persistent_volume_claim_retention_policy:
509 ::core::option::Option<StatefulSetPersistentVolumeClaimRetentionPolicy>,
510 /// ordinals controls the numbering of replica indices in a StatefulSet. The
511 /// default ordinals behavior assigns a "0" index to the first replica and
512 /// increments the index by one for each additional replica requested.
513 /// +optional
514 #[prost(message, optional, tag = "11")]
515 pub ordinals: ::core::option::Option<StatefulSetOrdinals>,
516}
517/// StatefulSetStatus represents the current state of a StatefulSet.
518#[derive(Clone, PartialEq, ::prost::Message)]
519pub struct StatefulSetStatus {
520 /// observedGeneration is the most recent generation observed for this StatefulSet. It corresponds to the
521 /// StatefulSet's generation, which is updated on mutation by the API Server.
522 /// +optional
523 #[prost(int64, optional, tag = "1")]
524 pub observed_generation: ::core::option::Option<i64>,
525 /// replicas is the number of Pods created by the StatefulSet controller.
526 #[prost(int32, optional, tag = "2")]
527 pub replicas: ::core::option::Option<i32>,
528 /// readyReplicas is the number of pods created by this StatefulSet controller with a Ready Condition.
529 #[prost(int32, optional, tag = "3")]
530 pub ready_replicas: ::core::option::Option<i32>,
531 /// currentReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version
532 /// indicated by currentRevision.
533 #[prost(int32, optional, tag = "4")]
534 pub current_replicas: ::core::option::Option<i32>,
535 /// updatedReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version
536 /// indicated by updateRevision.
537 #[prost(int32, optional, tag = "5")]
538 pub updated_replicas: ::core::option::Option<i32>,
539 /// currentRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the
540 /// sequence [0,currentReplicas).
541 #[prost(string, optional, tag = "6")]
542 pub current_revision: ::core::option::Option<::prost::alloc::string::String>,
543 /// updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence
544 /// [replicas-updatedReplicas,replicas)
545 #[prost(string, optional, tag = "7")]
546 pub update_revision: ::core::option::Option<::prost::alloc::string::String>,
547 /// collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller
548 /// uses this field as a collision avoidance mechanism when it needs to create the name for the
549 /// newest ControllerRevision.
550 /// +optional
551 #[prost(int32, optional, tag = "9")]
552 pub collision_count: ::core::option::Option<i32>,
553 /// conditions represent the latest available observations of a statefulset's current state.
554 /// +optional
555 /// +patchMergeKey=type
556 /// +patchStrategy=merge
557 /// +listType=map
558 /// +listMapKey=type
559 #[prost(message, repeated, tag = "10")]
560 pub conditions: ::prost::alloc::vec::Vec<StatefulSetCondition>,
561 /// availableReplicas is the total number of available pods (ready for at least minReadySeconds) targeted by this StatefulSet.
562 /// +optional
563 #[prost(int32, optional, tag = "11")]
564 pub available_replicas: ::core::option::Option<i32>,
565}
566/// StatefulSetUpdateStrategy indicates the strategy that the StatefulSet
567/// controller will use to perform updates. It includes any additional parameters
568/// necessary to perform the update for the indicated strategy.
569#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
570pub struct StatefulSetUpdateStrategy {
571 /// Type indicates the type of the StatefulSetUpdateStrategy.
572 #[prost(string, optional, tag = "1")]
573 pub r#type: ::core::option::Option<::prost::alloc::string::String>,
574 /// RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType.
575 #[prost(message, optional, tag = "2")]
576 pub rolling_update: ::core::option::Option<RollingUpdateStatefulSetStrategy>,
577}