runway.lookups.handlers.env module

Retrieve a value from an environment variable.

The value is retrieved from a copy of the current environment variables that is saved to the context object. These environment variables are manipulated at runtime by Runway to fill in additional values such as DEPLOY_ENVIRONMENT and AWS_REGION to match the current execution.

Note

DEPLOY_ENVIRONMENT and AWS_REGION can only be resolved during the processing of a module. To ensure no error occurs when trying to resolve one of these in a Deployment definition, provide a default value.

If the Lookup is unable to find an environment variable matching the provided query, the default value is returned or a ValueError is raised if a default value was not provided.

Arguments

This Lookup supports all Common Lookup Arguments but, the folling have limited or no effect:

  • region

Example

deployment:
  - modules:
      - path: sampleapp.cfn
        parameters:
          creator: ${env USER}
    env_vars:
      ENVIRONMENT: ${env DEPLOY_ENVIRONMENT::default=default}
class runway.lookups.handlers.env.EnvLookup[source]

Bases: runway.lookups.handlers.base.LookupHandler

Environment variable Lookup.

classmethod handle(value, context, **_)[source]

Retrieve an environment variable.

The value is retrieved from a copy of the current environment variables that is saved to the context object. These environment variables are manipulated at runtime by Runway to fill in additional values such as DEPLOY_ENVIRONMENT and AWS_REGION to match the current execution.

Parameters
  • value – The value passed to the Lookup.

  • context – The current context object.

Raises

ValueError – Unable to find a value for the provided query and a default value was not provided.