package outbound

import (
	"fmt"
	"io"

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

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

type DeleteOutboundCampaignReader struct {
	formats strfmt.Registry
}

func (o *DeleteOutboundCampaignReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
	switch response.Code() {
	case 200:
		result := NewDeleteOutboundCampaignOK()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return result, nil
	case 400:
		result := NewDeleteOutboundCampaignBadRequest()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 401:
		result := NewDeleteOutboundCampaignUnauthorized()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 403:
		result := NewDeleteOutboundCampaignForbidden()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 404:
		result := NewDeleteOutboundCampaignNotFound()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 408:
		result := NewDeleteOutboundCampaignRequestTimeout()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 413:
		result := NewDeleteOutboundCampaignRequestEntityTooLarge()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 415:
		result := NewDeleteOutboundCampaignUnsupportedMediaType()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 429:
		result := NewDeleteOutboundCampaignTooManyRequests()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 500:
		result := NewDeleteOutboundCampaignInternalServerError()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 503:
		result := NewDeleteOutboundCampaignServiceUnavailable()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 504:
		result := NewDeleteOutboundCampaignGatewayTimeout()
		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 NewDeleteOutboundCampaignOK() *DeleteOutboundCampaignOK {
	return &DeleteOutboundCampaignOK{}
}

type DeleteOutboundCampaignOK struct {
	Payload *models.Campaign
}

func (o *DeleteOutboundCampaignOK) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignOK  %+v", 200, o.Payload)
}

func (o *DeleteOutboundCampaignOK) GetPayload() *models.Campaign {
	return o.Payload
}

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

	o.Payload = new(models.Campaign)

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

	return nil
}

func NewDeleteOutboundCampaignBadRequest() *DeleteOutboundCampaignBadRequest {
	return &DeleteOutboundCampaignBadRequest{}
}

type DeleteOutboundCampaignBadRequest struct {
	Payload *models.ErrorBody
}

func (o *DeleteOutboundCampaignBadRequest) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignBadRequest  %+v", 400, o.Payload)
}

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

func (o *DeleteOutboundCampaignBadRequest) 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 NewDeleteOutboundCampaignUnauthorized() *DeleteOutboundCampaignUnauthorized {
	return &DeleteOutboundCampaignUnauthorized{}
}

type DeleteOutboundCampaignUnauthorized struct {
	Payload *models.ErrorBody
}

func (o *DeleteOutboundCampaignUnauthorized) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignUnauthorized  %+v", 401, o.Payload)
}

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

func (o *DeleteOutboundCampaignUnauthorized) 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 NewDeleteOutboundCampaignForbidden() *DeleteOutboundCampaignForbidden {
	return &DeleteOutboundCampaignForbidden{}
}

type DeleteOutboundCampaignForbidden struct {
	Payload *models.ErrorBody
}

func (o *DeleteOutboundCampaignForbidden) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignForbidden  %+v", 403, o.Payload)
}

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

func (o *DeleteOutboundCampaignForbidden) 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 NewDeleteOutboundCampaignNotFound() *DeleteOutboundCampaignNotFound {
	return &DeleteOutboundCampaignNotFound{}
}

type DeleteOutboundCampaignNotFound struct {
	Payload *models.ErrorBody
}

func (o *DeleteOutboundCampaignNotFound) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignNotFound  %+v", 404, o.Payload)
}

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

func (o *DeleteOutboundCampaignNotFound) 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 NewDeleteOutboundCampaignRequestTimeout() *DeleteOutboundCampaignRequestTimeout {
	return &DeleteOutboundCampaignRequestTimeout{}
}

type DeleteOutboundCampaignRequestTimeout struct {
	Payload *models.ErrorBody
}

func (o *DeleteOutboundCampaignRequestTimeout) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignRequestTimeout  %+v", 408, o.Payload)
}

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

