Bases: _abcoll.Mapping
Abstract base class for template format plugins.
All template formats (both internal and third-party) should derive from Template and implement the abstract functions to provide resource definitions and other data.
This is a stable third-party API. Do not add implementations that are specific to internal template formats. Do not add new abstract methods.
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.
Create an empty template.
Creates a new empty template with given version. If version is not provided, a new empty HOT template of version “2015-04-30” is returned.
Parameters: | version – A tuple containing version header of the |
---|
template: version key and value. E.g. (“heat_template_version”, “2015-04-30”) :returns: A new empty template.
Retrieve a Template with the given ID from the database.
Return a dict of parameters.Schema objects for the parameters.
Return a parameters.Parameters object for the stack.
Validate the template.
Validates the top-level sections of the template as well as syntax inside select sections. Some sections are not checked here but in code parts that are responsible for working with the respective sections (e.g. parameters are check by parameters schema class).
Check validity of resource definitions.
This method is deprecated. Subclasses should validate the resource definitions in the process of generating them when calling resource_definitions(). However, for now this method is still called in case any third-party plugins are relying on this for validation and need time to migrate.
Validate the type of the value provided for a specific resource key.
This method is deprecated. This is a utility function previously used by the HOT and CFN template implementations. Its API makes no sense since it attempts to check both properties of user-provided keys (i.e. whether they’re valid keys) and properties that must necessarily be associated with a pre-defined whitelist of keys (i.e. knowing what types the values should be associated with). This method will be removed in a future version of Heat.