Add _metadata.get_project_id.
diff --git a/google/auth/_default.py b/google/auth/_default.py
index 74b96b3..356780b 100644
--- a/google/auth/_default.py
+++ b/google/auth/_default.py
@@ -172,7 +172,7 @@
if _metadata.ping(request=request):
# Get the project ID.
try:
- project_id = _metadata.get(request, 'project/project-id')
+ project_id = _metadata.get_project_id(request=request)
except exceptions.TransportError:
_LOGGER.warning(
'No project ID could be determined from the Compute Engine '
diff --git a/google/auth/compute_engine/_metadata.py b/google/auth/compute_engine/_metadata.py
index 6d13a54..a107015 100644
--- a/google/auth/compute_engine/_metadata.py
+++ b/google/auth/compute_engine/_metadata.py
@@ -128,6 +128,23 @@
url, response.status, response.data), response)
+def get_project_id(request):
+ """Get the Google Cloud Project ID from the metadata server.
+
+ Args:
+ request (google.auth.transport.Request): A callable used to make
+ HTTP requests.
+
+ Returns:
+ str: The project ID
+
+ Raises:
+ google.auth.exceptions.TransportError: if an error occurred while
+ retrieving metadata.
+ """
+ return get(request, 'project/project-id')
+
+
def get_service_account_info(request, service_account='default'):
"""Get information about a service account from the metadata server.