@@ -252,16 +252,27 @@ func resourceAgentPolicyUpdate(ctx context.Context, d *schema.ResourceData, meta
252
252
return diag .FromErr (fmt .Errorf ("'global_data_tags' is supported only for Elasticsearch v%s and above" , minVersionGlobalDataTags .String ()))
253
253
}
254
254
255
- globalDataTags := make ([]fleetapi.GlobalDataTag , 0 , len (tagMap ))
256
- for key , value := range tagMap {
257
- globalDataTags = append (globalDataTags , fleetapi.GlobalDataTag {
258
- Name : key ,
259
- Value : value .(string ),
255
+ globalDataTags := []map [string ]fleetapi.AgentPolicyUpdateRequest_GlobalDataTags_AdditionalProperties {}
256
+ for key , val := range tagMap {
257
+ var name , value fleetapi.AgentPolicyUpdateRequest_GlobalDataTags_AdditionalProperties
258
+ err := name .FromAgentPolicyUpdateRequestGlobalDataTags0 (key )
259
+ if err != nil {
260
+ return diag .FromErr (err )
261
+ }
262
+
263
+ err = value .FromAgentPolicyUpdateRequestGlobalDataTags0 (val .(string ))
264
+ if err != nil {
265
+ return diag .FromErr (err )
266
+ }
267
+
268
+ globalDataTags = append (globalDataTags , map [string ]fleetapi.AgentPolicyUpdateRequest_GlobalDataTags_AdditionalProperties {
269
+ "name" : name ,
270
+ "value" : value ,
260
271
})
261
272
}
262
- req .GlobalDataTags = globalDataTags
273
+ req .GlobalDataTags = & globalDataTags
263
274
} else {
264
- req .GlobalDataTags = make ([] fleetapi.GlobalDataTag , 0 ) // Ensure it's an empty array
275
+ req .GlobalDataTags = & [] map [ string ] fleetapi.AgentPolicyUpdateRequest_GlobalDataTags_AdditionalProperties {} // Ensure it's an empty array
265
276
}
266
277
267
278
_ , diags = fleet .UpdateAgentPolicy (ctx , fleetClient , d .Id (), req )
@@ -351,9 +362,18 @@ func resourceAgentPolicyRead(ctx context.Context, d *schema.ResourceData, meta i
351
362
352
363
if agentPolicy .GlobalDataTags != nil {
353
364
354
- globalDataTags := make (map [string ]string , len (agentPolicy .GlobalDataTags ))
355
- for _ , tag := range agentPolicy .GlobalDataTags {
356
- globalDataTags [tag .Name ] = tag .Value .(string )
365
+ globalDataTags := make (map [string ]string , len (* agentPolicy .GlobalDataTags ))
366
+ for _ , tag := range * agentPolicy .GlobalDataTags {
367
+ name , err := tag ["name" ].AsAgentPolicyGlobalDataTags0 ()
368
+ if err != nil {
369
+ return diag .FromErr (err )
370
+ }
371
+
372
+ value , err := tag ["value" ].AsAgentPolicyGlobalDataTags0 ()
373
+ if err != nil {
374
+ return diag .FromErr (err )
375
+ }
376
+ globalDataTags [name ] = value
357
377
}
358
378
359
379
if err := d .Set ("global_data_tags" , globalDataTags ); err != nil {
0 commit comments