Hide
Compute Engine

Compute Engine Client Libraries

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 Google Website Documentation
Google APIs .NET Client Library .NET Google Website Documentation
Google APIs Go Client Library Go Google Website Documentation
Google APIs JavaScript Client Library Javascript Google Website Documentation
Google APIs Ruby Client Library Ruby Google Website Documentation
Google APIs Node.js Client Library Node.js Google Website Documentation
Google API Objective C Client Library Objective C Google Website Documentation
Google API PHP Client Library PHP Google Website Documentation
Google API Python Client Library Python Google 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:

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:

Download

Download the Compute Engine API v1 Client Library for Java.

See the compute/readme.html file for details on:

  • What the zip file contains.
  • Which dependent jars are needed for each application type (web, installed, or Android application).

The libs folder contains all the of the globally applicable dependencies you might need across all application types.

Google APIs .NET Client Library

This page contains information about getting started with the Compute Engine API using the Google API Client Library for .NET. In addition, you may be interested in the following documentation:

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:

Downloading and installing the library

To install the library, run the following command:

$ go get google.golang.org/api/compute/v1

Using the library

Import the library in your code:

package main

  import (
      "google.golang.org/api/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:

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 API Client Library for Ruby. In addition, you may be interested in the following documentation:

Installing the google-api-client gem

If you haven't installed the Google API 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 API 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:

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:

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:

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 API Client Library for Python. In addition, you may be interested in the following documentation:

System requirements

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_install tool included in the setuptools package:
    $ easy_install --upgrade google-api-python-client
    

Manual installation

Download arrow Download the latest client library for Python, unpack the code, and run python setup.py install

App Engine

Because the Python client libraries are not installed in the App Engine Python runtime environment, they must be vendored into your application just like third-party libraries.