runway.config.models.runway package

Runway config models.

pydantic model runway.config.models.runway.RunwayAssumeRoleDefinitionModel[source]

Bases: ConfigProperty

Used to defined a role to assume while Runway is processing each module.

Show JSON schema
{
   "title": "Runway Deployment.assume_role Definition",
   "description": "Used to defined a role to assume while Runway is processing each module.",
   "type": "object",
   "properties": {
      "arn": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The ARN of the AWS IAM role to be assumed. (supports lookups)",
         "title": "Arn"
      },
      "duration": {
         "anyOf": [
            {
               "description": "The duration, in seconds, of the role session. (supports lookups)",
               "maximum": 43200,
               "minimum": 900,
               "type": "integer"
            },
            {
               "pattern": "^\\$\\{.+\\}$",
               "type": "string"
            }
         ],
         "default": 3600,
         "title": "Duration"
      },
      "post_deploy_env_revert": {
         "default": false,
         "description": "Revert the credentials stored in environment variables to what they were prior to execution after the deployment finished processing. (supports lookups)",
         "title": "Post Deployment Environment Revert",
         "type": "boolean"
      },
      "session_name": {
         "default": "runway",
         "description": "An identifier for the assumed role session. (supports lookups)",
         "title": "Session Name",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "arn": "arn:aws:iam::123456789012:role/name"
      },
      {
         "arn": "${var role_arn.${env DEPLOY_ENVIRONMENT}}",
         "duration": 9001,
         "post_deploy_env_revert": true,
         "session_name": "runway-example"
      }
   ]
}

field arn: Annotated[str | None, Field(description='The ARN of the AWS IAM role to be assumed. (supports lookups)')] = None

The ARN of the AWS IAM role to be assumed. (supports lookups)

field duration: Annotated[int, Field(description='The duration, in seconds, of the role session. (supports lookups)', ge=900, le=43200)] | Annotated[str, Field(pattern=RUNWAY_LOOKUP_STRING_REGEX)] = 3600

The duration, in seconds, of the role session. (supports lookups)

field post_deploy_env_revert: Annotated[bool, Field(title='Post Deployment Environment Revert', description='Revert the credentials stored in environment variables to what they were prior to execution after the deployment finished processing. (supports lookups)')] = False

Revert the credentials stored in environment variables to what they were prior to execution after the deployment finished processing. (supports lookups)

field session_name: Annotated[str, Field(description='An identifier for the assumed role session. (supports lookups)')] = 'runway'

An identifier for the assumed role session. (supports lookups)

pydantic model runway.config.models.runway.RunwayConfigDefinitionModel

Bases: ConfigProperty

Runway configuration definition model.

