package recording

import (
	"fmt"
	"io"

	"github.com/go-openapi/runtime"
	"github.com/go-openapi/strfmt"

	"github.com/freman/genesysapi/models"
)

type PostRecordingJobsReader struct {
	formats strfmt.Registry
}

func (o *PostRecordingJobsReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
	switch response.Code() {
	case 202:
		result := NewPostRecordingJobsAccepted()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return result, nil
	case 400:
		result := NewPostRecordingJobsBadRequest()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 401:
		result := NewPostRecordingJobsUnauthorized()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 403:
		result := NewPostRecordingJobsForbidden()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 404:
		result := NewPostRecordingJobsNotFound()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 408:
		result := NewPostRecordingJobsRequestTimeout()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 413:
		result := NewPostRecordingJobsRequestEntityTooLarge()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 415:
		result := NewPostRecordingJobsUnsupportedMediaType()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 429:
		result := NewPostRecordingJobsTooManyRequests()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 500:
		result := NewPostRecordingJobsInternalServerError()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 503:
		result := NewPostRecordingJobsServiceUnavailable()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 504:
		result := NewPostRecordingJobsGatewayTimeout()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result

	default:
		return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
	}
}

func NewPostRecordingJobsAccepted() *PostRecordingJobsAccepted {
	return &PostRecordingJobsAccepted{}
}

type PostRecordingJobsAccepted struct {
	Payload *models.RecordingJob
}

func (o *PostRecordingJobsAccepted) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsAccepted  %+v", 202, o.Payload)
}

func (o *PostRecordingJobsAccepted) GetPayload() *models.RecordingJob {
	return o.Payload
}

func (o *PostRecordingJobsAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.RecordingJob)

	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

func NewPostRecordingJobsBadRequest() *PostRecordingJobsBadRequest {
	return &PostRecordingJobsBadRequest{}
}

type PostRecordingJobsBadRequest struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsBadRequest) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsBadRequest  %+v", 400, o.Payload)
}

func (o *PostRecordingJobsBadRequest) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

func NewPostRecordingJobsUnauthorized() *PostRecordingJobsUnauthorized {
	return &PostRecordingJobsUnauthorized{}
}

type PostRecordingJobsUnauthorized struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsUnauthorized) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsUnauthorized  %+v", 401, o.Payload)
}

func (o *PostRecordingJobsUnauthorized) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

func NewPostRecordingJobsForbidden() *PostRecordingJobsForbidden {
	return &PostRecordingJobsForbidden{}
}

type PostRecordingJobsForbidden struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsForbidden) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsForbidden  %+v", 403, o.Payload)
}

func (o *PostRecordingJobsForbidden) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

func NewPostRecordingJobsNotFound() *PostRecordingJobsNotFound {
	return &PostRecordingJobsNotFound{}
}

type PostRecordingJobsNotFound struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsNotFound) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsNotFound  %+v", 404, o.Payload)
}

func (o *PostRecordingJobsNotFound) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

func NewPostRecordingJobsRequestTimeout() *PostRecordingJobsRequestTimeout {
	return &PostRecordingJobsRequestTimeout{}
}

type PostRecordingJobsRequestTimeout struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsRequestTimeout) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsRequestTimeout  %+v", 408, o.Payload)
}

func (o *PostRecordingJobsRequestTimeout) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsRequestTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

func NewPostRecordingJobsRequestEntityTooLarge() *PostRecordingJobsRequestEntityTooLarge {
	return &PostRecordingJobsRequestEntityTooLarge{}
}

type PostRecordingJobsRequestEntityTooLarge struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsRequestEntityTooLarge) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsRequestEntityTooLarge  %+v", 413, o.Payload)
}

func (o *PostRecordingJobsRequestEntityTooLarge) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsRequestEntityTooLarge) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

func NewPostRecordingJobsUnsupportedMediaType() *PostRecordingJobsUnsupportedMediaType {
	return &PostRecordingJobsUnsupportedMediaType{}
}

type PostRecordingJobsUnsupportedMediaType struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsUnsupportedMediaType) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsUnsupportedMediaType  %+v", 415, o.Payload)
}

func (o *PostRecordingJobsUnsupportedMediaType) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsUnsupportedMediaType) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

func NewPostRecordingJobsTooManyRequests() *PostRecordingJobsTooManyRequests {
	return &PostRecordingJobsTooManyRequests{}
}

type PostRecordingJobsTooManyRequests struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsTooManyRequests) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsTooManyRequests  %+v", 429, o.Payload)
}

func (o *PostRecordingJobsTooManyRequests) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

func NewPostRecordingJobsInternalServerError() *PostRecordingJobsInternalServerError {
	return &PostRecordingJobsInternalServerError{}
}

type PostRecordingJobsInternalServerError struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsInternalServerError) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsInternalServerError  %+v", 500, o.Payload)
}

func (o *PostRecordingJobsInternalServerError) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

