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