See all documentation on the googleComputeEngineR website
Google Compute Engine lets you create and run virtual machines on Google infrastructure. See the documentation here.
Before you begin, you will need to set up a Cloud Platform project, and enable billing by adding a credit card.
A quickstart guide is available here for making your first VM via the web interface, if you are not familiar with GCE then its best to start there.
Pricing is available here.
googleComputeEngineR you will need:
Service account keyjson file, downloaded from the API Manager > Credentials > Create credentials > Service account key > Key type = JSON
client-secretfor your project.
The recommended method to authenticate is using the JSON service account key via auto-authentication.
Authentication can be carried out via OAuth2 each session via
gce_auth(). The first time you run this you will be sent to a Google login prompt in your browser to allow the
googleAuthR project access (or preferably the Google project you configure via client ID).
Once authenticated a file named
.httr-oauth is saved to your working directory. On subsequent authentication this file will hold your authentication details, and you won’t need to go via the browser. Deleting this file, or setting
new_user=TRUE will start the authentication flow again.
## set your project ID and secret if not using service account JSON options(googleAuthR.client_id = YOUR_CLIENT_ID) options(googleAuthR.client_secret = YOUR_CLIENT_SECRET) library(googleComputeEngineR) ## first time this will send you to the browser to authenticate gce_auth() ## to authenticate with a fresh user, delete .httr-oauth or run with new_user=TRUE gce_auth(new_user = TRUE) ...call functions...etc...
Each new R session will need to run
gce_auth() to authenticate future API calls.
Alternatively, you can specify the location of a service account JSON file taken from your Google Project, or the location of a previously created
.httr-oauth token in a system environment:
Sys.setenv("GCE_AUTH_FILE" = "/fullpath/to/auth.json")
You can set default projects, zone and authentication via an
.Renviron file or
GCE_AUTH_FILE="/Users/mark/xxxxx/auth.json" GCE_DEFAULT_PROJECT_ID="mark-xxxxxxx" GCE_DEFAULT_ZONE="europe-west1-a" GCE_SSH_USER="mark"
This file will then used for authentication via
gce_auth() when you load the library:
## GCE_AUTH_FILE set so auto-authentication > library(googleComputeEngineR) Successfully authenticated via /Users/mark/auth.json Set default project name to 'mark-xxxxx' Set default zone to 'europe-west1-a' ## no need for gce_auth() > gce_get_project() $kind  "compute#project" $id  "43534234234324324" $creationTimestamp  "2015-05-08T15:22:38.416-07:00" $name  "mark-xxxxx" ...etc....