@@ -187,7 +187,7 @@ func UpdateSecretTextsFromState[T any](
187
187
refreshedElems := refreshed .Elements ()
188
188
stateElems := state .Elements ()
189
189
190
- updatedElems := make ([]attr.Value , len (refreshedElems ))
190
+ updatedElems := make ([]attr.Value , 0 , len (refreshedElems ))
191
191
192
192
elemType := refreshed .ElementType (ctx )
193
193
@@ -199,10 +199,10 @@ func UpdateSecretTextsFromState[T any](
199
199
200
200
attrTypes := objType .AttributeTypes ()
201
201
202
- for i , val := range refreshedElems {
202
+ for _ , val := range refreshedElems {
203
203
refreshedObj , ok := val .(basetypes.ObjectValue )
204
204
if ! ok {
205
- updatedElems [ i ] = val
205
+ updatedElems = append ( updatedElems , val )
206
206
continue
207
207
}
208
208
@@ -211,18 +211,19 @@ func UpdateSecretTextsFromState[T any](
211
211
nameAttr := refreshedAttrs ["name" ]
212
212
213
213
if typeAttr .IsNull () || nameAttr .IsNull () {
214
- updatedElems [ i ] = val
214
+ updatedElems = append ( updatedElems , val )
215
215
continue
216
216
}
217
217
218
218
if typeAttr .(types.String ).ValueString () != "secret_text" {
219
- updatedElems [ i ] = val
219
+ updatedElems = append ( updatedElems , val )
220
220
continue
221
221
}
222
222
223
223
name := nameAttr .(types.String ).ValueString ()
224
224
225
225
var originalText attr.Value
226
+ var foundInState bool
226
227
for _ , stateVal := range stateElems {
227
228
stateObj , ok := stateVal .(basetypes.ObjectValue )
228
229
if ! ok {
@@ -232,10 +233,15 @@ func UpdateSecretTextsFromState[T any](
232
233
if stateAttrs ["type" ].(types.String ).ValueString () == "secret_text" &&
233
234
stateAttrs ["name" ].(types.String ).ValueString () == name {
234
235
originalText = stateAttrs ["text" ]
236
+ foundInState = true
235
237
break
236
238
}
237
239
}
238
240
241
+ if ! foundInState {
242
+ continue
243
+ }
244
+
239
245
if originalText != nil && ! originalText .IsNull () && ! originalText .IsUnknown () {
240
246
refreshedAttrs ["text" ] = originalText
241
247
@@ -244,7 +250,7 @@ func UpdateSecretTextsFromState[T any](
244
250
refreshedObj = newObj
245
251
}
246
252
247
- updatedElems [ i ] = refreshedObj
253
+ updatedElems = append ( updatedElems , refreshedObj )
248
254
}
249
255
250
256
value , d := types .ListValue (refreshed .ElementType (ctx ), updatedElems )
0 commit comments