diff --git a/apis/duck/v1alpha1/condition_set_test.go b/apis/duck/v1alpha1/condition_set_test.go index 2bf1c404d1..4155a1d60a 100644 --- a/apis/duck/v1alpha1/condition_set_test.go +++ b/apis/duck/v1alpha1/condition_set_test.go @@ -90,7 +90,7 @@ func TestNewBatchConditionSet(t *testing.T) { func TestNonTerminalCondition(t *testing.T) { set := NewLivingConditionSet("Foo") - status := &KResourceStatus{} + status := &Status{} manager := set.Manage(status) manager.InitializeConditions() diff --git a/apis/duck/v1alpha1/conditions_types.go b/apis/duck/v1alpha1/conditions_types.go index b2fac23d6f..016cd026a9 100644 --- a/apis/duck/v1alpha1/conditions_types.go +++ b/apis/duck/v1alpha1/conditions_types.go @@ -129,26 +129,21 @@ type KResource struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Status KResourceStatus `json:"status"` + Status Status `json:"status"` } -// KResourceStatus shows how we expect folks to embed Conditions in +// Status shows how we expect folks to embed Conditions in // their Status field. -type KResourceStatus struct { - Conditions Conditions `json:"conditions,omitempty"` -} - -func (krs *KResourceStatus) GetConditions() Conditions { - return krs.Conditions -} +type Status struct { + // ObservedGeneration is the 'Generation' of the Service that + // was last processed by the controller. + // +optional + ObservedGeneration int64 `json:"observedGeneration,omitempty"` -func (krs *KResourceStatus) SetConditions(conditions Conditions) { - krs.Conditions = conditions + // +optional + Conditions Conditions `json:"conditions,omitempty"` } -// Ensure KResourceStatus satisfies ConditionsAccessor -var _ ConditionsAccessor = (*KResourceStatus)(nil) - // In order for Conditions to be Implementable, KResource must be Populatable. var _ duck.Populatable = (*KResource)(nil) @@ -162,6 +157,7 @@ func (_ *Conditions) GetFullType() duck.Populatable { // Populate implements duck.Populatable func (t *KResource) Populate() { + t.Status.ObservedGeneration = 42 t.Status.Conditions = Conditions{{ // Populate ALL fields Type: "Birthday", diff --git a/apis/duck/v1alpha1/zz_generated.deepcopy.go b/apis/duck/v1alpha1/zz_generated.deepcopy.go index 45f285d7ea..6750c0cc57 100644 --- a/apis/duck/v1alpha1/zz_generated.deepcopy.go +++ b/apis/duck/v1alpha1/zz_generated.deepcopy.go @@ -220,29 +220,6 @@ func (in *KResourceList) DeepCopyObject() runtime.Object { return nil } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *KResourceStatus) DeepCopyInto(out *KResourceStatus) { - *out = *in - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make(Conditions, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KResourceStatus. -func (in *KResourceStatus) DeepCopy() *KResourceStatus { - if in == nil { - return nil - } - out := new(KResourceStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *LegacyTarget) DeepCopyInto(out *LegacyTarget) { *out = *in @@ -319,6 +296,29 @@ func (in *LegacyTargetable) DeepCopy() *LegacyTargetable { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Status) DeepCopyInto(out *Status) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make(Conditions, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Status. +func (in *Status) DeepCopy() *Status { + if in == nil { + return nil + } + out := new(Status) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Target) DeepCopyInto(out *Target) { *out = *in