@@ -189,6 +189,7 @@ func (rm *resourceManager) setStatusDefaults (
189189// else it returns nil, false
190190func (rm *resourceManager) updateConditions (
191191 r *resource,
192+ onSuccess bool,
192193 err error,
193194) (*resource, bool) {
194195 ko := r.ko.DeepCopy()
@@ -197,13 +198,17 @@ func (rm *resourceManager) updateConditions (
197198 // Terminal condition
198199 var terminalCondition *ackv1alpha1.Condition = nil
199200 var recoverableCondition *ackv1alpha1.Condition = nil
201+ var syncCondition *ackv1alpha1.Condition = nil
200202 for _, condition := range ko.Status.Conditions {
201203 if condition.Type == ackv1alpha1.ConditionTypeTerminal {
202204 terminalCondition = condition
203205 }
204206 if condition.Type == ackv1alpha1.ConditionTypeRecoverable {
205207 recoverableCondition = condition
206208 }
209+ if condition.Type == ackv1alpha1.ConditionTypeResourceSynced {
210+ syncCondition = condition
211+ }
207212 }
208213
209214 if rm.terminalAWSError(err) {
@@ -245,15 +250,27 @@ func (rm *resourceManager) updateConditions (
245250 }
246251 }
247252
253+ { {- if $reconcileRequeuOnSuccessSeconds := .CRD.ReconcileRequeuOnSuccessSeconds } }
254+ if syncCondition == nil && onSuccess {
255+ syncCondition = &ackv1alpha1.Condition{
256+ Type: ackv1alpha1.ConditionTypeResourceSynced,
257+ }
258+ syncCondition.Status = corev1.ConditionTrue
259+ ko.Status.Conditions = append(ko.Status.Conditions, syncCondition)
260+ }
261+ { {- else } }
262+ // Required to avoid the "declared but not used" error in the default case
263+ syncCondition = nil
264+ { {- end } }
248265
249266{ {- if $updateConditionsCustomMethodName := .CRD.UpdateConditionsCustomMethodName } }
250267 // custom update conditions
251268 customUpdate := rm.{ { $updateConditionsCustomMethodName } }(ko, r, err)
252- if terminalCondition != nil || recoverableCondition != nil || customUpdate {
269+ if terminalCondition != nil || recoverableCondition != nil || syncCondition != nil || customUpdate {
253270 return &resource{ko} , true // updated
254271 }
255272{ {- else } }
256- if terminalCondition != nil || recoverableCondition != nil {
273+ if terminalCondition != nil || recoverableCondition != nil || syncCondition != nil {
257274 return &resource{ko} , true // updated
258275 }
259276{ {- end } }
0 commit comments