/*
Portions Copyright (c) Microsoft Corporation.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by go-swagger; DO NOT EDIT.

package operations

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

import (
	"encoding/json"
	"fmt"
	"io"

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

	"github.com/Azure/karpenter-provider-azure/pkg/provisionclients/models"
)

// NodeBootstrappingGetReader is a Reader for the NodeBootstrappingGet structure.
type NodeBootstrappingGetReader struct {
	formats strfmt.Registry
}

// ReadResponse reads a server response into the received o.
func (o *NodeBootstrappingGetReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
	switch response.Code() {
	case 200:
		result := NewNodeBootstrappingGetOK()
		if err := result.readResponse(response, consumer, o.formats); err != nil {
			return nil, err
		}
		return result, nil
	default:
		result := NewNodeBootstrappingGetDefault(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
	}
}

// NewNodeBootstrappingGetOK creates a NodeBootstrappingGetOK with default headers values
func NewNodeBootstrappingGetOK() *NodeBootstrappingGetOK {
	return &NodeBootstrappingGetOK{}
}

/*
NodeBootstrappingGetOK describes a response with status code 200, with default header values.

OK
*/
type NodeBootstrappingGetOK struct {
	Payload *models.NodeBootstrapping
}

// IsSuccess returns true when this node bootstrapping get o k response has a 2xx status code
func (o *NodeBootstrappingGetOK) IsSuccess() bool {
	return true
}

// IsRedirect returns true when this node bootstrapping get o k response has a 3xx status code
func (o *NodeBootstrappingGetOK) IsRedirect() bool {
	return false
}

// IsClientError returns true when this node bootstrapping get o k response has a 4xx status code
func (o *NodeBootstrappingGetOK) IsClientError() bool {
	return false
}

// IsServerError returns true when this node bootstrapping get o k response has a 5xx status code
func (o *NodeBootstrappingGetOK) IsServerError() bool {
	return false
}

// IsCode returns true when this node bootstrapping get o k response a status code equal to that given
func (o *NodeBootstrappingGetOK) IsCode(code int) bool {
	return code == 200
}

// Code gets the status code for the node bootstrapping get o k response
func (o *NodeBootstrappingGetOK) Code() int {
	return 200
}

func (o *NodeBootstrappingGetOK) Error() string {
	payload, _ := json.Marshal(o.Payload)
	return fmt.Sprintf("[GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/nodeBootstrapping][%d] nodeBootstrappingGetOK %s", 200, payload)
}

func (o *NodeBootstrappingGetOK) String() string {
	payload, _ := json.Marshal(o.Payload)
	return fmt.Sprintf("[GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/nodeBootstrapping][%d] nodeBootstrappingGetOK %s", 200, payload)
}

func (o *NodeBootstrappingGetOK) GetPayload() *models.NodeBootstrapping {
	return o.Payload
}

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

	o.Payload = new(models.NodeBootstrapping)

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

	return nil
}

// NewNodeBootstrappingGetDefault creates a NodeBootstrappingGetDefault with default headers values
func NewNodeBootstrappingGetDefault(code int) *NodeBootstrappingGetDefault {
	return &NodeBootstrappingGetDefault{
		_statusCode: code,
	}
}

/*
NodeBootstrappingGetDefault describes a response with status code -1, with default header values.

Error response describing why the operation failed.
*/
type NodeBootstrappingGetDefault struct {
	_statusCode int

	Payload string
}

// IsSuccess returns true when this node bootstrapping get default response has a 2xx status code
func (o *NodeBootstrappingGetDefault) IsSuccess() bool {
	return o._statusCode/100 == 2
}

// IsRedirect returns true when this node bootstrapping get default response has a 3xx status code
func (o *NodeBootstrappingGetDefault) IsRedirect() bool {
	return o._statusCode/100 == 3
}

// IsClientError returns true when this node bootstrapping get default response has a 4xx status code
func (o *NodeBootstrappingGetDefault) IsClientError() bool {
	return o._statusCode/100 == 4
}

// IsServerError returns true when this node bootstrapping get default response has a 5xx status code
func (o *NodeBootstrappingGetDefault) IsServerError() bool {
	return o._statusCode/100 == 5
}

// IsCode returns true when this node bootstrapping get default response a status code equal to that given
func (o *NodeBootstrappingGetDefault) IsCode(code int) bool {
	return o._statusCode == code
}

// Code gets the status code for the node bootstrapping get default response
func (o *NodeBootstrappingGetDefault) Code() int {
	return o._statusCode
}

func (o *NodeBootstrappingGetDefault) Error() string {
	payload, _ := json.Marshal(o.Payload)
	return fmt.Sprintf("[GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/nodeBootstrapping][%d] NodeBootstrapping_Get default %s", o._statusCode, payload)
}

func (o *NodeBootstrappingGetDefault) String() string {
	payload, _ := json.Marshal(o.Payload)
	return fmt.Sprintf("[GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/nodeBootstrapping][%d] NodeBootstrapping_Get default %s", o._statusCode, payload)
}

func (o *NodeBootstrappingGetDefault) GetPayload() string {
	return o.Payload
}

