Skip to content

Commit

Permalink
Merge pull request #1992 from wotolom/feat-loggroup-update-kmskey
Browse files Browse the repository at this point in the history
feat(loggroup): allow updating kmskey
  • Loading branch information
MisterMX committed Jan 31, 2024
2 parents 7134583 + 40fc5b4 commit 63be74d
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions pkg/controller/cloudwatchlogs/loggroup/setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,10 @@ func (u *updater) isUpToDate(_ context.Context, cr *svcapitypes.LogGroup, obj *s
return false, "", nil
}

if pointer.StringValue(cr.Spec.ForProvider.KMSKeyID) != pointer.StringValue(obj.LogGroups[0].KmsKeyId) {
return false, "", nil //TODO: test
}

trimmedArn := trimArnSuffix(*obj.LogGroups[0].Arn)
tags, err := u.client.ListTagsForResource(&svcsdk.ListTagsForResourceInput{
ResourceArn: &trimmedArn,
Expand Down Expand Up @@ -211,6 +215,24 @@ func (u *updater) update(ctx context.Context, mg resource.Managed) (managed.Exte
}
}

if pointer.StringValue(cr.Spec.ForProvider.KMSKeyID) != pointer.StringValue(obj.LogGroups[0].KmsKeyId) {
if obj.LogGroups[0].KmsKeyId != nil {
if _, err := u.client.DisassociateKmsKeyWithContext(ctx, &svcsdk.DisassociateKmsKeyInput{
LogGroupName: pointer.ToOrNilIfZeroValue(meta.GetExternalName(cr)),
}); err != nil {
return managed.ExternalUpdate{}, errorutils.Wrap(err, errUpdate)
}
}
if cr.Spec.ForProvider.KMSKeyID != nil {
if _, err := u.client.AssociateKmsKeyWithContext(ctx, &svcsdk.AssociateKmsKeyInput{
LogGroupName: pointer.ToOrNilIfZeroValue(meta.GetExternalName(cr)),
KmsKeyId: cr.Spec.ForProvider.KMSKeyID,
}); err != nil {
return managed.ExternalUpdate{}, errorutils.Wrap(err, errUpdate)
}
}
}

return managed.ExternalUpdate{}, nil
}

Expand Down

0 comments on commit 63be74d

Please sign in to comment.