func NewGetPluginsForbidden() *GetPluginsForbidden {
	return &GetPluginsForbidden{}
}
NewGetPluginsForbidden creates a GetPluginsForbidden with default headers values
package plugin
import (
	"fmt"
	"io"
	"github.com/go-openapi/runtime"
	strfmt "github.com/go-openapi/strfmt"
	models "github.com/gotify/go-api-client/v2/models"
)
type GetPluginsReader struct {
	formats strfmt.Registry
}
func (o *GetPluginsReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
	switch response.Code() {
	case 200:
		result := NewGetPluginsOK()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return result, nil
	case 401:
		result := NewGetPluginsUnauthorized()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 403:
		result := NewGetPluginsForbidden()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 404:
		result := NewGetPluginsNotFound()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 500:
		result := NewGetPluginsInternalServerError()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	default:
		return nil, runtime.NewAPIError("unknown error", response, response.Code())
	}
}
func NewGetPluginsOK() *GetPluginsOK {
	return &GetPluginsOK{}
}
type GetPluginsOK struct {
	Payload []*models.PluginConfExternal
}
func (o *GetPluginsOK) Error() string {
	return fmt.Sprintf("[GET /plugin][%d] getPluginsOK  %+v", 200, o.Payload)
}
func (o *GetPluginsOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
	if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF {
		return err
	}
	return nil
}
func NewGetPluginsUnauthorized() *GetPluginsUnauthorized {
	return &GetPluginsUnauthorized{}
}
type GetPluginsUnauthorized struct {
	Payload *models.Error
}
func (o *GetPluginsUnauthorized) Error() string {
	return fmt.Sprintf("[GET /plugin][%d] getPluginsUnauthorized  %+v", 401, o.Payload)
}
func (o *GetPluginsUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
	o.Payload = new(models.Error)
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}
	return nil
}