The Google Compute Engine API is built on HTTP and JSON, so any standard HTTP client can send requests to it and parse the responses.
However, instead of creating HTTP requests and parsing responses manually, you might want to use client libraries to do so. Client libraries provide better language integration, improved security, and support for making calls that require user authorization.
You can use the Compute Engine API through a number of Google-provided libraries or through third-party open source libraries that are known to work on Compute Engine. This document describes the Google-provided libraries and also describes some available third-party open source libraries.
Available libraries
Community libraries
| Library | Language(s) | Vendor | Website | Getting started on Compute Engine |
|---|---|---|---|---|
| libcloud | Python | Community | Website | Documentation |
| jclouds | Java, Clojure | Community | Website | Documentation |
| fog.io | Ruby | Community | Website | Documentation |
Google API client libraries
| Library | Language(s) | Vendor | Website | Getting started on Compute Engine |
|---|---|---|---|---|
| Google APIs Java Client Library | Java | Website | Documentation | |
| Google APIs .NET Client Library | .NET | Website | Documentation | |
| Google APIs Go Client Library | Go | Website | Documentation | |
| Google APIs JavaScript Client Library | Javascript | Website | Documentation | |
| Google APIs Ruby Client Library | Ruby | Website | Documentation | |
| Google APIs Node.js Client Library | Node.js | Website | Documentation | |
| Google API Objective C Client Library | Objective C | Website | Documentation | |
| Google API PHP Client Library | PHP | Website | Documentation | |
| Google API Python Client Library | Python | Website | Documentation |
libcloud
libcloud is a Python library for interacting with many popular Cloud service providers through a single unified API.
Compute Engine Notes
The Apache libcloud API project has been receiving solid support and updates for Compute Engine since July 2013. It supports a broad set of Compute Engine features including instances, disks, networks/firewalls, and load balancer support. The handy getting-started demo gives a good code example of how to use libcloud and Compute Engine.
jclouds
jclouds is an open source library that allows you to use Java and Clojure across multiple Cloud providers.
Compute Engine Notes
The jclouds cloud API does have Compute Engine support in “labs”. See the jclouds-labs-google repository for work being done to provide Compute Engine support and to elevate the lab into jclouds-core.
fog.io
fog.io fog.io is an open source Ruby library that allows you to interact with multiple Cloud services through one API.
Compute Engine Notes
The fog.io cloud API has had support for Compute Engine since version 1.11.0 in May 2013. Take a look at the fog.io documentation to get started with Compute Engine and fog. It primarily supports instance operations such as create, destroy and bootstrap.
Google APIs Java Client Library
This page contains information about getting started with the Compute Engine API using the Google API Client Library for Java. In addition, you may be interested in the following documentation:
- Browse the JavaDoc reference for the Compute Engine API.
- Read the Developer's Guide for the Google API Client Library for Java.
- Interact with this API in your browser using the APIs Explorer for the Compute Engine API.
Sample
The compute-engine-cmdline-sample may help you get started using the client library.
Add Library to Your Project
Select your build environment (Maven or Gradle) from the following tabs, or download a zip file containing all of the jars you need:
See the The Add the following to your Add the following to your
Download the Compute Engine API v1 Client Library for Java.compute/readme.html file for details on:
libs folder contains all the of the globally applicable dependencies you might need across all application types.pom.xml file:build.gradle file:
Google APIs .NET Client Library
This page contains information about getting started with the Compute Engine API using the Google APIs Client Library for .NET. In addition, you may be interested in the following documentation:
- Browse the .NET reference documentation for the Compute Engine API.
- Read the Developer's guide for the Google APIs Client Library for .NET.
- Interact with this API in your browser using the APIs Explorer for the Compute Engine API.
Downloading the library
Install a NuGet package from those available at Google.Apis.compute.
Google APIs Go Client Library
This section contains information about getting started with the Compute Engine API using the Google APIs Go client library. In addition, you might be interested in the following documentation:
- Read the getting started guide for the Google APIs Go client library.
- Interact with the API in the browser, using the Google APIs Explorer.
Downloading and installing the library
To install the library, run the following command:
$ go get code.google.com/p/google-api-go-client/compute/v1
Using the library
Import the library in your code:
package main
import (
"code.google.com/p/google-api-go-client/compute/v1"
)
Google APIs JavaScript Client Library
This section contains information about getting started with the Compute Engine API using the Google APIs JavaScript client library. In addition, you might be interested in the following documentation:
- Read the getting started guide.
- Learn how to develop using the JavaScript client library.
- See the Compute Engine-specific JavaScript getting started example.
- Interact with the API in the browser, using the Google APIs Explorer.
Using the API
To use the API, you must first load the library. In your code, add:
<script src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script>
Google APIs Ruby Client Library
This page contains information about getting started with the Compute Engine API using the Google APIs Client Library for Ruby. In addition, you may be interested in the following documentation:
- Read the Getting started guide for the Google APIs Client Library for Ruby.
- Interact with this API in your browser using the APIs Explorer for the Compute Engine API.
Installing the google-api-client gem
If you haven't installed the Google APIs Client Library for Ruby before, open a terminal and install using RubyGems:
$ gem install google-api-client
If you already have the gem installed and would simply like to update to the latest version:
$ gem update -y google-api-client
Depending on your system, you may need to prepend these commands with sudo.
Getting started with the Google APIs Client Library for Ruby
Be sure to check our extensive Getting started guide for a quick overview of how to make your first request.
Google APIs Node.js Client Library
This section contains information about getting started with the Compute Engine API using the Google APIs Node.js client library. In addition, you might be interested in the following documentation:
- Read the overview on GitHub.
- Interact with the API in the browser, using the Google APIs Explorer.
Installing the library
To install the Node.js library, you must use npm:
$ npm install googleapis
Using the library
Use the library to dynamically load your desired APIs:
var googleapis = require('googleapis');
googleapis
.discover('compute', 'v1')
.execute(function(err, client) {
if (err) {
console.log('Problem during the client discovery.', err);
return;
}
Google APIs Objective C Client Library
This section contains information about getting started with the Compute Engine API using the Google APIs Objective C client library. In addition, you might be interested in the following documentation:
- Read the overview.
- Interact with the API in the browser, using the Google APIs Explorer.
Linking to the library
Follow the instructions to add the Google APIs Objective-C Client Library to a Project.
Google APIs PHP Client Library
This section contains information about getting started with the Compute Engine API using the Google APIs PHP client library. In addition, you might be interested in the following documentation:
- Read the Installation guide.
- Get the library from GitHub.
- Interact with the API in the browser, using the Google APIs Explorer.
Downloading the library
The library can be installed by adding it as a dependency to your composer.json.
"require": {
"google/apiclient": "1.0.*"
}
If you prefer, the library is available on GitHub and can be cloned into a
local repository with the git clone method.
git clone https://github.com/google/google-api-php-client.git .
Using the library
The best way to define the location of library files is to add it to the path in the PHP.ini configuration file.
include_path = ".:/usr/local/lib/php:/path/to/google-api-php-client/src"
Alternatively, the same ini directive can be set dynamically in your code.
set_include_path(get_include_path() . PATH_SEPARATOR . '/path/to/google-api-php-client/src');
Google APIs Python Client Library
This page contains information about getting started with the Compute Engine API using the Google APIs Client Library for Python. In addition, you may be interested in the following documentation:
- Browse the PyDoc reference for the Compute Engine API.
- Read the Developer's guide for the Google APIs Client Library for Python.
- Interact with this API in your browser using the APIs Explorer for the Compute Engine API.
System requirements
-
Operating systems:
- Linux
- Mac OS X
- Windows
- Python 2.6 or Python 2.7
Installing the client library
You can either use a package manager or download and install the Python client library manually:
Managed installation
Use pip or setuptools to manage your installation (you might
need to run sudo first):
- pip (preferred):
$ pip install --upgrade google-api-python-client -
Setuptools:
Use the
easy_installtool included in the setuptools package:$ easy_install --upgrade google-api-python-client
Manual installation
Download the latest client
library for Python, unpack the code, and run python setup.py install
App Engine
Because Google App Engine
requires that all of the source files for a library must be
present in your App Engine project, there is a special
installation procedure for App Engine. To install the library and
all of its dependencies in an App Engine project, download the
file named
google-api-python-client-gae-N.M.zip from
the
list of downloads, where N.M is the version number
of the latest release. Unzip that file into your project. For
example:
$ cd myproject $ unzip google-api-python-client-gae-1.2.zip