secret.go 865 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package docker
  2. import (
  3. "encoding/json"
  4. )
  5. type Secret struct {
  6. ID string `json:"ID"`
  7. Name string `json:"Name"`
  8. Labels map[string]string `json:"Labels"`
  9. Description string `json:"Description"`
  10. username string
  11. password string
  12. }
  13. func NewSecret(name, username, password, description string) Secret {
  14. return Secret{
  15. Name: name,
  16. username: username,
  17. password: password,
  18. Description: description,
  19. }
  20. }
  21. func (s Secret) ToJSON() (string, error) {
  22. b, err := json.MarshalIndent(&s, "", "\t")
  23. if err != nil {
  24. return "", err
  25. }
  26. return string(b), nil
  27. }
  28. func (s Secret) GetCredString() (string, error) {
  29. creds := map[string]string{
  30. "username": s.username,
  31. "password": s.password,
  32. }
  33. b, err := json.Marshal(&creds)
  34. if err != nil {
  35. return "", err
  36. }
  37. return string(b), nil
  38. }