@@ -611,9 +611,14 @@ func stateToPodMutation(d *schema.ResourceData) patching_engine.PodMutation {
611611 // Mutation config fields
612612 configMap := map [string ]interface {}{}
613613 for _ , key := range []string {
614- FieldPodMutationLabels , FieldPodMutationAnnotations , FieldPodMutationNodeSelector ,
615- FieldPodMutationTolerations , FieldPodMutationAffinity , FieldPodMutationSpotType ,
616- FieldPodMutationNodeTemplates , FieldPodMutationPatch ,
614+ FieldPodMutationLabels ,
615+ FieldPodMutationAnnotations ,
616+ FieldPodMutationNodeSelector ,
617+ FieldPodMutationTolerations ,
618+ FieldPodMutationAffinity ,
619+ FieldPodMutationSpotType ,
620+ FieldPodMutationNodeTemplates ,
621+ FieldPodMutationPatch ,
617622 } {
618623 if v , ok := d .GetOk (key ); ok {
619624 configMap [key ] = v
@@ -1032,18 +1037,30 @@ func podMutationToState(mutation *patching_engine.PodMutation, d *schema.Resourc
10321037 if err := d .Set (FieldPodMutationLabels , * mutation .Labels ); err != nil {
10331038 return diag .FromErr (err )
10341039 }
1040+ } else {
1041+ if err := d .Set (FieldPodMutationLabels , map [string ]string {}); err != nil {
1042+ return diag .FromErr (err )
1043+ }
10351044 }
10361045
10371046 if mutation .Annotations != nil {
10381047 if err := d .Set (FieldPodMutationAnnotations , * mutation .Annotations ); err != nil {
10391048 return diag .FromErr (err )
10401049 }
1050+ } else {
1051+ if err := d .Set (FieldPodMutationAnnotations , map [string ]string {}); err != nil {
1052+ return diag .FromErr (err )
1053+ }
10411054 }
10421055
10431056 if mutation .NodeSelector != nil {
10441057 if err := d .Set (FieldPodMutationNodeSelector , flattenPodMutationNodeSelector (mutation .NodeSelector )); err != nil {
10451058 return diag .FromErr (err )
10461059 }
1060+ } else {
1061+ if err := d .Set (FieldPodMutationNodeSelector , []map [string ]interface {}{}); err != nil {
1062+ return diag .FromErr (err )
1063+ }
10471064 }
10481065
10491066 if mutation .Tolerations != nil {
@@ -1055,12 +1072,20 @@ func podMutationToState(mutation *patching_engine.PodMutation, d *schema.Resourc
10551072 if err := d .Set (FieldPodMutationTolerations , flatTolerations ); err != nil {
10561073 return diag .FromErr (err )
10571074 }
1075+ } else {
1076+ if err := d .Set (FieldPodMutationTolerations , []map [string ]interface {}{}); err != nil {
1077+ return diag .FromErr (err )
1078+ }
10581079 }
10591080
10601081 if mutation .Affinity != nil {
10611082 if err := d .Set (FieldPodMutationAffinity , flattenAffinity (mutation .Affinity )); err != nil {
10621083 return diag .FromErr (err )
10631084 }
1085+ } else {
1086+ if err := d .Set (FieldPodMutationAffinity , []map [string ]interface {}{}); err != nil {
1087+ return diag .FromErr (err )
1088+ }
10641089 }
10651090
10661091 // Spot type — treat UNSPECIFIED as empty to avoid drift when user doesn't set it
0 commit comments