heat.engine.hot.template module

class heat.engine.hot.template.HOTemplate20130523(template, *args, **kwargs)[source]

Bases: heat.engine.template_common.CommonTemplate

A Heat Orchestration Template format stack template.

DESCRIPTION = 'description'
MAPPINGS = '__undefined__'
OUTPUTS = 'outputs'
OUTPUT_DESCRIPTION = 'description'
OUTPUT_KEYS = ('description', 'value')
OUTPUT_VALUE = 'value'
PARAMETERS = 'parameters'
PARAMETER_GROUPS = 'parameter_groups'
RESOURCES = 'resources'
RES_DELETION_POLICY = 'deletion_policy'
RES_DEPENDS_ON = 'depends_on'
RES_DESCRIPTION = 'description'
RES_METADATA = 'metadata'
RES_PROPERTIES = 'properties'
RES_TYPE = 'type'
RES_UPDATE_POLICY = 'update_policy'
SECTIONS = ('heat_template_version', 'description', 'parameter_groups', 'parameters', 'resources', 'outputs', '__undefined__')
SECTIONS_NO_DIRECT_ACCESS = {'heat_template_version', 'parameters'}
VERSION = 'heat_template_version'
add_output(definition)[source]

Add an output to the template.

The output is passed as a OutputDefinition object.

add_resource(definition, name=None)[source]

Add a resource to the template.

The resource is passed as a ResourceDefinition object. If no name is specified, the name from the ResourceDefinition should be used.

deletion_policies = {'Delete': 'Delete', 'Retain': 'Retain', 'Snapshot': 'Snapshot'}
functions = {'Fn::Base64': <class 'heat.engine.cfn.functions.Base64'>, 'Fn::GetAZs': <class 'heat.engine.cfn.functions.GetAZs'>, 'Fn::Join': <class 'heat.engine.cfn.functions.Join'>, 'Fn::MemberListToMap': <class 'heat.engine.cfn.functions.MemberListToMap'>, 'Fn::Replace': <class 'heat.engine.cfn.functions.Replace'>, 'Fn::ResourceFacade': <class 'heat.engine.cfn.functions.ResourceFacade'>, 'Fn::Select': <class 'heat.engine.cfn.functions.Select'>, 'Fn::Split': <class 'heat.engine.cfn.functions.Split'>, 'Ref': <function Ref>, 'get_attr': <class 'heat.engine.hot.functions.GetAttThenSelect'>, 'get_file': <class 'heat.engine.hot.functions.GetFile'>, 'get_param': <class 'heat.engine.hot.functions.GetParam'>, 'get_resource': <class 'heat.engine.hot.functions.GetResource'>, 'list_join': <class 'heat.engine.hot.functions.Join'>, 'resource_facade': <class 'heat.engine.hot.functions.ResourceFacade'>, 'str_replace': <class 'heat.engine.hot.functions.Replace'>}
get_section_name(section)[source]

Get the name of a field within a resource or output definition.

Return the name of the given field (specified by the constants given in heat.engine.rsrc_defn and heat.engine.output) in the template format. This is used in error reporting to help users find the location of errors in the template.

Note that ‘section’ here does not refer to a top-level section of the template (like parameters, resources, &c.) as it does everywhere else.

param_schema_class

alias of heat.engine.hot.parameters.HOTParamSchema

param_schemata(param_defaults=None)[source]

Return a dict of parameters.Schema objects for the parameters.

parameters(stack_identifier, user_params, param_defaults=None)[source]

Return a parameters.Parameters object for the stack.

resource_definitions(stack)[source]

Return a dictionary of ResourceDefinition objects.

validate_section(section, sub_section, data, allowed_keys)[source]
class heat.engine.hot.template.HOTemplate20141016(template, *args, **kwargs)[source]

Bases: heat.engine.hot.template.HOTemplate20130523

