diff --git a/pkg/aws/service.go b/pkg/aws/service.go index b5020363..529af3f7 100644 --- a/pkg/aws/service.go +++ b/pkg/aws/service.go @@ -90,7 +90,12 @@ func (s *Service) Get(keyID string) (interface{}, error) { // HealthCheck check kms. func (s *Service) HealthCheck() error { - _, err := s.client.DescribeKey(&kms.DescribeKeyInput{KeyId: &s.healthCheckKeyID}) + keyID, err := getKeyID(s.healthCheckKeyID) + if err != nil { + return err + } + + _, err = s.client.DescribeKey(&kms.DescribeKeyInput{KeyId: &keyID}) if err != nil { return err } diff --git a/pkg/aws/service_test.go b/pkg/aws/service_test.go index 7e4c1b02..dc41658e 100644 --- a/pkg/aws/service_test.go +++ b/pkg/aws/service_test.go @@ -93,7 +93,8 @@ func TestHealthCheck(t *testing.T) { }) require.NoError(t, err) - svc := New(awsSession, &mockMetrics{}, "") + svc := New(awsSession, &mockMetrics{}, + "aws-kms://arn:aws:kms:ca-central-1:111122223333:key/800d5768-3fd7-4edd-a4b8-4c81c3e4c147") svc.client = &mockAWSClient{describeKeyFunc: func(input *kms.DescribeKeyInput) (*kms.DescribeKeyOutput, error) { return &kms.DescribeKeyOutput{}, nil @@ -112,7 +113,8 @@ func TestHealthCheck(t *testing.T) { }) require.NoError(t, err) - svc := New(awsSession, &mockMetrics{}, "") + svc := New(awsSession, &mockMetrics{}, + "aws-kms://arn:aws:kms:ca-central-1:111122223333:key/800d5768-3fd7-4edd-a4b8-4c81c3e4c147") svc.client = &mockAWSClient{describeKeyFunc: func(input *kms.DescribeKeyInput) (*kms.DescribeKeyOutput, error) { return nil, fmt.Errorf("failed to list keys")