diff --git a/changelogs/fragments/get_bin_path.yml b/changelogs/fragments/get_bin_path.yml new file mode 100644 index 00000000..dc691ad1 --- /dev/null +++ b/changelogs/fragments/get_bin_path.yml @@ -0,0 +1,3 @@ +--- +bugfixes: + - Remove superfluous parameter ``required`` from process.get_bin_path API usage. diff --git a/plugins/inventory/terraform_provider.py b/plugins/inventory/terraform_provider.py index 19e70741..94084b09 100644 --- a/plugins/inventory/terraform_provider.py +++ b/plugins/inventory/terraform_provider.py @@ -191,7 +191,10 @@ def parse(self, inventory, loader, path, cache=False): # type: ignore # mypy i if terraform_binary is not None: validate_bin_path(terraform_binary) else: - terraform_binary = process.get_bin_path("terraform", required=True) + try: + terraform_binary = process.get_bin_path("terraform") + except ValueError: + raise AnsibleParserError("Unable to find 'terraform' binary in the path") # TODO: remove when ansible provider is available state_content = [] diff --git a/plugins/lookup/tf_output.py b/plugins/lookup/tf_output.py index 2c5a4a1a..b138e1a9 100644 --- a/plugins/lookup/tf_output.py +++ b/plugins/lookup/tf_output.py @@ -79,6 +79,7 @@ import subprocess from typing import Dict, List, Optional, Tuple +from ansible.errors import AnsibleLookupError from ansible.module_utils.common import process from ansible.plugins.lookup import LookupBase from ansible_collections.cloud.terraform.plugins.module_utils.types import AnyJsonType @@ -110,7 +111,10 @@ def run(self, terms: List[str], variables: Optional[Dict[str, str]] = None, **kw if bin_path is not None: terraform_binary = bin_path else: - terraform_binary = process.get_bin_path("terraform", required=True) + try: + terraform_binary = process.get_bin_path("terraform") + except ValueError: + raise AnsibleLookupError("Unable to find 'terraform' binary in the path") output: List[AnyJsonType] = [] if not terms: