8/23/2020 Migrating to v1 metadata server endpoint
Migrating to v1 metadata server endpoint
ng: The v0.1 and v1beta1 metadata server endpoints are deprecated and scheduled for shutdown on Septemb
Migration overview
To migrate to v1.0, complete the following steps:
1. Identify the VM instances (# nd-vm) that are using the deprecated metadata server endpoints.
If you have Google Kubernetes Engine clusters (/kubernetes-engine/docs/concepts/kubernetes-engine-overview), you need to identify the GKE nodes (# nd-gke-node) that are using the deprecated endpoint.
2. On the identi ed VM instances or nodes, nd the processes (# nd-process), applications (#apps-to-update), or images (#image-update) that are using the deprecated metadata server endpoints.
For processes and applications, review the following information:
If the process belongs to an application that you did not develop, update the application to use a v1 metadata server endpoint. For a list of known applications that require an update, see applications that require an update (#apps-to-update).
If the process belongs to an application that you developed and your code is calling any of the legacy endpoints, complete the following steps:
a. Review the differences between v1 and the deprecated metadata server endpoints.
For v1beta1, see Differences between v1beta1 and v1.0 (#diff-v1beta1).
For v0.1, see Differences between v0.1 and v1.0 (#diff-v0.1).
b. Update queries to use the v1 metadata server endpoint.
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 1/19 8/23/2020 Migrating to v1 metadata server endpoint
If the process belongs to an application that you developed but your code is not making requests to any of the legacy endpoints, then the requests might be made by SDKs or other dependencies. To x this, update all SDKs and dependencies used by the application.To view the versions of the Google libraries that require an update, see supported library versions (#supported-google-libraries).
3. (Optional) Disable the v0.1 and v1beta1 (/compute/docs/storing-retrieving-metadata#disable-legacy-endpoints) metadata server endpoints.
Identifying the VM instances
To identify which VM instances are using v0.1 and v1beta1 endpoints, you can make requests to two new endpoints.
The output from querying these new endpoints tells you how many times a given VM instance accessed the deprecated endpoints. Note: Each time a VM instance is stopped, the counter resets.
To see if a VM instance has accessed the v0.1 and v1beta1 endpoints, run the following commands:
curl -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetada curl -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetada
The following python sample shows how to programmatically watch these new endpoints:
compute/metadata/detect_legacy_usage.py (https://github.com/GoogleCloudPlatform/python-docs- samples/blob/master/compute/metadata/detect_legacy_usage.py)
om/GoogleCloudPlatform/python-docs-samples/blob/master/compute/metadata/detect_legacy_usage.py)
def wait_for_legacy_usage(callback): url = '{}/instance/legacy-endpoint-access'.format(METADATA_URL) last_etag = '0'
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 2/19 8/23/2020 Migrating to v1 metadata server endpoint
counts = None while True: r = requests.get( url, params={ 'last_etag': last_etag, 'recursive': True, 'wait_for_change': True }, headers=METADATA_HEADERS) if r.status_code == 503: # Metadata server unavailable print('Metadata server unavailable. Sleeping for 1 second.') time.sleep(1) continue if r.status_code == 404: # Feature not yet supported print('Legacy endpoint access not supported. Sleeping for 1 hour.') time.sleep(3600) continue r.raise_for_status()
last_etag = r.headers['etag'] access_info = json.loads(r.text) if not counts: counts = access_info if access_info != counts: diff = { ver: access_info[ver] - counts[ver] for ver in counts } counts = access_info callback(diff)
Identifying the GKE nodes
To identify the nodes in your Google Kubernetes Engine clusters that are using the v0.1 and v1beta1 endpoints, see Identifying workloads using the legacy metadata server endpoints (/kubernetes-engine/docs/how-to/protecting-cluster-metadata#identify-legacy-apis).
Identifying the processes
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 3/19 8/23/2020 Migrating to v1 metadata server endpoint
After you have identi ed the VM instances that are making requests to the deprecated metadata server endpoints, you can then nd the processes on these VM instances that are making these requests.
To identify the processes, use logging or monitoring tools such as ngrep or auditd.
ngrepauditd (Linux only) (#auditd-li…
You can use ngrep (network grep) to collect packets and lter the contents of these packets. To collect packet information for processes that make requests to the deprecated endpoints, on your VM instance, run the following command:
sudo ngrep -l -q "v1beta1|0\.1/meta-data" tcp \ and dst host 169.254.169.254 or metadata.google.internal \ and dst port 80
If any requests are made to the deprecated endpoints, the output resembles the following:
T 10.128.0.4:41312 -> 169.254.169.254:80 [AP] GET /computeMetadata/v1beta1/instance/id HTTP/1.1..Host: metadata.goog..User-Ag
The output contains the following information:
The root url: /computeMetadata/v1beta1/instance/id.
The user agent that is used to make the request. In this example, it is curl/7.52.1.
The IP address (source IP) and port for the VM instance that the request originated from. In this example, the IP address is 10.128.0.4 and the port is 41312 .
If the process is still alive, you can review the port information to nd the process ID.
Reviewing port information
The following procedure might identify processes with outstanding hanging HTTP GET (/compute/docs/storing-retrieving-metadata#waitforchange) requests. This procedure nds the processes that are talking to both the current and deprecated metadata endpoints.
To list the sockets with open connections to the metadata server, on your VM instance, run the following command:
sudo lsof -n -P +c 0 -i @169.254.169.254
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 4/19 8/23/2020 Migrating to v1 metadata server endpoint
The output resembles the following:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME google_network_ 798 root 7u IPv4 1674967626 0t0 TCP 10.128.0.4:44876- google_accounts 805 root 5u IPv4 1674980506 0t0 TCP 10.128.0.4:44878- google_clock_sk 809 root 5u IPv4 1674982496 0t0 TCP 10.128.0.4:44880- google_clock_sk 809 root 6u IPv4 1674914460 0t0 TCP 10.128.0.4:44874-
The NAME column shows the source IP, destination IP, and ports. If this isn't enough to identify a process, you can use the ps command to view more information.
ps 798 805 809
The output resembles the following:
PID TTY STAT TIME COMMAND 798 ? Ss 9:07 /usr/bin/python /usr/bin/google_network_daemon 805 ? Ss 14:19 /usr/bin/python /usr/bin/google_accounts_daemon 809 ? Ss 4:33 /usr/bin/python /usr/bin/google_clock_skew_daemon
Di erences between the v1beta1 and v1.0 metadata server endpoints
The v1 metadata server functions slightly differently than the previous v1beta1 server. The new metadata server requires that all requests provide the Metadata-Flavor: Google header, which indicates that the request was made with the intention of retrieving metadata values.
Update your requests to include this new header. For example, a request to the disks/ attribute now looks like the following:
user@myinst:~$ curl "http://metadata.google.internal/computeMetadata/v1/instanc
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 5/19 8/23/2020 Migrating to v1 metadata server endpoint
Di erences between the v0.1 and v1.0 metadata server endpoints
In general, the v0.1 metadata server endpoints differ from v1 in the following ways:
The root used for querying metadata server endpoint has changed from http://metadata.google.internal/0.1/meta-data/ to http://metadata.google.internal/computeMetadata/v1/.
v1 metadata server requests must include the Metadata-Flavor: Google header. For example, a request to the disks/ attribute now looks like the following:
curl "http://metadata.google.internal/computeMetadata/v1/instance/disks/"
Custom metadata (/compute/docs/storing-retrieving-metadata#custom) can be queried at both the project and instance level (/compute/docs/storing-retrieving-metadata#project-instance-metadata).
In the v0.1 metadata server, for the attributes/ property, both instance and project metadata values are in the same directory. If an attribute has both instance and project metadata values, the instance metadata value for a given key is returned.
For v1 queries, the URL must specify whether instance or project metadata is requested. For example, to query the sshKeys attribute, run one or both of the following:
For sshKeys that are set on the project, run the following command:
curl "http://metadata.google.internal/computeMetadata/v1/project/attribute
For sshKeys that are set on this instance, run the following command:
curl "http://metadata.google.internal/computeMetadata/v1/instance/attribut
Some metadata entries in v0.1 return JSON objects. In the v1 metadata server, these metadata entries are organized by directories. This organization of entries lets you
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 6/19 8/23/2020 Migrating to v1 metadata server endpoint
query speci c index entries and values for these previously nested elds. For more information about querying a directory listing or accessing JSON objects in v1, see Attributes as directory listings (#directory-listing-attributes).
For a more detailed mapping of v0.1 to v1 metadata server endpoints, review the following tables.
Instance a ributes
The following metadata entries are moved into the instance/ directory:
v0.1 root - http://metadata.google.internal/0.1/meta-data/
v1 root - http://metadata.google.internal/computeMetadata/v1
Metadata VersionURI (relative to the root) Example output entry
Description v0.1 description My instance description
v1 instance/description
Hostname v0.1 hostname my-instance.c.my-project.internal
v1 instance/hostname
Image v0.1 image projects/eip-images/global/images/debian-9- drawfork-v20180109 v1 instance/image
Machine v0.1 machine-type projects/12345/machineTypes/n1-standard-1 type v1 instance/machine- type
Instance v0.1 tags ["cheese", "lettuce"] tags v1 instance/tags
Zone v0.1 zone projects/12345/zones/us-central1-c
v1 instance/zone
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 7/19 8/23/2020 Migrating to v1 metadata server endpoint
Project a ributes
The following metadata entries are moved into the project/ directory:
v0.1 root - http://metadata.google.internal/0.1/meta-data/
v1 root - http://metadata.google.internal/computeMetadata/v1
Metadata entry Version URI (relative to root) Example output
Project ID v0.1 project-id my-project
v1 project/project-id
Numeric Project ID v0.1 numeric-project-id 12345
v1 project/numeric-project-id
A ributes that are moved
The following metadata entries are moved to a new endpoint:
v0.1 root - http://metadata.google.internal/0.1/meta-data/
v1 root - http://metadata.google.internal/computeMetadata/v1
Metadata entry Version URI (relative to root) Example output
Domain v0.1 domain c.my-project.internal
v1 instance/hostname my-instance.c.my-project.internal
A ributes that are renamed
The following metadata entries are renamed:
v0.1 root - http://metadata.google.internal/0.1/meta-data/
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 8/19 8/23/2020 Migrating to v1 metadata server endpoint
v10 .ro1o rto -o ht -t thpt:t/p/:m/e/tmaedtatda.tgao.oggoloeg.lien.tienrtnearln/aclo/m0p.u1t/emMeettaa-data/v1
v1 root - http://metadata.google.internal/computeMetadata/v1
Metadata entry Version URI (relative to root) Example output
Instance ID v0.1 instance-id 123456789
v1 instance/id 123456789
A ributes as directory listings
The following metadata entries returned JSON objects in v0.1 and are organized into directories in v1.
For these metadata entries, you can use either of the following methods to access the endpoints:
Query the directory (/compute/docs/storing-retrieving-metadata#dirlistings) listings.
Recursively query (/compute/docs/storing-retrieving-metadata#aggcontents) the v1 endpoints to get JSON objects similar to those in v0.1.
Note: Some elds in the JSON object have changed in the v1 metadata server endpoint. To see the changed elds, review the example outputs in the table below.
v0.1 root - http://metadata.google.internal/0.1/meta-data/
v1 root - http://metadata.google.internal/computeMetadata/v1
Metadata VersionURI (relative to root) Example output entry
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 9/19 8/23/2020 Migrating to v1 metadata server endpoint
v0.1 root - http://metadata.google.internal/0.1/meta-data/
v1 root - http://metadata.google.internal/computeMetadata/v1
Disks v0.1 disks {"disks":[{ "deviceName":"persistent-disk-0", "index":0, "mode":"READ_WRITE", "type":"PERSISTENT"}]}
v1 instance/attached-disks/? [{"deviceName": "persistent-disk-0", recursive=true "index":0, "mode":"READ_WRITE", "type":"PERSISTENT"}]
Network v0.1 network {"networkInterface": interfaces [{"accessConfiguration": [{"externalIp":"35.194.6.47", "type":"ONE_TO_ONE_NAT"}], "ip":"10.128.0.4", "mac":"42:01:0a:80:00:04","mtu":1460, "network":"projects/12345/networks/def
v1 instance/network- [{"accessConfigs": interfaces/?recursive=true[{"externalIp":"35.194.6.47", "type":"ONE_TO_ONE_NAT"}], "dnsServers":["169.254.169.254"], "forwardedIps":[], "gateway":"10.128.0.1", "ip":"10.128.0.4", "ipAliases [], "mac":"42:01:0a:80:00:04","mtu":1460, "network":"projects/12345/networks/def "subnetmask":"255.255.240.0","targetIn
Service v0.1 service-accounts {"serviceAccounts": account [{"scopes":["https://www.googleapis.co information "serviceAccount":"12345-compute@develo (all service accounts)
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 10/19 8/23/2020 Migrating to v1 metadata server endpoint
v0.1 root - http://metadata.google.internal/0.1/meta-data/
v1 root - http://metadata.google.internal/computeMetadata/v1
v1 instance/service- {"[email protected] accounts/?recursive=true {"aliases":["default"], "email":"[email protected] "scopes":["https://www.googleapis.com/ "default":{"aliases":["default"], "email":"[email protected] "scopes":["https://www.googleapis.com/
Service v0.1 service- {"scopes":["https://www.googleapis.com account accounts/
Querying OAuth 2.0 access tokens
The following metadata entries return OAuth2 access tokens.
Note: Some OAuth 2.0 token elds have changed in the v1 metadata server endpoint. To see the changed elds, review the example outputs in the following table.
v0.1 root - http://metadata.google.internal/0.1/meta-data/
v1 root - http://metadata.google.internal/computeMetadata/v1
Metadata Version URI (relative to root) Example output entry
OAuth2 v0.1 auth-token?service_account= {"expires":1568854217, Token (Method
auth_token?service_account=
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 11/19 8/23/2020 Migrating to v1 metadata server endpoint
v0.1 root - http://metadata.google.internal/0.1/meta-data/
v1 root - http://metadata.google.internal/computeMetadata/v1
v0.1 service- {"accessToken":"ya29.c.KmyIB0i (Methodaccounts/
v1 instance/service- {"access_token":"ya29.c.KmyIB0 accounts/
Applications that require an update
To use the v1 metadata server endpoint, update the following applications to the minimum supported version or a higher version.
Note: This list is not exhaustive and will be updated as more applications are identi ed.
Application Minimum supported version
Facter (developed by Puppet 3.14.5 (https://puppet.com/)) (https://puppet.com/docs/puppet/latest/release_n release-notes-x.14.5) (Puppet 6.10.0)
3.11.10 (https://puppet.com/docs/facter/3.11/release_no (Puppet 5.5.17)
Cloud Monitoring agent (/monitoring/agent) 5.5.2-375
RightScale's (https://docs.rightscale.com/) RightLink 10 server agent (RightLink) (https://docs.rightscale.com/rl10/about.html)
Images to update
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 12/19 8/23/2020 Migrating to v1 metadata server endpoint
If you have guest attributes enabled (/compute/docs/storing-retrieving-metadata#guest_attributes), the following images make calls to the v1beta1 metadata server to store SSH host keys (/compute/docs/instances/connecting-to-instance#store-host-key). We recommend that you upgrade to later versions of the images that are listed.
Operating system Image versions
CentOS centos-6-v20190619
centos-7-v20190619
Debian debian-9-stretch-v20190618
Red Hat Enterprise Linux (RHEL) rhel-6-v20190618
rhel-7-v20190618
rhel-8-v20190521
rhel-8-v20190522
rhel-8-v20190618
rhel-7-4-sap-v20190618
rhel-7-6-sap-v20190618
SUSE Linux Enterprise Server (SLES) sles-15-sp1-v20190625
sles-15-sp1-sap-v20190625
Suppo ed library versions
Some Google libraries are unaffected by the migration to the v1 metadata server endpoint. However, if you are using any of the libraries listed in the following table, make sure that you upgrade to the minimum supported version or a higher version.
LanguageGoogle library Minimum supported version
Java com.google.api-client 1.18.0-rc
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 13/19 8/23/2020 Migrating to v1 metadata server endpoint
Node.js dialog ow 0.6.0 (https://github.com/googleapis/nodejs- dialog ow/releases/tag/v0.6.0)
Node.js rebase-admin 8.2.0 (https://github.com/ rebase/ rebase-admin- node/releases/tag/v8.2.0)
Node.js google-cloud/debug- 3.0.0 agent
Node.js google-cloud/pro ler 0.2.0
Node.js google-cloud/trace-agent 2.11.0
Node.js gcp-metadata 0.5.0
Node.js gcs-resumable-upload 0.13.0
Node.js googleapis 27.0.0
Node.js google-auth-library 1.3.0
Node.js google-cloud/bigquery 2.0.0
Node.js google-cloud/bigquery- 0.4.0 data-transfer
Node.js google-cloud/bigtable 0.15.0
Node.js google-cloud/cloud- 0.3.0 container
Node.js google-cloud/compute 0.11.0
Node.js google-cloud/datastore 2.0.0
Node.js google-cloud/dlp 0.8.0
Node.js google-cloud/dns 0.8.0
Node.js google-cloud/error- 0.5.0 reporting
Node.js google-cloud/ restore 0.16.1
Node.js google-cloud/language 2.0.0
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 14/19 8/23/2020 Migrating to v1 metadata server endpoint
Node.js google-cloud/logging- 0.9.0 bunyan
Node.js google-cloud/logging 2.0.0
Node.js google-cloud/logging- 0.10.0 winston
Node.js google-cloud/monitoring 0.6.0
Node.js google-cloud/os-login 0.3.0
Node.js google-cloud/pubsub 0.20.0
Node.js google-cloud/redis 0.2.0
Node.js google-cloud/resource 0.9.0
Node.js google-cloud/spanner 2.0.0
Node.js google-cloud/speech 2.0.0
Node.js google-cloud/storage 2.0.0
Node.js google-cloud/tasks 0.2.0
Node.js google-cloud/text-to- 0.3.0 speech
Node.js google-cloud/translate 2.0.0
Node.js google-cloud/vision 0.21.0
Node.js google-cloud/pro ler 0.2.0 (https://github.com/googleapis/cloud-pro ler- nodejs/releases/tag/v0.2.0)
Node.js google-cloud/trace-agent 2.11.0 (https://github.com/googleapis/cloud-trace- nodejs/releases/tag/v2.11.0)
Node.js google-gax 0.17.0 (https://github.com/googleapis/gax- nodejs/releases/tag/v0.17.0)
Node.js gce-images 1.0.0 (https://github.com/googleapis/gce- images/releases/tag/v1.0.0)
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 15/19 8/23/2020 Migrating to v1 metadata server endpoint
Node.js gcp-metadata 0.5.0 (https://github.com/googleapis/gcp- metadata/releases/tag/v0.5.0)
Node.js gcs-resumable-upload 0.13.0 (https://github.com/googleapis/gcs-resumable- upload/releases/tag/v0.13.0)
Node.js googleapis 27.0.0 (https://github.com/googleapis/google-api-nodejs- client/releases/tag/v27.0.0)
Node.js google-auth-library 1.3.0 (https://github.com/googleapis/google-auth-library- nodejs/releases/tag/v1.3.0)
Node.js google-cloud/bigquery 2.0.0 (https://github.com/googleapis/nodejs- bigquery/releases/tag/v2.0.0)
Node.js google-cloud/bigquery- 0.4.0 data-transfer (https://github.com/googleapis/nodejs-bigquery-data- transfer/releases/tag/v0.4.0)
Node.js google-cloud/bigtable 0.15.0 (https://github.com/googleapis/nodejs- bigtable/releases/tag/v0.15.0)
Node.js google-cloud/cloud- 0.3.0 container (https://github.com/googleapis/nodejs-cloud- container/releases/tag/v0.3.0)
Node.js google-cloud/common 0.18.0 (https://github.com/googleapis/nodejs- common/releases/tag/v0.18.0)
Node.js google-cloud/common- 0.7.0 grpc (https://github.com/googleapis/nodejs-common- grpc/releases/tag/v0.7.0)
Node.js google-cloud/compute 0.11.0 (https://github.com/googleapis/nodejs- compute/releases/tag/v0.11.0)
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 16/19 8/23/2020 Migrating to v1 metadata server endpoint
Node.js google-cloud/datastore 2.0.0 (https://github.com/googleapis/nodejs- datastore/releases/tag/v2.0.0)
Node.js google-cloud/dlp 0.8.0 (https://github.com/googleapis/nodejs-dlp/releases/tag/v0.8.0)
Node.js google-cloud/dns 0.8.0 (https://github.com/googleapis/nodejs- dns/releases/tag/v0.8.0)
Node.js google-cloud/error- 0.5.0 reporting (https://github.com/googleapis/nodejs-error- reporting/releases/tag/v0.5.0)
Node.js google-cloud/ restore 0.16.1 (https://github.com/googleapis/nodejs- restore/releases/tag/v0.16.1)
Node.js google-cloud/language 2.0.0 (https://github.com/googleapis/nodejs- language/releases/tag/v2.0.0)
Node.js google-cloud/logging 2.0.0 (https://github.com/googleapis/nodejs- logging/releases/tag/v2.0.0)
Node.js google-cloud/logging- 0.9.0 bunyan (https://github.com/googleapis/nodejs-logging- bunyan/releases/tag/v0.9.0)
Node.js google-cloud/logging- 0.10.0 winston (https://github.com/googleapis/nodejs-logging- winston/releases/tag/v0.10.0)
Node.js google-cloud/monitoring 0.6.0 (https://github.com/googleapis/nodejs- monitoring/releases/tag/v0.6.0)
Node.js google-cloud/os-login 0.3.0 (https://github.com/googleapis/nodejs-os- login/releases/tag/v0.3.0)
Node.js googleapis/nodejs- 0.20.0 pubsub (https://github.com/googleapis/Nodejs- pubsub/releases/tag/v0.20.0)
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 17/19 8/23/2020 Migrating to v1 metadata server endpoint
Node.js google-cloud/redis 0.2.0 (https://github.com/googleapis/nodejs- redis/releases/tag/v0.2.0)
Node.js google-cloud/resource 0.9.0 (https://github.com/googleapis/nodejs- resource/releases/tag/v0.9.0)
Node.js google-cloud/spanner 2.0.0
Node.js google-cloud/speech 2.0.0 (https://github.com/googleapis/nodejs- speech/releases/tag/v2.0.0)
Node.js google-cloud/storage 2.0.0 (https://github.com/googleapis/nodejs- storage/releases/tag/v2.0.0)
Node.js google-cloud/tasks 0.2.0 (https://github.com/googleapis/nodejs- tasks/releases/tag/v0.2.0)
Node.js google-cloud/text-to- 0.3.0 speech (https://github.com/googleapis/nodejs-text-to- speech/releases/tag/v0.3.0)
Node.js google-cloud/translate 2.0.0 (https://github.com/googleapis/nodejs- translate/releases/tag/v2.0.0)
Node.js google-cloud/video- 1.3.0 intelligence (https://github.com/googleapis/nodejs-video- intelligence/releases/tag/v1.3.0)
Node.js google-cloud/vision 0.21.0 (https://github.com/googleapis/nodejs- vision/releases/tag/v0.21.0)
PHP google-cloud/video- 1.3.3 intelligence
Python oauth2client 2.0.0
Python google-api-python-client 1.6.0
Python googleapis/google-cloud- 0.10.0 python
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 18/19 8/23/2020 Migrating to v1 metadata server endpoint
Python google-cloud-happybase 0.20.0
Ruby gcloud 0.11.1
Ruby google-api-client 0.8.6
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License (https://creativecommons.org/licenses/by/4.0/), and code samples are licensed under the Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0). For details, see the Google Developers Site Policies (https://developers.google.com/site-policies). Java is a registered trademark of Oracle and/or its a liates.
Last updated 2020-08-21 UTC.
https://cloud.google.com/compute/docs/migrating-to-v1-metadata-server/ 19/19