Stack Sets

A stack set is a collection of one or more stacks to be previewed or deployed.

Your project will contain a smokestack.StackSet class for each stack set to be deployed.

Describing a stack set

Implement the smokestack.StackSet.stacks property to return the stacks within this set.

For example, this “Platform” stack set describes application, database and logging stacks:

from smokestack import Stack, StackSet

import myproject.stacks


class PlatformStackSet(StackSet):
    @property
    def stacks(self) -> List[Type[Stack]]:
        return [
            myproject.stacks.ApplicationStack,
            myproject.stacks.DatabaseStack,
            myproject.stacks.LoggingStack,
        ]

StackSet class

class smokestack.StackSet(out: IO[str] = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)

A set of stacks.

execute(operation: smokestack.types.operation.Operation) None

Executes an operation on the stack set.

Arguments:

operation: Operation.

abstract property stacks: List[Type[smokestack.stack.Stack]]

Gets the stacks in this set.