heat.engine.resources.wait_condition module

class heat.engine.resources.wait_condition.BaseCfnWaitConditionHandle(name, definition, stack)[source]

Bases: BaseWaitConditionHandle

WaitConditionHandle with the CFN signal metadata format.

Handles receive signals in the CloudFormation WaitConditionHandle format:

{
    "Status" : "Status (must be SUCCESS or FAILURE)",
    "UniqueId" : "Some ID, should be unique for Count>1",
    "Data" : "Arbitrary Data",
    "Reason" : "Reason String"
}

and expose an EC2-signed URL as the physical reference, which is the URL posted-to by cfn-signal.

DATA = 'Data'
METADATA_KEYS = ('Data', 'Reason', 'Status', 'UniqueId')
REASON = 'Reason'
STATUS = 'Status'
UNIQUE_ID = 'UniqueId'
get_reference_id()[source]

Default implementation for function get_resource.

This may be overridden by resource plugins to add extra logic specific to the resource implementation.

handle_signal(details=None)[source]
metadata_update(new_metadata=None)[source]

DEPRECATED. Should use handle_signal instead.

class heat.engine.resources.wait_condition.BaseWaitConditionHandle(name, definition, stack)[source]

Bases: SignalResponder

Base WaitConditionHandle resource.

The main point of this class is to : - have no dependencies (so the instance can reference it) - create credentials to allow for signalling from the instance. - handle signals from the instance, validate and store result

STATUS_FAILURE = 'FAILURE'
STATUS_SUCCESS = 'SUCCESS'
WAIT_STATUSES = ('FAILURE', 'SUCCESS')
get_status()[source]

Return a list of the Status values for the handle signals.

get_status_reason(status)[source]

Return a list of reasons associated with a particular status.

handle_create()[source]
handle_signal(details=None)[source]
normalise_signal_data(signal_data, latest_metadata)[source]
properties_schema = {}
exception heat.engine.resources.wait_condition.WaitConditionFailure(wait_condition, handle)[source]

Bases: Error

exception heat.engine.resources.wait_condition.WaitConditionTimeout(wait_condition, handle)[source]

Bases: Error