Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chilts/awssum
(deprecated: use aws-sdk) Node.js modules for talking to lots of Web Service APIs.
https://github.com/chilts/awssum
Last synced: 15 days ago
JSON representation
(deprecated: use aws-sdk) Node.js modules for talking to lots of Web Service APIs.
- Host: GitHub
- URL: https://github.com/chilts/awssum
- Owner: chilts
- License: other
- Archived: true
- Created: 2011-10-16T20:31:06.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2014-06-11T10:35:56.000Z (over 10 years ago)
- Last Synced: 2024-10-31T17:58:16.951Z (about 1 month ago)
- Language: JavaScript
- Homepage:
- Size: 4.02 MB
- Stars: 462
- Watchers: 13
- Forks: 57
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
NOTE: AwsSum is now deprecated. Please use [aws-sdk](https://www.npmjs.org/package/aws-sdk) instead.
```
_______ _______ _______ _______
( ___ )|\ /|( ____ \( ____ \|\ /|( )
| ( ) || ) ( || ( \/| ( \/| ) ( || () () |
| (___) || | _ | || (_____ | (_____ | | | || || || |
| ___ || |( )| |(_____ )(_____ )| | | || |(_)| |
| ( ) || || || | ) | ) || | | || | | |
| ) ( || () () |/\____) |/\____) || (___) || ) ( |
|/ \|(_______)\_______)\_______)(_______)|/ \|```
NodeJS module to aid talking to Web Service APIs.
IRC : Come and say hello in #awssum on Freenode. :)
## Usage ##
To use an AwsSum plugin, you need to install the plugin you need for the relevant service. Please follow the
documentation for that plugin.# Getting Started #
Here's an example program to list all your buckets in S3:
Example: ```s3-list-buckets.js```:
```
var amazonS3 = require('awssum-amazon-s3');var s3 = new amazonS3.S3({
'accessKeyId' : process.env.AWS_ACCESS_KEY_ID,
'secretAccessKey' : process.env.AWS_SECRET_ACCESS_KEY,
'region' : amazonS3.US_EAST_1,
});s3.ListBuckets(function(err, data) {
if (err) throw new Error(err);var buckets = data.Body.ListAllMyBucketsResult.Buckets.Bucket;
buckets.forEach(function(bucket) {
console.log('%s : %s', bucket.CreationDate, bucket.Name);
});
});
```To run this program:
```
$ npm install awssum-amazon-s3
$ export AWS_ACCESS_KEY_ID=...
$ export AWS_SECRET_ACCESS_KEY=...
$ node s3-list-buckets.js
2008-01-06T10:04:16.000Z : my-bucket-1
2008-03-09T08:27:30.000Z : another-bucket
2008-03-09T09:02:53.000Z : photos
2008-06-14T23:43:10.000Z : storage-area
```There are intro programs, examples and full docs in each plugin's repository, so please read them for specific
instructions for each plugin.## Plugins ##
Please see each plugin for more instructions.
Provider
Service
Plugin
Amazon
Identity and Access Management
awssum-amazon-iam
Amazon
AutoScaling
awssum-amazon-autoscaling
Amazon
Instance MetaData
awssum-amazon-imd
Amazon
CloudFormation
awssum-amazon-cloudformation
Amazon
Import Export
awssum-amazon-importexport
Amazon
CloudFront
awssum-amazon-cloudfront
Amazon
Relational Database Service
awssum-amazon-rds
Amazon
CloudSearch
awssum-amazon-cloudsearch
Amazon
CloudWatch
awssum-amazon-cloudwatch
Amazon
Route53
awssum-amazon-route53
Amazon
DynamoDB
awssum-amazon-dynamodb
Amazon
Simple Storage Service
awssum-amazon-s3
Amazon
Elastic Compute Cloud
awssum-amazon-ec2
Amazon
Simple Email Service
awssum-amazon-ses
Amazon
ElastiCache
awssum-amazon-elasticache
Amazon
SimpleDB
awssum-amazon-simpledb
Amazon
ElasticBeanstalk
awssum-amazon-elasticbeanstalk
Amazon
Simple Notification Service
awssum-amazon-sns
Amazon
Elastic LoadBalancer
awssum-amazon-elb
Amazon
Simple Queue Service
awssum-amazon-sqs
Amazon
Elastic MapReduce
awssum-amazon-emr
Amazon
StorageGateway
awssum-amazon-storagegateway
Amazon
Flexible Payments Service
awssum-amazon-fps
Amazon
Security Token Service
awssum-amazon-sts
Amazon
Glacier
awssum-amazon-glacier
Amazon
Simple WorkFlow
awssum-amazon-swf
Coming soon:
* [Amazon](https://github.com/awssum/awssum-amazon)
* [RedShift](https://github.com/awssum/awssum-amazon-redshift/)## package.json ##
Since each plugin ```peerDepends``` on the service plugin and ultimately ```awssum``` itself, you don't need to specify
these in your ```package.json```.Dont do this:
```
"dependencies" : {
"awssum" : "1.0.x",
"awssum-amazon" : "1.0.x",
"awssum-amazon-s3" : "1.0.x"
},
```You should do this instead (it will pull both ```awssum-amazon``` and ```awssum``` in too):
```
"dependencies" : {
"awssum-amazon-s3" : "1.0.x"
},
```## Writing a Plugin ##
The first thing to realise when writing a plugin is that each service is provided by a provider. In the case of Amazon
S3, Amazon is the provider and S3 is the service. For Twitter, since they only provide one service, then the provider
would be named 'twitter' and you'd probably use the same name for the service.In general then, you'd write two plugins with the following names:
* awssum-<provider> - e.g. awssum-amazon, awssum-twitter
* awssum-<provider>-<service> - e.g. awssum-amazon-s3, awssum-twitter-twitterFor other examples, you might write ```awssum-openstack```, ```awssum-openstack-nova``` and ```awssum-openstack-keystone```.
Once the provider plugin exists, new services for that provider just need the ```awssum--``` to be
written. e.g. ```awssum-openstack-swift```.### peerDependencies ###
Please also note to use ```peerDependencies``` in your ```package.json``` and depend on the correct version of
AwsSum. Your ```awssum-``` package should peer depend on AwsSum and your ```awssum--```
package should peer depend on your ```awssum-``` package. I hope this makes sense. :)# Author #
Written by [Andrew Chilton](http://chilts.org/) - [Blog](http://chilts.org/blog/) -
[Twitter](https://twitter.com/andychilton).# License #
* [Copyright 2011-2013 Apps Attic Ltd. All rights reserved.](http://appsattic.mit-license.org/2011/)
* [Copyright 2013 Andrew Chilton. All rights reserved.](http://chilts.mit-license.org/2013/)(Ends)