sceptre.template_handlers package¶
- class sceptre.template_handlers.TemplateHandler(name, arguments=None, sceptre_user_data=None, connection_manager=None, stack_group_config=None)[source]¶
Bases:
object
TemplateHandler is an abstract base class that should be inherited by all Template Handlers.
- Parameters
name (str) – Name of the template
arguments (dict) – The arguments of the template handler
sceptre_user_data (dict) – Sceptre user data in stack config
connection_manager (sceptre.connection_manager.ConnectionManager) – Connection manager used to call AWS
stack_group_config (dict) – The Stack group config to use as defaults.
- abstract handle()[source]¶
An abstract method which must be overwritten by all inheriting classes. This method is called to retrieve the template. Implementation of this method in subclasses must return a string that can be interpreted by Sceptre (CloudFormation YAML / JSON, Jinja or Python)
- jinja_template_extensions = ['.j2']¶
- python_template_extensions = ['.py']¶
- abstract schema()[source]¶
Returns the schema for the arguments of this Template Resolver. This will be used to validate that the arguments passed in the stack config are what the Template Handler expects. :return: JSON schema that can be validated :rtype: object
- standard_template_extensions = ['.json', '.yaml', '.template']¶
- supported_template_extensions = ['.json', '.yaml', '.template', '.j2', '.py']¶
Submodules¶
sceptre.template_handlers.file module¶
- class sceptre.template_handlers.file.File(*args, **kwargs)[source]¶
Bases:
TemplateHandler
Template handler that can load files from disk. Supports JSON, YAML, Jinja2 and Python.
sceptre.template_handlers.helper module¶
- sceptre.template_handlers.helper.call_sceptre_handler(path, sceptre_user_data)[source]¶
Calls the function sceptre_handler within templates that are python scripts.
- Parameters
path – A path to the file.
sceptre_user_data – The sceptre_user_data parameter values.
- Returns
The string returned from sceptre_handler in the template.
- Return type
- Raises
IOError
- Raises
TemplateSceptreHandlerError
- sceptre.template_handlers.helper.logger = <Logger sceptre.template_handlers.helper (WARNING)>¶
Template handler helpers.
- sceptre.template_handlers.helper.print_template_traceback(path)[source]¶
Prints a stack trace, including only files which are inside a ‘templates’ directory. The function is intended to give the operator instant feedback about why their templates are failing to compile.
- Parameters
path – A path to the file.
- Return type
None
sceptre.template_handlers.http module¶
- class sceptre.template_handlers.http.Http(*args, **kwargs)[source]¶
Bases:
TemplateHandler
Template handler that can resolve templates from the web. Standard CFN templates with extension (.json, .yaml, .template) are deployed directly from memory while references to jinja (.j2) and python (.py) templates are downloaded, transformed into CFN templates then deployed to AWS.
sceptre.template_handlers.s3 module¶
- class sceptre.template_handlers.s3.S3(*args, **kwargs)[source]¶
Bases:
TemplateHandler
Template handler that can resolve templates from S3. Raw CFN templates with extension (.json, .yaml, .template) are deployed directly from memory while references to jinja (.j2) and python (.py) templates are downloaded, transformed into CFN templates then deployed to AWS.