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

package iot

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

const (

	// ErrCodeCertificateConflictException for service response error code
	// "CertificateConflictException".
	//
	// Unable to verify the CA certificate used to sign the device certificate you
	// are attempting to register. This is happens when you have registered more
	// than one CA certificate that has the same subject field and public key.
	ErrCodeCertificateConflictException = "CertificateConflictException"

	// ErrCodeCertificateStateException for service response error code
	// "CertificateStateException".
	//
	// The certificate operation is not allowed.
	ErrCodeCertificateStateException = "CertificateStateException"

	// ErrCodeCertificateValidationException for service response error code
	// "CertificateValidationException".
	//
	// The certificate is invalid.
	ErrCodeCertificateValidationException = "CertificateValidationException"

	// ErrCodeConflictException for service response error code
	// "ConflictException".
	//
	// A resource with the same name already exists.
	ErrCodeConflictException = "ConflictException"

	// ErrCodeConflictingResourceUpdateException for service response error code
	// "ConflictingResourceUpdateException".
	//
	// A conflicting resource update exception. This exception is thrown when two
	// pending updates cause a conflict.
	ErrCodeConflictingResourceUpdateException = "ConflictingResourceUpdateException"

	// ErrCodeDeleteConflictException for service response error code
	// "DeleteConflictException".
	//
	// You can't delete the resource because it is attached to one or more resources.
	ErrCodeDeleteConflictException = "DeleteConflictException"

	// ErrCodeIndexNotReadyException for service response error code
	// "IndexNotReadyException".
	//
	// The index is not ready.
	ErrCodeIndexNotReadyException = "IndexNotReadyException"

	// ErrCodeInternalException for service response error code
	// "InternalException".
	//
	// An unexpected error has occurred.
	ErrCodeInternalException = "InternalException"

	// ErrCodeInternalFailureException for service response error code
	// "InternalFailureException".
	//
	// An unexpected error has occurred.
	ErrCodeInternalFailureException = "InternalFailureException"

	// ErrCodeInternalServerException for service response error code
	// "InternalServerException".
	//
	// Internal error from the service that indicates an unexpected error or that
	// the service is unavailable.
	ErrCodeInternalServerException = "InternalServerException"

	// ErrCodeInvalidAggregationException for service response error code
	// "InvalidAggregationException".
	//
	// The aggregation is invalid.
	ErrCodeInvalidAggregationException = "InvalidAggregationException"

	// ErrCodeInvalidQueryException for service response error code
	// "InvalidQueryException".
	//
	// The query is invalid.
	ErrCodeInvalidQueryException = "InvalidQueryException"

	// ErrCodeInvalidRequestException for service response error code
	// "InvalidRequestException".
	//
	// The request is not valid.
	ErrCodeInvalidRequestException = "InvalidRequestException"

	// ErrCodeInvalidResponseException for service response error code
	// "InvalidResponseException".
	//
	// The response is invalid.
	ErrCodeInvalidResponseException = "InvalidResponseException"

	// ErrCodeInvalidStateTransitionException for service response error code
	// "InvalidStateTransitionException".
	//
	// An attempt was made to change to an invalid state, for example by deleting
	// a job or a job execution which is "IN_PROGRESS" without setting the force
	// parameter.
	ErrCodeInvalidStateTransitionException = "InvalidStateTransitionException"

	// ErrCodeLimitExceededException for service response error code
	// "LimitExceededException".
	//
	// A limit has been exceeded.
	ErrCodeLimitExceededException = "LimitExceededException"

	// ErrCodeMalformedPolicyException for service response error code
	// "MalformedPolicyException".
	//
	// The policy documentation is not valid.
	ErrCodeMalformedPolicyException = "MalformedPolicyException"

	// ErrCodeNotConfiguredException for service response error code
	// "NotConfiguredException".
	//
	// The resource is not configured.
	ErrCodeNotConfiguredException = "NotConfiguredException"

	// ErrCodeRegistrationCodeValidationException for service response error code
	// "RegistrationCodeValidationException".
	//
	// The registration code is invalid.
	ErrCodeRegistrationCodeValidationException = "RegistrationCodeValidationException"

	// ErrCodeResourceAlreadyExistsException for service response error code
	// "ResourceAlreadyExistsException".
	//
	// The resource already exists.
	ErrCodeResourceAlreadyExistsException = "ResourceAlreadyExistsException"

	// ErrCodeResourceNotFoundException for service response error code
	// "ResourceNotFoundException".
	//
	// The specified resource does not exist.
	ErrCodeResourceNotFoundException = "ResourceNotFoundException"

	// ErrCodeResourceRegistrationFailureException for service response error code
	// "ResourceRegistrationFailureException".
	//
	// The resource registration failed.
	ErrCodeResourceRegistrationFailureException = "ResourceRegistrationFailureException"

	// ErrCodeServiceQuotaExceededException for service response error code
	// "ServiceQuotaExceededException".
	//
	// A limit has been exceeded.
	ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException"

	// ErrCodeServiceUnavailableException for service response error code
	// "ServiceUnavailableException".
	//
	// The service is temporarily unavailable.
	ErrCodeServiceUnavailableException = "ServiceUnavailableException"

	// ErrCodeSqlParseException for service response error code
	// "SqlParseException".
	//
	// The Rule-SQL expression can't be parsed correctly.
	ErrCodeSqlParseException = "SqlParseException"

	// ErrCodeTaskAlreadyExistsException for service response error code
	// "TaskAlreadyExistsException".
	//
	// This exception occurs if you attempt to start a task with the same task-id
	// as an existing task but with a different clientRequestToken.
	ErrCodeTaskAlreadyExistsException = "TaskAlreadyExistsException"

	// ErrCodeThrottlingException for service response error code
	// "ThrottlingException".
	//
	// The rate exceeds the limit.
	ErrCodeThrottlingException = "ThrottlingException"

	// ErrCodeTransferAlreadyCompletedException for service response error code
	// "TransferAlreadyCompletedException".
	//
	// You can't revert the certificate transfer because the transfer is already
	// complete.
	ErrCodeTransferAlreadyCompletedException = "TransferAlreadyCompletedException"

	// ErrCodeTransferConflictException for service response error code
	// "TransferConflictException".
	//
	// You can't transfer the certificate because authorization policies are still
	// attached.
	ErrCodeTransferConflictException = "TransferConflictException"

	// ErrCodeUnauthorizedException for service response error code
	// "UnauthorizedException".
	//
	// You are not authorized to perform this operation.
	ErrCodeUnauthorizedException = "UnauthorizedException"

	// ErrCodeValidationException for service response error code
	// "ValidationException".
	//
	// The request is not valid.
	ErrCodeValidationException = "ValidationException"

	// ErrCodeVersionConflictException for service response error code
	// "VersionConflictException".
	//
	// An exception thrown when the version of an entity specified with the expectedVersion
	// parameter does not match the latest version in the system.
	ErrCodeVersionConflictException = "VersionConflictException"

	// ErrCodeVersionsLimitExceededException for service response error code
	// "VersionsLimitExceededException".
	//
	// The number of policy versions exceeds the limit.
	ErrCodeVersionsLimitExceededException = "VersionsLimitExceededException"
)

