Skip to content

Commit

Permalink
fix(route53): hostedzone tags related api calls
Browse files Browse the repository at this point in the history
Signed-off-by: Charel Baum (external expert on behalf of DB Netz AG) <charel.baum-extern@deutschebahn.com>
  • Loading branch information
Charel Baum (external expert on behalf of DB Netz AG) authored and threadproc committed Sep 1, 2023
1 parent 3d08fef commit 95d5375
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions pkg/controller/route53/hostedzone/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ func (e *external) Observe(ctx context.Context, mg resource.Managed) (managed.Ex
}

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

// Update tags if necessary
if len(e.tagsToAdd) > 0 || len(e.tagsToRemove) > 0 {
_, err := e.client.ChangeTagsForResource(ctx, &route53.ChangeTagsForResourceInput{
ResourceId: &hostedZoneID,
ResourceType: route53types.TagResourceTypeHostedzone,
AddTags: e.tagsToAdd,
RemoveTagKeys: e.tagsToRemove,
})

changeTagsInput := &route53.ChangeTagsForResourceInput{
ResourceId: aws.String(meta.GetExternalName(cr)), // id w/o prefix
ResourceType: route53types.TagResourceTypeHostedzone,
}

// AWS throws error when provided AddTags or RemoveTagKeys are empty lists
if len(e.tagsToAdd) > 0 {
changeTagsInput.AddTags = e.tagsToAdd
}
if len(e.tagsToRemove) > 0 {
changeTagsInput.RemoveTagKeys = e.tagsToRemove
}

_, err := e.client.ChangeTagsForResource(ctx, changeTagsInput)
if err != nil {
return managed.ExternalUpdate{}, awsclient.Wrap(err, errUpdateTags)
}
Expand Down

0 comments on commit 95d5375

Please sign in to comment.