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

// Copyright Authors of Cilium
// SPDX-License-Identifier: Apache-2.0

package bgp

import (
	"net/http"

	"github.com/go-openapi/runtime"

	"github.com/cilium/cilium/api/v1/models"
)

// GetBgpRoutePoliciesOKCode is the HTTP code returned for type GetBgpRoutePoliciesOK
const GetBgpRoutePoliciesOKCode int = 200

/*
GetBgpRoutePoliciesOK Success

swagger:response getBgpRoutePoliciesOK
*/
type GetBgpRoutePoliciesOK struct {

	/*
	  In: Body
	*/
	Payload []*models.BgpRoutePolicy `json:"body,omitempty"`
}

// NewGetBgpRoutePoliciesOK creates GetBgpRoutePoliciesOK with default headers values
func NewGetBgpRoutePoliciesOK() *GetBgpRoutePoliciesOK {

	return &GetBgpRoutePoliciesOK{}
}

// WithPayload adds the payload to the get bgp route policies o k response
func (o *GetBgpRoutePoliciesOK) WithPayload(payload []*models.BgpRoutePolicy) *GetBgpRoutePoliciesOK {
	o.Payload = payload
	return o
}

// SetPayload sets the payload to the get bgp route policies o k response
func (o *GetBgpRoutePoliciesOK) SetPayload(payload []*models.BgpRoutePolicy) {
	o.Payload = payload
}

// WriteResponse to the client
func (o *GetBgpRoutePoliciesOK) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {

	rw.WriteHeader(200)
	payload := o.Payload
	if payload == nil {
		// return empty array
		payload = make([]*models.BgpRoutePolicy, 0, 50)
	}

	if err := producer.Produce(rw, payload); err != nil {
		panic(err) // let the recovery middleware deal with this
	}
}

// GetBgpRoutePoliciesInternalServerErrorCode is the HTTP code returned for type GetBgpRoutePoliciesInternalServerError
const GetBgpRoutePoliciesInternalServerErrorCode int = 500

/*
GetBgpRoutePoliciesInternalServerError Internal Server Error

swagger:response getBgpRoutePoliciesInternalServerError
*/
type GetBgpRoutePoliciesInternalServerError struct {

	/*
	  In: Body
	*/
	Payload models.Error `json:"body,omitempty"`
}

// NewGetBgpRoutePoliciesInternalServerError creates GetBgpRoutePoliciesInternalServerError with default headers values
func NewGetBgpRoutePoliciesInternalServerError() *GetBgpRoutePoliciesInternalServerError {

	return &GetBgpRoutePoliciesInternalServerError{}
}

// WithPayload adds the payload to the get bgp route policies internal server error response
func (o *GetBgpRoutePoliciesInternalServerError) WithPayload(payload models.Error) *GetBgpRoutePoliciesInternalServerError {
	o.Payload = payload
	return o
}

// SetPayload sets the payload to the get bgp route policies internal server error response
func (o *GetBgpRoutePoliciesInternalServerError) SetPayload(payload models.Error) {
	o.Payload = payload
}

// WriteResponse to the client
func (o *GetBgpRoutePoliciesInternalServerError) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {

	rw.WriteHeader(500)
	payload := o.Payload
	if err := producer.Produce(rw, payload); err != nil {
		panic(err) // let the recovery middleware deal with this
	}
}

// GetBgpRoutePoliciesDisabledCode is the HTTP code returned for type GetBgpRoutePoliciesDisabled
const GetBgpRoutePoliciesDisabledCode int = 501

/*
GetBgpRoutePoliciesDisabled BGP Control Plane disabled

swagger:response getBgpRoutePoliciesDisabled
*/
type GetBgpRoutePoliciesDisabled struct {

	/*
	  In: Body
	*/
	Payload models.Error `json:"body,omitempty"`
}

// NewGetBgpRoutePoliciesDisabled creates GetBgpRoutePoliciesDisabled with default headers values
func NewGetBgpRoutePoliciesDisabled() *GetBgpRoutePoliciesDisabled {

	return &GetBgpRoutePoliciesDisabled{}
}

// WithPayload adds the payload to the get bgp route policies disabled response
func (o *GetBgpRoutePoliciesDisabled) WithPayload(payload models.Error) *GetBgpRoutePoliciesDisabled {
	o.Payload = payload
	return o
}

// SetPayload sets the payload to the get bgp route policies disabled response
func (o *GetBgpRoutePoliciesDisabled) SetPayload(payload models.Error) {
	o.Payload = payload
}

// WriteResponse to the client
func (o *GetBgpRoutePoliciesDisabled) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {

	rw.WriteHeader(501)
	payload := o.Payload
	if err := producer.Produce(rw, payload); err != nil {
		panic(err) // let the recovery middleware deal with this
	}
}
