func NewPerformDeviceControlPoliciesActionDefault(code int) *PerformDeviceControlPoliciesActionDefault {
	return &PerformDeviceControlPoliciesActionDefault{
		_statusCode: code,
	}
}
NewPerformDeviceControlPoliciesActionDefault creates a PerformDeviceControlPoliciesActionDefault with default headers values
package device_control_policies
import (
	"fmt"
	"io"
	"github.com/go-openapi/errors"
	"github.com/go-openapi/runtime"
	"github.com/go-openapi/strfmt"
	"github.com/go-openapi/swag"
	"github.com/crowdstrike/gofalcon/falcon/models"
)
type PerformDeviceControlPoliciesActionReader struct {
	formats strfmt.Registry
}
func (o *PerformDeviceControlPoliciesActionReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
	switch response.Code() {
	case 200:
		result := NewPerformDeviceControlPoliciesActionOK()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return result, nil
	case 400:
		result := NewPerformDeviceControlPoliciesActionBadRequest()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 403:
		result := NewPerformDeviceControlPoliciesActionForbidden()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 404:
		result := NewPerformDeviceControlPoliciesActionNotFound()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 429:
		result := NewPerformDeviceControlPoliciesActionTooManyRequests()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	case 500:
		result := NewPerformDeviceControlPoliciesActionInternalServerError()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return nil, result
	default:
		result := NewPerformDeviceControlPoliciesActionDefault(response.Code())
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		if response.Code()/100 == 2 {
			return result, nil
		}
		return nil, result
	}
}
func NewPerformDeviceControlPoliciesActionOK() *PerformDeviceControlPoliciesActionOK {
	return &PerformDeviceControlPoliciesActionOK{}
}
type PerformDeviceControlPoliciesActionOK struct {
	XRateLimitLimit int64
	XRateLimitRemaining int64
	Payload *models.ResponsesDeviceControlPoliciesV1
}
func (o *PerformDeviceControlPoliciesActionOK) Error() string {
	return fmt.Sprintf("[POST /policy/entities/device-control-actions/v1][%d] performDeviceControlPoliciesActionOK  %+v", 200, o.Payload)
}
func (o *PerformDeviceControlPoliciesActionOK) GetPayload() *models.ResponsesDeviceControlPoliciesV1 {
	return o.Payload
}
func (o *PerformDeviceControlPoliciesActionOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
	hdrXRateLimitLimit := response.GetHeader("X-RateLimit-Limit")
	if hdrXRateLimitLimit != "" {
		valxRateLimitLimit, err := swag.ConvertInt64(hdrXRateLimitLimit)
		if err != nil {
			return errors.InvalidType("X-RateLimit-Limit", "header", "int64", hdrXRateLimitLimit)
		}
		o.XRateLimitLimit = valxRateLimitLimit
	}
	hdrXRateLimitRemaining := response.GetHeader("X-RateLimit-Remaining")
	if hdrXRateLimitRemaining != "" {
		valxRateLimitRemaining, err := swag.ConvertInt64(hdrXRateLimitRemaining)
		if err != nil {
			return errors.InvalidType("X-RateLimit-Remaining", "header", "int64", hdrXRateLimitRemaining)
		}
		o.XRateLimitRemaining = valxRateLimitRemaining
	}
	o.Payload = new(models.ResponsesDeviceControlPoliciesV1)
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}
	return nil
}
func NewPerformDeviceControlPoliciesActionBadRequest() *PerformDeviceControlPoliciesActionBadRequest {
	return &PerformDeviceControlPoliciesActionBadRequest{}
}
type PerformDeviceControlPoliciesActionBadRequest struct {
	XRateLimitLimit int64
	XRateLimitRemaining int64
	Payload *models.ResponsesDeviceControlPoliciesV1
}
func (o *PerformDeviceControlPoliciesActionBadRequest) Error() string {
	return fmt.Sprintf("[POST /policy/entities/device-control-actions/v1][%d] performDeviceControlPoliciesActionBadRequest  %+v", 400, o.Payload)
}
func (o *PerformDeviceControlPoliciesActionBadRequest) GetPayload() *models.ResponsesDeviceControlPoliciesV1 {
	return o.Payload
}
func (o *PerformDeviceControlPoliciesActionBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
	hdrXRateLimitLimit := response.GetHeader("X-RateLimit-Limit")
	if hdrXRateLimitLimit != "" {
		valxRateLimitLimit, err := swag.ConvertInt64(hdrXRateLimitLimit)
		if err != nil {
			return errors.InvalidType("X-RateLimit-Limit", "header", "int64", hdrXRateLimitLimit)
		}
		o.XRateLimitLimit = valxRateLimitLimit
	}
	hdrXRateLimitRemaining := response.GetHeader("X-RateLimit-Remaining")
	if hdrXRateLimitRemaining != "" {
		valxRateLimitRemaining, err := swag.ConvertInt64(hdrXRateLimitRemaining)
		if err != nil {
			return errors.InvalidType("X-RateLimit-Remaining", "header", "int64", hdrXRateLimitRemaining)
		}
		o.XRateLimitRemaining = valxRateLimitRemaining
	}
	o.Payload = new(models.ResponsesDeviceControlPoliciesV1)
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}
	return nil
}
func NewPerformDeviceControlPoliciesActionForbidden() *PerformDeviceControlPoliciesActionForbidden {
	return &PerformDeviceControlPoliciesActionForbidden{}
}
type PerformDeviceControlPoliciesActionForbidden struct {
	XRateLimitLimit int64
	XRateLimitRemaining int64
	Payload *models.MsaErrorsOnly
}
func (o *PerformDeviceControlPoliciesActionForbidden) Error() string {
	return fmt.Sprintf("[POST /policy/entities/device-control-actions/v1][%d] performDeviceControlPoliciesActionForbidden  %+v", 403, o.Payload)
}
func (o *PerformDeviceControlPoliciesActionForbidden) GetPayload() *models.MsaErrorsOnly {
	return o.Payload
}
func (o *PerformDeviceControlPoliciesActionForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
	hdrXRateLimitLimit := response.GetHeader("X-RateLimit-Limit")
	if hdrXRateLimitLimit != "" {
		valxRateLimitLimit, err := swag.ConvertInt64(hdrXRateLimitLimit)
		if err != nil {
			return errors.InvalidType("X-RateLimit-Limit", "header", "int64", hdrXRateLimitLimit)
		}
		o.XRateLimitLimit = valxRateLimitLimit
	}
	hdrXRateLimitRemaining := response.GetHeader("X-RateLimit-Remaining")
	if hdrXRateLimitRemaining != "" {
		valxRateLimitRemaining, err := swag.ConvertInt64(hdrXRateLimitRemaining)
		if err != nil {
			return errors.InvalidType("X-RateLimit-Remaining", "header", "int64", hdrXRateLimitRemaining)
		}
		o.XRateLimitRemaining = valxRateLimitRemaining
	}
	o.Payload = new(models.MsaErrorsOnly)
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}
	return nil
}
func NewPerformDeviceControlPoliciesActionNotFound() *PerformDeviceControlPoliciesActionNotFound {
	return &PerformDeviceControlPoliciesActionNotFound{}
}
type PerformDeviceControlPoliciesActionNotFound struct {
	XRateLimitLimit int64
	XRateLimitRemaining int64
	Payload *models.ResponsesDeviceControlPoliciesV1
}
func (o *PerformDeviceControlPoliciesActionNotFound) Error() string {
	return fmt.Sprintf("[POST /policy/entities/device-control-actions/v1][%d] performDeviceControlPoliciesActionNotFound  %+v", 404, o.Payload)
}
func (o *PerformDeviceControlPoliciesActionNotFound) GetPayload() *models.ResponsesDeviceControlPoliciesV1 {
	return o.Payload
}
func (o *PerformDeviceControlPoliciesActionNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
	hdrXRateLimitLimit := response.GetHeader("X-RateLimit-Limit")
	if hdrXRateLimitLimit != "" {
		valxRateLimitLimit, err := swag.ConvertInt64(hdrXRateLimitLimit)
		if err != nil {
			return errors.InvalidType("X-RateLimit-Limit", "header", "int64", hdrXRateLimitLimit)
		}
		o.XRateLimitLimit = valxRateLimitLimit
	}
	hdrXRateLimitRemaining := response.GetHeader("X-RateLimit-Remaining")
	if hdrXRateLimitRemaining != "" {
		valxRateLimitRemaining, err := swag.ConvertInt64(hdrXRateLimitRemaining)
		if err != nil {
			return errors.InvalidType("X-RateLimit-Remaining", "header", "int64", hdrXRateLimitRemaining)
		}
		o.XRateLimitRemaining = valxRateLimitRemaining
	}
	o.Payload = new(models.ResponsesDeviceControlPoliciesV1)
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}
	return nil
}
func NewPerformDeviceControlPoliciesActionTooManyRequests() *PerformDeviceControlPoliciesActionTooManyRequests {
	return &PerformDeviceControlPoliciesActionTooManyRequests{}
}
type PerformDeviceControlPoliciesActionTooManyRequests struct {
	XRateLimitLimit int64
	XRateLimitRemaining int64
	XRateLimitRetryAfter int64
	Payload *models.MsaReplyMetaOnly
}
func (o *PerformDeviceControlPoliciesActionTooManyRequests) Error() string {
	return fmt.Sprintf("[POST /policy/entities/device-control-actions/v1][%d] performDeviceControlPoliciesActionTooManyRequests  %+v", 429, o.Payload)
}
func (o *PerformDeviceControlPoliciesActionTooManyRequests) GetPayload() *models.MsaReplyMetaOnly {
	return o.Payload
}
func (o *PerformDeviceControlPoliciesActionTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
	hdrXRateLimitLimit := response.GetHeader("X-RateLimit-Limit")
	if hdrXRateLimitLimit != "" {
		valxRateLimitLimit, err := swag.ConvertInt64(hdrXRateLimitLimit)
		if err != nil {
			return errors.InvalidType("X-RateLimit-Limit", "header", "int64", hdrXRateLimitLimit)
		}
		o.XRateLimitLimit = valxRateLimitLimit
	}
	hdrXRateLimitRemaining := response.GetHeader("X-RateLimit-Remaining")
	if hdrXRateLimitRemaining != "" {
		valxRateLimitRemaining, err := swag.ConvertInt64(hdrXRateLimitRemaining)
		if err != nil {
			return errors.InvalidType("X-RateLimit-Remaining", "header", "int64", hdrXRateLimitRemaining)
		}
		o.XRateLimitRemaining = valxRateLimitRemaining
	}
	hdrXRateLimitRetryAfter := response.GetHeader("X-RateLimit-RetryAfter")
	if hdrXRateLimitRetryAfter != "" {
		valxRateLimitRetryAfter, err := swag.ConvertInt64(hdrXRateLimitRetryAfter)
		if err != nil {
			return errors.InvalidType("X-RateLimit-RetryAfter", "header", "int64", hdrXRateLimitRetryAfter)
		}
		o.XRateLimitRetryAfter = valxRateLimitRetryAfter
	}
	o.Payload = new(models.MsaReplyMetaOnly)
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}
	return nil
}
func NewPerformDeviceControlPoliciesActionInternalServerError() *PerformDeviceControlPoliciesActionInternalServerError {
	return &PerformDeviceControlPoliciesActionInternalServerError{}
}
type PerformDeviceControlPoliciesActionInternalServerError struct {
	XRateLimitLimit int64
	XRateLimitRemaining int64
	Payload *models.ResponsesDeviceControlPoliciesV1
}
func (o *PerformDeviceControlPoliciesActionInternalServerError) Error() string {
	return fmt.Sprintf("[POST /policy/entities/device-control-actions/v1][%d] performDeviceControlPoliciesActionInternalServerError  %+v", 500, o.Payload)
}
func (o *PerformDeviceControlPoliciesActionInternalServerError) GetPayload() *models.ResponsesDeviceControlPoliciesV1 {
	return o.Payload
}
func (o *PerformDeviceControlPoliciesActionInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
	hdrXRateLimitLimit := response.GetHeader("X-RateLimit-Limit")
	if hdrXRateLimitLimit != "" {
		valxRateLimitLimit, err := swag.ConvertInt64(hdrXRateLimitLimit)
		if err != nil {
			return errors.InvalidType("X-RateLimit-Limit", "header", "int64", hdrXRateLimitLimit)
		}
		o.XRateLimitLimit = valxRateLimitLimit
	}
	hdrXRateLimitRemaining := response.GetHeader("X-RateLimit-Remaining")
	if hdrXRateLimitRemaining != "" {
		valxRateLimitRemaining, err := swag.ConvertInt64(hdrXRateLimitRemaining)
		if err != nil {
			return errors.InvalidType("X-RateLimit-Remaining", "header", "int64", hdrXRateLimitRemaining)
		}
		o.XRateLimitRemaining = valxRateLimitRemaining
	}
	o.Payload = new(models.ResponsesDeviceControlPoliciesV1)
	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
		return err
	}
	return nil
}