k8s_openapi_ext/get/
replicaset.rs1use super::*;
2
3pub use condition::ReplicaSetConditionGetExt;
4
5mod condition;
6
7pub trait ReplicaSetGetExt {
8 fn spec(&self) -> Option<&appsv1::ReplicaSetSpec>;
9 fn status(&self) -> Option<&appsv1::ReplicaSetStatus>;
10
11 fn min_ready_seconds(&self) -> Option<i32> {
12 self.spec()?.min_ready_seconds
13 }
14
15 fn spec_replicas(&self) -> Option<i32> {
16 self.spec()?.replicas
17 }
18
19 fn selector(&self) -> Option<&metav1::LabelSelector> {
20 self.spec().map(|spec| &spec.selector)
21 }
22
23 fn template(&self) -> Option<&corev1::PodTemplateSpec> {
24 self.spec()?.template.as_ref()
25 }
26
27 fn available_replicas(&self) -> Option<i32> {
28 self.status()?.available_replicas
29 }
30
31 fn ready_replicas(&self) -> Option<i32> {
32 self.status()?.ready_replicas
33 }
34
35 fn fully_labeled_replicas(&self) -> Option<i32> {
36 self.status()?.fully_labeled_replicas
37 }
38 fn status_replicas(&self) -> Option<i32> {
39 self.status().map(|status| status.replicas)
40 }
41
42 fn observed_generation(&self) -> Option<i64> {
43 self.status()?.observed_generation
44 }
45
46 fn conditions(&self) -> Option<&[appsv1::ReplicaSetCondition]> {
47 self.status()?.conditions.as_deref()
48 }
49}
50
51impl ReplicaSetGetExt for appsv1::ReplicaSet {
52 fn spec(&self) -> Option<&appsv1::ReplicaSetSpec> {
53 self.spec.as_ref()
54 }
55
56 fn status(&self) -> Option<&appsv1::ReplicaSetStatus> {
57 self.status.as_ref()
58 }
59}