func (o *DeleteOutboundCampaignRequestTimeout) 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 NewDeleteOutboundCampaignRequestEntityTooLarge() *DeleteOutboundCampaignRequestEntityTooLarge {
	return &DeleteOutboundCampaignRequestEntityTooLarge{}
}

type DeleteOutboundCampaignRequestEntityTooLarge struct {
	Payload *models.ErrorBody
}

func (o *DeleteOutboundCampaignRequestEntityTooLarge) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignRequestEntityTooLarge  %+v", 413, o.Payload)
}

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

func (o *DeleteOutboundCampaignRequestEntityTooLarge) 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 NewDeleteOutboundCampaignUnsupportedMediaType() *DeleteOutboundCampaignUnsupportedMediaType {
	return &DeleteOutboundCampaignUnsupportedMediaType{}
}

type DeleteOutboundCampaignUnsupportedMediaType struct {
	Payload *models.ErrorBody
}

func (o *DeleteOutboundCampaignUnsupportedMediaType) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignUnsupportedMediaType  %+v", 415, o.Payload)
}

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

func (o *DeleteOutboundCampaignUnsupportedMediaType) 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 NewDeleteOutboundCampaignTooManyRequests() *DeleteOutboundCampaignTooManyRequests {
	return &DeleteOutboundCampaignTooManyRequests{}
}

type DeleteOutboundCampaignTooManyRequests struct {
	Payload *models.ErrorBody
}

func (o *DeleteOutboundCampaignTooManyRequests) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignTooManyRequests  %+v", 429, o.Payload)
}

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

func (o *DeleteOutboundCampaignTooManyRequests) 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 NewDeleteOutboundCampaignInternalServerError() *DeleteOutboundCampaignInternalServerError {
	return &DeleteOutboundCampaignInternalServerError{}
}

type DeleteOutboundCampaignInternalServerError struct {
	Payload *models.ErrorBody
}

func (o *DeleteOutboundCampaignInternalServerError) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignInternalServerError  %+v", 500, o.Payload)
}

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

func (o *DeleteOutboundCampaignInternalServerError) 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 NewDeleteOutboundCampaignServiceUnavailable() *DeleteOutboundCampaignServiceUnavailable {
	return &DeleteOutboundCampaignServiceUnavailable{}
}

type DeleteOutboundCampaignServiceUnavailable struct {
	Payload *models.ErrorBody
}

func (o *DeleteOutboundCampaignServiceUnavailable) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignServiceUnavailable  %+v", 503, o.Payload)
}

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

func (o *DeleteOutboundCampaignServiceUnavailable) 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 NewDeleteOutboundCampaignGatewayTimeout() *DeleteOutboundCampaignGatewayTimeout {
	return &DeleteOutboundCampaignGatewayTimeout{}
}

type DeleteOutboundCampaignGatewayTimeout struct {
	Payload *models.ErrorBody
}

func (o *DeleteOutboundCampaignGatewayTimeout) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignGatewayTimeout  %+v", 504, o.Payload)
}

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

func (o *DeleteOutboundCampaignGatewayTimeout) 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 outbound

// 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"
)

// DeleteOutboundCampaignReader is a Reader for the DeleteOutboundCampaign structure.
type DeleteOutboundCampaignReader struct {
	formats strfmt.Registry
}

// ReadResponse reads a server response into the received o.
func (o *DeleteOutboundCampaignReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
	switch response.Code() {
	case 200:
		result := NewDeleteOutboundCampaignOK()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return result, nil
	case 400:
		result := NewDeleteOutboundCampaignBadRequest()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 401:
		result := NewDeleteOutboundCampaignUnauthorized()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 403:
		result := NewDeleteOutboundCampaignForbidden()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 404:
		result := NewDeleteOutboundCampaignNotFound()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 408:
		result := NewDeleteOutboundCampaignRequestTimeout()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 413:
		result := NewDeleteOutboundCampaignRequestEntityTooLarge()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 415:
		result := NewDeleteOutboundCampaignUnsupportedMediaType()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 429:
		result := NewDeleteOutboundCampaignTooManyRequests()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 500:
		result := NewDeleteOutboundCampaignInternalServerError()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 503:
		result := NewDeleteOutboundCampaignServiceUnavailable()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 504:
		result := NewDeleteOutboundCampaignGatewayTimeout()
		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())
	}
}

