@@ -1017,42 +1017,36 @@ func podMutationToState(mutation *patching_engine.PodMutation, d *schema.Resourc
10171017 }
10181018 }
10191019
1020- // Object filter V2
10211020 if mutation .ObjectFilterV2 != nil {
10221021 if err := d .Set (FieldPodMutationObjectFilterV2 , flattenObjectFilterV2 (mutation .ObjectFilterV2 )); err != nil {
10231022 return diag .FromErr (err )
10241023 }
10251024 }
10261025
1027- // Labels
10281026 if mutation .Labels != nil {
10291027 if err := d .Set (FieldPodMutationLabels , * mutation .Labels ); err != nil {
10301028 return diag .FromErr (err )
10311029 }
10321030 }
10331031
1034- // Annotations
10351032 if mutation .Annotations != nil {
10361033 if err := d .Set (FieldPodMutationAnnotations , * mutation .Annotations ); err != nil {
10371034 return diag .FromErr (err )
10381035 }
10391036 }
10401037
1041- // Node selector
10421038 if mutation .NodeSelector != nil {
10431039 if err := d .Set (FieldPodMutationNodeSelector , flattenPodMutationNodeSelector (mutation .NodeSelector )); err != nil {
10441040 return diag .FromErr (err )
10451041 }
10461042 }
10471043
1048- // Tolerations
10491044 if mutation .Tolerations != nil {
10501045 if err := d .Set (FieldPodMutationTolerations , flattenTolerations (* mutation .Tolerations )); err != nil {
10511046 return diag .FromErr (err )
10521047 }
10531048 }
10541049
1055- // Affinity
10561050 if mutation .Affinity != nil {
10571051 if err := d .Set (FieldPodMutationAffinity , flattenAffinity (mutation .Affinity )); err != nil {
10581052 return diag .FromErr (err )
@@ -1070,28 +1064,24 @@ func podMutationToState(mutation *patching_engine.PodMutation, d *schema.Resourc
10701064 }
10711065 }
10721066
1073- // Spot distribution percentage
10741067 if mutation .SpotDistributionPercentage != nil {
10751068 if err := d .Set (FieldPodMutationSpotDistributionPct , int (* mutation .SpotDistributionPercentage )); err != nil {
10761069 return diag .FromErr (err )
10771070 }
10781071 }
10791072
1080- // Node templates
10811073 if mutation .NodeTemplatesToConsolidate != nil {
10821074 if err := d .Set (FieldPodMutationNodeTemplates , * mutation .NodeTemplatesToConsolidate ); err != nil {
10831075 return diag .FromErr (err )
10841076 }
10851077 }
10861078
1087- // Restart workloads
10881079 if mutation .RestartMatchingWorkloads != nil {
10891080 if err := d .Set (FieldPodMutationRestartWorkloads , * mutation .RestartMatchingWorkloads ); err != nil {
10901081 return diag .FromErr (err )
10911082 }
10921083 }
10931084
1094- // Patch
10951085 if mutation .Patch != nil && len (* mutation .Patch ) > 0 {
10961086 patchJSON , err := json .Marshal (* mutation .Patch )
10971087 if err != nil {
@@ -1102,19 +1092,23 @@ func podMutationToState(mutation *patching_engine.PodMutation, d *schema.Resourc
11021092 }
11031093 }
11041094
1105- // Distribution groups
11061095 if mutation .DistributionGroups != nil {
1107- if err := d .Set (FieldPodMutationDistributionGroups , flattenDistributionGroups (* mutation .DistributionGroups )); err != nil {
1096+ dgs , err := flattenDistributionGroups (* mutation .DistributionGroups )
1097+ if err != nil {
1098+ return diag .FromErr (err )
1099+ }
1100+
1101+ if err := d .Set (FieldPodMutationDistributionGroups , dgs ); err != nil {
11081102 return diag .FromErr (err )
11091103 }
11101104 }
11111105
1112- // Computed fields
11131106 if mutation .Source != nil {
11141107 if err := d .Set (FieldPodMutationSource , string (* mutation .Source )); err != nil {
11151108 return diag .FromErr (err )
11161109 }
11171110 }
1111+
11181112 return nil
11191113}
11201114
@@ -1259,7 +1253,7 @@ func flattenAffinity(affinity *patching_engine.Affinity) []map[string]interface{
12591253 }
12601254}
12611255
1262- func flattenDistributionGroups (groups []patching_engine.DistributionGroup ) []map [string ]interface {} {
1256+ func flattenDistributionGroups (groups []patching_engine.DistributionGroup ) ( []map [string ]interface {}, error ) {
12631257 result := make ([]map [string ]interface {}, 0 , len (groups ))
12641258 for _ , g := range groups {
12651259 gMap := map [string ]interface {}{
@@ -1292,14 +1286,17 @@ func flattenDistributionGroups(groups []patching_engine.DistributionGroup) []map
12921286 }
12931287 if g .Config .Patch != nil && len (* g .Config .Patch ) > 0 {
12941288 patchJSON , err := json .Marshal (* g .Config .Patch )
1295- if err = = nil {
1296- configMap [ FieldPodMutationPatch ] = string ( patchJSON )
1289+ if err ! = nil {
1290+ return nil , fmt . Errorf ( "failed to marshal patch: %w" , err )
12971291 }
1292+
1293+ configMap [FieldPodMutationPatch ] = string (patchJSON )
12981294 }
12991295 gMap [FieldPodMutationDistributionGroupConfig ] = []map [string ]interface {}{configMap }
13001296 }
13011297
13021298 result = append (result , gMap )
13031299 }
1304- return result
1300+
1301+ return result , nil
13051302}
0 commit comments