basesecret.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package kms
  2. // BaseSecret defines the base struct shared among all the secret providers
  3. type BaseSecret struct {
  4. Status SecretStatus `json:"status,omitempty"`
  5. Payload string `json:"payload,omitempty"`
  6. Key string `json:"key,omitempty"`
  7. AdditionalData string `json:"additional_data,omitempty"`
  8. // 1 means encrypted using a master key
  9. Mode int `json:"mode,omitempty"`
  10. }
  11. // GetStatus returns the secret's status
  12. func (s *BaseSecret) GetStatus() SecretStatus {
  13. return s.Status
  14. }
  15. // GetPayload returns the secret's payload
  16. func (s *BaseSecret) GetPayload() string {
  17. return s.Payload
  18. }
  19. // GetKey returns the secret's key
  20. func (s *BaseSecret) GetKey() string {
  21. return s.Key
  22. }
  23. // GetMode returns the encryption mode
  24. func (s *BaseSecret) GetMode() int {
  25. return s.Mode
  26. }
  27. // GetAdditionalData returns the secret's additional data
  28. func (s *BaseSecret) GetAdditionalData() string {
  29. return s.AdditionalData
  30. }
  31. // SetKey sets the secret's key
  32. func (s *BaseSecret) SetKey(value string) {
  33. s.Key = value
  34. }
  35. // SetAdditionalData sets the secret's additional data
  36. func (s *BaseSecret) SetAdditionalData(value string) {
  37. s.AdditionalData = value
  38. }
  39. // SetStatus sets the secret's status
  40. func (s *BaseSecret) SetStatus(value SecretStatus) {
  41. s.Status = value
  42. }
  43. func (s *BaseSecret) isEmpty() bool {
  44. if s.Status != "" {
  45. return false
  46. }
  47. if s.Payload != "" {
  48. return false
  49. }
  50. if s.Key != "" {
  51. return false
  52. }
  53. if s.AdditionalData != "" {
  54. return false
  55. }
  56. return true
  57. }