gcp.go 714 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package kms
  2. const (
  3. gcpProviderName = "GCP"
  4. )
  5. type gcpSecret struct {
  6. baseGCloudSecret
  7. }
  8. func newGCPSecret(base baseSecret, url, masterKey string) SecretProvider {
  9. return &gcpSecret{
  10. baseGCloudSecret{
  11. baseSecret: base,
  12. url: url,
  13. masterKey: masterKey,
  14. },
  15. }
  16. }
  17. func (s *gcpSecret) Name() string {
  18. return gcpProviderName
  19. }
  20. func (s *gcpSecret) IsEncrypted() bool {
  21. return s.Status == SecretStatusGCP
  22. }
  23. func (s *gcpSecret) Encrypt() error {
  24. if err := s.baseGCloudSecret.Encrypt(); err != nil {
  25. return err
  26. }
  27. s.Status = SecretStatusGCP
  28. return nil
  29. }
  30. func (s *gcpSecret) Decrypt() error {
  31. if !s.IsEncrypted() {
  32. return errWrongSecretStatus
  33. }
  34. return s.baseGCloudSecret.Decrypt()
  35. }