Skip to content

Commit

Permalink
add readmes for all packages (#1495)
Browse files Browse the repository at this point in the history
* add bigquery readme

* add all readmes

* copy readme as part of release script

* gcloud-node -> google-cloud-node

* fix youre good to gos

* add resource manager scope

* exclude unecessary files
  • Loading branch information
stephenplusplus authored and callmehiphop committed Aug 26, 2016
1 parent af17e09 commit 655f142
Showing 1 changed file with 88 additions and 0 deletions.
88 changes: 88 additions & 0 deletions packages/google-cloud-compute/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# @google-cloud/compute
> Google Compute Engine Client Library for Node.js
*Looking for more Google APIs than just Compute Engine? You might want to check out [`google-cloud`][google-cloud].*

- [API Documentation][gcloud-compute-docs]
- [Official Documentation][cloud-compute-docs]


```sh
$ npm install --save @google-cloud/compute
```
```js
var gce = require('@google-cloud/compute')({
projectId: 'grape-spaceship-123',
keyFilename: '/path/to/keyfile.json'
});

// Create a new VM using the latest OS image of your choice.
var zone = gce.zone('us-central1-a');
var name = 'ubuntu-http';

zone.createVM(name, { os: 'ubuntu' }, function(err, vm, operation) {
// `operation` lets you check the status of long-running tasks.

operation
.on('error', function(err) {})
.on('running', function(metadata) {})
.on('complete', function() {
// Virtual machine created!
});
});
```


## Authentication

It's incredibly easy to get authenticated and start using Google's APIs. You can set your credentials on a global basis as well as on a per-API basis. See each individual API section below to see how you can auth on a per-API-basis. This is useful if you want to use different accounts for different Google Cloud services.

### On Google Compute Engine

If you are running this client on Google Compute Engine, we handle authentication for you with no configuration. You just need to make sure that when you [set up the GCE instance][gce-how-to], you add the correct scopes for the APIs you want to access.

``` js
// Authenticating on a global basis.
var projectId = process.env.GCLOUD_PROJECT; // E.g. 'grape-spaceship-123'

var gce = require('@google-cloud/compute')({
projectId: projectId
});

// ...you're good to go!
```

### Elsewhere

If you are not running this client on Google Compute Engine, you need a Google Developers service account. To create a service account:

1. Visit the [Google Developers Console][dev-console].
2. Create a new project or click on an existing project.
3. Navigate to **APIs & auth** > **APIs section** and turn on the following APIs (you may need to enable billing in order to use these services):
* Google Compute Engine API
4. Navigate to **APIs & auth** > **Credentials** and then:
* If you want to use a new service account, click on **Create new Client ID** and select **Service account**. After the account is created, you will be prompted to download the JSON key file that the library uses to authenticate your requests.
* If you want to generate a new key for an existing service account, click on **Generate new JSON key** and download the JSON key file.

``` js
var projectId = process.env.GCLOUD_PROJECT; // E.g. 'grape-spaceship-123'

var gce = require('@google-cloud/compute')({
projectId: projectId,

// The path to your key file:
keyFilename: '/path/to/keyfile.json'

// Or the contents of the key file:
credentials: require('./path/to/keyfile.json')
});

// ...you're good to go!
```


[google-cloud]: https://github.com/GoogleCloudPlatform/google-cloud-node
[gce-how-to]: https://cloud.google.com/compute/docs/authentication#using
[dev-console]: https://console.developers.google.com/project
[gcloud-compute-docs]: https://googlecloudplatform.github.io/google-cloud-node/#/docs/compute
[cloud-compute-docs]: https://cloud.google.com/compute/docs

0 comments on commit 655f142

Please sign in to comment.