var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{
	"CertificateConflictException":         newErrorCertificateConflictException,
	"CertificateStateException":            newErrorCertificateStateException,
	"CertificateValidationException":       newErrorCertificateValidationException,
	"ConflictException":                    newErrorConflictException,
	"ConflictingResourceUpdateException":   newErrorConflictingResourceUpdateException,
	"DeleteConflictException":              newErrorDeleteConflictException,
	"IndexNotReadyException":               newErrorIndexNotReadyException,
	"InternalException":                    newErrorInternalException,
	"InternalFailureException":             newErrorInternalFailureException,
	"InternalServerException":              newErrorInternalServerException,
	"InvalidAggregationException":          newErrorInvalidAggregationException,
	"InvalidQueryException":                newErrorInvalidQueryException,
	"InvalidRequestException":              newErrorInvalidRequestException,
	"InvalidResponseException":             newErrorInvalidResponseException,
	"InvalidStateTransitionException":      newErrorInvalidStateTransitionException,
	"LimitExceededException":               newErrorLimitExceededException,
	"MalformedPolicyException":             newErrorMalformedPolicyException,
	"NotConfiguredException":               newErrorNotConfiguredException,
	"RegistrationCodeValidationException":  newErrorRegistrationCodeValidationException,
	"ResourceAlreadyExistsException":       newErrorResourceAlreadyExistsException,
	"ResourceNotFoundException":            newErrorResourceNotFoundException,
	"ResourceRegistrationFailureException": newErrorResourceRegistrationFailureException,
	"ServiceQuotaExceededException":        newErrorServiceQuotaExceededException,
	"ServiceUnavailableException":          newErrorServiceUnavailableException,
	"SqlParseException":                    newErrorSqlParseException,
	"TaskAlreadyExistsException":           newErrorTaskAlreadyExistsException,
	"ThrottlingException":                  newErrorThrottlingException,
	"TransferAlreadyCompletedException":    newErrorTransferAlreadyCompletedException,
	"TransferConflictException":            newErrorTransferConflictException,
	"UnauthorizedException":                newErrorUnauthorizedException,
	"ValidationException":                  newErrorValidationException,
	"VersionConflictException":             newErrorVersionConflictException,
	"VersionsLimitExceededException":       newErrorVersionsLimitExceededException,
}
