- class sceptre.config.NullHandler(level=0)¶
Do whatever it takes to actually log the specified logging record.
This version is intended to be implemented by subclasses and so raises a NotImplementedError.
This module implements a StackGraph, which is represented as a directed acyclic graph of a Stack’s dependencies.
- class sceptre.config.graph.StackGraph(stacks)¶
A Directed Acyclic Graph representing the relationship between a Stack and its dependencies. Responsible for initalising the graph based on a set of Stacks.
Returns the number of incoming edges a given Stack has in the StackGraph. The number of incoming edge also represents the number of Stacks that depend on the given Stack.
- filtered(source_stacks, reverse=False)¶
Removes a Stack from the StackGraph. This operation will also remove all adjecent edges that represent a ‘depends on’ relationship with other Stacks.
This module implements a ConfigReader class, which is responsible for reading and constructing Stacks.
- class sceptre.config.reader.ConfigReader(context)¶
Parses YAML configuration files and produces Stack objects.
Responsible for loading Resolvers and Hook classes and adding them as constructors to the PyYAML parser.
context – A SceptreContext.
Traverses the files under the command path. For each file encountered, a Stack is constructed using the correct config. Dependencies are traversed and a final set of Stacks is returned.
- read(rel_path, base_config=None)¶
Reads in configuration from one or more YAML files within the Sceptre project folder.
- resolve_node_tag(loader, node)¶
Transforms map of Stacks into a set of Stacks, transforms dependencies from a list of Strings (stack names) to a list of Stacks.
stack_map – Map of stacks, containing dependencies as list of Strings.
Set of stacks, containing dependencies as list of Stacks.
- Return type
This module contains the implementations of the strategies used to merge config attributes.
- sceptre.config.strategies.child_wins(a, b)¶
Always returns the second parameter.
- sceptre.config.strategies.dict_merge(a, b)¶
Takes two dictionaries and merges them.