aws.go 714 B

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