diff --git a/changelogs/fragments/gcp_service_account_home_path.yaml b/changelogs/fragments/gcp_service_account_home_path.yaml new file mode 100644 index 00000000000..8d9523ff930 --- /dev/null +++ b/changelogs/fragments/gcp_service_account_home_path.yaml @@ -0,0 +1,2 @@ +minor_changes: + - GCP Modules will do home path expansion on service account file paths diff --git a/lib/ansible/module_utils/gcp_utils.py b/lib/ansible/module_utils/gcp_utils.py index 584a6d14f6b..cea381d0276 100644 --- a/lib/ansible/module_utils/gcp_utils.py +++ b/lib/ansible/module_utils/gcp_utils.py @@ -129,8 +129,8 @@ class GcpSession(object): credentials, project_id = google.auth.default() return credentials elif cred_type == 'serviceaccount': - return service_account.Credentials.from_service_account_file( - self.module.params['service_account_file']) + path = os.path.realpath(os.path.expanduser(self.module.params['service_account_file'])) + return service_account.Credentials.from_service_account_file(path) elif cred_type == 'machineaccount': return google.auth.compute_engine.Credentials( self.module.params['service_account_email'])