code: func (s *Server) CreatePrinter(info *PrinterInfo) (*Printer, error) {
  	var mr multipartRequest
  	mr.init()
  	mr.WriteField("printer", info.Name)
  	w, _ := mr.CreateFormFile("capabilities", "capabilities")
  	cap := info.Capabilities
  	if cap == nil {
  		cap = []byte(defaultPPD)
  	}
  	w.Write(cap)
  
  	var resp registerResponse
  	if err := jsonRPC(&s.auth, "POST", cloudprintURL+"/register", &mr, &resp); err != nil {
  		return nil, fmt.Errorf("CreatePrinter: %v", err)
  	}
  	if len(resp.Printers) != 1 {
  		return nil, fmt.Errorf("CreatePrinter: server did not create printer")
  	}
  
  	return resp.Printers[0].Printer(), nil
  }
docs: // CreatePrinter creates a new printer.
  // The server must be associated with a real Google account, meaning that
  // it must have been created using NewServer with an auth returned by UserAuth.
  // (Servers created using the auth returned by creating an open printer
  // are limited to that one printer.)