Show JSON schema
{
   "title": "Runway Configuration File",
   "description": "Configuration file for use with Runway.",
   "type": "object",
   "properties": {
      "deployments": {
         "default": [],
         "description": "Array of Runway deployments definitions.",
         "items": {
            "$ref": "#/$defs/RunwayDeploymentDefinitionModel"
         },
         "title": "Deployments",
         "type": "array"
      },
      "future": {
         "$ref": "#/$defs/RunwayFutureDefinitionModel",
         "default": {},
         "description": "Enable future features before they become default behavior."
      },
      "ignore_git_branch": {
         "default": false,
         "description": "Optionally exclude the git branch name when determining the current deploy environment.",
         "title": "Ignore Git Branch",
         "type": "boolean"
      },
      "runway_version": {
         "anyOf": [
            {
               "type": "str"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Define the versions of Runway that can be used with this configuration file.",
         "examples": [
            "\"<2.0.0\"",
            "\"==1.14.0\"",
            "\">=1.14.0,<2.0.0\""
         ],
         "title": "Runway Version"
      },
      "tests": {
         "default": [],
         "description": "Array of Runway test definitions that are executed with the 'test' command.",
         "items": {
            "$ref": "#/$defs/RunwayTestDefinitionModel"
         },
         "title": "Tests",
         "type": "array"
      },
      "variables": {
         "$ref": "#/$defs/RunwayVariablesDefinitionModel",
         "default": {
            "file_path": null,
            "sys_path": "."
         },
         "description": "Runway variables."
      }
   },
   "$defs": {
      "RunwayAssumeRoleDefinitionModel": {
         "additionalProperties": false,
         "description": "Used to defined a role to assume while Runway is processing each module.",
         "examples": [
            {
               "arn": "arn:aws:iam::123456789012:role/name"
            },
            {
               "arn": "${var role_arn.${env DEPLOY_ENVIRONMENT}}",
               "duration": 9001,
               "post_deploy_env_revert": true,
               "session_name": "runway-example"
            }
         ],
         "properties": {
            "arn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The ARN of the AWS IAM role to be assumed. (supports lookups)",
               "title": "Arn"
            },
            "duration": {
               "anyOf": [
                  {
                     "description": "The duration, in seconds, of the role session. (supports lookups)",
                     "maximum": 43200,
                     "minimum": 900,
                     "type": "integer"
                  },
                  {
                     "pattern": "^\\$\\{.+\\}$",
                     "type": "string"
                  }
               ],
               "default": 3600,
               "title": "Duration"
            },
            "post_deploy_env_revert": {
               "default": false,
               "description": "Revert the credentials stored in environment variables to what they were prior to execution after the deployment finished processing. (supports lookups)",
               "title": "Post Deployment Environment Revert",
               "type": "boolean"
            },
            "session_name": {
               "default": "runway",
               "description": "An identifier for the assumed role session. (supports lookups)",
               "title": "Session Name",
               "type": "string"
            }
         },
         "title": "Runway Deployment.assume_role Definition",
         "type": "object"
      },
      "RunwayDeploymentDefinitionModel": {
         "additionalProperties": false,
         "description": "A collection of modules, regions, and other configurations to deploy.",
         "properties": {
            "account_alias": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used to verify the currently assumed role or credentials. (supports lookups)",
               "examples": [
                  "example-alias",
                  "${var alias.${env DEPLOY_ENVIRONMENT}}"
               ],
               "title": "Account Alias"
            },
            "account_id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used to verify the currently assumed role or credentials. (supports lookups)",
               "examples": [
                  "123456789012",
                  "${var id.${env DEPLOY_ENVIRONMENT}}"
               ],
               "title": "Account Id"
            },
            "assume_role": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/RunwayAssumeRoleDefinitionModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": {
                  "arn": null,
                  "duration": 3600,
                  "post_deploy_env_revert": false,
                  "session_name": "runway"
               },
               "description": "Assume a role when processing the deployment. (supports lookups)",
               "examples": [
                  "arn:aws:iam::123456789012:role/name",
                  {
                     "arn": "arn:aws:iam::123456789012:role/name"
                  },
                  {
                     "arn": "${var role_arn.${env DEPLOY_ENVIRONMENT}}",
                     "duration": 9001,
                     "post_deploy_env_revert": true,
                     "session_name": "runway-example"
                  }
               ],
               "title": "Assume Role"
            },
            "env_vars": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "anyOf": [
                           {
                              "items": {
                                 "type": "string"
                              },
                              "type": "array"
                           },
                           {
                              "type": "string"
                           }
                        ]
                     },
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Additional variables to add to the environment when processing the deployment. (supports lookups)",
               "examples": [
                  "${var env_vars.${env DEPLOY_ENVIRONMENT}}",
                  {
                     "EXAMPLE_VARIABLE": "value",
                     "KUBECONFIG": [
                        ".kube",
                        "${env DEPLOY_ENVIRONMENT}",
                        "config"
                     ]
                  }
               ],
               "title": "Environment Variables"
            },
            "environments": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "anyOf": [
                           {
                              "type": "boolean"
                           },
                           {
                              "items": {
                                 "type": "string"
                              },
                              "type": "array"
                           },
                           {
                              "type": "string"
                           }
                        ]
                     },
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Explicitly enable/disable the deployment for a specific deploy environment, AWS Account ID, and AWS Region combination. Can also be set as a static boolean value. (supports lookups)",
               "examples": [
                  "${var envs.${env DEPLOY_ENVIRONMENT}}",
                  {
                     "dev": "123456789012",
                     "prod": "us-east-1"
                  },
                  {
                     "dev": true,
                     "prod": false
                  },
                  {
                     "dev": [
                        "us-east-1"
                     ],
                     "prod": [
                        "us-west-2",
                        "ca-central-1"
                     ]
                  },
                  {
                     "dev": [
                        "123456789012/us-east-1",
                        "123456789012/us-west-2"
                     ],
                     "prod": [
                        "234567890123/us-east-1",
                        "234567890123/us-west-2"
                     ]
                  }
               ],
               "title": "Environments"
            },
            "modules": {
               "description": "An array of modules to process as part of a deployment.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/RunwayModuleDefinitionModel"
                     },
                     {
                        "type": "string"
                     }
                  ]
               },
               "title": "Modules",
               "type": "array"
            },
            "module_options": {
               "anyOf": [
                  {
                     "additionalProperties": true,
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Options that are passed directly to the modules within this deployment. (supports lookups)",
               "examples": [
                  "${var sampleapp.options.${env DEPLOY_ENVIRONMENT}}",
                  {
                     "some_option": "value"
                  }
               ],
               "title": "Module Options"
            },
            "name": {
               "default": "unnamed_deployment",
               "description": "The name of the deployment to be displayed in logs and the interactive selection menu.",
               "title": "Name",
               "type": "string"
            },
            "parallel_regions": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": [],
               "description": "An array of AWS Regions to process asynchronously. (supports lookups)",
               "examples": [
                  [
                     "us-east-1",
                     "us-west-2"
                  ],
                  "${var regions.${dev DEPLOY_ENVIRONMENT}}"
               ],
               "title": "Parallel Regions"
            },
            "parameters": {
               "anyOf": [
                  {
                     "additionalProperties": true,
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Used to pass variable values to modules in place of an environment configuration file. (supports lookups)",
               "examples": [
                  {
                     "namespace": "example-${env DEPLOY_ENVIRONMENT}"
                  },
                  "${var sampleapp.parameters.${env DEPLOY_ENVIRONMENT}}"
               ],
               "title": "Parameters"
            },
            "regions": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": [],
               "description": "An array of AWS Regions to process this deployment in. (supports lookups)",
               "examples": [
                  [
                     "us-east-1",
                     "us-west-2"
                  ],
                  "${var regions.${dev DEPLOY_ENVIRONMENT}}",
                  {
                     "parallel": [
                        "us-east-1",
                        "us-east-2"
                     ]
                  },
                  {
                     "parallel": "${var regions.${env DEPLOY_ENVIRONMENT}}"
                  }
               ],
               "title": "Regions"
            }
         },
         "required": [
            "modules"
         ],
         "title": "Runway Deployment Definition",
         "type": "object"
      },
      "RunwayFutureDefinitionModel": {
         "additionalProperties": false,
         "description": "Enable features/behaviors that will be become standard ahead of their official release.",
         "properties": {},
         "title": "Runway Future Definition",
         "type": "object"
      },
      "RunwayModuleDefinitionModel": {
         "additionalProperties": false,
         "description": "Defines a directory containing IaC, the parameters to pass in during execution, and any applicable options for the module type.",
         "properties": {
            "class_path": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Import path to a custom Runway module class. (supports lookups)",
               "title": "Class Path"
            },
            "env_vars": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "anyOf": [
                           {
                              "items": {
                                 "type": "string"
                              },
                              "type": "array"
                           },
                           {
                              "type": "string"
                           }
                        ]
                     },
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Additional variables to add to the environment when processing the deployment. (supports lookups)",
               "examples": [
                  "${var env_vars.${env DEPLOY_ENVIRONMENT}}",
                  {
                     "EXAMPLE_VARIABLE": "value",
                     "KUBECONFIG": [
                        ".kube",
                        "${env DEPLOY_ENVIRONMENT}",
                        "config"
                     ]
                  }
               ],
               "title": "Environment Variables"
            },
            "environments": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "anyOf": [
                           {
                              "type": "boolean"
                           },
                           {
                              "items": {
                                 "type": "string"
                              },
                              "type": "array"
                           },
                           {
                              "type": "string"
                           }
                        ]
                     },
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Explicitly enable/disable the deployment for a specific deploy environment, AWS Account ID, and AWS Region combination. Can also be set as a static boolean value. (supports lookups)",
               "examples": [
                  "${var envs.${env DEPLOY_ENVIRONMENT}}",
                  {
                     "dev": "123456789012",
                     "prod": "us-east-1"
                  },
                  {
                     "dev": true,
                     "prod": false
                  },
                  {
                     "dev": [
                        "us-east-1"
                     ],
                     "prod": [
                        "us-west-2",
                        "ca-central-1"
                     ]
                  },
                  {
                     "dev": [
                        "123456789012/us-east-1",
                        "123456789012/us-west-2"
                     ],
                     "prod": [
                        "234567890123/us-east-1",
                        "234567890123/us-west-2"
                     ]
                  }
               ],
               "title": "Environments"
            },
            "name": {
               "default": "undefined",
               "description": "The name of the module to be displayed in logs and the interactive selection menu.",
               "title": "Name",
               "type": "string"
            },
            "options": {
               "anyOf": [
                  {
                     "additionalProperties": true,
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Module type specific options. (supports lookups)",
               "title": "Options"
            },
            "parameters": {
               "anyOf": [
                  {
                     "additionalProperties": true,
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Used to pass variable values to modules in place of an environment configuration file. (supports lookups)",
               "examples": [
                  {
                     "namespace": "example-${env DEPLOY_ENVIRONMENT}"
                  },
                  "${var sampleapp.parameters.${env DEPLOY_ENVIRONMENT}}"
               ],
               "title": "Parameters"
            },
            "path": {
               "anyOf": [
                  {
                     "format": "path",
                     "type": "string"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Directory (relative to the Runway config file) containing IaC. (supports lookups)",
               "examples": [
                  "./",
                  "sampleapp-${env DEPLOY_ENVIRONMENT}.cfn",
                  "sampleapp.sls"
               ],
               "title": "Path"
            },
            "tags": {
               "default": [],
               "description": "Array of values to categorize the module which can be used with the CLI to quickly select a group of modules. This field is only used by the `--tag` CLI option.",
               "examples": [
                  [
                     "type:network",
                     "app:sampleapp"
                  ]
               ],
               "items": {
                  "type": "string"
               },
               "title": "Tags",
               "type": "array"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "cdk",
                        "cloudformation",
                        "kubernetes",
                        "serverless",
                        "static",
                        "terraform"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Explicitly define the module type. If not provided, this will be inferred.",
               "title": "Type"
            },
            "parallel": {
               "default": [],
               "description": "Array of module definitions that can be executed asynchronously. Incompatible with class_path, path, and type.",
               "examples": [
                  [
                     {
                        "path": "sampleapp-01.cfn"
                     },
                     {
                        "path": "sampleapp-02.cfn"
                     }
                  ]
               ],
               "items": {
                  "$ref": "#/$defs/RunwayModuleDefinitionModel"
               },
               "title": "Parallel",
               "type": "array"
            }
         },
         "title": "Runway Module Definition",
         "type": "object"
      },
      "RunwayTestDefinitionModel": {
         "description": "Tests that can be run via the 'test' command.",
         "properties": {
            "args": {
               "anyOf": [
                  {
                     "additionalProperties": true,
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Arguments to be passed to the test. Support varies by test type.",
               "title": "Arguments"
            },
            "name": {
               "default": "test-name",
               "description": "Name of the test.",
               "title": "Name",
               "type": "string"
            },
            "required": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": false,
               "description": "Whether the test must pass for subsequent tests to be run.",
               "title": "Required"
            },
            "type": {
               "enum": [
                  "cfn-lint",
                  "script",
                  "yamllint"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "type"
         ],
         "title": "Runway Test Definition",
         "type": "object"
      },
      "RunwayVariablesDefinitionModel": {
         "additionalProperties": true,
         "description": "A variable definitions for the Runway config file. This is used to resolve the 'var' lookup.",
         "properties": {
            "file_path": {
               "anyOf": [
                  {
                     "format": "path",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Explicit path to a variables file that will be loaded and merged with the variables defined here.",
               "title": "Variables File Path"
            },
            "sys_path": {
               "default": "./",
               "description": "Directory to use as the root of a relative 'file_path'. If not provided, the current working directory is used.",
               "format": "path",
               "title": "Sys Path",
               "type": "string"
            }
         },
         "title": "Runway Variables Definition",
         "type": "object"
      }
   },
   "additionalProperties": false
}

field deployments: Annotated[list[RunwayDeploymentDefinitionModel], Field(description='Array of Runway deployments definitions.')] = []
field future: Annotated[RunwayFutureDefinitionModel, Field(description='Enable future features before they become default behavior.')] = RunwayFutureDefinitionModel()
field ignore_git_branch: Annotated[bool, Field(description='Optionally exclude the git branch name when determining the current deploy environment.')] = False
classmethod parse_file(path: str | Path) Self

Parse a file.

field runway_version: Annotated[RunwayVersionField | None, Field(description='Define the versions of Runway that can be used with this configuration file.', examples=['"<2.0.0"', '"==1.14.0"', '">=1.14.0,<2.0.0"'])] = None
field tests: Annotated[list[RunwayTestDefinitionModel], Field(description="Array of Runway test definitions that are executed with the 'test' command.")] = []
field variables: Annotated[RunwayVariablesDefinitionModel, Field(description='Runway variables.')] = RunwayVariablesDefinitionModel(file_path=None, sys_path=PosixPath('.'))
pydantic model runway.config.models.runway.RunwayDeploymentDefinitionModel

Bases: ConfigProperty

Model for a Runway deployment definition.

Show JSON schema
{
   "title": "Runway Deployment Definition",
   "description": "A collection of modules, regions, and other configurations to deploy.",
   "type": "object",
   "properties": {
      "account_alias": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Used to verify the currently assumed role or credentials. (supports lookups)",
         "examples": [
            "example-alias",
            "${var alias.${env DEPLOY_ENVIRONMENT}}"
         ],
         "title": "Account Alias"
      },
      "account_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Used to verify the currently assumed role or credentials. (supports lookups)",
         "examples": [
            "123456789012",
            "${var id.${env DEPLOY_ENVIRONMENT}}"
         ],
         "title": "Account Id"
      },
      "assume_role": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "$ref": "#/$defs/RunwayAssumeRoleDefinitionModel"
            },
            {
               "type": "null"
            }
         ],
         "default": {
            "arn": null,
            "duration": 3600,
            "post_deploy_env_revert": false,
            "session_name": "runway"
         },
         "description": "Assume a role when processing the deployment. (supports lookups)",
         "examples": [
            "arn:aws:iam::123456789012:role/name",
            {
               "arn": "arn:aws:iam::123456789012:role/name"
            },
            {
               "arn": "${var role_arn.${env DEPLOY_ENVIRONMENT}}",
               "duration": 9001,
               "post_deploy_env_revert": true,
               "session_name": "runway-example"
            }
         ],
         "title": "Assume Role"
      },
      "env_vars": {
         "anyOf": [
            {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "items": {
                           "type": "string"
                        },
                        "type": "array"
                     },
                     {
                        "type": "string"
                     }
                  ]
               },
               "type": "object"
            },
            {
               "type": "string"
            }
         ],
         "default": {},
         "description": "Additional variables to add to the environment when processing the deployment. (supports lookups)",
         "examples": [
            "${var env_vars.${env DEPLOY_ENVIRONMENT}}",
            {
               "EXAMPLE_VARIABLE": "value",
               "KUBECONFIG": [
                  ".kube",
                  "${env DEPLOY_ENVIRONMENT}",
                  "config"
               ]
            }
         ],
         "title": "Environment Variables"
      },
      "environments": {
         "anyOf": [
            {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "type": "boolean"
                     },
                     {
                        "items": {
                           "type": "string"
                        },
                        "type": "array"
                     },
                     {
                        "type": "string"
                     }
                  ]
               },
               "type": "object"
            },
            {
               "type": "string"
            }
         ],
         "default": {},
         "description": "Explicitly enable/disable the deployment for a specific deploy environment, AWS Account ID, and AWS Region combination. Can also be set as a static boolean value. (supports lookups)",
         "examples": [
            "${var envs.${env DEPLOY_ENVIRONMENT}}",
            {
               "dev": "123456789012",
               "prod": "us-east-1"
            },
            {
               "dev": true,
               "prod": false
            },
            {
               "dev": [
                  "us-east-1"
               ],
               "prod": [
                  "us-west-2",
                  "ca-central-1"
               ]
            },
            {
               "dev": [
                  "123456789012/us-east-1",
                  "123456789012/us-west-2"
               ],
               "prod": [
                  "234567890123/us-east-1",
                  "234567890123/us-west-2"
               ]
            }
         ],
         "title": "Environments"
      },
      "modules": {
         "description": "An array of modules to process as part of a deployment.",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/$defs/RunwayModuleDefinitionModel"
               },
               {
                  "type": "string"
               }
            ]
         },
         "title": "Modules",
         "type": "array"
      },
      "module_options": {
         "anyOf": [
            {
               "additionalProperties": true,
               "type": "object"
            },
            {
               "type": "string"
            }
         ],
         "default": {},
         "description": "Options that are passed directly to the modules within this deployment. (supports lookups)",
         "examples": [
            "${var sampleapp.options.${env DEPLOY_ENVIRONMENT}}",
            {
               "some_option": "value"
            }
         ],
         "title": "Module Options"
      },
      "name": {
         "default": "unnamed_deployment",
         "description": "The name of the deployment to be displayed in logs and the interactive selection menu.",
         "title": "Name",
         "type": "string"
      },
      "parallel_regions": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "string"
            }
         ],
         "default": [],
         "description": "An array of AWS Regions to process asynchronously. (supports lookups)",
         "examples": [
            [
               "us-east-1",
               "us-west-2"
            ],
            "${var regions.${dev DEPLOY_ENVIRONMENT}}"
         ],
         "title": "Parallel Regions"
      },
      "parameters": {
         "anyOf": [
            {
               "additionalProperties": true,
               "type": "object"
            },
            {
               "type": "string"
            }
         ],
         "default": {},
         "description": "Used to pass variable values to modules in place of an environment configuration file. (supports lookups)",
         "examples": [
            {
               "namespace": "example-${env DEPLOY_ENVIRONMENT}"
            },
            "${var sampleapp.parameters.${env DEPLOY_ENVIRONMENT}}"
         ],
         "title": "Parameters"
      },
      "regions": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "string"
            }
         ],
         "default": [],
         "description": "An array of AWS Regions to process this deployment in. (supports lookups)",
         "examples": [
            [
               "us-east-1",
               "us-west-2"
            ],
            "${var regions.${dev DEPLOY_ENVIRONMENT}}",
            {
               "parallel": [
                  "us-east-1",
                  "us-east-2"
               ]
            },
            {
               "parallel": "${var regions.${env DEPLOY_ENVIRONMENT}}"
            }
         ],
         "title": "Regions"
      }
   },
   "$defs": {
      "RunwayAssumeRoleDefinitionModel": {
         "additionalProperties": false,
         "description": "Used to defined a role to assume while Runway is processing each module.",
         "examples": [
            {
               "arn": "arn:aws:iam::123456789012:role/name"
            },
            {
               "arn": "${var role_arn.${env DEPLOY_ENVIRONMENT}}",
               "duration": 9001,
               "post_deploy_env_revert": true,
               "session_name": "runway-example"
            }
         ],
         "properties": {
            "arn": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The ARN of the AWS IAM role to be assumed. (supports lookups)",
               "title": "Arn"
            },
            "duration": {
               "anyOf": [
                  {
                     "description": "The duration, in seconds, of the role session. (supports lookups)",
                     "maximum": 43200,
                     "minimum": 900,
                     "type": "integer"
                  },
                  {
                     "pattern": "^\\$\\{.+\\}$",
                     "type": "string"
                  }
               ],
               "default": 3600,
               "title": "Duration"
            },
            "post_deploy_env_revert": {
               "default": false,
               "description": "Revert the credentials stored in environment variables to what they were prior to execution after the deployment finished processing. (supports lookups)",
               "title": "Post Deployment Environment Revert",
               "type": "boolean"
            },
            "session_name": {
               "default": "runway",
               "description": "An identifier for the assumed role session. (supports lookups)",
               "title": "Session Name",
               "type": "string"
            }
         },
         "title": "Runway Deployment.assume_role Definition",
         "type": "object"
      },
      "RunwayModuleDefinitionModel": {
         "additionalProperties": false,
         "description": "Defines a directory containing IaC, the parameters to pass in during execution, and any applicable options for the module type.",
         "properties": {
            "class_path": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Import path to a custom Runway module class. (supports lookups)",
               "title": "Class Path"
            },
            "env_vars": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "anyOf": [
                           {
                              "items": {
                                 "type": "string"
                              },
                              "type": "array"
                           },
                           {
                              "type": "string"
                           }
                        ]
                     },
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Additional variables to add to the environment when processing the deployment. (supports lookups)",
               "examples": [
                  "${var env_vars.${env DEPLOY_ENVIRONMENT}}",
                  {
                     "EXAMPLE_VARIABLE": "value",
                     "KUBECONFIG": [
                        ".kube",
                        "${env DEPLOY_ENVIRONMENT}",
                        "config"
                     ]
                  }
               ],
               "title": "Environment Variables"
            },
            "environments": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "anyOf": [
                           {
                              "type": "boolean"
                           },
                           {
                              "items": {
                                 "type": "string"
                              },
                              "type": "array"
                           },
                           {
                              "type": "string"
                           }
                        ]
                     },
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Explicitly enable/disable the deployment for a specific deploy environment, AWS Account ID, and AWS Region combination. Can also be set as a static boolean value. (supports lookups)",
               "examples": [
                  "${var envs.${env DEPLOY_ENVIRONMENT}}",
                  {
                     "dev": "123456789012",
                     "prod": "us-east-1"
                  },
                  {
                     "dev": true,
                     "prod": false
                  },
                  {
                     "dev": [
                        "us-east-1"
                     ],
                     "prod": [
                        "us-west-2",
                        "ca-central-1"
                     ]
                  },
                  {
                     "dev": [
                        "123456789012/us-east-1",
                        "123456789012/us-west-2"
                     ],
                     "prod": [
                        "234567890123/us-east-1",
                        "234567890123/us-west-2"
                     ]
                  }
               ],
               "title": "Environments"
            },
            "name": {
               "default": "undefined",
               "description": "The name of the module to be displayed in logs and the interactive selection menu.",
               "title": "Name",
               "type": "string"
            },
            "options": {
               "anyOf": [
                  {
                     "additionalProperties": true,
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Module type specific options. (supports lookups)",
               "title": "Options"
            },
            "parameters": {
               "anyOf": [
                  {
                     "additionalProperties": true,
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Used to pass variable values to modules in place of an environment configuration file. (supports lookups)",
               "examples": [
                  {
                     "namespace": "example-${env DEPLOY_ENVIRONMENT}"
                  },
                  "${var sampleapp.parameters.${env DEPLOY_ENVIRONMENT}}"
               ],
               "title": "Parameters"
            },
            "path": {
               "anyOf": [
                  {
                     "format": "path",
                     "type": "string"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Directory (relative to the Runway config file) containing IaC. (supports lookups)",
               "examples": [
                  "./",
                  "sampleapp-${env DEPLOY_ENVIRONMENT}.cfn",
                  "sampleapp.sls"
               ],
               "title": "Path"
            },
            "tags": {
               "default": [],
               "description": "Array of values to categorize the module which can be used with the CLI to quickly select a group of modules. This field is only used by the `--tag` CLI option.",
               "examples": [
                  [
                     "type:network",
                     "app:sampleapp"
                  ]
               ],
               "items": {
                  "type": "string"
               },
               "title": "Tags",
               "type": "array"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "cdk",
                        "cloudformation",
                        "kubernetes",
                        "serverless",
                        "static",
                        "terraform"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Explicitly define the module type. If not provided, this will be inferred.",
               "title": "Type"
            },
            "parallel": {
               "default": [],
               "description": "Array of module definitions that can be executed asynchronously. Incompatible with class_path, path, and type.",
               "examples": [
                  [
                     {
                        "path": "sampleapp-01.cfn"
                     },
                     {
                        "path": "sampleapp-02.cfn"
                     }
                  ]
               ],
               "items": {
                  "$ref": "#/$defs/RunwayModuleDefinitionModel"
               },
               "title": "Parallel",
               "type": "array"
            }
         },
         "title": "Runway Module Definition",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "modules"
   ]
}

field account_alias: Annotated[str | None, Field(description='Used to verify the currently assumed role or credentials. (supports lookups)', examples=['example-alias', '${var alias.${env DEPLOY_ENVIRONMENT}}'])] = None
field account_id: Annotated[str | None, LaxStr, Field(description='Used to verify the currently assumed role or credentials. (supports lookups)', examples=['123456789012', '${var id.${env DEPLOY_ENVIRONMENT}}'])] = None
Constraints:
  • func = <function _handler at 0x7c07f52c6840>

  • json_schema_input_type = PydanticUndefined

field assume_role: Annotated[str | RunwayAssumeRoleDefinitionModel | None, Field(description='Assume a role when processing the deployment. (supports lookups)', examples=['arn:aws:iam::123456789012:role/name', *cast('dict[str, list[str]]', RunwayAssumeRoleDefinitionModel.model_config.get('json_schema_extra', {})).get('examples', [])])] = RunwayAssumeRoleDefinitionModel(arn=None, duration=3600, post_deploy_env_revert=False, session_name='runway')
field env_vars: Annotated[RunwayEnvVarsUnresolvedType, Field(title='Environment Variables', description='Additional variables to add to the environment when processing the deployment. (supports lookups)', examples=['${var env_vars.${env DEPLOY_ENVIRONMENT}}', {'EXAMPLE_VARIABLE': 'value', 'KUBECONFIG': ['.kube', '${env DEPLOY_ENVIRONMENT}', 'config']}])] = {}
field environments: Annotated[RunwayEnvironmentsUnresolvedType, Field(description='Explicitly enable/disable the deployment for a specific deploy environment, AWS Account ID, and AWS Region combination. Can also be set as a static boolean value. (supports lookups)', examples=['${var envs.${env DEPLOY_ENVIRONMENT}}', {'dev': '123456789012', 'prod': 'us-east-1'}, {'dev': True, 'prod': False}, {'dev': ['us-east-1'], 'prod': ['us-west-2', 'ca-central-1']}, {'dev': ['123456789012/us-east-1', '123456789012/us-west-2'], 'prod': ['234567890123/us-east-1', '234567890123/us-west-2']}])] = {}
field module_options: Annotated[dict[str, Any] | str, Field(description='Options that are passed directly to the modules within this deployment. (supports lookups)', examples=['${var sampleapp.options.${env DEPLOY_ENVIRONMENT}}', {'some_option': 'value'}])] = {}
field modules: Annotated[list[RunwayModuleDefinitionModel], Field(description='An array of modules to process as part of a deployment.')] = PydanticUndefined
field name: Annotated[str, Field(description='The name of the deployment to be displayed in logs and the interactive selection menu.')] = 'unnamed_deployment'
field parallel_regions: Annotated[list[str] | str, Field(description='An array of AWS Regions to process asynchronously. (supports lookups)', examples=[['us-east-1', 'us-west-2'], '${var regions.${dev DEPLOY_ENVIRONMENT}}'])] = []
field parameters: Annotated[dict[str, Any] | str, Field(description='Used to pass variable values to modules in place of an environment configuration file. (supports lookups)', examples=[{'namespace': 'example-${env DEPLOY_ENVIRONMENT}'}, '${var sampleapp.parameters.${env DEPLOY_ENVIRONMENT}}'])] = {}
field regions: Annotated[list[str] | str, Field(description='An array of AWS Regions to process this deployment in. (supports lookups)', examples=[['us-east-1', 'us-west-2'], '${var regions.${dev DEPLOY_ENVIRONMENT}}', *cast('dict[str, list[str]]', RunwayDeploymentRegionDefinitionModel.model_config.get('json_schema_extra', {})).get('examples', [])])] = []
pydantic model runway.config.models.runway.RunwayDeploymentRegionDefinitionModel[source]

Bases: ConfigProperty

Only supports parallel field.

Show JSON schema
{
   "title": "Runway Deployment.regions Definition",
   "description": "Only supports ``parallel`` field.",
   "type": "object",
   "properties": {
      "parallel": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "string"
            }
         ],
         "description": "An array of AWS Regions to process asynchronously. (supports lookups)",
         "title": "Parallel Regions"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "parallel": [
            "us-east-1",
            "us-east-2"
         ]
      },
      {
         "parallel": "${var regions.${env DEPLOY_ENVIRONMENT}}"
      }
   ],
   "required": [
      "parallel"
   ]
}

