sceptre.hooks package

class sceptre.hooks.Hook(argument=None, stack=None)[source]

Bases: object

Hook is an abstract base class that should be inherited by all hooks.

  • argument (str) – The argument of the hook.
  • stack (sceptre.stack.Stack) – The associated stack of the hook.

run is an abstract method which must be overwritten by all inheriting classes. Run should execute the logic of the hook.


setup is a method that may be overwritten by inheriting classes. Allows hooks to run so initalisation steps when config is first read.

class sceptre.hooks.HookProperty(name)[source]

Bases: object

This is a descriptor class used to store an attribute that may contain Hook objects. Used to setup Hooks when added as a attribute. Supports nested dictionary and lists.

Parameters:name (str) – Attribute suffix used to store the property in the instance.

A function decorator to trigger the before and after hooks, relative to the decorated function’s name. :param func: a function that operates on a stack :type func: function


Searches through dictionary or list for Resolver objects and replaces them with the resolved value. Supports nested dictionaries and lists. Does not detect Resolver objects used as keys in dictionaries.

Parameters:attr (dict or list) – A complex data structure to search through.
Returns:A complex data structure without Resolver objects.
Return type:dict or list


sceptre.hooks.asg_scaling_processes module

class sceptre.hooks.asg_scaling_processes.ASGScalingProcesses(*args, **kwargs)[source]

Bases: sceptre.hooks.Hook

Resumes or suspends autoscaling group scaling processes. This is useful as scheduled actions must be suspended when updating stacks with autoscaling groups.


Either suspends or resumes any scaling processes on all autoscaling groups within the current stack.

Raises:InvalidHookArgumentSyntaxError, when syntax is not using “::”.
Raises:InvalidHookArgumentTypeError, if argument is not a string.
Raises:InvalidHookArgumentValueError, if not using resume or suspend.

sceptre.hooks.cmd module

class sceptre.hooks.cmd.Cmd(*args, **kwargs)[source]

Bases: sceptre.hooks.Hook

Cmd implements a Sceptre hook which can run arbitrary commands.


Runs the argument string in a subprocess.