aws-cli-js
Version:
A node.js wrapper for the aws command line interface
136 lines (99 loc) • 4.04 kB
Markdown
# aws-cli-js
A node.js wrapper for the [aws-cli](http://aws.amazon.com/documentation/cli/) command line interface
[![NPM version][npm-image]][npm-url]
[![NPM downloads][downloads-image]][downloads-url]
## Installation
### Step 1: Prerequisites
The aws command line interface must be installed and accessible in the path
### Step 2: Installation
npm install aws-cli-js
Then:
```js
var awsCli = require('aws-cli-js');
var Options = awsCli.Options;
var Aws = awsCli.Aws;
```
## Usage
With promise
```js
var options = new Options(
/* accessKey */ 'your key',
/* secretKey */ 'your key2',
/* sessionToken */ 'your token',
/* currentWorkingDirectory */ null,
/* cliPath */ 'aws'
);
var aws = new Aws(options);
aws.command('iam list-users').then(function (data) {
console.log('data = ', data);
});
//data = {
// command: 'aws iam list-users ',
// raw: '{\\n \\"Users\\": [\\n {\\n \\"UserName\\": \\"developer\\", \\n \\"PasswordLastUsed\\": \\"2015-10-03T17:58:49Z\\", \\n \\"CreateDate\\": \\"2015-06-03T07:37:25Z\\", \\n \\"UserId\\": \\"AIDAJBXXXXXXXXXXXXXXXXX\\", \\n \\"Path\\": \\"/\\", \\n \\"Arn\\": \\"arn:aws:iam::03XXXXXXXXX:user/developer\\"\\n }\\n ]\\n}\\n',
// object:
// {
// Users:
// [{
// UserName: 'developer',
// PasswordLastUsed: '2015-10-03T17:58:49Z',
// CreateDate: '2015-06-03T07:37:25Z',
// UserId: 'AIDAJBXXXXXXXXXXXXXXXXX',
// Path: '/',
// Arn: 'arn:aws:iam::03XXXXXXXXX:user/developer'
// }]
// }
//}
```
With callback:
```js
aws.command('iam list-users', function (err, data) {
console.log('data = ', data);
});
//data = {
// command: 'aws iam list-users ',
// raw: '["{\\n \\"Users\\": [\\n {\\n \\"UserName\\": \\"developer\\", \\n \\"PasswordLastUsed\\": \\"2015-10-03T17:58:49Z\\", \\n \\"CreateDate\\": \\"2015-06-03T07:37:25Z\\", \\n \\"UserId\\": \\"AIDAJBXXXXXXXXXXXXXXXXX\\", \\n \\"Path\\": \\"/\\", \\n \\"Arn\\": \\"arn:aws:iam::03XXXXXXXXX:user/developer\\"\\n }\\n ]\\n}\\n",""]',
// object:
// {
// Users:
// [{
// UserName: 'developer',
// PasswordLastUsed: '2015-10-03T17:58:49Z',
// CreateDate: '2015-06-03T07:37:25Z',
// UserId: 'AIDAJBXXXXXXXXXXXXXXXXX',
// Path: '/',
// Arn: 'arn:aws:iam::03XXXXXXXXX:user/developer'
// }]
// }
//}
```
Typescript
```js
import { Aws, Options } from 'aws-cli-js';
const options = new Options(
/* accessKey */ 'your key',
/* secretKey */ 'your key2',
/* sessionToken */ 'your token',
/* currentWorkingDirectory */ null
);
const aws = new Aws(options);
return aws.command('iam list-users').then(function (data) {
console.log('data = ', data);
});
```
* describe-instances
```js
awsCli.command('ec2 describe-instances --instance-ids i-789b3ba7').then(function (data) {
console.log('data = ', data);
});
//data = { command: 'aws ec2 describe-instances --instance-ids i-789b3ba7 ',
// raw: '{\\n \\"Reservations\\": [\\n {\\n \\"OwnerId\\": \\"031641171132\\", \\n \\"ReservationId\\": \\"r-a48ad878\\", \\n \\"Groups\\": [], \\n \\"Instances\\": [\\n {\\n
// \\"Monitoring\\": {\\n \\"State\\": \\"disabled\\"\\n }, \\n
// \\"PublicDnsName\\": \\"ec2-52-64-166-221.ap-southeast-2.compute.amazonaws.com\\", \\n \\"State\\": {\\n
// ...
```
## License
MIT
[npm-image]: https://img.shields.io/npm/v/aws-cli-js.svg?style=flat
[npm-url]: https://npmjs.org/package/aws-cli-js
[downloads-image]: https://img.shields.io/npm/dm/aws-cli-js.svg?style=flat
[downloads-url]: https://npmjs.org/package/aws-cli-js