code: func (v OpenEBSVolume) CreateVolume(vs mayav1.VolumeSpec) (string, error) {
  
  	addr := os.Getenv("MAPI_ADDR")
  	if addr == "" {
  		err := errors.New("MAPI_ADDR environment variable not set")
  		glog.Errorf("Error getting maya-apiserver IP Address: %v", err)
  		return "Error getting maya-apiserver IP Address", err
  	}
  	url := addr + "/latest/volumes/"
  
  	vs.Kind = "PersistentVolumeClaim"
  	vs.APIVersion = "v1"
  
  	//Marshal serializes the value provided into a YAML document
  	yamlValue, _ := yaml.Marshal(vs)
  
  	glog.V(2).Infof("[DEBUG] volume Spec Created:\n%v\n", string(yamlValue))
  
  	req, err := http.NewRequest("POST", url, bytes.NewBuffer(yamlValue))
  
  	req.Header.Add("Content-Type", "application/yaml")
  
  	c := &http.Client{
  		Timeout: timeout,
  	}
  	resp, err := c.Do(req)
  	if err != nil {
  		glog.Errorf("Error when connecting maya-apiserver %v", err)
  		return "Could not connect to maya-apiserver", err
  	}
  	defer resp.Body.Close()
  
  	data, err := ioutil.ReadAll(resp.Body)
  	if err != nil {
  		glog.Errorf("Unable to read response from maya-apiserver %v", err)
  		return "Unable to read response from maya-apiserver", err
  	}
  
  	code := resp.StatusCode
  	if code != http.StatusOK {
  		glog.Errorf("Status error: %v\n", http.StatusText(code))
  		return "HTTP Status error from maya-apiserver", err
  	}
  
  	glog.Infof("volume Successfully Created:\n%v\n", string(data))
  	return "volume Successfully Created", nil
  }
docs: // CreateVolume to create the Vsm through a API call to m-apiserver