// NewDeleteOutboundCampaignOK creates a DeleteOutboundCampaignOK with default headers values
func NewDeleteOutboundCampaignOK() *DeleteOutboundCampaignOK {
	return &DeleteOutboundCampaignOK{}
}

/*DeleteOutboundCampaignOK handles this case with default header values.

successful operation
*/
type DeleteOutboundCampaignOK struct {
	Payload *models.Campaign
}

func (o *DeleteOutboundCampaignOK) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignOK  %+v", 200, o.Payload)
}

func (o *DeleteOutboundCampaignOK) GetPayload() *models.Campaign {
	return o.Payload
}

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

	o.Payload = new(models.Campaign)

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

	return nil
}

// NewDeleteOutboundCampaignBadRequest creates a DeleteOutboundCampaignBadRequest with default headers values
func NewDeleteOutboundCampaignBadRequest() *DeleteOutboundCampaignBadRequest {
	return &DeleteOutboundCampaignBadRequest{}
}

/*DeleteOutboundCampaignBadRequest handles this case with default header values.

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

func (o *DeleteOutboundCampaignBadRequest) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignBadRequest  %+v", 400, o.Payload)
}

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

func (o *DeleteOutboundCampaignBadRequest) 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
}

// NewDeleteOutboundCampaignUnauthorized creates a DeleteOutboundCampaignUnauthorized with default headers values
func NewDeleteOutboundCampaignUnauthorized() *DeleteOutboundCampaignUnauthorized {
	return &DeleteOutboundCampaignUnauthorized{}
}

/*DeleteOutboundCampaignUnauthorized handles this case with default header values.

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

func (o *DeleteOutboundCampaignUnauthorized) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignUnauthorized  %+v", 401, o.Payload)
}

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

func (o *DeleteOutboundCampaignUnauthorized) 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
}

// NewDeleteOutboundCampaignForbidden creates a DeleteOutboundCampaignForbidden with default headers values
func NewDeleteOutboundCampaignForbidden() *DeleteOutboundCampaignForbidden {
	return &DeleteOutboundCampaignForbidden{}
}

/*DeleteOutboundCampaignForbidden handles this case with default header values.

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

func (o *DeleteOutboundCampaignForbidden) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignForbidden  %+v", 403, o.Payload)
}

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

func (o *DeleteOutboundCampaignForbidden) 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
}

// NewDeleteOutboundCampaignNotFound creates a DeleteOutboundCampaignNotFound with default headers values
func NewDeleteOutboundCampaignNotFound() *DeleteOutboundCampaignNotFound {
	return &DeleteOutboundCampaignNotFound{}
}

/*DeleteOutboundCampaignNotFound handles this case with default header values.

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

func (o *DeleteOutboundCampaignNotFound) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignNotFound  %+v", 404, o.Payload)
}

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

func (o *DeleteOutboundCampaignNotFound) 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
}

// NewDeleteOutboundCampaignRequestTimeout creates a DeleteOutboundCampaignRequestTimeout with default headers values
func NewDeleteOutboundCampaignRequestTimeout() *DeleteOutboundCampaignRequestTimeout {
	return &DeleteOutboundCampaignRequestTimeout{}
}

/*DeleteOutboundCampaignRequestTimeout 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 DeleteOutboundCampaignRequestTimeout struct {
	Payload *models.ErrorBody
}

func (o *DeleteOutboundCampaignRequestTimeout) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignRequestTimeout  %+v", 408, o.Payload)
}

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

func (o *DeleteOutboundCampaignRequestTimeout) 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
}

// NewDeleteOutboundCampaignRequestEntityTooLarge creates a DeleteOutboundCampaignRequestEntityTooLarge with default headers values
func NewDeleteOutboundCampaignRequestEntityTooLarge() *DeleteOutboundCampaignRequestEntityTooLarge {
	return &DeleteOutboundCampaignRequestEntityTooLarge{}
}

/*DeleteOutboundCampaignRequestEntityTooLarge handles this case with default header values.

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

func (o *DeleteOutboundCampaignRequestEntityTooLarge) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignRequestEntityTooLarge  %+v", 413, o.Payload)
}

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

func (o *DeleteOutboundCampaignRequestEntityTooLarge) 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
}

// NewDeleteOutboundCampaignUnsupportedMediaType creates a DeleteOutboundCampaignUnsupportedMediaType with default headers values
func NewDeleteOutboundCampaignUnsupportedMediaType() *DeleteOutboundCampaignUnsupportedMediaType {
	return &DeleteOutboundCampaignUnsupportedMediaType{}
}

/*DeleteOutboundCampaignUnsupportedMediaType 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 DeleteOutboundCampaignUnsupportedMediaType struct {
	Payload *models.ErrorBody
}

func (o *DeleteOutboundCampaignUnsupportedMediaType) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignUnsupportedMediaType  %+v", 415, o.Payload)
}

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

func (o *DeleteOutboundCampaignUnsupportedMediaType) 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
}

// NewDeleteOutboundCampaignTooManyRequests creates a DeleteOutboundCampaignTooManyRequests with default headers values
func NewDeleteOutboundCampaignTooManyRequests() *DeleteOutboundCampaignTooManyRequests {
	return &DeleteOutboundCampaignTooManyRequests{}
}

/*DeleteOutboundCampaignTooManyRequests handles this case with default header values.

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

func (o *DeleteOutboundCampaignTooManyRequests) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignTooManyRequests  %+v", 429, o.Payload)
}

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

func (o *DeleteOutboundCampaignTooManyRequests) 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
}

// NewDeleteOutboundCampaignInternalServerError creates a DeleteOutboundCampaignInternalServerError with default headers values
func NewDeleteOutboundCampaignInternalServerError() *DeleteOutboundCampaignInternalServerError {
	return &DeleteOutboundCampaignInternalServerError{}
}

/*DeleteOutboundCampaignInternalServerError handles this case with default header values.

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

func (o *DeleteOutboundCampaignInternalServerError) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignInternalServerError  %+v", 500, o.Payload)
}

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

func (o *DeleteOutboundCampaignInternalServerError) 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
}

// NewDeleteOutboundCampaignServiceUnavailable creates a DeleteOutboundCampaignServiceUnavailable with default headers values
func NewDeleteOutboundCampaignServiceUnavailable() *DeleteOutboundCampaignServiceUnavailable {
	return &DeleteOutboundCampaignServiceUnavailable{}
}

/*DeleteOutboundCampaignServiceUnavailable handles this case with default header values.

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

func (o *DeleteOutboundCampaignServiceUnavailable) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignServiceUnavailable  %+v", 503, o.Payload)
}

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

func (o *DeleteOutboundCampaignServiceUnavailable) 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
}

// NewDeleteOutboundCampaignGatewayTimeout creates a DeleteOutboundCampaignGatewayTimeout with default headers values
func NewDeleteOutboundCampaignGatewayTimeout() *DeleteOutboundCampaignGatewayTimeout {
	return &DeleteOutboundCampaignGatewayTimeout{}
}

/*DeleteOutboundCampaignGatewayTimeout handles this case with default header values.

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

func (o *DeleteOutboundCampaignGatewayTimeout) Error() string {
	return fmt.Sprintf("[DELETE /api/v2/outbound/campaigns/{campaignId}][%d] deleteOutboundCampaignGatewayTimeout  %+v", 504, o.Payload)
}

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

func (o *DeleteOutboundCampaignGatewayTimeout) 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
}