func NewPostRecordingJobsServiceUnavailable() *PostRecordingJobsServiceUnavailable {
	return &PostRecordingJobsServiceUnavailable{}
}

type PostRecordingJobsServiceUnavailable struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsServiceUnavailable) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsServiceUnavailable  %+v", 503, o.Payload)
}

func (o *PostRecordingJobsServiceUnavailable) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsServiceUnavailable) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

func NewPostRecordingJobsGatewayTimeout() *PostRecordingJobsGatewayTimeout {
	return &PostRecordingJobsGatewayTimeout{}
}

type PostRecordingJobsGatewayTimeout struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsGatewayTimeout) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsGatewayTimeout  %+v", 504, o.Payload)
}

func (o *PostRecordingJobsGatewayTimeout) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}
// Code generated by go-swagger; DO NOT EDIT.

package recording

// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command

import (
	"fmt"
	"io"

	"github.com/go-openapi/runtime"
	"github.com/go-openapi/strfmt"

	"github.com/freman/genesysapi/models"
)

// PostRecordingJobsReader is a Reader for the PostRecordingJobs structure.
type PostRecordingJobsReader struct {
	formats strfmt.Registry
}

// ReadResponse reads a server response into the received o.
func (o *PostRecordingJobsReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
	switch response.Code() {
	case 202:
		result := NewPostRecordingJobsAccepted()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return result, nil
	case 400:
		result := NewPostRecordingJobsBadRequest()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 401:
		result := NewPostRecordingJobsUnauthorized()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 403:
		result := NewPostRecordingJobsForbidden()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 404:
		result := NewPostRecordingJobsNotFound()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 408:
		result := NewPostRecordingJobsRequestTimeout()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 413:
		result := NewPostRecordingJobsRequestEntityTooLarge()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 415:
		result := NewPostRecordingJobsUnsupportedMediaType()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 429:
		result := NewPostRecordingJobsTooManyRequests()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 500:
		result := NewPostRecordingJobsInternalServerError()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 503:
		result := NewPostRecordingJobsServiceUnavailable()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 504:
		result := NewPostRecordingJobsGatewayTimeout()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result

	default:
		return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
	}
}

// NewPostRecordingJobsAccepted creates a PostRecordingJobsAccepted with default headers values
func NewPostRecordingJobsAccepted() *PostRecordingJobsAccepted {
	return &PostRecordingJobsAccepted{}
}

/*PostRecordingJobsAccepted handles this case with default header values.

Accepted - Running query asynchronously
*/
type PostRecordingJobsAccepted struct {
	Payload *models.RecordingJob
}

func (o *PostRecordingJobsAccepted) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsAccepted  %+v", 202, o.Payload)
}

func (o *PostRecordingJobsAccepted) GetPayload() *models.RecordingJob {
	return o.Payload
}

func (o *PostRecordingJobsAccepted) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.RecordingJob)

	// response payload
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

// NewPostRecordingJobsBadRequest creates a PostRecordingJobsBadRequest with default headers values
func NewPostRecordingJobsBadRequest() *PostRecordingJobsBadRequest {
	return &PostRecordingJobsBadRequest{}
}

/*PostRecordingJobsBadRequest handles this case with default header values.

The request could not be understood by the server due to malformed syntax.
*/
type PostRecordingJobsBadRequest struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsBadRequest) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsBadRequest  %+v", 400, o.Payload)
}

func (o *PostRecordingJobsBadRequest) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	// response payload
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

// NewPostRecordingJobsUnauthorized creates a PostRecordingJobsUnauthorized with default headers values
func NewPostRecordingJobsUnauthorized() *PostRecordingJobsUnauthorized {
	return &PostRecordingJobsUnauthorized{}
}

/*PostRecordingJobsUnauthorized handles this case with default header values.

No authentication bearer token specified in authorization header.
*/
type PostRecordingJobsUnauthorized struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsUnauthorized) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsUnauthorized  %+v", 401, o.Payload)
}

func (o *PostRecordingJobsUnauthorized) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	// response payload
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

// NewPostRecordingJobsForbidden creates a PostRecordingJobsForbidden with default headers values
func NewPostRecordingJobsForbidden() *PostRecordingJobsForbidden {
	return &PostRecordingJobsForbidden{}
}

/*PostRecordingJobsForbidden handles this case with default header values.

You are not authorized to perform the requested action.
*/
type PostRecordingJobsForbidden struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsForbidden) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsForbidden  %+v", 403, o.Payload)
}

func (o *PostRecordingJobsForbidden) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	// response payload
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

// NewPostRecordingJobsNotFound creates a PostRecordingJobsNotFound with default headers values
func NewPostRecordingJobsNotFound() *PostRecordingJobsNotFound {
	return &PostRecordingJobsNotFound{}
}

/*PostRecordingJobsNotFound handles this case with default header values.

The requested resource was not found.
*/
type PostRecordingJobsNotFound struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsNotFound) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsNotFound  %+v", 404, o.Payload)
}

