@@ -723,14 +723,22 @@ func resourceRedisCloudActiveActiveDatabaseUpdate(ctx context.Context, d *schema
723723 var regions []* databases.LocalRegionProperties
724724
725725 tflog .Debug (ctx , "Update: Starting to build region configurations" , map [string ]interface {}{
726- "regionCount" : len (d .Get ("override_region" ).(* schema.Set ).List ()),
726+ "regionCount" : len (d .Get ("override_region" ).(* schema.Set ).List ()),
727+ "globalAlertsCount" : len (updateAlerts ),
728+ "globalAlerts" : updateAlerts ,
727729 })
728730
729731 for _ , region := range d .Get ("override_region" ).(* schema.Set ).List () {
730732 dbRegion := region .(map [string ]interface {})
731733
732734 overrideAlerts := getStateAlertsFromDbRegion (getStateOverrideRegion (d , dbRegion ["name" ].(string )))
733735
736+ tflog .Debug (ctx , "Update: Parsed alerts for region" , map [string ]interface {}{
737+ "region" : dbRegion ["name" ].(string ),
738+ "overrideAlertsLen" : len (overrideAlerts ),
739+ "overrideAlerts" : overrideAlerts ,
740+ })
741+
734742 // Make a list of region-specific source IPs for use in the regions list below
735743 var overrideSourceIps []* string
736744 for _ , sourceIp := range dbRegion ["override_global_source_ips" ].(* schema.Set ).List () {
@@ -771,14 +779,30 @@ func resourceRedisCloudActiveActiveDatabaseUpdate(ctx context.Context, d *schema
771779
772780 if len (overrideAlerts ) > 0 {
773781 regionProps .Alerts = & overrideAlerts
782+ tflog .Debug (ctx , "Update: Setting region alerts from override" , map [string ]interface {}{
783+ "region" : regionName ,
784+ "alertCount" : len (overrideAlerts ),
785+ "alertValues" : overrideAlerts ,
786+ })
774787 } else if len (updateAlerts ) > 0 {
775788 regionProps .Alerts = & updateAlerts
789+ tflog .Debug (ctx , "Update: Setting region alerts from global" , map [string ]interface {}{
790+ "region" : regionName ,
791+ "alertCount" : len (updateAlerts ),
792+ "alertValues" : updateAlerts ,
793+ })
776794 } else {
777795 // Explicitly send empty array to remove alerts from this region
778796 // A pointer to a nil-slice is omitted from the json payload, which means the API keeps the existing value
779797 //goland:noinspection GoPreferNilSlice
780798 emptyAlerts := []* databases.Alert {}
781799 regionProps .Alerts = & emptyAlerts
800+ tflog .Debug (ctx , "Update: Setting empty alerts array to remove alerts" , map [string ]interface {}{
801+ "region" : regionName ,
802+ "overrideAlertsLen" : len (overrideAlerts ),
803+ "updateAlertsLen" : len (updateAlerts ),
804+ "sendingEmptyArray" : true ,
805+ })
782806 }
783807 if len (overrideSourceIps ) > 0 {
784808 regionProps .SourceIP = overrideSourceIps
0 commit comments