code: func (s *ServiceOp) GetClusterCosts(ctx context.Context, input *ClusterCostInput) (*ClusterCostOutput, error) {
  	path, err := uritemplates.Expand("/mcs/kubernetes/cluster/{clusterIdentifier}/costs", uritemplates.Values{
  		"clusterIdentifier": spotinst.StringValue(input.ClusterID),
  	})
  	if err != nil {
  		return nil, err
  	}
  
  	r := client.NewRequest(http.MethodGet, path)
  
  	if input.ToDate != nil {
  		r.Params.Set("toDate", *input.ToDate)
  	}
  	if input.FromDate != nil {
  		r.Params.Set("fromDate", *input.FromDate)
  	}
  	r.Obj = input
  
  	resp, err := client.RequireOK(s.Client.Do(ctx, r))
  	if err != nil {
  		return nil, err
  	}
  	defer resp.Body.Close()
  
  	costs, err := clusterCostsFromHttpResponse(resp)
  	if err != nil {
  		return nil, err
  	}
  
  	return &ClusterCostOutput{costs}, nil
  }
docs: // GetClusterCosts accepts kubernetes clusterId, fromDate, and toDate and returns a list of costs.
  // Dates may be in the format of yyyy-mm-dd or Unix Timestamp (1494751821472)