code: func restGetYamlProfileById(w http.ResponseWriter, r *http.Request) {
  	vars := mux.Vars(r)
  	id := vars[ID]
  
  	// Check if the device profile exists
  	dp, err := dbClient.GetDeviceProfileById(id)
  	if err != nil {
  		if err == db.ErrNotFound {
  			w.WriteHeader(http.StatusNotFound)
  			w.Write([]byte(nil))
  			return
  		} else {
  			http.Error(w, err.Error(), http.StatusInternalServerError)
  		}
  		LoggingClient.Error(err.Error())
  		return
  	}
  
  	// Marshal the device profile into YAML
  	out, err := yaml.Marshal(dp)
  	if err != nil {
  		http.Error(w, err.Error(), http.StatusInternalServerError)
  		LoggingClient.Error(err.Error())
  		return
  	}
  
  	w.WriteHeader(http.StatusOK)
  	w.Write(out)
  }
docs: /*
   * Implementation: https://groups.google.com/forum/#!topic/golang-nuts/EZHtFOXA8UE
   * Response:
   * 	- 200: database generated identifier for the new device profile
   *	- 400: YAML file is empty
   *	- 409: an associated command's name is a duplicate for the profile or if the name is determined to not be uniqe with regard to others
   * 	- 503: Server Error
   */