code: func (a *API) UpdateMetricCluster(cfg *MetricCluster) (*MetricCluster, error) {
  	if cfg == nil {
  		return nil, fmt.Errorf("Invalid metric cluster config [nil]")
  	}
  
  	clusterCID := string(cfg.CID)
  
  	matched, err := regexp.MatchString(config.MetricClusterCIDRegex, clusterCID)
  	if err != nil {
  		return nil, err
  	}
  	if !matched {
  		return nil, fmt.Errorf("Invalid metric cluster CID [%s]", clusterCID)
  	}
  
  	jsonCfg, err := json.Marshal(cfg)
  	if err != nil {
  		return nil, err
  	}
  
  	if a.Debug {
  		a.Log.Printf("[DEBUG] update metric cluster, sending JSON: %s", string(jsonCfg))
  	}
  
  	result, err := a.Put(clusterCID, jsonCfg)
  	if err != nil {
  		return nil, err
  	}
  
  	cluster := &MetricCluster{}
  	if err := json.Unmarshal(result, cluster); err != nil {
  		return nil, err
  	}
  
  	return cluster, nil
  }
docs: // UpdateMetricCluster updates passed metric cluster.