============================================ The cloud.terraform collection Release Notes ============================================ .. contents:: Topics v3.0.0 ====== Release Summary --------------- This major release drops support for ``ansible-core < 2.15``. Breaking Changes / Porting Guide -------------------------------- - Drop support for ansible-core < 2.15 (https://github.com/ansible-collections/cloud.terraform/pull/138). v2.0.0 ====== Breaking Changes / Porting Guide -------------------------------- - Remove support for ansible-core < 2.14 (https://github.com/ansible-collections/cloud.terraform/pull/102). Major Changes ------------- - terraform_provider - Allow ``project_path`` in terraform_provider inventory plugin to accept a list of paths (https://github.com/ansible-collections/cloud.terraform/pull/55). - terraform_provider - Added ``search_child_modules`` option (https://github.com/ansible-collections/cloud.terraform/pull/55). Minor Changes ------------- - Removed integration tests workaround in terrform_provider. (https://github.com/ansible-collections/cloud.terraform/pull/84) - Set default of ``state_file`` in terraform_provider inventory plugin to a blank string (https://github.com/ansible-collections/cloud.terraform/pull/55). - terraform - add support for ``workspace`` when running ``terraform output`` (https://github.com/ansible-collections/cloud.terraform/issues/85). - terraform - cleanup temporary file create during module execution. (https://github.com/ansible-collections/cloud.terraform/issues/2) - terraform_output - add support for ``workspace`` when running ``terraform output`` (https://github.com/ansible-collections/cloud.terraform/issues/85). - tf_output - add support for ``workspace`` when running ``terraform output`` (https://github.com/ansible-collections/cloud.terraform/issues/85). Bugfixes -------- - module_utils - Accept Terraform executables present on PATH passed in as ``binary_path`` without specifying their absolute path. (https://github.com/ansible-collections/cloud.terraform/issues/49) - module_utils - Allow ``nested_type`` attribute in terraform schema. (https://github.com/ansible-collections/cloud.terraform/issues/93) - module_utils - Fix AWS SQS queue creation. The ``values`` attribute in terraform output is optional. SQS is one of (rare) cases where ``values`` is absent. (https://github.com/ansible-collections/cloud.terraform/issues/86) - move test requirements out of the requirements.txt file (https://github.com/ansible-collections/cloud.terraform/pull/67). - terraform - fix issue with ``plan_file`` option specified with ``check_mode=true`` and ``state`` set to one of ``present`` and ``absent``, the module is enable now to generate a Terraform file to the specified location (https://github.com/ansible-collections/cloud.terraform/issues/87). - terraform - fix spaces between characters in command field in result (https://github.com/ansible-collections/cloud.terraform/pull/76). v1.1.0 ====== Major Changes ------------- - Added the git_plan role to apply a Terraform plan stored in a Git repository. - Added the inventory_from_outputs role to construct an in-memory inventory from Terraform outputs. - Added the terraform_output module which parses values from terraform outputs. - Check mode now works as intended and produces correct "changed" output and results. - Inventory plugin cloud.terraform.terraform_provider added. (https://github.com/ansible-collections/cloud.terraform/pull/22) - Support diff mode in cloud.terraform.terraform both in check mode and in non-check mode. (https://github.com/ansible-collections/cloud.terraform/pull/11) - Terraform output lookup module added (https://github.com/ansible-collections/cloud.terraform/pull/12). Minor Changes ------------- - Removed "required_one_of" condition from terraform_output module. (https://github.com/ansible-collections/cloud.terraform/pull/31). - Slight code reorganization to always run terraform plan, and then optionally apply the generated plan. - Terraform output lookup module - documentation for state_file option updated. (https://github.com/ansible-collections/cloud.terraform/pull/29). - git_plan and inventory_from_outputs role's argument_spec.yml updated to be able to generate documentation (https://github.com/ansible-collections/cloud.terraform/pull/28) - meta/runtime.yml - Drop space in requires_ansible that was preventing the upload on Galaxy (https://github.com/ansible-collections/cloud.terraform/pull/8). Deprecated Features ------------------- - state=planned is deprecated. Use check_mode=true at the module level instead. Bugfixes -------- - Integration tests to test support of AWS, Azure and GCP. - Major refactoring of the cloud.terraform collection, restructuring and compartmentalizing code. - Removed "mutually exclusive" condition for state_file and project_path in inventory_from_outputs role, since terraform_output module doesn't require this. (https://github.com/ansible-collections/cloud.terraform/pull/39) - Several integration tests were added to test end-to-end behaviour. - Terraform module - fix now allows the possibility that the key "value" is not always present in the terraform plan thus avoiding KeyError. (https://github.com/ansible-collections/cloud.terraform/pull/45) - Terraform module - fix now expands the providers schema with block_types section so when checking if (block) attribute is sensitive in providers schema KeyError is now avoided. (https://github.com/ansible-collections/cloud.terraform/pull/46) - Terraform_output - fix now sets "outputs" variable to None in case of TerraformWarning to avoid undefined variable error. (https://github.com/ansible-collections/cloud.terraform/pull/31) - Type hints added to the cloud.terraform collection for easier future maintenance and reliability. - Updated host and group name in cloud.terraform.terraform_provider inventory plugin. (https://github.com/ansible-collections/cloud.terraform/pull/34) - terraform_output module - when providing name and state_file parameters, the value of the requested output wasn't returned. This issue was solved by changing the order of the name and state parameters in the invoked Terraform command (https://github.com/ansible-collections/cloud.terraform/pull/19). New Plugins ----------- Inventory ~~~~~~~~~ - terraform_provider - Builds an inventory from Terraform state file.