@@ -15,6 +15,7 @@ package table
1515
1616import (
1717 "context"
18+ "errors"
1819 "fmt"
1920 "strings"
2021 "time"
@@ -232,17 +233,17 @@ func (rm *resourceManager) customUpdateTable(
232233 }
233234 return nil , err
234235 }
235- // case delta.DifferentAt("Spec.TableReplicas"):
236- // // Enabling replicas required streams enabled and StreamViewType to be NEW_AND_OLD_IMAGES
237- // // Version 2019.11.21 TableUpdate API requirement
238- // if !hasStreamSpecificationWithNewAndOldImages(desired) {
239- // msg := "table must have DynamoDB Streams enabled with StreamViewType set to NEW_AND_OLD_IMAGES for replica updates"
240- // rlog.Debug(msg)
241- // return nil, ackerr.NewTerminalError(errors.New(msg))
242- // }
243- // if err := rm.syncReplicas(ctx, latest, desired); err != nil {
244- // return nil, err
245- // }
236+ case delta .DifferentAt ("Spec.TableReplicas" ):
237+ // Enabling replicas required streams enabled and StreamViewType to be NEW_AND_OLD_IMAGES
238+ // Version 2019.11.21 TableUpdate API requirement
239+ if ! hasStreamSpecificationWithNewAndOldImages (desired ) {
240+ msg := "table must have DynamoDB Streams enabled with StreamViewType set to NEW_AND_OLD_IMAGES for replica updates"
241+ rlog .Debug (msg )
242+ return nil , ackerr .NewTerminalError (errors .New (msg ))
243+ }
244+ if err := rm .syncReplicas (ctx , latest , desired ); err != nil {
245+ return nil , err
246+ }
246247 }
247248 }
248249
@@ -577,14 +578,14 @@ func customPreCompare(
577578 }
578579 }
579580
580- // // Handle ReplicaUpdates API comparison
581- // if len(a.ko.Spec.TableReplicas) != len(b.ko.Spec.TableReplicas) {
582- // delta.Add("Spec.TableReplicas", a.ko.Spec.TableReplicas, b.ko.Spec.TableReplicas)
583- // } else if a.ko.Spec.TableReplicas != nil && b.ko.Spec.TableReplicas != nil {
584- // if !equalReplicaArrays(a.ko.Spec.TableReplicas, b.ko.Spec.TableReplicas) {
585- // delta.Add("Spec.TableReplicas", a.ko.Spec.TableReplicas, b.ko.Spec.TableReplicas)
586- // }
587- // }
581+ // Handle ReplicaUpdates API comparison
582+ if len (a .ko .Spec .TableReplicas ) != len (b .ko .Spec .TableReplicas ) {
583+ delta .Add ("Spec.TableReplicas" , a .ko .Spec .TableReplicas , b .ko .Spec .TableReplicas )
584+ } else if a .ko .Spec .TableReplicas != nil && b .ko .Spec .TableReplicas != nil {
585+ if ! equalReplicaArrays (a .ko .Spec .TableReplicas , b .ko .Spec .TableReplicas ) {
586+ delta .Add ("Spec.TableReplicas" , a .ko .Spec .TableReplicas , b .ko .Spec .TableReplicas )
587+ }
588+ }
588589
589590 if a .ko .Spec .DeletionProtectionEnabled == nil {
590591 a .ko .Spec .DeletionProtectionEnabled = aws .Bool (false )
0 commit comments