Skip to content

Commit 4c69e19

Browse files
authored
Merge pull request #1846 from wotolom/fix-hostedzone-tagging-calls
2 parents 8585099 + 034d569 commit 4c69e19

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

pkg/controller/route53/hostedzone/controller.go

+16-7
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ func (e *external) Observe(ctx context.Context, mg resource.Managed) (managed.Ex
133133
}
134134

135135
resTags, err := e.client.ListTagsForResource(ctx, &route53.ListTagsForResourceInput{
136-
ResourceId: hostedZoneID,
136+
ResourceId: aws.String(meta.GetExternalName(cr)), // id w/o prefix
137137
ResourceType: route53types.TagResourceTypeHostedzone,
138138
})
139139
if err != nil {
@@ -192,12 +192,21 @@ func (e *external) Update(ctx context.Context, mg resource.Managed) (managed.Ext
192192

193193
// Update tags if necessary
194194
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)
201210
if err != nil {
202211
return managed.ExternalUpdate{}, awsclient.Wrap(err, errUpdateTags)
203212
}

0 commit comments

Comments
 (0)