The heat.api.aws.exception Module

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

This Page