field parallel: Annotated[list[str] | str, Field(title='Parallel Regions', description='An array of AWS Regions to process asynchronously. (supports lookups)')] = PydanticUndefined

A list of AWS Regions to process asynchronously. (supports lookups)

pydantic model runway.config.models.runway.RunwayFutureDefinitionModel[source]

Bases: ConfigProperty

Enable features/behaviors that will be become standard ahead of their official release.

Show JSON schema
{
   "title": "Runway Future Definition",
   "description": "Enable features/behaviors that will be become standard ahead of their official release.",
   "type": "object",
   "properties": {},
   "additionalProperties": false
}

pydantic model runway.config.models.runway.RunwayModuleDefinitionModel[source]

Bases: ConfigProperty

Defines a directory containing IaC, parameters, and options for the module type.

Show JSON schema
{
   "$defs": {
      "RunwayModuleDefinitionModel": {
         "additionalProperties": false,
         "description": "Defines a directory containing IaC, the parameters to pass in during execution, and any applicable options for the module type.",
         "properties": {
            "class_path": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Import path to a custom Runway module class. (supports lookups)",
               "title": "Class Path"
            },
            "env_vars": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "anyOf": [
                           {
                              "items": {
                                 "type": "string"
                              },
                              "type": "array"
                           },
                           {
                              "type": "string"
                           }
                        ]
                     },
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Additional variables to add to the environment when processing the deployment. (supports lookups)",
               "examples": [
                  "${var env_vars.${env DEPLOY_ENVIRONMENT}}",
                  {
                     "EXAMPLE_VARIABLE": "value",
                     "KUBECONFIG": [
                        ".kube",
                        "${env DEPLOY_ENVIRONMENT}",
                        "config"
                     ]
                  }
               ],
               "title": "Environment Variables"
            },
            "environments": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "anyOf": [
                           {
                              "type": "boolean"
                           },
                           {
                              "items": {
                                 "type": "string"
                              },
                              "type": "array"
                           },
                           {
                              "type": "string"
                           }
                        ]
                     },
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Explicitly enable/disable the deployment for a specific deploy environment, AWS Account ID, and AWS Region combination. Can also be set as a static boolean value. (supports lookups)",
               "examples": [
                  "${var envs.${env DEPLOY_ENVIRONMENT}}",
                  {
                     "dev": "123456789012",
                     "prod": "us-east-1"
                  },
                  {
                     "dev": true,
                     "prod": false
                  },
                  {
                     "dev": [
                        "us-east-1"
                     ],
                     "prod": [
                        "us-west-2",
                        "ca-central-1"
                     ]
                  },
                  {
                     "dev": [
                        "123456789012/us-east-1",
                        "123456789012/us-west-2"
                     ],
                     "prod": [
                        "234567890123/us-east-1",
                        "234567890123/us-west-2"
                     ]
                  }
               ],
               "title": "Environments"
            },
            "name": {
               "default": "undefined",
               "description": "The name of the module to be displayed in logs and the interactive selection menu.",
               "title": "Name",
               "type": "string"
            },
            "options": {
               "anyOf": [
                  {
                     "additionalProperties": true,
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Module type specific options. (supports lookups)",
               "title": "Options"
            },
            "parameters": {
               "anyOf": [
                  {
                     "additionalProperties": true,
                     "type": "object"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": {},
               "description": "Used to pass variable values to modules in place of an environment configuration file. (supports lookups)",
               "examples": [
                  {
                     "namespace": "example-${env DEPLOY_ENVIRONMENT}"
                  },
                  "${var sampleapp.parameters.${env DEPLOY_ENVIRONMENT}}"
               ],
               "title": "Parameters"
            },
            "path": {
               "anyOf": [
                  {
                     "format": "path",
                     "type": "string"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Directory (relative to the Runway config file) containing IaC. (supports lookups)",
               "examples": [
                  "./",
                  "sampleapp-${env DEPLOY_ENVIRONMENT}.cfn",
                  "sampleapp.sls"
               ],
               "title": "Path"
            },
            "tags": {
               "default": [],
               "description": "Array of values to categorize the module which can be used with the CLI to quickly select a group of modules. This field is only used by the `--tag` CLI option.",
               "examples": [
                  [
                     "type:network",
                     "app:sampleapp"
                  ]
               ],
               "items": {
                  "type": "string"
               },
               "title": "Tags",
               "type": "array"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "cdk",
                        "cloudformation",
                        "kubernetes",
                        "serverless",
                        "static",
                        "terraform"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Explicitly define the module type. If not provided, this will be inferred.",
               "title": "Type"
            },
            "parallel": {
               "default": [],
               "description": "Array of module definitions that can be executed asynchronously. Incompatible with class_path, path, and type.",
               "examples": [
                  [
                     {
                        "path": "sampleapp-01.cfn"
                     },
                     {
                        "path": "sampleapp-02.cfn"
                     }
                  ]
               ],
               "items": {
                  "$ref": "#/$defs/RunwayModuleDefinitionModel"
               },
               "title": "Parallel",
               "type": "array"
            }
         },
         "title": "Runway Module Definition",
         "type": "object"
      }
   },
   "$ref": "#/$defs/RunwayModuleDefinitionModel"
}

field class_path: Annotated[str | None, Field(description='Import path to a custom Runway module class. (supports lookups)')] = None

Import path to a custom Runway module class. (supports lookups)

field env_vars: Annotated[RunwayEnvVarsUnresolvedType, Field(title='Environment Variables', description='Additional variables to add to the environment when processing the deployment. (supports lookups)', examples=['${var env_vars.${env DEPLOY_ENVIRONMENT}}', {'EXAMPLE_VARIABLE': 'value', 'KUBECONFIG': ['.kube', '${env DEPLOY_ENVIRONMENT}', 'config']}])] = {}

Additional variables to add to the environment when processing the deployment. (supports lookups)

field environments: Annotated[RunwayEnvironmentsUnresolvedType, Field(description='Explicitly enable/disable the deployment for a specific deploy environment, AWS Account ID, and AWS Region combination. Can also be set as a static boolean value. (supports lookups)', examples=['${var envs.${env DEPLOY_ENVIRONMENT}}', {'dev': '123456789012', 'prod': 'us-east-1'}, {'dev': True, 'prod': False}, {'dev': ['us-east-1'], 'prod': ['us-west-2', 'ca-central-1']}, {'dev': ['123456789012/us-east-1', '123456789012/us-west-2'], 'prod': ['234567890123/us-east-1', '234567890123/us-west-2']}])] = {}

Explicitly enable/disable the deployment for a specific deploy environment, AWS Account ID, and AWS Region combination. Can also be set as a static boolean value. (supports lookups)

field name: Annotated[str, Field(description='The name of the module to be displayed in logs and the interactive selection menu.')] = 'undefined'

The name of the module to be displayed in logs and the interactive selection menu.

field options: Annotated[dict[str, Any] | str, Field(description='Module type specific options. (supports lookups)')] = {}

Module type specific options. (supports lookups)

field parallel: Annotated[list[RunwayModuleDefinitionModel], Field(description='Array of module definitions that can be executed asynchronously. Incompatible with class_path, path, and type.', examples=[[{'path': 'sampleapp-01.cfn'}, {'path': 'sampleapp-02.cfn'}]])] = []

List of module definitions that can be executed asynchronously. Incompatible with class_path, path, and type.

field parameters: Annotated[dict[str, Any] | str, Field(description='Used to pass variable values to modules in place of an environment configuration file. (supports lookups)', examples=[{'namespace': 'example-${env DEPLOY_ENVIRONMENT}'}, '${var sampleapp.parameters.${env DEPLOY_ENVIRONMENT}}'])] = {}

Used to pass variable values to modules in place of an environment configuration file. (supports lookups)

field path: Annotated[Path | str | None, Field(description='Directory (relative to the Runway config file) containing IaC. (supports lookups)', examples=['./', 'sampleapp-${env DEPLOY_ENVIRONMENT}.cfn', 'sampleapp.sls'])] = None

Directory (relative to the Runway config file) containing IaC. (supports lookups)

field tags: Annotated[list[str], Field(description='Array of values to categorize the module which can be used with the CLI to quickly select a group of modules. This field is only used by the `--tag` CLI option.', examples=[['type:network', 'app:sampleapp']])] = []

Array of values to categorize the module which can be used with the CLI to quickly select a group of modules.

This field is only used by the --tag CLI option.

field type: Annotated[RunwayModuleTypeTypeDef | None, Field(description='Explicitly define the module type. If not provided, this will be inferred.')] = None

Explicitly define the module type. If not provided, this will be inferred.

pydantic model runway.config.models.runway.RunwayTestDefinitionModel[source]

Bases: ConfigProperty

Model for a Runway test definition.

Show JSON schema
{
   "title": "Runway Test Definition",
   "description": "Tests that can be run via the 'test' command.",
   "type": "object",
   "properties": {
      "args": {
         "anyOf": [
            {
               "additionalProperties": true,
               "type": "object"
            },
            {
               "type": "string"
            }
         ],
         "default": {},
         "description": "Arguments to be passed to the test. Support varies by test type.",
         "title": "Arguments"
      },
      "name": {
         "default": "test-name",
         "description": "Name of the test.",
         "title": "Name",
         "type": "string"
      },
      "required": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "string"
            }
         ],
         "default": false,
         "description": "Whether the test must pass for subsequent tests to be run.",
         "title": "Required"
      },
      "type": {
         "enum": [
            "cfn-lint",
            "script",
            "yamllint"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "required": [
      "type"
   ]
}

field args: Annotated[dict[str, Any] | str, Field(title='Arguments', description='Arguments to be passed to the test. Support varies by test type.')] = {}
field name: Annotated[str, Field(description='Name of the test.')] = 'test-name'
field required: Annotated[bool | str, Field(description='Whether the test must pass for subsequent tests to be run.')] = False
field type: ValidRunwayTestTypeValues = PydanticUndefined
pydantic model runway.config.models.runway.RunwayVariablesDefinitionModel[source]

Bases: ConfigProperty

A variable definitions for the Runway config file.

This is used to resolve the var lookup.

Show JSON schema
{
   "title": "Runway Variables Definition",
   "description": "A variable definitions for the Runway config file. This is used to resolve the 'var' lookup.",
   "type": "object",
   "properties": {
      "file_path": {
         "anyOf": [
            {
               "format": "path",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Explicit path to a variables file that will be loaded and merged with the variables defined here.",
         "title": "Variables File Path"
      },
      "sys_path": {
         "default": "./",
         "description": "Directory to use as the root of a relative 'file_path'. If not provided, the current working directory is used.",
         "format": "path",
         "title": "Sys Path",
         "type": "string"
      }
   },
   "additionalProperties": true
}

field file_path: Annotated[Path | None, Field(title='Variables File Path', description='Explicit path to a variables file that will be loaded and merged with the variables defined here.')] = None

Explicit path to a variables file that will be loaded and merged with the variables defined here.

field sys_path: Annotated[Path, Field(description="Directory to use as the root of a relative 'file_path'. If not provided, the current working directory is used.")] = './'

Directory to use as the root of a relative ‘file_path’. If not provided, the current working directory is used.

class runway.config.models.runway.RunwayVersionField

Bases: SpecifierSet

Extends packaging.specifiers.SpecifierSet for use with pydantic.

classmethod __get_pydantic_core_schema__(source_type: Any, handler: GetCoreSchemaHandler) InvalidSchema | AnySchema | NoneSchema | BoolSchema | IntSchema | FloatSchema | DecimalSchema | StringSchema | BytesSchema | DateSchema | TimeSchema | DatetimeSchema | TimedeltaSchema | LiteralSchema | EnumSchema | IsInstanceSchema | IsSubclassSchema | CallableSchema | ListSchema | TupleSchema | SetSchema | FrozenSetSchema | GeneratorSchema | DictSchema | AfterValidatorFunctionSchema | BeforeValidatorFunctionSchema | WrapValidatorFunctionSchema | PlainValidatorFunctionSchema | WithDefaultSchema | NullableSchema | UnionSchema | TaggedUnionSchema | ChainSchema | LaxOrStrictSchema | JsonOrPythonSchema | TypedDictSchema | ModelFieldsSchema | ModelSchema | DataclassArgsSchema | DataclassSchema | ArgumentsSchema | ArgumentsV3Schema | CallSchema | CustomErrorSchema | JsonSchema | UrlSchema | MultiHostUrlSchema | DefinitionsSchema | DefinitionReferenceSchema | UuidSchema | ComplexSchema

Yield one of more validators with will be called to validate the input.

Each validator will receive, as input, the value returned from the previous validator.

classmethod __get_pydantic_json_schema__(schema: core_schema.JsonSchema, handler: GetJsonSchemaHandler) JsonSchemaValue

Mutate the field schema in place.

This is only called when output JSON schema from a model.

Subpackages