functions = {'Fn::Base64': <class 'heat.engine.hot.functions.Removed'>, 'Fn::GetAZs': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Join': <class 'heat.engine.hot.functions.Removed'>, 'Fn::MemberListToMap': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Replace': <class 'heat.engine.hot.functions.Removed'>, 'Fn::ResourceFacade': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Select': <class 'heat.engine.cfn.functions.Select'>, 'Fn::Split': <class 'heat.engine.hot.functions.Removed'>, 'Ref': <class 'heat.engine.hot.functions.Removed'>, 'get_attr': <class 'heat.engine.hot.functions.GetAtt'>, 'get_file': <class 'heat.engine.hot.functions.GetFile'>, 'get_param': <class 'heat.engine.hot.functions.GetParam'>, 'get_resource': <class 'heat.engine.hot.functions.GetResource'>, 'list_join': <class 'heat.engine.hot.functions.Join'>, 'resource_facade': <class 'heat.engine.hot.functions.ResourceFacade'>, 'str_replace': <class 'heat.engine.hot.functions.Replace'>}
class heat.engine.hot.template.HOTemplate20150430(template, *args, **kwargs)[source]

Bases: heat.engine.hot.template.HOTemplate20141016

functions = {'Fn::Base64': <class 'heat.engine.hot.functions.Removed'>, 'Fn::GetAZs': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Join': <class 'heat.engine.hot.functions.Removed'>, 'Fn::MemberListToMap': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Replace': <class 'heat.engine.hot.functions.Removed'>, 'Fn::ResourceFacade': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Select': <class 'heat.engine.cfn.functions.Select'>, 'Fn::Split': <class 'heat.engine.hot.functions.Removed'>, 'Ref': <class 'heat.engine.hot.functions.Removed'>, 'digest': <class 'heat.engine.hot.functions.Digest'>, 'get_attr': <class 'heat.engine.hot.functions.GetAtt'>, 'get_file': <class 'heat.engine.hot.functions.GetFile'>, 'get_param': <class 'heat.engine.hot.functions.GetParam'>, 'get_resource': <class 'heat.engine.hot.functions.GetResource'>, 'list_join': <class 'heat.engine.hot.functions.Join'>, 'repeat': <class 'heat.engine.hot.functions.Repeat'>, 'resource_facade': <class 'heat.engine.hot.functions.ResourceFacade'>, 'str_replace': <class 'heat.engine.hot.functions.Replace'>}
class heat.engine.hot.template.HOTemplate20151015(template, *args, **kwargs)[source]

Bases: heat.engine.hot.template.HOTemplate20150430

functions = {'Fn::Base64': <class 'heat.engine.hot.functions.Removed'>, 'Fn::GetAZs': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Join': <class 'heat.engine.hot.functions.Removed'>, 'Fn::MemberListToMap': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Replace': <class 'heat.engine.hot.functions.Removed'>, 'Fn::ResourceFacade': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Select': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Split': <class 'heat.engine.hot.functions.Removed'>, 'Ref': <class 'heat.engine.hot.functions.Removed'>, 'digest': <class 'heat.engine.hot.functions.Digest'>, 'get_attr': <class 'heat.engine.hot.functions.GetAttAllAttributes'>, 'get_file': <class 'heat.engine.hot.functions.GetFile'>, 'get_param': <class 'heat.engine.hot.functions.GetParam'>, 'get_resource': <class 'heat.engine.hot.functions.GetResource'>, 'list_join': <class 'heat.engine.hot.functions.JoinMultiple'>, 'repeat': <class 'heat.engine.hot.functions.Repeat'>, 'resource_facade': <class 'heat.engine.hot.functions.ResourceFacade'>, 'str_replace': <class 'heat.engine.hot.functions.ReplaceJson'>, 'str_split': <class 'heat.engine.hot.functions.StrSplit'>}
class heat.engine.hot.template.HOTemplate20160408(template, *args, **kwargs)[source]

Bases: heat.engine.hot.template.HOTemplate20151015

functions = {'Fn::Base64': <class 'heat.engine.hot.functions.Removed'>, 'Fn::GetAZs': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Join': <class 'heat.engine.hot.functions.Removed'>, 'Fn::MemberListToMap': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Replace': <class 'heat.engine.hot.functions.Removed'>, 'Fn::ResourceFacade': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Select': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Split': <class 'heat.engine.hot.functions.Removed'>, 'Ref': <class 'heat.engine.hot.functions.Removed'>, 'digest': <class 'heat.engine.hot.functions.Digest'>, 'get_attr': <class 'heat.engine.hot.functions.GetAttAllAttributes'>, 'get_file': <class 'heat.engine.hot.functions.GetFile'>, 'get_param': <class 'heat.engine.hot.functions.GetParam'>, 'get_resource': <class 'heat.engine.hot.functions.GetResource'>, 'list_join': <class 'heat.engine.hot.functions.JoinMultiple'>, 'map_merge': <class 'heat.engine.hot.functions.MapMerge'>, 'repeat': <class 'heat.engine.hot.functions.Repeat'>, 'resource_facade': <class 'heat.engine.hot.functions.ResourceFacade'>, 'str_replace': <class 'heat.engine.hot.functions.ReplaceJson'>, 'str_split': <class 'heat.engine.hot.functions.StrSplit'>}
class heat.engine.hot.template.HOTemplate20161014(template, *args, **kwargs)[source]

Bases: heat.engine.hot.template.HOTemplate20160408

CONDITIONS = 'conditions'
OUTPUT_CONDITION = 'condition'
OUTPUT_KEYS = ('description', 'value', 'condition')
RES_CONDITION = 'condition'
RES_EXTERNAL_ID = 'external_id'
SECTIONS = ('heat_template_version', 'description', 'parameter_groups', 'parameters', 'resources', 'outputs', '__undefined__', 'conditions')
SECTIONS_NO_DIRECT_ACCESS = {'conditions', 'heat_template_version', 'parameters'}
condition_functions = {'and': <class 'heat.engine.hot.functions.And'>, 'equals': <class 'heat.engine.hot.functions.Equals'>, 'get_param': <class 'heat.engine.hot.functions.GetParam'>, 'not': <class 'heat.engine.hot.functions.Not'>, 'or': <class 'heat.engine.hot.functions.Or'>}
deletion_policies = {'Delete': 'Delete', 'Retain': 'Retain', 'Snapshot': 'Snapshot', 'delete': 'Delete', 'retain': 'Retain', 'snapshot': 'Snapshot'}
functions = {'Fn::Base64': <class 'heat.engine.hot.functions.Removed'>, 'Fn::GetAZs': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Join': <class 'heat.engine.hot.functions.Removed'>, 'Fn::MemberListToMap': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Replace': <class 'heat.engine.hot.functions.Removed'>, 'Fn::ResourceFacade': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Select': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Split': <class 'heat.engine.hot.functions.Removed'>, 'Ref': <class 'heat.engine.hot.functions.Removed'>, 'digest': <class 'heat.engine.hot.functions.Digest'>, 'get_attr': <class 'heat.engine.hot.functions.GetAttAllAttributes'>, 'get_file': <class 'heat.engine.hot.functions.GetFile'>, 'get_param': <class 'heat.engine.hot.functions.GetParam'>, 'get_resource': <class 'heat.engine.hot.functions.GetResource'>, 'if': <class 'heat.engine.hot.functions.If'>, 'list_join': <class 'heat.engine.hot.functions.JoinMultiple'>, 'map_merge': <class 'heat.engine.hot.functions.MapMerge'>, 'map_replace': <class 'heat.engine.hot.functions.MapReplace'>, 'repeat': <class 'heat.engine.hot.functions.RepeatWithMap'>, 'resource_facade': <class 'heat.engine.hot.functions.ResourceFacade'>, 'str_replace': <class 'heat.engine.hot.functions.ReplaceJson'>, 'str_split': <class 'heat.engine.hot.functions.StrSplit'>, 'yaql': <class 'heat.engine.hot.functions.Yaql'>}
class heat.engine.hot.template.HOTemplate20170224(template, *args, **kwargs)[source]

Bases: heat.engine.hot.template.HOTemplate20161014

functions = {'Fn::Base64': <class 'heat.engine.hot.functions.Removed'>, 'Fn::GetAZs': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Join': <class 'heat.engine.hot.functions.Removed'>, 'Fn::MemberListToMap': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Replace': <class 'heat.engine.hot.functions.Removed'>, 'Fn::ResourceFacade': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Select': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Split': <class 'heat.engine.hot.functions.Removed'>, 'Ref': <class 'heat.engine.hot.functions.Removed'>, 'digest': <class 'heat.engine.hot.functions.Digest'>, 'filter': <class 'heat.engine.hot.functions.Filter'>, 'get_attr': <class 'heat.engine.hot.functions.GetAttAllAttributes'>, 'get_file': <class 'heat.engine.hot.functions.GetFile'>, 'get_param': <class 'heat.engine.hot.functions.GetParam'>, 'get_resource': <class 'heat.engine.hot.functions.GetResource'>, 'if': <class 'heat.engine.hot.functions.If'>, 'list_join': <class 'heat.engine.hot.functions.JoinMultiple'>, 'map_merge': <class 'heat.engine.hot.functions.MapMerge'>, 'map_replace': <class 'heat.engine.hot.functions.MapReplace'>, 'repeat': <class 'heat.engine.hot.functions.RepeatWithMap'>, 'resource_facade': <class 'heat.engine.hot.functions.ResourceFacade'>, 'str_replace': <class 'heat.engine.hot.functions.ReplaceJson'>, 'str_replace_strict': <class 'heat.engine.hot.functions.ReplaceJsonStrict'>, 'str_split': <class 'heat.engine.hot.functions.StrSplit'>, 'yaql': <class 'heat.engine.hot.functions.Yaql'>}
param_schema_class

alias of heat.engine.hot.parameters.HOTParamSchema20170224

class heat.engine.hot.template.HOTemplate20170901(template, *args, **kwargs)[source]

Bases: heat.engine.hot.template.HOTemplate20170224

condition_functions = {'and': <class 'heat.engine.hot.functions.And'>, 'contains': <class 'heat.engine.hot.functions.Contains'>, 'equals': <class 'heat.engine.hot.functions.Equals'>, 'get_param': <class 'heat.engine.hot.functions.GetParam'>, 'not': <class 'heat.engine.hot.functions.Not'>, 'or': <class 'heat.engine.hot.functions.Or'>, 'yaql': <class 'heat.engine.hot.functions.Yaql'>}
functions = {'Fn::Base64': <class 'heat.engine.hot.functions.Removed'>, 'Fn::GetAZs': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Join': <class 'heat.engine.hot.functions.Removed'>, 'Fn::MemberListToMap': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Replace': <class 'heat.engine.hot.functions.Removed'>, 'Fn::ResourceFacade': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Select': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Split': <class 'heat.engine.hot.functions.Removed'>, 'Ref': <class 'heat.engine.hot.functions.Removed'>, 'contains': <class 'heat.engine.hot.functions.Contains'>, 'digest': <class 'heat.engine.hot.functions.Digest'>, 'filter': <class 'heat.engine.hot.functions.Filter'>, 'get_attr': <class 'heat.engine.hot.functions.GetAttAllAttributes'>, 'get_file': <class 'heat.engine.hot.functions.GetFile'>, 'get_param': <class 'heat.engine.hot.functions.GetParam'>, 'get_resource': <class 'heat.engine.hot.functions.GetResource'>, 'if': <class 'heat.engine.hot.functions.If'>, 'list_concat': <class 'heat.engine.hot.functions.ListConcat'>, 'list_concat_unique': <class 'heat.engine.hot.functions.ListConcatUnique'>, 'list_join': <class 'heat.engine.hot.functions.JoinMultiple'>, 'make_url': <class 'heat.engine.hot.functions.MakeURL'>, 'map_merge': <class 'heat.engine.hot.functions.MapMerge'>, 'map_replace': <class 'heat.engine.hot.functions.MapReplace'>, 'repeat': <class 'heat.engine.hot.functions.RepeatWithNestedLoop'>, 'resource_facade': <class 'heat.engine.hot.functions.ResourceFacade'>, 'str_replace': <class 'heat.engine.hot.functions.ReplaceJson'>, 'str_replace_strict': <class 'heat.engine.hot.functions.ReplaceJsonStrict'>, 'str_replace_vstrict': <class 'heat.engine.hot.functions.ReplaceJsonVeryStrict'>, 'str_split': <class 'heat.engine.hot.functions.StrSplit'>, 'yaql': <class 'heat.engine.hot.functions.Yaql'>}
class heat.engine.hot.template.HOTemplate20180302(template, *args, **kwargs)[source]

Bases: heat.engine.hot.template.HOTemplate20170901

condition_functions = {'and': <class 'heat.engine.hot.functions.And'>, 'contains': <class 'heat.engine.hot.functions.Contains'>, 'equals': <class 'heat.engine.hot.functions.Equals'>, 'get_param': <class 'heat.engine.hot.functions.GetParam'>, 'not': <class 'heat.engine.hot.functions.Not'>, 'or': <class 'heat.engine.hot.functions.Or'>, 'yaql': <class 'heat.engine.hot.functions.Yaql'>}
functions = {'Fn::Base64': <class 'heat.engine.hot.functions.Removed'>, 'Fn::GetAZs': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Join': <class 'heat.engine.hot.functions.Removed'>, 'Fn::MemberListToMap': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Replace': <class 'heat.engine.hot.functions.Removed'>, 'Fn::ResourceFacade': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Select': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Split': <class 'heat.engine.hot.functions.Removed'>, 'Ref': <class 'heat.engine.hot.functions.Removed'>, 'contains': <class 'heat.engine.hot.functions.Contains'>, 'digest': <class 'heat.engine.hot.functions.Digest'>, 'filter': <class 'heat.engine.hot.functions.Filter'>, 'get_attr': <class 'heat.engine.hot.functions.GetAttAllAttributes'>, 'get_file': <class 'heat.engine.hot.functions.GetFile'>, 'get_param': <class 'heat.engine.hot.functions.GetParam'>, 'get_resource': <class 'heat.engine.hot.functions.GetResource'>, 'if': <class 'heat.engine.hot.functions.If'>, 'list_concat': <class 'heat.engine.hot.functions.ListConcat'>, 'list_concat_unique': <class 'heat.engine.hot.functions.ListConcatUnique'>, 'list_join': <class 'heat.engine.hot.functions.JoinMultiple'>, 'make_url': <class 'heat.engine.hot.functions.MakeURL'>, 'map_merge': <class 'heat.engine.hot.functions.MapMerge'>, 'map_replace': <class 'heat.engine.hot.functions.MapReplace'>, 'repeat': <class 'heat.engine.hot.functions.RepeatWithNestedLoop'>, 'resource_facade': <class 'heat.engine.hot.functions.ResourceFacade'>, 'str_replace': <class 'heat.engine.hot.functions.ReplaceJson'>, 'str_replace_strict': <class 'heat.engine.hot.functions.ReplaceJsonStrict'>, 'str_replace_vstrict': <class 'heat.engine.hot.functions.ReplaceJsonVeryStrict'>, 'str_split': <class 'heat.engine.hot.functions.StrSplit'>, 'yaql': <class 'heat.engine.hot.functions.Yaql'>}
param_schema_class

alias of heat.engine.hot.parameters.HOTParamSchema20180302

class heat.engine.hot.template.HOTemplate20180831(template, *args, **kwargs)[source]

Bases: heat.engine.hot.template.HOTemplate20180302

condition_functions = {'and': <class 'heat.engine.hot.functions.And'>, 'contains': <class 'heat.engine.hot.functions.Contains'>, 'equals': <class 'heat.engine.hot.functions.Equals'>, 'get_param': <class 'heat.engine.hot.functions.GetParam'>, 'not': <class 'heat.engine.hot.functions.Not'>, 'or': <class 'heat.engine.hot.functions.Or'>, 'yaql': <class 'heat.engine.hot.functions.Yaql'>}
functions = {'Fn::Base64': <class 'heat.engine.hot.functions.Removed'>, 'Fn::GetAZs': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Join': <class 'heat.engine.hot.functions.Removed'>, 'Fn::MemberListToMap': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Replace': <class 'heat.engine.hot.functions.Removed'>, 'Fn::ResourceFacade': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Select': <class 'heat.engine.hot.functions.Removed'>, 'Fn::Split': <class 'heat.engine.hot.functions.Removed'>, 'Ref': <class 'heat.engine.hot.functions.Removed'>, 'contains': <class 'heat.engine.hot.functions.Contains'>, 'digest': <class 'heat.engine.hot.functions.Digest'>, 'filter': <class 'heat.engine.hot.functions.Filter'>, 'get_attr': <class 'heat.engine.hot.functions.GetAttAllAttributes'>, 'get_file': <class 'heat.engine.hot.functions.GetFile'>, 'get_param': <class 'heat.engine.hot.functions.GetParam'>, 'get_resource': <class 'heat.engine.hot.functions.GetResource'>, 'if': <class 'heat.engine.hot.functions.If'>, 'list_concat': <class 'heat.engine.hot.functions.ListConcat'>, 'list_concat_unique': <class 'heat.engine.hot.functions.ListConcatUnique'>, 'list_join': <class 'heat.engine.hot.functions.JoinMultiple'>, 'make_url': <class 'heat.engine.hot.functions.MakeURL'>, 'map_merge': <class 'heat.engine.hot.functions.MapMerge'>, 'map_replace': <class 'heat.engine.hot.functions.MapReplace'>, 'repeat': <class 'heat.engine.hot.functions.RepeatWithNestedLoop'>, 'resource_facade': <class 'heat.engine.hot.functions.ResourceFacade'>, 'str_replace': <class 'heat.engine.hot.functions.ReplaceJson'>, 'str_replace_strict': <class 'heat.engine.hot.functions.ReplaceJsonStrict'>, 'str_replace_vstrict': <class 'heat.engine.hot.functions.ReplaceJsonVeryStrict'>, 'str_split': <class 'heat.engine.hot.functions.StrSplit'>, 'yaql': <class 'heat.engine.hot.functions.Yaql'>}