func()

in plugin/v1/plugin.go [69:89]


func (g *Plugin) Encrypt(ctx context.Context, request *EncryptRequest) (*EncryptResponse, error) {
	glog.V(4).Infoln("Processing request for encryption.")
	defer plugin.RecordCloudKMSOperation("encrypt", time.Now().UTC())

	resp, err := g.keyService.Encrypt(g.keyURI, &cloudkms.EncryptRequest{
		Plaintext: base64.StdEncoding.EncodeToString(request.Plain),
	}).Context(ctx).Do()
	if err != nil {
		plugin.CloudKMSOperationalFailuresTotal.WithLabelValues("encrypt").Inc()
		return nil, err
	}

	cipher, err := base64.StdEncoding.DecodeString(resp.Ciphertext)
	if err != nil {
		return nil, err
	}

	return &EncryptResponse{
		Cipher: cipher,
	}, nil
}