diff --git a/plugins/module_utils/terraform_commands.py b/plugins/module_utils/terraform_commands.py index e5c69275..321c89a7 100644 --- a/plugins/module_utils/terraform_commands.py +++ b/plugins/module_utils/terraform_commands.py @@ -215,7 +215,7 @@ def show(self, state_or_plan_file_path: str) -> Optional[TerraformShow]: return TerraformShow.from_json(result) def validate(self, version: LooseVersion, variables_args: List[str]) -> None: - command = ["validate"] + command = ["validate", "-no-color"] if version < LooseVersion("0.15.0"): command += variables_args self._run(*command, check_rc=True) diff --git a/plugins/modules/terraform.py b/plugins/modules/terraform.py index 6f6ec7ca..3ca08b81 100644 --- a/plugins/modules/terraform.py +++ b/plugins/modules/terraform.py @@ -553,6 +553,8 @@ def main() -> None: for f in variables_files: variables_args.extend(["-var-file", f]) + preflight_validation(terraform, terraform_binary, project_path, checked_version, variables_args) + # only use an existing plan file if we're not in the deprecated "planned" mode if plan_file and state != "planned": if not any([os.path.isfile(project_path + "/" + plan_file), os.path.isfile(plan_file)]): @@ -586,8 +588,6 @@ def main() -> None: out = plan_stdout err = plan_stderr - preflight_validation(terraform, terraform_binary, project_path, checked_version, variables_args) - try: planned_state = terraform.show(plan_file_to_apply) if planned_state is not None: