runway.cfngin.hooks.protocols module

Protocols for structural typing.

For more information on protocols, refer to PEP 544.

class runway.cfngin.hooks.protocols.CfnginHookArgsProtocol(*args, **kwargs)[source]

Bases: Protocol

Protocol for CFNgin hook arguments class.

This class defines a structural interface for all CFNgin hook argument classes. It is recommended to use the provided base class in place of this when authoring a new argument class.

abstract get(_name: str)Optional[Any][source]
abstract get(_name: str, default: Union[typing.Any, _T])Union[typing.Any, _T]

Safely get the value of an attribute.

Parameters
  • name – Attribute name to return the value for.

  • default – Value to return if attribute is not found.

class runway.cfngin.hooks.protocols.CfnginHookProtocol(*args, **kwargs)[source]

Bases: Protocol

Protocol for CFNgin hooks.

This class defines a structural interface for all CFNgin hook classes. Classes used for hooks do not need to subclass this hook. They only need to implement a similar interface. While not required, it is still acceptable to subclass this class for full type checking of a hook class.

abstract post_deploy()typing.Any[source]

Run during the post_deploy stage.

Returns

A “truthy” value if the hook was successful or a “falsy” value if the hook failed.

abstract post_destroy()typing.Any[source]

Run during the post_destroy stage.

Returns

A “truthy” value if the hook was successful or a “falsy” value if the hook failed.

abstract pre_deploy()typing.Any[source]

Run during the pre_deploy stage.

Returns

A “truthy” value if the hook was successful or a “falsy” value if the hook failed.

abstract pre_destroy()typing.Any[source]

Run during the pre_destroy stage.

Returns

A “truthy” value if the hook was successful or a “falsy” value if the hook failed.