runway.config.models.cfngin package¶
CFNgin config models.
- pydantic model runway.config.models.cfngin.CfnginConfigDefinitionModel[source]¶
Bases:
ConfigProperty
Model for a CFNgin config definition.
Show JSON schema
{ "title": "CFNgin Config File", "description": "Configuration file for Runway's CFNgin.", "type": "object", "properties": { "cfngin_bucket": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Name of an AWS S3 bucket to use for caching CloudFormation templates. Set as an empty string to disable caching.", "title": "CFNgin Bucket" }, "cfngin_bucket_region": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "AWS Region where the CFNgin Bucket is located. If not provided, the current region is used.", "title": "CFNgin Bucket Region" }, "cfngin_cache_dir": { "anyOf": [ { "format": "path", "type": "string" }, { "type": "null" } ], "default": null, "description": "Path to a local directory that CFNgin will use for local caching.", "title": "CFNgin Cache Directory" }, "log_formats": { "additionalProperties": { "type": "string" }, "default": {}, "description": "Customize log message formatting by log level.", "title": "Log Formats", "type": "object" }, "lookups": { "additionalProperties": { "type": "string" }, "default": {}, "description": "Mapping of custom lookup names to a python importable path for the class that will be used to resolve the lookups.", "title": "Lookups", "type": "object" }, "mappings": { "additionalProperties": { "additionalProperties": { "additionalProperties": true, "type": "object" }, "type": "object" }, "default": {}, "description": "Mappings that will be appended to all stack templates.", "title": "Mappings", "type": "object" }, "namespace": { "description": "The namespace used to prefix stack names to create separation within an AWS account.", "title": "Namespace", "type": "string" }, "namespace_delimiter": { "default": "-", "description": "Character used to separate the namespace and stack name when the namespace is prepended.", "title": "Namespace Delimiter", "type": "string" }, "package_sources": { "$ref": "#/$defs/CfnginPackageSourcesDefinitionModel", "default": { "git": [], "local": [], "s3": [] } }, "persistent_graph_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Key for an AWS S3 object used to track a graph of stacks between executions.", "title": "Persistent Graph Key" }, "post_deploy": { "anyOf": [ { "items": { "$ref": "#/$defs/CfnginHookDefinitionModel" }, "type": "array" }, { "additionalProperties": { "$ref": "#/$defs/CfnginHookDefinitionModel" }, "type": "object" } ], "default": [], "title": "Post Deploy Hooks" }, "post_destroy": { "anyOf": [ { "items": { "$ref": "#/$defs/CfnginHookDefinitionModel" }, "type": "array" }, { "additionalProperties": { "$ref": "#/$defs/CfnginHookDefinitionModel" }, "type": "object" } ], "default": [], "title": "Pre Destroy Hooks" }, "pre_deploy": { "anyOf": [ { "items": { "$ref": "#/$defs/CfnginHookDefinitionModel" }, "type": "array" }, { "additionalProperties": { "$ref": "#/$defs/CfnginHookDefinitionModel" }, "type": "object" } ], "default": [], "title": "Pre Deploy Hooks" }, "pre_destroy": { "anyOf": [ { "items": { "$ref": "#/$defs/CfnginHookDefinitionModel" }, "type": "array" }, { "additionalProperties": { "$ref": "#/$defs/CfnginHookDefinitionModel" }, "type": "object" } ], "default": [], "title": "Pre Destroy Hooks" }, "service_role": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Specify an IAM Role for CloudFormation to use.", "title": "Service Role ARN" }, "stacks": { "anyOf": [ { "items": { "$ref": "#/$defs/CfnginStackDefinitionModel" }, "type": "array" }, { "additionalProperties": { "$ref": "#/$defs/CfnginStackDefinitionModel" }, "type": "object" } ], "default": [], "description": "Define CloudFormation stacks using a Blueprint or Template.", "title": "Stacks" }, "sys_path": { "anyOf": [ { "format": "path", "type": "string" }, { "type": "null" } ], "default": null, "description": "Path to append to $PATH. This is also the root of relative paths.", "title": "sys.path" }, "tags": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "description": "Tags to try to apply to all resources created from this configuration file.", "title": "Tags" }, "template_indent": { "default": 4, "description": "Number of spaces per indentation level to use when rendering/outputting CloudFormation templates.", "title": "Template Indent", "type": "integer" } }, "$defs": { "CfnginHookDefinitionModel": { "additionalProperties": false, "description": "Python classes or functions run before or after deploy/destroy actions.", "properties": { "args": { "additionalProperties": true, "default": {}, "description": "Arguments that will be passed to the hook. (supports lookups)", "title": "Arguments", "type": "object" }, "data_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Key to use when storing the returned result of the hook.", "title": "Data Key" }, "enabled": { "default": true, "description": "Whether the hook will be run.", "title": "Enabled", "type": "boolean" }, "path": { "description": "Python importable path to the hook.", "title": "Path", "type": "string" }, "required": { "default": true, "description": "Whether to continue execution if the hook results in an error.", "title": "Required", "type": "boolean" } }, "required": [ "path" ], "title": "CFNgin Hook Definition", "type": "object" }, "CfnginPackageSourcesDefinitionModel": { "additionalProperties": false, "description": "Map of additional package sources to include when processing this configuration file.", "properties": { "git": { "default": [], "description": "Information about git repositories that should be included in the processing of this configuration file.", "items": { "$ref": "#/$defs/GitCfnginPackageSourceDefinitionModel" }, "title": "CFNgin Git Repository Package Source Definitions", "type": "array" }, "local": { "default": [], "description": "Information about local directories that should be included in the processing of this configuration file.", "items": { "$ref": "#/$defs/LocalCfnginPackageSourceDefinitionModel" }, "title": "CFNgin Local Package Source Definitions", "type": "array" }, "s3": { "default": [], "description": "Information about a AWS S3 objects that should be downloaded, unzipped, and included in the processing of this configuration file.", "items": { "$ref": "#/$defs/S3CfnginPackageSourceDefinitionModel" }, "title": "CFNgin S3 Package Source Definitions", "type": "array" } }, "title": "CFNgin Package Sources Definition", "type": "object" }, "CfnginStackDefinitionModel": { "additionalProperties": false, "description": "Define CloudFormation stacks using a Blueprint or Template.", "properties": { "class_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Python importable path to a blueprint class.", "title": "Blueprint Class Path" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "A description that will be applied to the stack in CloudFormation.", "title": "Stack Description" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "pattern": "^\\$\\{.+\\}$", "type": "string" } ], "default": true, "description": "Whether the stack will be deployed.", "title": "Enabled" }, "in_progress_behavior": { "anyOf": [ { "const": "wait", "type": "string" }, { "type": "null" } ], "default": null, "description": "The action to take when a stack's status is CREATE_IN_PROGRESS or UPDATE_IN_PROGRESS when trying to update it.", "title": "Stack In Progress Behavior" }, "locked": { "anyOf": [ { "type": "boolean" }, { "pattern": "^\\$\\{.+\\}$", "type": "string" } ], "default": false, "description": "Whether to limit updating of the stack.", "title": "Locked" }, "name": { "description": "Name of the stack.", "title": "Stack Name", "type": "string" }, "protected": { "anyOf": [ { "type": "boolean" }, { "pattern": "^\\$\\{.+\\}$", "type": "string" } ], "default": false, "description": "Whether to force all updates to the stack to be performed interactively.", "title": "Protected" }, "required_by": { "default": [], "description": "Array of stacks (by name) that require this stack.", "items": { "type": "string" }, "title": "Required By", "type": "array" }, "requires": { "default": [], "description": "Array of stacks (by name) that this stack requires.", "items": { "type": "string" }, "title": "Requires", "type": "array" }, "stack_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Explicit name of the stack (namespace will still be prepended).", "title": "Explicit Stack Name" }, "stack_policy_path": { "anyOf": [ { "format": "path", "type": "string" }, { "type": "null" } ], "default": null, "description": "Path to a stack policy document that will be applied to the CloudFormation stack.", "title": "Stack Policy Path" }, "tags": { "additionalProperties": true, "default": {}, "description": "Tags that will be applied to the CloudFormation stack.", "title": "Tags", "type": "object" }, "template_path": { "anyOf": [ { "format": "path", "type": "string" }, { "type": "null" } ], "default": null, "description": "Path to a JSON or YAML formatted CloudFormation Template.", "title": "Template Path" }, "termination_protection": { "anyOf": [ { "type": "boolean" }, { "pattern": "^\\$\\{.+\\}$", "type": "string" } ], "default": false, "description": "Set the value of termination protection on the CloudFormation stack.", "title": "Termination Protection" }, "timeout": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "The amount of time (in minutes) that can pass before the Stack status becomes CREATE_FAILED.", "title": "Timeout" }, "variables": { "additionalProperties": true, "default": {}, "description": "Parameter values that will be passed to the Blueprint/CloudFormation stack. (supports lookups)", "title": "Variables", "type": "object" } }, "required": [], "title": "CFNgin Stack Definition", "type": "object" }, "GitCfnginPackageSourceDefinitionModel": { "additionalProperties": false, "description": "Information about git repositories that should be included in the processing of this configuration file.", "properties": { "branch": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "ENV-dev", "ENV-prod", "master" ], "title": "Git Branch" }, "commit": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Git Commit Hash" }, "configs": { "default": [], "description": "Array of paths relative to the root of the package source for configuration that should be merged into the current configuration file.", "items": { "type": "string" }, "title": "Configs", "type": "array" }, "paths": { "default": [], "description": "Array of paths relative to the root of the package source to add to $PATH.", "items": { "type": "string" }, "title": "Paths", "type": "array" }, "tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "1.0.0", "v1.0.0" ], "title": "Git Tag" }, "uri": { "examples": [ "git@github.com:rackspace/runway.git" ], "title": "Git Repository URI", "type": "string" } }, "required": [ "uri" ], "title": "CFNgin Git Repository Package Source Definition", "type": "object" }, "LocalCfnginPackageSourceDefinitionModel": { "additionalProperties": false, "description": "Information about local directories that should be included in the processing of this configuration file.", "properties": { "configs": { "default": [], "description": "Array of paths relative to the root of the package source for configuration that should be merged into the current configuration file.", "items": { "type": "string" }, "title": "Configs", "type": "array" }, "paths": { "default": [], "description": "Array of paths relative to the root of the package source to add to $PATH.", "items": { "type": "string" }, "title": "Paths", "type": "array" }, "source": { "description": "Path relative to the current configuration file that is the root of the local package source.", "title": "Source", "type": "string" } }, "required": [ "source" ], "title": "CFNgin Local Package Source Definition", "type": "object" }, "S3CfnginPackageSourceDefinitionModel": { "additionalProperties": false, "description": "Information about a AWS S3 objects that should be downloaded, unzipped, and included in the processing of this configuration file.", "properties": { "bucket": { "title": "AWS S3 Bucket Name", "type": "string" }, "configs": { "default": [], "description": "Array of paths relative to the root of the package source for configuration that should be merged into the current configuration file.", "items": { "type": "string" }, "title": "Configs", "type": "array" }, "key": { "title": "AWS S3 Object Key", "type": "string" }, "paths": { "default": [], "description": "Array of paths relative to the root of the package source to add to $PATH.", "items": { "type": "string" }, "title": "Paths", "type": "array" }, "requester_pays": { "default": false, "description": "Confirms that the requester knows that they will be charged for the request.", "title": "Requester Pays", "type": "boolean" }, "use_latest": { "default": true, "description": "Update the local copy if the last modified date in AWS S3 changes.", "title": "Use Latest", "type": "boolean" } }, "required": [ "bucket", "key" ], "title": "CFNgin S3 Package Source Definition", "type": "object" } }, "required": [ "namespace" ] }
- field cfngin_bucket: Annotated[str | None, Field(title='CFNgin Bucket', description='Name of an AWS S3 bucket to use for caching CloudFormation templates. Set as an empty string to disable caching.')] = None¶
- field cfngin_bucket_region: Annotated[str | None, Field(title='CFNgin Bucket Region', description='AWS Region where the CFNgin Bucket is located. If not provided, the current region is used.')] = None¶
- field cfngin_cache_dir: Annotated[Path | None, Field(title='CFNgin Cache Directory', description='Path to a local directory that CFNgin will use for local caching.')] = None¶
- field log_formats: Annotated[dict[str, str], Field(description='Customize log message formatting by log level.')] = {}¶
- field lookups: Annotated[dict[str, str], Field(description='Mapping of custom lookup names to a python importable path for the class that will be used to resolve the lookups.')] = {}¶
- field mappings: Annotated[dict[str, dict[str, dict[str, Any]]], Field(description='Mappings that will be appended to all stack templates.')] = {}¶
- field namespace: Annotated[str, Field(description='The namespace used to prefix stack names to create separation within an AWS account.')] = PydanticUndefined¶
- field namespace_delimiter: Annotated[str, Field(description='Character used to separate the namespace and stack name when the namespace is prepended.')] = '-'¶
- field package_sources: Annotated[CfnginPackageSourcesDefinitionModel, Field(description='Map of additional package sources to include when processing this configuration file.')] = CfnginPackageSourcesDefinitionModel(git=[], local=[], s3=[])¶
- field persistent_graph_key: Annotated[str | None, Field(description='Key for an AWS S3 object used to track a graph of stacks between executions.')] = None¶
- field post_deploy: Annotated[list[CfnginHookDefinitionModel] | dict[str, CfnginHookDefinitionModel], Field(title='Post Deploy Hooks')] = []¶
- field post_destroy: Annotated[list[CfnginHookDefinitionModel] | dict[str, CfnginHookDefinitionModel], Field(title='Pre Destroy Hooks')] = []¶
- field pre_deploy: Annotated[list[CfnginHookDefinitionModel] | dict[str, CfnginHookDefinitionModel], Field(title='Pre Deploy Hooks')] = []¶
- field pre_destroy: Annotated[list[CfnginHookDefinitionModel] | dict[str, CfnginHookDefinitionModel], Field(title='Pre Destroy Hooks')] = []¶
- field service_role: Annotated[str | None, Field(title='Service Role ARN', description='Specify an IAM Role for CloudFormation to use.')] = None¶
- field stacks: Annotated[list[CfnginStackDefinitionModel] | dict[str, CfnginStackDefinitionModel], Field(description='Define CloudFormation stacks using a Blueprint or Template.')] = []¶
- field sys_path: Annotated[Path | None, Field(title='sys.path', description='Path to append to $PATH. This is also the root of relative paths.')] = None¶
- pydantic model runway.config.models.cfngin.CfnginHookDefinitionModel[source]¶
Bases:
ConfigProperty
Model for a CFNgin hook definition.
Show JSON schema
{ "title": "CFNgin Hook Definition", "description": "Python classes or functions run before or after deploy/destroy actions.", "type": "object", "properties": { "args": { "additionalProperties": true, "default": {}, "description": "Arguments that will be passed to the hook. (supports lookups)", "title": "Arguments", "type": "object" }, "data_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Key to use when storing the returned result of the hook.", "title": "Data Key" }, "enabled": { "default": true, "description": "Whether the hook will be run.", "title": "Enabled", "type": "boolean" }, "path": { "description": "Python importable path to the hook.", "title": "Path", "type": "string" }, "required": { "default": true, "description": "Whether to continue execution if the hook results in an error.", "title": "Required", "type": "boolean" } }, "additionalProperties": false, "required": [ "path" ] }
- field args: Annotated[dict[str, Any], Field(title='Arguments', description='Arguments that will be passed to the hook. (supports lookups)')] = {}¶
- field data_key: Annotated[str | None, Field(description='Key to use when storing the returned result of the hook.')] = None¶
- pydantic model runway.config.models.cfngin.CfnginPackageSourcesDefinitionModel[source]¶
Bases:
ConfigProperty
Model for a CFNgin package sources definition.
Show JSON schema
{ "title": "CFNgin Package Sources Definition", "description": "Map of additional package sources to include when processing this configuration file.", "type": "object", "properties": { "git": { "default": [], "description": "Information about git repositories that should be included in the processing of this configuration file.", "items": { "$ref": "#/$defs/GitCfnginPackageSourceDefinitionModel" }, "title": "CFNgin Git Repository Package Source Definitions", "type": "array" }, "local": { "default": [], "description": "Information about local directories that should be included in the processing of this configuration file.", "items": { "$ref": "#/$defs/LocalCfnginPackageSourceDefinitionModel" }, "title": "CFNgin Local Package Source Definitions", "type": "array" }, "s3": { "default": [], "description": "Information about a AWS S3 objects that should be downloaded, unzipped, and included in the processing of this configuration file.", "items": { "$ref": "#/$defs/S3CfnginPackageSourceDefinitionModel" }, "title": "CFNgin S3 Package Source Definitions", "type": "array" } }, "$defs": { "GitCfnginPackageSourceDefinitionModel": { "additionalProperties": false, "description": "Information about git repositories that should be included in the processing of this configuration file.", "properties": { "branch": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "ENV-dev", "ENV-prod", "master" ], "title": "Git Branch" }, "commit": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Git Commit Hash" }, "configs": { "default": [], "description": "Array of paths relative to the root of the package source for configuration that should be merged into the current configuration file.", "items": { "type": "string" }, "title": "Configs", "type": "array" }, "paths": { "default": [], "description": "Array of paths relative to the root of the package source to add to $PATH.", "items": { "type": "string" }, "title": "Paths", "type": "array" }, "tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "1.0.0", "v1.0.0" ], "title": "Git Tag" }, "uri": { "examples": [ "git@github.com:rackspace/runway.git" ], "title": "Git Repository URI", "type": "string" } }, "required": [ "uri" ], "title": "CFNgin Git Repository Package Source Definition", "type": "object" }, "LocalCfnginPackageSourceDefinitionModel": { "additionalProperties": false, "description": "Information about local directories that should be included in the processing of this configuration file.", "properties": { "configs": { "default": [], "description": "Array of paths relative to the root of the package source for configuration that should be merged into the current configuration file.", "items": { "type": "string" }, "title": "Configs", "type": "array" }, "paths": { "default": [], "description": "Array of paths relative to the root of the package source to add to $PATH.", "items": { "type": "string" }, "title": "Paths", "type": "array" }, "source": { "description": "Path relative to the current configuration file that is the root of the local package source.", "title": "Source", "type": "string" } }, "required": [ "source" ], "title": "CFNgin Local Package Source Definition", "type": "object" }, "S3CfnginPackageSourceDefinitionModel": { "additionalProperties": false, "description": "Information about a AWS S3 objects that should be downloaded, unzipped, and included in the processing of this configuration file.", "properties": { "bucket": { "title": "AWS S3 Bucket Name", "type": "string" }, "configs": { "default": [], "description": "Array of paths relative to the root of the package source for configuration that should be merged into the current configuration file.", "items": { "type": "string" }, "title": "Configs", "type": "array" }, "key": { "title": "AWS S3 Object Key", "type": "string" }, "paths": { "default": [], "description": "Array of paths relative to the root of the package source to add to $PATH.", "items": { "type": "string" }, "title": "Paths", "type": "array" }, "requester_pays": { "default": false, "description": "Confirms that the requester knows that they will be charged for the request.", "title": "Requester Pays", "type": "boolean" }, "use_latest": { "default": true, "description": "Update the local copy if the last modified date in AWS S3 changes.", "title": "Use Latest", "type": "boolean" } }, "required": [ "bucket", "key" ], "title": "CFNgin S3 Package Source Definition", "type": "object" } }, "additionalProperties": false }
- field git: list[GitCfnginPackageSourceDefinitionModel] = []¶
Package source located in a git repo.
- field local: list[LocalCfnginPackageSourceDefinitionModel] = []¶
Package source located on a local disk.
- field s3: list[S3CfnginPackageSourceDefinitionModel] = []¶
Package source located in AWS S3.
- pydantic model runway.config.models.cfngin.CfnginStackDefinitionModel[source]¶
Bases:
ConfigProperty
Model for a CFNgin stack definition.
Show JSON schema
{ "title": "CFNgin Stack Definition", "description": "Define CloudFormation stacks using a Blueprint or Template.", "type": "object", "properties": { "class_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Python importable path to a blueprint class.", "title": "Blueprint Class Path" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "A description that will be applied to the stack in CloudFormation.", "title": "Stack Description" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "pattern": "^\\$\\{.+\\}$", "type": "string" } ], "default": true, "description": "Whether the stack will be deployed.", "title": "Enabled" }, "in_progress_behavior": { "anyOf": [ { "const": "wait", "type": "string" }, { "type": "null" } ], "default": null, "description": "The action to take when a stack's status is CREATE_IN_PROGRESS or UPDATE_IN_PROGRESS when trying to update it.", "title": "Stack In Progress Behavior" }, "locked": { "anyOf": [ { "type": "boolean" }, { "pattern": "^\\$\\{.+\\}$", "type": "string" } ], "default": false, "description": "Whether to limit updating of the stack.", "title": "Locked" }, "name": { "description": "Name of the stack.", "title": "Stack Name", "type": "string" }, "protected": { "anyOf": [ { "type": "boolean" }, { "pattern": "^\\$\\{.+\\}$", "type": "string" } ], "default": false, "description": "Whether to force all updates to the stack to be performed interactively.", "title": "Protected" }, "required_by": { "default": [], "description": "Array of stacks (by name) that require this stack.", "items": { "type": "string" }, "title": "Required By", "type": "array" }, "requires": { "default": [], "description": "Array of stacks (by name) that this stack requires.", "items": { "type": "string" }, "title": "Requires", "type": "array" }, "stack_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Explicit name of the stack (namespace will still be prepended).", "title": "Explicit Stack Name" }, "stack_policy_path": { "anyOf": [ { "format": "path", "type": "string" }, { "type": "null" } ], "default": null, "description": "Path to a stack policy document that will be applied to the CloudFormation stack.", "title": "Stack Policy Path" }, "tags": { "additionalProperties": true, "default": {}, "description": "Tags that will be applied to the CloudFormation stack.", "title": "Tags", "type": "object" }, "template_path": { "anyOf": [ { "format": "path", "type": "string" }, { "type": "null" } ], "default": null, "description": "Path to a JSON or YAML formatted CloudFormation Template.", "title": "Template Path" }, "termination_protection": { "anyOf": [ { "type": "boolean" }, { "pattern": "^\\$\\{.+\\}$", "type": "string" } ], "default": false, "description": "Set the value of termination protection on the CloudFormation stack.", "title": "Termination Protection" }, "timeout": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "The amount of time (in minutes) that can pass before the Stack status becomes CREATE_FAILED.", "title": "Timeout" }, "variables": { "additionalProperties": true, "default": {}, "description": "Parameter values that will be passed to the Blueprint/CloudFormation stack. (supports lookups)", "title": "Variables", "type": "object" } }, "additionalProperties": false, "required": [] }
- field class_path: Annotated[str | None, Field(title='Blueprint Class Path', description='Python importable path to a blueprint class.')] = None¶
Python importable path to a blueprint class.
- field description: Annotated[str | None, Field(title='Stack Description', description='A description that will be applied to the stack in CloudFormation.')] = None¶
A description that will be applied to the stack in CloudFormation.
- field enabled: Annotated[bool, Field(description='Whether the stack will be deployed.')] = True¶
Whether the stack will be deployed.
- field in_progress_behavior: Annotated[Literal['wait'] | None, Field(title='Stack In Progress Behavior', description="The action to take when a stack's status is CREATE_IN_PROGRESS or UPDATE_IN_PROGRESS when trying to update it.")] = None¶
The action to take when a Stack’s status is
CREATE_IN_PROGRESS
orUPDATE_IN_PROGRESS
when trying to update it.
- field locked: Annotated[bool, Field(description='Whether to limit updating of the stack.')] = False¶
Whether to limit updating of the stack.
- field name: Annotated[str, Field(title='Stack Name', description='Name of the stack.')] = PydanticUndefined¶
Name of the stack.
- field protected: Annotated[bool, Field(description='Whether to force all updates to the stack to be performed interactively.')] = False¶
Whether to force all updates to the stack to be performed interactively.
- field required_by: Annotated[list[str], Field(description='Array of stacks (by name) that require this stack.')] = []¶
Array of stacks (by name) that require this stack.
- field requires: Annotated[list[str], Field(description='Array of stacks (by name) that this stack requires.')] = []¶
Array of stacks (by name) that this stack requires.
- field stack_name: Annotated[str | None, Field(title='Explicit Stack Name', description='Explicit name of the stack (namespace will still be prepended).')] = None¶
Explicit name of the stack (namespace will still be prepended).
- field stack_policy_path: Annotated[Path | None, Field(description='Path to a stack policy document that will be applied to the CloudFormation stack.')] = None¶
Path to a stack policy document that will be applied to the CloudFormation stack.
- field tags: Annotated[dict[str, Any], Field(description='Tags that will be applied to the CloudFormation stack.')] = {}¶
Tags that will be applied to the CloudFormation stack.
- field template_path: Annotated[Path | None, Field(description='Path to a JSON or YAML formatted CloudFormation Template.')] = None¶
Path to a JSON or YAML formatted CloudFormation Template.
- field termination_protection: Annotated[bool, Field(description='Set the value of termination protection on the CloudFormation stack.')] = False¶
Set the value of termination protection on the CloudFormation stack.
- pydantic model runway.config.models.cfngin.GitCfnginPackageSourceDefinitionModel[source]¶
Bases:
ConfigProperty
Model for a git package source definition.
Package source located in a git repository.
Show JSON schema
{ "title": "CFNgin Git Repository Package Source Definition", "description": "Information about git repositories that should be included in the processing of this configuration file.", "type": "object", "properties": { "branch": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "ENV-dev", "ENV-prod", "master" ], "title": "Git Branch" }, "commit": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Git Commit Hash" }, "configs": { "default": [], "description": "Array of paths relative to the root of the package source for configuration that should be merged into the current configuration file.", "items": { "type": "string" }, "title": "Configs", "type": "array" }, "paths": { "default": [], "description": "Array of paths relative to the root of the package source to add to $PATH.", "items": { "type": "string" }, "title": "Paths", "type": "array" }, "tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "1.0.0", "v1.0.0" ], "title": "Git Tag" }, "uri": { "examples": [ "git@github.com:rackspace/runway.git" ], "title": "Git Repository URI", "type": "string" } }, "additionalProperties": false, "required": [ "uri" ] }
- field branch: Annotated[str | None, Field(title='Git Branch', examples=['ENV-dev', 'ENV-prod', 'master'])] = None¶
Branch name.
- field configs: Annotated[list[str], Field(description='Array of paths relative to the root of the package source for configuration that should be merged into the current configuration file.')] = []¶
List of CFNgin config paths to execute.
- field paths: Annotated[list[str], Field(description='Array of paths relative to the root of the package source to add to $PATH.')] = []¶
List of paths to append to
sys.path
.
- pydantic model runway.config.models.cfngin.LocalCfnginPackageSourceDefinitionModel[source]¶
Bases:
ConfigProperty
Model for a CFNgin local package source definition.
Package source located on a local disk.
Show JSON schema
{ "title": "CFNgin Local Package Source Definition", "description": "Information about local directories that should be included in the processing of this configuration file.", "type": "object", "properties": { "configs": { "default": [], "description": "Array of paths relative to the root of the package source for configuration that should be merged into the current configuration file.", "items": { "type": "string" }, "title": "Configs", "type": "array" }, "paths": { "default": [], "description": "Array of paths relative to the root of the package source to add to $PATH.", "items": { "type": "string" }, "title": "Paths", "type": "array" }, "source": { "description": "Path relative to the current configuration file that is the root of the local package source.", "title": "Source", "type": "string" } }, "additionalProperties": false, "required": [ "source" ] }
- field configs: Annotated[list[str], Field(description='Array of paths relative to the root of the package source for configuration that should be merged into the current configuration file.')] = []¶
List of CFNgin config paths to execute.
- pydantic model runway.config.models.cfngin.S3CfnginPackageSourceDefinitionModel[source]¶
Bases:
ConfigProperty
Model for a CFNgin S3 package source definition.
Package source located in AWS S3.
Show JSON schema
{ "title": "CFNgin S3 Package Source Definition", "description": "Information about a AWS S3 objects that should be downloaded, unzipped, and included in the processing of this configuration file.", "type": "object", "properties": { "bucket": { "title": "AWS S3 Bucket Name", "type": "string" }, "configs": { "default": [], "description": "Array of paths relative to the root of the package source for configuration that should be merged into the current configuration file.", "items": { "type": "string" }, "title": "Configs", "type": "array" }, "key": { "title": "AWS S3 Object Key", "type": "string" }, "paths": { "default": [], "description": "Array of paths relative to the root of the package source to add to $PATH.", "items": { "type": "string" }, "title": "Paths", "type": "array" }, "requester_pays": { "default": false, "description": "Confirms that the requester knows that they will be charged for the request.", "title": "Requester Pays", "type": "boolean" }, "use_latest": { "default": true, "description": "Update the local copy if the last modified date in AWS S3 changes.", "title": "Use Latest", "type": "boolean" } }, "additionalProperties": false, "required": [ "bucket", "key" ] }
- field bucket: Annotated[str, Field(title='AWS S3 Bucket Name')] = PydanticUndefined¶
AWS S3 bucket name.
- field configs: Annotated[list[str], Field(description='Array of paths relative to the root of the package source for configuration that should be merged into the current configuration file.')] = []¶
List of CFNgin config paths to execute.
- field key: Annotated[str, Field(title='AWS S3 Object Key')] = PydanticUndefined¶
Object key. The object should be a zip file.
- field paths: Annotated[list[str], Field(description='Array of paths relative to the root of the package source to add to $PATH.')] = []¶
List of paths to append to
sys.path
.