runway.cfngin.hooks.ssm.parameter module

AWS SSM Parameter Store hooks.

class runway.cfngin.hooks.ssm.parameter.ArgsDataModel[source]

Bases: runway.utils.BaseModel

Parameter hook args.

allowed_pattern

A regular expression used to validate the parameter value.

Type

Optional[str]

data_type

The data type for a String parameter. Supported data types include plain text and Amazon Machine Image IDs.

Type

Optional[Literal[‘aws:ec2:image’, ‘text’]]

description

Information about the parameter.

Type

Optional[str]

force

Skip checking the current value of the parameter, just put it. Can be used alongside overwrite to always update a parameter.

Type

bool

key_id

The KMS Key ID that you want to use to encrypt a parameter. Either the default AWS Key Management Service (AWS KMS) key automatically assigned to your AWS account or a custom key. Required for parameters that use the SecureString data type.

Type

Optional[str]

name

The fully qualified name of the parameter that you want to add to the system.

Type

str

overwrite

Allow overwriting an existing parameter.

Type

bool

policies

One or more policies to apply to a parameter. This field takes a JSON array.

Type

Optional[str]

tags

Optional metadata that you assign to a resource.

Type

Optional[List[runway.cfngin.hooks.utils.TagDataModel]]

tier

The parameter tier to assign to a parameter.

Type

Literal[‘Advanced’, ‘Intelligent-Tiering’, ‘Standard’]

type

The type of parameter.

Type

Literal[‘String’, ‘StringList’, ‘SecureString’]

value

The parameter value that you want to add to the system. Standard parameters have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.

Type

Optional[str]

class Config[source]

Bases: object

Model configuration.

__init__()
__new__(**kwargs)
__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

__repr_name__() str

Name of the instance’s class, used in __repr__.

__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().

classmethod update_forward_refs(**localns: Any) None

Try to update ForwardRefs on fields based on this Model, globalns and localns.

class runway.cfngin.hooks.ssm.parameter.SecureString[source]

Bases: runway.cfngin.hooks.ssm.parameter._Parameter

AWS SSM Parameter Store SecureString Parameter.

__new__(**kwargs)
property client: SSMClient

AWS SSM client.

delete() bool

Delete parameter.

get() ParameterTypeDef

Get parameter.

get_current_tags() List[TagTypeDef]

Get Tags currently applied to Parameter.

post_deploy() runway.cfngin.hooks.ssm.parameter._PutParameterResultTypeDef

Run during the post_deploy stage.

post_destroy() bool

Run during the post_destroy stage.

pre_deploy() runway.cfngin.hooks.ssm.parameter._PutParameterResultTypeDef

Run during the pre_deploy stage.

pre_destroy() bool

Run during the pre_destroy stage.

put() runway.cfngin.hooks.ssm.parameter._PutParameterResultTypeDef

Put parameter.

update_tags() None

Update tags.

__init__(context: runway.context.CfnginContext, *, name: str, **kwargs: Any) None[source]

Instantiate class.

Parameters
  • context – CFNgin context object.

  • name – The fully qualified name of the parameter that you want to add to the system.