runway.cfngin.hooks.base module
Base class for CFNgin hooks.
- class runway.cfngin.hooks.base.HookArgsBaseModel[source]
Bases:
runway.utils.BaseModel
Base model for hook args.
- __contains__(name: object) bool
Implement evaluation of ‘in’ conditional.
- Parameters
name – The name to check for existence in the model.
- __getitem__(name: str) Any
Implement evaluation of self[name].
- Parameters
name – Attribute name to return the value for.
- Returns
The value associated with the provided name/attribute name.
- Raises
AttributeError – If attribute does not exist on this object.
- __init__(**data: Any) None
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
- __iter__() TupleGenerator
so dict(model) works
- __new__(**kwargs)
- __pretty__(fmt: Callable[[Any], Any], **kwargs: Any) Generator[Any, None, None]
Used by devtools (https://python-devtools.helpmanual.io/) to provide a human readable representations of objects
- __rich_repr__() RichReprResult
Get fields for Rich library
- __setitem__(name: str, value: Any) None
Implement item assignment (e.g.
self[name] = value
).- Parameters
name – Attribute name to set.
value – Value to assign to the attribute.
- classmethod __try_update_forward_refs__(**localns: Any) None
Same as update_forward_refs but will not raise exception when forward references are not defined.
- classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) Model
Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values
- copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) Model
Duplicate a model, optionally choose which fields to include, exclude and change.
- Parameters
include – fields to include in new model
exclude – fields to exclude from new model, as with values this takes precedence over include
update – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data
deep – set to True to make a deep copy of the model
- Returns
new model instance
- dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) DictStrAny
Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
- get(name: str, default: Any = None) Any
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.
- json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) str
Generate a JSON representation of the model, include and exclude arguments as per dict().
encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().
- class runway.cfngin.hooks.base.Hook[source]
Bases:
runway.cfngin.hooks.protocols.CfnginHookProtocol
Base class for hooks.
Not all hooks need to be classes and not all classes need to be hooks.
- args
Keyword arguments passed to the hook, loaded into a MutableMap object.
- Type
- blueprint
Blueprint generated by the hook if it will be deploying a stack.
- Type
Optional[Blueprint]
- context
Context instance. (passed in by CFNgin)
- Type
- provider Provider instance.
- Type
passed in by CFNgin
- ARGS_PARSER
Class used to parse arguments passed to the hook.
- __init__(context: CfnginContext, provider: Provider, **kwargs: Any) None [source]
Instantiate class.
- Parameters
context – Context instance. (passed in by CFNgin)
provider – Provider instance. (passed in by CFNgin)
- property tags: troposphere.Tags
Return tags that should be applied to any resource being created.
- generate_stack(**kwargs: Any) runway.cfngin.stack.Stack [source]
Create a CFNgin Stack object.
- get_template_description(suffix: Optional[str] = None) str [source]
Generate a template description.
- Parameters
suffix – Suffix to append to the end of a CloudFormation template description.
- deploy_stack(stack: Optional[Stack] = None, wait: bool = False) Status [source]
Deploy a stack.
- Parameters
stack – A stack to act on.
wait – Wither to wait for the stack to complete before returning.
- Returns
Ending status of the stack.
- destroy_stack(stack: Optional[Stack] = None, wait: bool = False) Status [source]
Destroy a stack.
- Parameters
stack – A stack to act on.
wait – Wither to wait for the stack to complete before returning.
- Returns
Ending status of the stack.
- __new__(**kwargs)
- class runway.cfngin.hooks.base.HookDeployAction[source]
Bases:
runway.cfngin.actions.deploy.Action
Deploy action that can be used from hooks.
- __init__(context: CfnginContext, provider: Provider)[source]
Instantiate class.
- Parameters
context – The context for the current run.
provider – The provider instance.
- __new__(**kwargs)
- static build_parameters(stack: Stack, provider_stack: Optional[StackTypeDef] = None) List[ParameterTypeDef]
Build the CloudFormation Parameters for our stack.
- Parameters
stack – A CFNgin stack.
provider_stack – An optional CFNgin provider object.
- Returns
The parameters for the given stack
- post_run(*, dump: Union[bool, str] = False, outline: bool = False, **_: Any) None
Any steps that need to be taken after running the action.
- pre_run(*, dump: Union[bool, str] = False, outline: bool = False, **_: Any) None
Any steps that need to be taken prior to running the action.
- class runway.cfngin.hooks.base.HookDestroyAction[source]
Bases:
runway.cfngin.hooks.base.HookDeployAction
Destroy action that can be used from hooks.
- __init__(context: CfnginContext, provider: Provider)
Instantiate class.
- Parameters
context – The context for the current run.
provider – The provider instance.
- __new__(**kwargs)
- static build_parameters(stack: Stack, provider_stack: Optional[StackTypeDef] = None) List[ParameterTypeDef]
Build the CloudFormation Parameters for our stack.
- Parameters
stack – A CFNgin stack.
provider_stack – An optional CFNgin provider object.
- Returns
The parameters for the given stack
- post_run(*, dump: Union[bool, str] = False, outline: bool = False, **_: Any) None
Any steps that need to be taken after running the action.
- pre_run(*, dump: Union[bool, str] = False, outline: bool = False, **_: Any) None
Any steps that need to be taken prior to running the action.