cluster_state.go 601 B

1234567891011121314151617181920212223242526272829303132333435
  1. package etcdserver
  2. import (
  3. "errors"
  4. )
  5. const (
  6. ClusterStateValueNew = "new"
  7. )
  8. var (
  9. ClusterStateValues = []string{
  10. ClusterStateValueNew,
  11. }
  12. )
  13. // ClusterState implements the flag.Value interface.
  14. type ClusterState string
  15. // Set verifies the argument to be a valid member of ClusterStateFlagValues
  16. // before setting the underlying flag value.
  17. func (cs *ClusterState) Set(s string) error {
  18. for _, v := range ClusterStateValues {
  19. if s == v {
  20. *cs = ClusterState(s)
  21. return nil
  22. }
  23. }
  24. return errors.New("invalid value")
  25. }
  26. func (cs *ClusterState) String() string {
  27. return string(*cs)
  28. }