Skip to content

Latest commit

 

History

History
101 lines (73 loc) · 4.52 KB

README.md

File metadata and controls

101 lines (73 loc) · 4.52 KB
 _______           _______  _______           _______ 
(  ___  )|\     /|(  ____ \(  ____ \|\     /|(       )
| (   ) || )   ( || (    \/| (    \/| )   ( || () () |
| (___) || | _ | || (_____ | (_____ | |   | || || || |
|  ___  || |( )| |(_____  )(_____  )| |   | || |(_)| |
| (   ) || || || |      ) |      ) || |   | || |   | |
| )   ( || () () |/\____) |/\____) || (___) || )   ( |
|/     \|(_______)\_______)\_______)(_______)|/     \|

NodeJS module to aid talking to Web Service APIs. Requires plugins.

IRC : Come and say hello in #awssum on Freenode. :)

AwsSum v1 - Redesign

The initial version of AwsSum was a large install which carried many providers and services. Instead, AwsSum now has a plugin architecture.

To use AwsSum, you will need to install a plugin to be able to talk to that service. This package is intended only for other developers to depend on, not for end-users. :)

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.

Plugins

If you have written a plugin for AwsSum, please fork this repo and add it here:

Coming soon:

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-twitter

For 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-<provider>-<service> 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-<provider> package should peer depend on AwsSum and your awssum-<provider>-<service> package should peer depend on your awssum-<provider> package. I hope this makes sense. :)

Author

Written by Andrew Chilton - Blog - Twitter.

License

(Ends)