runway.cfngin.hooks.ssm.parameter module

AWS SSM Parameter Store hooks.

pydantic model runway.cfngin.hooks.ssm.parameter.ArgsDataModel[source]

Bases: BaseModel

Parameter hook args.

Show JSON schema
{
   "title": "ArgsDataModel",
   "description": "Parameter hook args.",
   "type": "object",
   "properties": {
      "AllowedPattern": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Allowedpattern"
      },
      "DataType": {
         "anyOf": [
            {
               "enum": [
                  "aws:ec2:image",
                  "text"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Datatype"
      },
      "Description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      },
      "force": {
         "default": false,
         "title": "Force",
         "type": "boolean"
      },
      "KeyId": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Keyid"
      },
      "Name": {
         "title": "Name",
         "type": "string"
      },
      "Overwrite": {
         "default": true,
         "title": "Overwrite",
         "type": "boolean"
      },
      "Policies": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Policies"
      },
      "Tags": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/TagDataModel"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Tags"
      },
      "Tier": {
         "default": "Standard",
         "enum": [
            "Advanced",
            "Intelligent-Tiering",
            "Standard"
         ],
         "title": "Tier",
         "type": "string"
      },
      "Type": {
         "enum": [
            "String",
            "StringList",
            "SecureString"
         ],
         "title": "Type",
         "type": "string"
      },
      "Value": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Value"
      }
   },
   "$defs": {
      "TagDataModel": {
         "additionalProperties": false,
         "description": "AWS Resource Tag data model.",
         "properties": {
            "Key": {
               "title": "Key",
               "type": "string"
            },
            "Value": {
               "title": "Value",
               "type": "string"
            }
         },
         "required": [
            "Key",
            "Value"
         ],
         "title": "TagDataModel",
         "type": "object"
      }
   },
   "required": [
      "Name",
      "Type"
   ]
}

field allowed_pattern: Annotated[str | None, Field(alias='AllowedPattern')] = None (alias 'AllowedPattern')

A regular expression used to validate the parameter value.

field data_type: Annotated[Literal['aws:ec2:image', 'text'] | None, Field(alias='DataType')] = None (alias 'DataType')

The data type for a String parameter.

Supported data types include plain text and Amazon Machine Image IDs.

field description: Annotated[str | None, Field(alias='Description')] = None (alias 'Description')

Information about the parameter.

field force: bool = False

Skip checking the current value of the parameter, just put it.

Can be used alongside overwrite to always update a parameter.

field key_id: Annotated[str | None, Field(alias='KeyId')] = None (alias 'KeyId')

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.

field name: Annotated[str, Field(alias='Name')] = PydanticUndefined (alias 'Name')

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

field overwrite: Annotated[bool, Field(alias='Overwrite')] = True (alias 'Overwrite')

Allow overwriting an existing parameter.

field policies: Annotated[str | None, Field(alias='Policies')] = None (alias 'Policies')

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

field tags: Annotated[list[TagDataModel] | None, Field(alias='Tags')] = None (alias 'Tags')

Optional metadata that you assign to a resource.

field tier: Annotated[ParameterTierType, Field(alias='Tier')] = 'Standard' (alias 'Tier')

The parameter tier to assign to a parameter.

field type: Annotated[Literal['String', 'StringList', 'SecureString'], Field(alias='Type')] = PydanticUndefined (alias 'Type')

The type of parameter.

field value: Annotated[str | None, Field(alias='Value')] = None (alias '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.

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

Bases: _Parameter

AWS SSM Parameter Store SecureString Parameter.

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

  • **kwargs – Arbitrary keyword arguments.