@@ -133,7 +133,7 @@ func (e *external) Observe(ctx context.Context, mg resource.Managed) (managed.Ex
133
133
}
134
134
135
135
resTags , err := e .client .ListTagsForResource (ctx , & route53.ListTagsForResourceInput {
136
- ResourceId : hostedZoneID ,
136
+ ResourceId : aws . String ( meta . GetExternalName ( cr )), // id w/o prefix
137
137
ResourceType : route53types .TagResourceTypeHostedzone ,
138
138
})
139
139
if err != nil {
@@ -192,12 +192,21 @@ func (e *external) Update(ctx context.Context, mg resource.Managed) (managed.Ext
192
192
193
193
// Update tags if necessary
194
194
if len (e .tagsToAdd ) > 0 || len (e .tagsToRemove ) > 0 {
195
- _ , err := e .client .ChangeTagsForResource (ctx , & route53.ChangeTagsForResourceInput {
196
- ResourceId : & hostedZoneID ,
197
- ResourceType : route53types .TagResourceTypeHostedzone ,
198
- AddTags : e .tagsToAdd ,
199
- RemoveTagKeys : e .tagsToRemove ,
200
- })
195
+
196
+ changeTagsInput := & route53.ChangeTagsForResourceInput {
197
+ ResourceId : aws .String (meta .GetExternalName (cr )), // id w/o prefix
198
+ ResourceType : route53types .TagResourceTypeHostedzone ,
199
+ }
200
+
201
+ // AWS throws error when provided AddTags or RemoveTagKeys are empty lists
202
+ if len (e .tagsToAdd ) > 0 {
203
+ changeTagsInput .AddTags = e .tagsToAdd
204
+ }
205
+ if len (e .tagsToRemove ) > 0 {
206
+ changeTagsInput .RemoveTagKeys = e .tagsToRemove
207
+ }
208
+
209
+ _ , err := e .client .ChangeTagsForResource (ctx , changeTagsInput )
201
210
if err != nil {
202
211
return managed.ExternalUpdate {}, awsclient .Wrap (err , errUpdateTags )
203
212
}
0 commit comments