runway.env_mgr.tfenv module

Terraform version management.

runway.env_mgr.tfenv.download_tf_release(version, versions_dir, command_suffix, tf_platform=None, arch=None)[source]

Download Terraform archive and return path to it.

runway.env_mgr.tfenv.get_available_tf_versions(include_prerelease=False)[source]

Return available Terraform versions.

runway.env_mgr.tfenv.get_latest_tf_version(include_prerelease=False)[source]

Return latest Terraform version.

runway.env_mgr.tfenv.load_terrafrom_module(parser, path)[source]

Load all Terraform files in a module into one dict.

Parameters
  • parser (Union[hcl, hcl2]) – Parser to use when loading files.

  • path (Path) – Terraform module path. All Terraform files in the path will be loaded.

Returns

Combined contents of all Terraform files in a single dict.

Return type

Dict[str, Any]

class runway.env_mgr.tfenv.TFEnvManager(path=None)[source]

Bases: runway.env_mgr.EnvManager

Terraform version management.

Designed to be compatible with https://github.com/tfutils/tfenv.

Initialize class.

backend

Decorator for creating cached properties.

A property that is only computed once per instance and then replaces itself with an ordinary attribute. Deleting the attribute resets the property. Source: https://github.com/bottlepy/bottle/commit/fa7733e075da0d790d809aa3d2f53071897e6f76

terraform_block

Decorator for creating cached properties.

A property that is only computed once per instance and then replaces itself with an ordinary attribute. Deleting the attribute resets the property. Source: https://github.com/bottlepy/bottle/commit/fa7733e075da0d790d809aa3d2f53071897e6f76

version_file

Decorator for creating cached properties.

A property that is only computed once per instance and then replaces itself with an ordinary attribute. Deleting the attribute resets the property. Source: https://github.com/bottlepy/bottle/commit/fa7733e075da0d790d809aa3d2f53071897e6f76

get_min_required()[source]

Get the defined minimum required version of Terraform.

Returns

The minimum required version as defined in the module.

Return type

str

get_version_from_file(file_path=None)[source]

Get Terraform version from a file.

Parameters

file_path (Optional[Path]) – Path to file that will be read.

install(version_requested=None)[source]

Ensure Terraform is available.