func (a *ObjectivesApiService) GetREDRequests(ctx _context.Context) ApiGetREDRequestsRequest {
	return ApiGetREDRequestsRequest{
		ApiService: a,
		ctx:        ctx,
	}
}
/*
GetREDRequests Get a matrix of requests by label
@param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return ApiGetREDRequestsRequest
package openapi
import (
	"bytes"
	_context "context"
	_ioutil "io/ioutil"
	_nethttp "net/http"
	_neturl "net/url"
)
var (
	_ _context.Context
)
type ObjectivesApiService service
type ApiGetMultiBurnrateAlertsRequest struct {
	ctx        _context.Context
	ApiService *ObjectivesApiService
	expr       *string
}
func (r ApiGetMultiBurnrateAlertsRequest) Expr(expr string) ApiGetMultiBurnrateAlertsRequest {
	r.expr = &expr
	return r
}
func (r ApiGetMultiBurnrateAlertsRequest) Execute() ([]MultiBurnrateAlert, *_nethttp.Response, error) {
	return r.ApiService.GetMultiBurnrateAlertsExecute(r)
}
func (a *ObjectivesApiService) GetMultiBurnrateAlerts(ctx _context.Context) ApiGetMultiBurnrateAlertsRequest {
	return ApiGetMultiBurnrateAlertsRequest{
		ApiService: a,
		ctx:        ctx,
	}
}
func (a *ObjectivesApiService) GetMultiBurnrateAlertsExecute(r ApiGetMultiBurnrateAlertsRequest) ([]MultiBurnrateAlert, *_nethttp.Response, error) {
	var (
		localVarHTTPMethod   = _nethttp.MethodGet
		localVarPostBody     interface{}
		localVarFormFileName string
		localVarFileName     string
		localVarFileBytes    []byte
		localVarReturnValue  []MultiBurnrateAlert
	)
	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ObjectivesApiService.GetMultiBurnrateAlerts")
	if err != nil {
		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
	}
	localVarPath := localBasePath + "/objectives/alerts"
	localVarHeaderParams := make(map[string]string)
	localVarQueryParams := _neturl.Values{}
	localVarFormParams := _neturl.Values{}
	if r.expr == nil {
		return localVarReturnValue, nil, reportError("expr is required and must be specified")
	}
	localVarQueryParams.Add("expr", parameterToString(*r.expr, ""))
	localVarHTTPContentTypes := []string{}
	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
	if localVarHTTPContentType != "" {
		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
	}
	localVarHTTPHeaderAccepts := []string{"application/json"}
	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
	if localVarHTTPHeaderAccept != "" {
		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
	}
	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
	if err != nil {
		return localVarReturnValue, nil, err
	}
	localVarHTTPResponse, err := a.client.callAPI(req)
	if err != nil || localVarHTTPResponse == nil {
		return localVarReturnValue, localVarHTTPResponse, err
	}
	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
	localVarHTTPResponse.Body.Close()
	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
	if err != nil {
		return localVarReturnValue, localVarHTTPResponse, err
	}
	if localVarHTTPResponse.StatusCode >= 300 {
		newErr := GenericOpenAPIError{
			body:  localVarBody,
			error: localVarHTTPResponse.Status,
		}
		return localVarReturnValue, localVarHTTPResponse, newErr
	}
	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
	if err != nil {
		newErr := GenericOpenAPIError{
			body:  localVarBody,
			error: err.Error(),
		}
		return localVarReturnValue, localVarHTTPResponse, newErr
	}
	return localVarReturnValue, localVarHTTPResponse, nil
}
type ApiGetObjectiveErrorBudgetRequest struct {
	ctx        _context.Context
	ApiService *ObjectivesApiService
	expr       *string
	start      *int32
	end        *int32
}
func (r ApiGetObjectiveErrorBudgetRequest) Expr(expr string) ApiGetObjectiveErrorBudgetRequest {
	r.expr = &expr
	return r
}
func (r ApiGetObjectiveErrorBudgetRequest) Start(start int32) ApiGetObjectiveErrorBudgetRequest {
	r.start = &start
	return r
}
func (r ApiGetObjectiveErrorBudgetRequest) End(end int32) ApiGetObjectiveErrorBudgetRequest {
	r.end = &end
	return r
}
func (r ApiGetObjectiveErrorBudgetRequest) Execute() (QueryRange, *_nethttp.Response, error) {
	return r.ApiService.GetObjectiveErrorBudgetExecute(r)
}
func (a *ObjectivesApiService) GetObjectiveErrorBudget(ctx _context.Context) ApiGetObjectiveErrorBudgetRequest {
	return ApiGetObjectiveErrorBudgetRequest{
		ApiService: a,
		ctx:        ctx,
	}
}
func (a *ObjectivesApiService) GetObjectiveErrorBudgetExecute(r ApiGetObjectiveErrorBudgetRequest) (QueryRange, *_nethttp.Response, error) {
	var (
		localVarHTTPMethod   = _nethttp.MethodGet
		localVarPostBody     interface{}
		localVarFormFileName string
		localVarFileName     string
		localVarFileBytes    []byte
		localVarReturnValue  QueryRange
	)
	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ObjectivesApiService.GetObjectiveErrorBudget")
	if err != nil {
		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
	}
	localVarPath := localBasePath + "/objectives/errorbudget"
	localVarHeaderParams := make(map[string]string)
	localVarQueryParams := _neturl.Values{}
	localVarFormParams := _neturl.Values{}
	if r.expr == nil {
		return localVarReturnValue, nil, reportError("expr is required and must be specified")
	}
	localVarQueryParams.Add("expr", parameterToString(*r.expr, ""))
	if r.start != nil {
		localVarQueryParams.Add("start", parameterToString(*r.start, ""))
	}
	if r.end != nil {
		localVarQueryParams.Add("end", parameterToString(*r.end, ""))
	}
	localVarHTTPContentTypes := []string{}
	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
	if localVarHTTPContentType != "" {
		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
	}
	localVarHTTPHeaderAccepts := []string{"application/json"}
	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
	if localVarHTTPHeaderAccept != "" {
		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
	}
	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
	if err != nil {
		return localVarReturnValue, nil, err
	}
	localVarHTTPResponse, err := a.client.callAPI(req)
	if err != nil || localVarHTTPResponse == nil {
		return localVarReturnValue, localVarHTTPResponse, err
	}
	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
	localVarHTTPResponse.Body.Close()
	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
	if err != nil {
		return localVarReturnValue, localVarHTTPResponse, err
	}
	if localVarHTTPResponse.StatusCode >= 300 {
		newErr := GenericOpenAPIError{
			body:  localVarBody,
			error: localVarHTTPResponse.Status,
		}
		return localVarReturnValue, localVarHTTPResponse, newErr
	}
	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
	if err != nil {
		newErr := GenericOpenAPIError{
			body:  localVarBody,
			error: err.Error(),
		}
		return localVarReturnValue, localVarHTTPResponse, newErr
	}
	return localVarReturnValue, localVarHTTPResponse, nil
}
type ApiGetObjectiveStatusRequest struct {
	ctx        _context.Context
	ApiService *ObjectivesApiService
	expr       *string
}
func (r ApiGetObjectiveStatusRequest) Expr(expr string) ApiGetObjectiveStatusRequest {
	r.expr = &expr
	return r
}
func (r ApiGetObjectiveStatusRequest) Execute() (ObjectiveStatus, *_nethttp.Response, error) {
	return r.ApiService.GetObjectiveStatusExecute(r)
}
func (a *ObjectivesApiService) GetObjectiveStatus(ctx _context.Context) ApiGetObjectiveStatusRequest {
	return ApiGetObjectiveStatusRequest{
		ApiService: a,
		ctx:        ctx,
	}
}
func (a *ObjectivesApiService) GetObjectiveStatusExecute(r ApiGetObjectiveStatusRequest) (ObjectiveStatus, *_nethttp.Response, error) {
	var (
		localVarHTTPMethod   = _nethttp.MethodGet
		localVarPostBody     interface{}
		localVarFormFileName string
		localVarFileName     string
		localVarFileBytes    []byte
		localVarReturnValue  ObjectiveStatus
	)
	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ObjectivesApiService.GetObjectiveStatus")
	if err != nil {
		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
	}
	localVarPath := localBasePath + "/objectives/status"
	localVarHeaderParams := make(map[string]string)
	localVarQueryParams := _neturl.Values{}
	localVarFormParams := _neturl.Values{}
	if r.expr == nil {
		return localVarReturnValue, nil, reportError("expr is required and must be specified")
	}
	localVarQueryParams.Add("expr", parameterToString(*r.expr, ""))
	localVarHTTPContentTypes := []string{}
	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
	if localVarHTTPContentType != "" {
		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
	}
	localVarHTTPHeaderAccepts := []string{"application/json"}
	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
	if localVarHTTPHeaderAccept != "" {
		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
	}
	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
	if err != nil {
		return localVarReturnValue, nil, err
	}
	localVarHTTPResponse, err := a.client.callAPI(req)
	if err != nil || localVarHTTPResponse == nil {
		return localVarReturnValue, localVarHTTPResponse, err
	}
	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
	localVarHTTPResponse.Body.Close()
	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
	if err != nil {
		return localVarReturnValue, localVarHTTPResponse, err
	}
	if localVarHTTPResponse.StatusCode >= 300 {
		newErr := GenericOpenAPIError{
			body:  localVarBody,
			error: localVarHTTPResponse.Status,
		}
		return localVarReturnValue, localVarHTTPResponse, newErr
	}
	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
	if err != nil {
		newErr := GenericOpenAPIError{
			body:  localVarBody,
			error: err.Error(),
		}
		return localVarReturnValue, localVarHTTPResponse, newErr
	}
	return localVarReturnValue, localVarHTTPResponse, nil
}
type ApiGetREDErrorsRequest struct {
	ctx        _context.Context
	ApiService *ObjectivesApiService
	expr       *string
	start      *int32
	end        *int32
}
func (r ApiGetREDErrorsRequest) Expr(expr string) ApiGetREDErrorsRequest {
	r.expr = &expr
	return r
}
func (r ApiGetREDErrorsRequest) Start(start int32) ApiGetREDErrorsRequest {
	r.start = &start
	return r
}
func (r ApiGetREDErrorsRequest) End(end int32) ApiGetREDErrorsRequest {
	r.end = &end
	return r
}
func (r ApiGetREDErrorsRequest) Execute() (QueryRange, *_nethttp.Response, error) {
	return r.ApiService.GetREDErrorsExecute(r)
}
func (a *ObjectivesApiService) GetREDErrors(ctx _context.Context) ApiGetREDErrorsRequest {
	return ApiGetREDErrorsRequest{
		ApiService: a,
		ctx:        ctx,
	}
}
func (a *ObjectivesApiService) GetREDErrorsExecute(r ApiGetREDErrorsRequest) (QueryRange, *_nethttp.Response, error) {
	var (
		localVarHTTPMethod   = _nethttp.MethodGet
		localVarPostBody     interface{}
		localVarFormFileName string
		localVarFileName     string
		localVarFileBytes    []byte
		localVarReturnValue  QueryRange
	)
	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ObjectivesApiService.GetREDErrors")
	if err != nil {
		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
	}
	localVarPath := localBasePath + "/objectives/red/errors"
	localVarHeaderParams := make(map[string]string)
	localVarQueryParams := _neturl.Values{}
	localVarFormParams := _neturl.Values{}
	if r.expr == nil {
		return localVarReturnValue, nil, reportError("expr is required and must be specified")
	}
	localVarQueryParams.Add("expr", parameterToString(*r.expr, ""))
	if r.start != nil {
		localVarQueryParams.Add("start", parameterToString(*r.start, ""))
	}
	if r.end != nil {
		localVarQueryParams.Add("end", parameterToString(*r.end, ""))
	}
	localVarHTTPContentTypes := []string{}
	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
	if localVarHTTPContentType != "" {
		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
	}
	localVarHTTPHeaderAccepts := []string{"application/json"}
	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
	if localVarHTTPHeaderAccept != "" {
		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
	}
	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
	if err != nil {
		return localVarReturnValue, nil, err
	}
	localVarHTTPResponse, err := a.client.callAPI(req)
	if err != nil || localVarHTTPResponse == nil {
		return localVarReturnValue, localVarHTTPResponse, err
	}
	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
	localVarHTTPResponse.Body.Close()
	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
	if err != nil {
		return localVarReturnValue, localVarHTTPResponse, err
	}
	if localVarHTTPResponse.StatusCode >= 300 {
		newErr := GenericOpenAPIError{
			body:  localVarBody,
			error: localVarHTTPResponse.Status,
		}
		return localVarReturnValue, localVarHTTPResponse, newErr
	}
	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
	if err != nil {
		newErr := GenericOpenAPIError{
			body:  localVarBody,
			error: err.Error(),
		}
		return localVarReturnValue, localVarHTTPResponse, newErr
	}
	return localVarReturnValue, localVarHTTPResponse, nil
}
type ApiGetREDRequestsRequest struct {
	ctx        _context.Context
	ApiService *ObjectivesApiService
	expr       *string
	start      *int32
	end        *int32
}
func (r ApiGetREDRequestsRequest) Expr(expr string) ApiGetREDRequestsRequest {
	r.expr = &expr
	return r
}
func (r ApiGetREDRequestsRequest) Start(start int32) ApiGetREDRequestsRequest {
	r.start = &start
	return r
}
func (r ApiGetREDRequestsRequest) End(end int32) ApiGetREDRequestsRequest {
	r.end = &end
	return r
}
func (r ApiGetREDRequestsRequest) Execute() (QueryRange, *_nethttp.Response, error) {
	return r.ApiService.GetREDRequestsExecute(r)
}