// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.

package firehose

import (
	"github.com/aws/aws-sdk-go/private/protocol"
)

const (

	// ErrCodeConcurrentModificationException for service response error code
	// "ConcurrentModificationException".
	//
	// Another modification has already happened. Fetch VersionId again and use
	// it to update the destination.
	ErrCodeConcurrentModificationException = "ConcurrentModificationException"

	// ErrCodeInvalidArgumentException for service response error code
	// "InvalidArgumentException".
	//
	// The specified input parameter has a value that is not valid.
	ErrCodeInvalidArgumentException = "InvalidArgumentException"

	// ErrCodeInvalidKMSResourceException for service response error code
	// "InvalidKMSResourceException".
	//
	// Kinesis Data Firehose throws this exception when an attempt to put records
	// or to start or stop delivery stream encryption fails. This happens when the
	// KMS service throws one of the following exception types: AccessDeniedException,
	// InvalidStateException, DisabledException, or NotFoundException.
	ErrCodeInvalidKMSResourceException = "InvalidKMSResourceException"

	// ErrCodeLimitExceededException for service response error code
	// "LimitExceededException".
	//
	// You have already reached the limit for a requested resource.
	ErrCodeLimitExceededException = "LimitExceededException"

	// ErrCodeResourceInUseException for service response error code
	// "ResourceInUseException".
	//
	// The resource is already in use and not available for this operation.
	ErrCodeResourceInUseException = "ResourceInUseException"

	// ErrCodeResourceNotFoundException for service response error code
	// "ResourceNotFoundException".
	//
	// The specified resource could not be found.
	ErrCodeResourceNotFoundException = "ResourceNotFoundException"

	// ErrCodeServiceUnavailableException for service response error code
	// "ServiceUnavailableException".
	//
	// The service is unavailable. Back off and retry the operation. If you continue
	// to see the exception, throughput limits for the delivery stream may have
	// been exceeded. For more information about limits and how to request an increase,
	// see Amazon Kinesis Data Firehose Limits (https://docs.aws.amazon.com/firehose/latest/dev/limits.html).
	ErrCodeServiceUnavailableException = "ServiceUnavailableException"
)

var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{
	"ConcurrentModificationException": newErrorConcurrentModificationException,
	"InvalidArgumentException":        newErrorInvalidArgumentException,
	"InvalidKMSResourceException":     newErrorInvalidKMSResourceException,
	"LimitExceededException":          newErrorLimitExceededException,
	"ResourceInUseException":          newErrorResourceInUseException,
	"ResourceNotFoundException":       newErrorResourceNotFoundException,
	"ServiceUnavailableException":     newErrorServiceUnavailableException,
}