func (o *PostRecordingJobsNotFound) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	// response payload
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

// NewPostRecordingJobsRequestTimeout creates a PostRecordingJobsRequestTimeout with default headers values
func NewPostRecordingJobsRequestTimeout() *PostRecordingJobsRequestTimeout {
	return &PostRecordingJobsRequestTimeout{}
}

/*PostRecordingJobsRequestTimeout handles this case with default header values.

The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
*/
type PostRecordingJobsRequestTimeout struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsRequestTimeout) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsRequestTimeout  %+v", 408, o.Payload)
}

func (o *PostRecordingJobsRequestTimeout) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsRequestTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	// response payload
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

// NewPostRecordingJobsRequestEntityTooLarge creates a PostRecordingJobsRequestEntityTooLarge with default headers values
func NewPostRecordingJobsRequestEntityTooLarge() *PostRecordingJobsRequestEntityTooLarge {
	return &PostRecordingJobsRequestEntityTooLarge{}
}

/*PostRecordingJobsRequestEntityTooLarge handles this case with default header values.

The request is over the size limit. Content-Length: %s
*/
type PostRecordingJobsRequestEntityTooLarge struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsRequestEntityTooLarge) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsRequestEntityTooLarge  %+v", 413, o.Payload)
}

func (o *PostRecordingJobsRequestEntityTooLarge) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsRequestEntityTooLarge) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	// response payload
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

// NewPostRecordingJobsUnsupportedMediaType creates a PostRecordingJobsUnsupportedMediaType with default headers values
func NewPostRecordingJobsUnsupportedMediaType() *PostRecordingJobsUnsupportedMediaType {
	return &PostRecordingJobsUnsupportedMediaType{}
}

/*PostRecordingJobsUnsupportedMediaType handles this case with default header values.

Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
*/
type PostRecordingJobsUnsupportedMediaType struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsUnsupportedMediaType) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsUnsupportedMediaType  %+v", 415, o.Payload)
}

func (o *PostRecordingJobsUnsupportedMediaType) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsUnsupportedMediaType) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	// response payload
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

// NewPostRecordingJobsTooManyRequests creates a PostRecordingJobsTooManyRequests with default headers values
func NewPostRecordingJobsTooManyRequests() *PostRecordingJobsTooManyRequests {
	return &PostRecordingJobsTooManyRequests{}
}

/*PostRecordingJobsTooManyRequests handles this case with default header values.

Rate limit exceeded the maximum. Retry the request in [%s] seconds
*/
type PostRecordingJobsTooManyRequests struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsTooManyRequests) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsTooManyRequests  %+v", 429, o.Payload)
}

func (o *PostRecordingJobsTooManyRequests) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	// response payload
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

// NewPostRecordingJobsInternalServerError creates a PostRecordingJobsInternalServerError with default headers values
func NewPostRecordingJobsInternalServerError() *PostRecordingJobsInternalServerError {
	return &PostRecordingJobsInternalServerError{}
}

/*PostRecordingJobsInternalServerError handles this case with default header values.

The server encountered an unexpected condition which prevented it from fulfilling the request.
*/
type PostRecordingJobsInternalServerError struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsInternalServerError) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsInternalServerError  %+v", 500, o.Payload)
}

func (o *PostRecordingJobsInternalServerError) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	// response payload
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

// NewPostRecordingJobsServiceUnavailable creates a PostRecordingJobsServiceUnavailable with default headers values
func NewPostRecordingJobsServiceUnavailable() *PostRecordingJobsServiceUnavailable {
	return &PostRecordingJobsServiceUnavailable{}
}

/*PostRecordingJobsServiceUnavailable handles this case with default header values.

Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
*/
type PostRecordingJobsServiceUnavailable struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsServiceUnavailable) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsServiceUnavailable  %+v", 503, o.Payload)
}

func (o *PostRecordingJobsServiceUnavailable) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsServiceUnavailable) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	// response payload
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}

// NewPostRecordingJobsGatewayTimeout creates a PostRecordingJobsGatewayTimeout with default headers values
func NewPostRecordingJobsGatewayTimeout() *PostRecordingJobsGatewayTimeout {
	return &PostRecordingJobsGatewayTimeout{}
}

/*PostRecordingJobsGatewayTimeout handles this case with default header values.

The request timed out.
*/
type PostRecordingJobsGatewayTimeout struct {
	Payload *models.ErrorBody
}

func (o *PostRecordingJobsGatewayTimeout) Error() string {
	return fmt.Sprintf("[POST /api/v2/recording/jobs][%d] postRecordingJobsGatewayTimeout  %+v", 504, o.Payload)
}

func (o *PostRecordingJobsGatewayTimeout) GetPayload() *models.ErrorBody {
	return o.Payload
}

func (o *PostRecordingJobsGatewayTimeout) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {

	o.Payload = new(models.ErrorBody)

	// response payload
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}

	return nil
}
