This page shows how to get started with the Cloud Client Libraries for the Compute Engine API. Client libraries make it easier to access Google Cloud APIs from a supported language. Although you can use Google Cloud APIs directly by making raw requests to the server, client libraries provide simplifications that significantly reduce the amount of code you need to write.
Read more about the Cloud Client Libraries and the older Google API Client Libraries in Client libraries explained.
To follow step-by-step guidance for this task directly in the Google Cloud console, click Guide me:
Install the client library
C++
Follow the
Quickstart
.
C#
Install the
Google.Cloud.Compute.V1
package from NuGet.
For more information, see Setting Up a C# Development Environment.
Go
go get cloud.google.com/go/compute/apiv1
For more information, see Setting Up a Go Development Environment.
Java
If you are using Maven, add
the following to your pom.xml
file. For more information about
BOMs, see The Google Cloud Platform Libraries BOM.
If you are using Gradle, add the following to your dependencies:
If you are using sbt, add the following to your dependencies:
The older version of the Cloud Client Libraries for Java for Compute Engine is available as version 0.120.x or earlier in the Maven artifact. Versions 0.120.x and earlier of this library are forward-incompatible with later versions.
For more information, see Setting Up a Java Development Environment.
Node.js
npm install @google-cloud/compute
The older version of the Cloud Client Libraries for Node.js for Compute Engine is available as version 2.5.x or earlier in the npm package. Versions 2.5.x and earlier of this library are forward-incompatible with later versions.
For more information, see Setting Up a Node.js Development Environment.
PHP
composer require google/cloud-compute
For more information, see Using PHP on Google Cloud.
Python
pip install --upgrade google-cloud-compute
For more information, see Setting Up a Python Development Environment.
Ruby
gem install google-cloud-compute-v1
For more information, see Setting Up a Ruby Development Environment.
Set up authentication
To authenticate calls to Google Cloud APIs, client libraries support Application Default Credentials (ADC); the libraries look for credentials in a set of defined locations and use those credentials to authenticate requests to the API. With ADC, you can make credentials available to your application in a variety of environments, such as local development or production, without needing to modify your application code.For production environments, the way you set up ADC depends on the service and context. For more information, see Set up Application Default Credentials.
For a local development environment, you can set up ADC with the credentials that are associated with your Google Account:
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
A sign-in screen appears. After you sign in, your credentials are stored in the local credential file used by ADC.
Use the client library
The following example shows how to use the client library to list instances in a particular zone. For more examples, see Using client libraries.
C#
Go
Java
Node.js
PHP
Python
Ruby
Additional resources
C++
The following list contains links to more resources related to the client library for C++:
C#
The following list contains links to more resources related to the client library for C#:
Go
The following list contains links to more resources related to the client library for Go:
Java
The following list contains links to more resources related to the client library for Java:
Node.js
The following list contains links to more resources related to the client library for Node.js:
PHP
The following list contains links to more resources related to the client library for PHP:
Python
The following list contains links to more resources related to the client library for Python:
Ruby
The following list contains links to more resources related to the client library for Ruby:
Older client libraries
Cloud Client Libraries use our latest client library model and are the recommended option for accessing Cloud APIs programmatically.
For cases where you can't use Cloud Client Libraries, the following Google API Client Libraries are available:
Third-party Compute Engine API client libraries
libcloud
libcloud is a Python library used for interacting with multiple cloud service providers through a single unified API.
The Apache libcloud API project has received support and updates for Compute Engine since July 2013. It supports a broad set of Compute Engine features including instances, disks, networks, and load balancers. The getting started demo provides a code example of how to use libcloud and Compute Engine together.
jclouds
jclouds is an open source library that allows you to use Java and Clojure across multiple Cloud providers.
The jclouds cloud API supports Compute Engine and lets you manage resources such as virtual machines, disks, and networks. As of version 1.9, Compute Engine was promoted to the jclouds core.
fog.io
fog.io is an open source Ruby library that lets you interact with multiple cloud services through one API.
The fog.io cloud API has had support for Compute Engine since version 1.11.0 in May 2013. It supports instance operations such as create and delete, along with management operations for other resources like disks, networks, and load balancers.