/
drainer_funcs.go
39 lines (32 loc) · 1.14 KB
/
drainer_funcs.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package v1alpha1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
func (s DrainerConfigStatus) HasDrainedCondition() bool {
return hasDrainerConfigCondition(s.Conditions, DrainerConfigStatusStatusTrue, DrainerConfigStatusTypeDrained)
}
func (s DrainerConfigStatus) HasTimeoutCondition() bool {
return hasDrainerConfigCondition(s.Conditions, DrainerConfigStatusStatusTrue, DrainerConfigStatusTypeTimeout)
}
func (s DrainerConfigStatus) NewDrainedCondition() DrainerConfigStatusCondition {
return DrainerConfigStatusCondition{
LastTransitionTime: metav1.Now(),
Status: DrainerConfigStatusStatusTrue,
Type: DrainerConfigStatusTypeDrained,
}
}
func (s DrainerConfigStatus) NewTimeoutCondition() DrainerConfigStatusCondition {
return DrainerConfigStatusCondition{
LastTransitionTime: metav1.Now(),
Status: DrainerConfigStatusStatusTrue,
Type: DrainerConfigStatusTypeTimeout,
}
}
func hasDrainerConfigCondition(conditions []DrainerConfigStatusCondition, s string, t string) bool {
for _, c := range conditions {
if c.Status == s && c.Type == t {
return true
}
}
return false
}