# frozen_string_literal: true
# WARNING ABOUT GENERATED CODE
#
# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE
module Aws::IoT
# When IoT returns an error response, the Ruby SDK constructs and raises an error.
# These errors all extend Aws::IoT::Errors::ServiceError < {Aws::Errors::ServiceError}
#
# You can rescue all IoT errors using ServiceError:
#
# begin
# # do stuff
# rescue Aws::IoT::Errors::ServiceError
# # rescues all IoT API errors
# end
#
#
# ## Request Context
# ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
# information about the request that generated the error.
# See {Seahorse::Client::RequestContext} for more information.
#
# ## Error Classes
# * {CertificateConflictException}
# * {CertificateStateException}
# * {CertificateValidationException}
# * {ConflictingResourceUpdateException}
# * {DeleteConflictException}
# * {IndexNotReadyException}
# * {InternalException}
# * {InternalFailureException}
# * {InvalidAggregationException}
# * {InvalidQueryException}
# * {InvalidRequestException}
# * {InvalidResponseException}
# * {InvalidStateTransitionException}
# * {LimitExceededException}
# * {MalformedPolicyException}
# * {NotConfiguredException}
# * {RegistrationCodeValidationException}
# * {ResourceAlreadyExistsException}
# * {ResourceNotFoundException}
# * {ResourceRegistrationFailureException}
# * {ServiceUnavailableException}
# * {SqlParseException}
# * {TaskAlreadyExistsException}
# * {ThrottlingException}
# * {TransferAlreadyCompletedException}
# * {TransferConflictException}
# * {UnauthorizedException}
# * {VersionConflictException}
# * {VersionsLimitExceededException}
#
# Additionally, error classes are dynamically generated for service errors based on the error code
# if they are not defined above.
module Errors
extend Aws::Errors::DynamicErrors
class CertificateConflictException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::CertificateConflictException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class CertificateStateException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::CertificateStateException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class CertificateValidationException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::CertificateValidationException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class ConflictingResourceUpdateException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::ConflictingResourceUpdateException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class DeleteConflictException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::DeleteConflictException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class IndexNotReadyException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::IndexNotReadyException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class InternalException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::InternalException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class InternalFailureException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::InternalFailureException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class InvalidAggregationException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::InvalidAggregationException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class InvalidQueryException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::InvalidQueryException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class InvalidRequestException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::InvalidRequestException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class InvalidResponseException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::InvalidResponseException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class InvalidStateTransitionException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::InvalidStateTransitionException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class LimitExceededException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::LimitExceededException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class MalformedPolicyException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::MalformedPolicyException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class NotConfiguredException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::NotConfiguredException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class RegistrationCodeValidationException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::RegistrationCodeValidationException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class ResourceAlreadyExistsException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::ResourceAlreadyExistsException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
# @return [String]
def resource_id
@data[:resource_id]
end
# @return [String]
def resource_arn
@data[:resource_arn]
end
end
class ResourceNotFoundException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::ResourceNotFoundException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class ResourceRegistrationFailureException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::ResourceRegistrationFailureException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class ServiceUnavailableException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::ServiceUnavailableException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class SqlParseException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::SqlParseException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class TaskAlreadyExistsException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::TaskAlreadyExistsException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class ThrottlingException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::ThrottlingException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class TransferAlreadyCompletedException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::TransferAlreadyCompletedException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class TransferConflictException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::TransferConflictException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class UnauthorizedException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::UnauthorizedException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class VersionConflictException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::VersionConflictException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
class VersionsLimitExceededException < ServiceError
# @param [Seahorse::Client::RequestContext] context
# @param [String] message
# @param [Aws::IoT::Types::VersionsLimitExceededException] data
def initialize(context, message, data = Aws::EmptyStructure.new)
super(context, message, data)
end
# @return [String]
def message
@message || @data[:message]
end
end
end
end