/aws2js

AWS (Amazon Web Services) APIs client implementation for node.js

Primary LanguageJavaScript

About

Amazon Web Services node.js module. Originally a fork of aws-lib.

Installation

Either manually clone this repository into your node_modules directory, then run npm install on the aws2js top directory, or the recommended method:

npm install aws2js

npm is a direct dependency of this library. It is used programmatically to install the dependencies for XML and MIME parsing.

By default, the module installs as dependencies the libxml-to-js and the mime-magic libraries. Under Windows, it installs by default with xml2js and mime-magic.

Basically, under Windows the default installation is the equivalent of:

npm install aws2js --xml2js true

If you want to install the library without binary dependencies, you can issue this npm command:

npm install aws2js --xml2js true --mime true

This installs the library with xml2js and mime as dependencies. Please notice that the mime library detects the MIME type by doing a file extension lookup, while mime-magic does it the proper way by wrapping the functionality of libmagic. You have been warned.

The '--xml2js true' and '--mime true' are boolean flags, therefore you may use them in any combination, if applicable.

In order to use these flags when this package is referenced from a package.json file, the recommendations are:

  • edit the ~/.npmrc file, add these values xml2js = true and / or mime = true
  • define the appropriate environment variables: npm_config_xml2js=true and / or npm_config_mime=true

The above methods are equivalent. You need to pick just one.

Project and Design goals

  • HTTPS-only APIs communication (exceptions allowed for HTTP-only APIs)
  • Proper error reporting
  • Simple to write clients for a specific AWS service (abstracts most of the low level plumbing)
  • Simple to use AWS API calls
  • Higher level clients for specific work flows
  • Proper documentation

Supported Amazon Web Services

Contributions

For the moment, this project is largely a one man show. Bear with me if things don't move as fast as they should. There are a handful of aws2js contributors as well. The community makes things to be better for everyone.

If you'd like to contribute your line of code (or more), please send a pull request against the future branch. This makes things to be easier on my side. Feature branches are also acceptable. Even commits in your master branch are acceptable. I don't rely on GitHub's merge functionality as I always pull from remotes and manually issue the merge command.

I ask you to patch against the future branch since that's the place where all the development happens, therefore it should be the least conflicts when merging your code. I use the master only for integrating the releases. The master branch always contains the latest stable release.