Heat API exception subclasses - maps API response errors to AWS Errors
-
exception heat.api.aws.exception.HeatAPIException(detail=None)[source]
Bases: webob.exc.HTTPError
Subclass webob HTTPError so we can correctly serialize the wsgi response
into the http response body, using the format specified by the request.
Note this should not be used directly, instead use of of the subclasses
defined below which map to AWS API errors
-
code = 400
-
err_type = 'Sender'
-
explanation = 'Generic HeatAPIException, please use specific subclasses!'
-
get_unserialized_body()[source]
Return a dict suitable for serialization in the wsgi controller
This wraps the exception details in a format which maps to the
expected format for the AWS API
-
title = 'HeatAPIException'
-
exception heat.api.aws.exception.HeatAPINotImplementedError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
This is the response given when an API action is not yet implemented
-
code = 500
-
err_type = 'Server'
-
explanation = 'The requested action is not yet implemented'
-
title = 'APINotImplemented'
-
exception heat.api.aws.exception.HeatAccessDeniedError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
This is the response given when authentication fails due to user
IAM group memberships meaning we deny access
-
code = 403
-
explanation = 'User is not authorized to perform action'
-
title = 'AccessDenied'
-
exception heat.api.aws.exception.HeatIncompleteSignatureError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
The request signature does not conform to AWS standards
-
code = 400
-
explanation = 'The request signature does not conform to AWS standards'
-
title = 'IncompleteSignature'
-
exception heat.api.aws.exception.HeatInternalFailureError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
The request processing has failed due to some unknown error
-
code = 500
-
err_type = 'Server'
-
explanation = 'The request processing has failed due to an internal error'
-
title = 'InternalFailure'
-
exception heat.api.aws.exception.HeatInvalidActionError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
The action or operation requested is invalid
-
code = 400
-
explanation = 'The action or operation requested is invalid'
-
title = 'InvalidAction'
-
exception heat.api.aws.exception.HeatInvalidClientTokenIdError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
The X.509 certificate or AWS Access Key ID provided does not exist
-
code = 403
-
explanation = 'The certificate or AWS Key ID provided does not exist'
-
title = 'InvalidClientTokenId'
-
exception heat.api.aws.exception.HeatInvalidParameterCombinationError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
Parameters that must not be used together were used together
-
code = 400
-
explanation = 'Incompatible parameters were used together'
-
title = 'InvalidParameterCombination'
-
exception heat.api.aws.exception.HeatInvalidParameterValueError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
A bad or out-of-range value was supplied for the input parameter
-
code = 400
-
explanation = 'A bad or out-of-range value was supplied'
-
title = 'InvalidParameterValue'
-
exception heat.api.aws.exception.HeatInvalidQueryParameterError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
AWS query string is malformed, does not adhere to AWS standards
-
code = 400
-
explanation = 'AWS query string is malformed, does not adhere to AWS spec'
-
title = 'InvalidQueryParameter'
-
exception heat.api.aws.exception.HeatMalformedQueryStringError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
The query string is malformed
-
code = 404
-
explanation = 'The query string is malformed'
-
title = 'MalformedQueryString'
-
exception heat.api.aws.exception.HeatMissingActionError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
The request is missing an action or operation parameter
-
code = 400
-
explanation = 'The request is missing an action or operation parameter'
-
title = 'MissingAction'
-
exception heat.api.aws.exception.HeatMissingAuthenticationTokenError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
Request must contain either a valid (registered) AWS Access Key ID
or X.509 certificate
-
code = 403
-
explanation = 'Does not contain a valid AWS Access Key or certificate'
-
title = 'MissingAuthenticationToken'
-
exception heat.api.aws.exception.HeatMissingParameterError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
An input parameter that is mandatory for processing the request is missing
-
code = 400
-
explanation = 'A mandatory input parameter is missing'
-
title = 'MissingParameter'
-
exception heat.api.aws.exception.HeatOptInRequiredError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
The AWS Access Key ID needs a subscription for the service
-
code = 403
-
explanation = 'The AWS Access Key ID needs a subscription for the service'
-
title = 'OptInRequired'
-
exception heat.api.aws.exception.HeatRequestExpiredError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
Request is past expires date or the request date (either with 15 minute
padding), or the request date occurs more than 15 minutes in the future
-
code = 400
-
explanation = 'Request expired or more than 15mins in the future'
-
title = 'RequestExpired'
-
exception heat.api.aws.exception.HeatServiceUnavailableError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
The request has failed due to a temporary failure of the server
-
code = 503
-
err_type = 'Server'
-
explanation = 'Service temporarily unvavailable'
-
title = 'ServiceUnavailable'
-
exception heat.api.aws.exception.HeatSignatureError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
This is the response given when authentication fails due to
a bad signature
-
code = 403
-
explanation = 'The request signature we calculated does not match the signature you provided'
-
title = 'SignatureDoesNotMatch'
-
exception heat.api.aws.exception.HeatThrottlingError(detail=None)[source]
Bases: heat.api.aws.exception.HeatAPIException
Request was denied due to request throttling
-
code = 400
-
explanation = 'Request was denied due to request throttling'
-
title = 'Throttling'
-
heat.api.aws.exception.map_remote_error(ex)[source]
Map rpc_common.RemoteError exceptions returned by the engine
to HeatAPIException subclasses which can be used to return
properly formatted AWS error responses