runway.cfngin.hooks.protocols module

Protocols for structural typing.

For more information on protocols, refer to PEP 544.

class runway.cfngin.hooks.protocols.CfnginHookArgsProtocol[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.

__init__(*args, **kwargs)
abstract get(_name: str) Any | None[source]
abstract get(_name: str, _default: Any | _T) 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[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.

ARGS_PARSER: ClassVar

Class used to parse arguments passed to the hook.

abstract __init__(context: runway.context.CfnginContext, **_kwargs: Any) None[source]

Structural __init__ method.

abstract post_deploy() 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() 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() 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() 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.