code: func (c *Role) UnmarshalYAML(unmarshal func(interface{}) error) error {
  	if err := unmarshal((*string)(c)); err != nil {
  		return err
  	}
  	switch *c {
  	case OpenStackRoleHypervisor, OpenStackRoleInstance:
  		return nil
  	default:
  		return errors.Errorf("unknown OpenStack SD role %q", *c)
  	}
  }
docs: // UnmarshalYAML implements the yaml.Unmarshaler interface.