diff --git a/plugins/lookup/gcp_secret_manager.py b/plugins/lookup/gcp_secret_manager.py index bd9ca5574..b3eeaf93a 100644 --- a/plugins/lookup/gcp_secret_manager.py +++ b/plugins/lookup/gcp_secret_manager.py @@ -208,7 +208,10 @@ def get_latest_version(self, module, auth): self.raise_error(module, f"unable to list versions of secret {response.status_code}") version_list = response.json() if "versions" in version_list: - return sorted(version_list['versions'], key=lambda d: d['name'])[-1]['name'].split('/')[-1] + versions_numbers = [] + for version in version_list['versions']: + versions_numbers.append(version['name'].split('/')[-1]) + return sorted(versions_numbers, key=int)[-1] else: self.raise_error(module, f"Unable to list secret versions via {response.request.url}: {response.json()}") diff --git a/plugins/modules/gcp_secret_manager.py b/plugins/modules/gcp_secret_manager.py index f8d562358..91b186df9 100644 --- a/plugins/modules/gcp_secret_manager.py +++ b/plugins/modules/gcp_secret_manager.py @@ -261,7 +261,10 @@ def fetch_resource(module, allow_not_found=True): return None if "versions" in version_list: - latest_version = sorted(version_list['versions'], key=lambda d: d['name'])[-1]['name'].split('/')[-1] + versions_numbers = [] + for version in version_list['versions']: + versions_numbers.append(version['name'].split('/')[-1]) + latest_version = sorted(versions_numbers, key=int)[-1] module.params['calc_version'] = latest_version else: # if this occurs, there are no available secret versions