in pkg/plugin/kms_v2_server.go [80:108]
func (s *KeyManagementServiceV2Server) Encrypt(ctx context.Context, request *kmsv2.EncryptRequest) (*kmsv2.EncryptResponse, error) {
mlog.Debug("encrypt request received", "uid", request.Uid)
start := time.Now()
var err error
defer func() {
errors := ""
status := metrics.SuccessStatusTypeValue
if err != nil {
status = metrics.ErrorStatusTypeValue
errors = err.Error()
}
s.reporter.ReportRequest(ctx, metrics.EncryptOperationTypeValue, status, time.Since(start).Seconds(), errors)
}()
mlog.Info("encrypt request started", "uid", request.Uid)
encryptResponse, err := s.kvClient.Encrypt(ctx, request.Plaintext, s.encryptionAlgorithm)
if err != nil {
mlog.Error("failed to encrypt", err, "uid", request.Uid)
return &kmsv2.EncryptResponse{}, err
}
mlog.Info("encrypt request complete", "uid", request.Uid)
return &kmsv2.EncryptResponse{
Ciphertext: encryptResponse.Ciphertext,
KeyId: encryptResponse.KeyID,
Annotations: encryptResponse.Annotations,
}, nil
}