heat.engine.function module

class heat.engine.function.Function(stack, fn_name, args)[source]

Bases: object

Abstract base class for template functions.

all_dep_attrs()[source]

Return resource, attribute name pairs of all attributes referenced.

Return an iterator over the resource name, attribute name tuples of all attributes that this function references.

The special value heat.engine.attributes.ALL_ATTRIBUTES may be used to indicate that all attributes of the resource are required.

By default this calls the dep_attrs() method, but subclasses can override to provide a more efficient implementation.

dep_attrs(resource_name)[source]

Return the attributes of the specified resource that are referenced.

Return an iterator over any attributes of the specified resource that this function references.

The special value heat.engine.attributes.ALL_ATTRIBUTES may be used to indicate that all attributes of the resource are required.

dependencies(path)[source]
abstract result()[source]

Return the result of resolving the function.

Function subclasses must override this method to calculate their results.

property stack
validate()[source]

Validate arguments without resolving the function.

Function subclasses must override this method to validate their args.

class heat.engine.function.Invalid(stack, fn_name, args)[source]

Bases: Function

A function for checking condition functions and to force failures.

This function is used to force failures for functions that are not supported in condition definition.

result()[source]

Return the result of resolving the function.

Function subclasses must override this method to calculate their results.

class heat.engine.function.Macro(stack, fn_name, raw_args, parse_func, template)[source]

Bases: Function

Abstract base class for template macros.

A macro differs from a function in that it controls how the template is parsed. As such, it operates on the syntax tree itself, not on the parsed output.

all_dep_attrs()[source]

Return resource, attribute name pairs of all attributes referenced.

Return an iterator over the resource name, attribute name tuples of all attributes that this function references.

The special value heat.engine.attributes.ALL_ATTRIBUTES may be used to indicate that all attributes of the resource are required.

By default this calls the dep_attrs() method, but subclasses can override to provide a more efficient implementation.

dep_attrs(resource_name)[source]

Return the attributes of the specified resource that are referenced.

Return an iterator over any attributes of the specified resource that this function references.

The special value heat.engine.attributes.ALL_ATTRIBUTES may be used to indicate that all attributes of the resource are required.

dependencies(path)[source]
abstract parse_args(parse_func)[source]

Parse the macro using the supplied parsing function.

Macro subclasses should override this method to control parsing of the arguments.

result()[source]

Return the resolved result of the macro contents.

property template
validate()[source]

Validate arguments without resolving the result.

heat.engine.function.all_dep_attrs(snippet)[source]

Iterator over resource, attribute name pairs referenced in a snippet.

The snippet should be already parsed to insert Function objects where appropriate.

Returns:

an iterator over the resource name, attribute name tuples of all attributes that are referenced in the template snippet.

heat.engine.function.dep_attrs(snippet, resource_name)[source]

Iterator over dependent attrs of a resource in a template snippet.

The snippet should be already parsed to insert Function objects where appropriate.

Returns:

an iterator over the attributes of the specified resource that are referenced in the template snippet.

heat.engine.function.dependencies(snippet, path='')[source]

Return an iterator over Resource dependencies in a template snippet.

The snippet should be already parsed to insert Function objects where appropriate.

heat.engine.function.resolve(snippet, nullable=False)[source]
heat.engine.function.validate(snippet, path=None)[source]