{"_id":"awsm","_rev":"54-e99ace47884854d527f9bcb433faa51c","name":"awsm","description":"node-awsm =========","dist-tags":{"latest":"0.0.44"},"versions":{"0.0.0":{"name":"awsm","version":"0.0.0","description":"node-awsm =========","main":"./lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"dependencies":{"protoclass":"0.0.x","bindable":"0.5.x","toarray":"0.0.x","outcome":"0.0.x","sift":"0.0.x","comerr":"0.0.x","colors":"0.6.x","aws-sdk":"2.0.x","hurryup":"0.0.x","brasslet":"0.0.x"},"devDependencies":{"expect.js":"~0.2.0","mocha":"~1.17.1"},"_id":"awsm@0.0.0","dist":{"shasum":"871eec04901a76346e836887318a0f8e3a0ae4a3","tarball":"https://registry.npmjs.org/awsm/-/awsm-0.0.0.tgz","integrity":"sha512-q0cz77Cbo9p5tVzYOfQdTUN7jNkbL8dxRY5/Au7EVhF3egr2eebklAxBg+rlFtfqqFL6veDP1HDiXak8lN9jkQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFQfz+e4jDs1IbaC+5JhqE2bk9hsaDJL3VmJ0wBN/GAgAiEA3cVxUoZ7FU3KJtYcW0NJwRDZ6TQGTf45iUUJHuC0ZeA="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"}]},"0.0.3":{"name":"awsm","version":"0.0.3","description":"node-awsm =========","main":"./lib/index.js","scripts":{"test":"make test-node"},"repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"dependencies":{"protoclass":"0.0.x","bindable":"0.5.x","toarray":"0.0.x","outcome":"0.0.x","sift":"0.0.12","comerr":"0.0.x","colors":"~0.6.2","aws-sdk":"2.0.x","hurryup":"0.0.x","brasslet":"0.0.x","async":"~0.2.10","underscore":"~1.5.2","memoizee":"~0.2.6"},"devDependencies":{"expect.js":"~0.2.0","mocha":"~1.17.1","istanbul":"~0.2.4"},"_id":"awsm@0.0.3","dist":{"shasum":"f0e53a081a88434bd50a3f36ae4143d423992ca8","tarball":"https://registry.npmjs.org/awsm/-/awsm-0.0.3.tgz","integrity":"sha512-Qc6fPwfhVj2N5w7JMjY0uGkSh312N0cmQZpRxWcdiXtMfJ/MeMKZFzj5P8WJueI8jJe2cjxCLjNNaib2r3W3gQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICmhCy6/U1PSsw136XhbYBdRw8wPWjItch2mv+8FSSgFAiAftTw6IZH5Kfhv2bxehuJbm/GbcDpF4388yI9XOl/XuA=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"}]},"0.0.4":{"name":"awsm","version":"0.0.4","description":"node-awsm =========","main":"./lib/index.js","scripts":{"test":"make test-node"},"repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"dependencies":{"protoclass":"0.0.x","bindable":"0.5.x","toarray":"0.0.x","outcome":"0.0.x","sift":"0.0.12","comerr":"0.0.x","colors":"~0.6.2","aws-sdk":"2.0.x","hurryup":"0.0.x","brasslet":"0.0.x","async":"~0.2.10","underscore":"~1.5.2","memoizee":"~0.2.6","traverse":"~0.6.6"},"devDependencies":{"expect.js":"~0.2.0","mocha":"~1.17.1","istanbul":"~0.2.4"},"_id":"awsm@0.0.4","dist":{"shasum":"182cffd78aebd6e10d5d81c37f3afd685fcbff6a","tarball":"https://registry.npmjs.org/awsm/-/awsm-0.0.4.tgz","integrity":"sha512-a6n/lcwNUzBqkZylnK6V1JxmL36SwmyzewgtCEtr83nzgD/qeyPqpqsU5s4JPpKxQTXaha/uoFA/hFARH7Jwog==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3YS+ELvAVyerKMoGr0sqUcQS3N5go0H78Y+6e/Caf/QIgTeXFMPsVd1PJ0ahS7k638C5tYzb+4jLWMyuukARlmvU="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"}]},"0.0.5":{"name":"awsm","version":"0.0.5","description":"node-awsm =========","main":"./lib/index.js","scripts":{"test":"make test-node"},"repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"dependencies":{"protoclass":"0.0.x","bindable":"0.5.x","toarray":"0.0.x","outcome":"0.0.x","sift":"0.0.12","comerr":"0.0.x","colors":"~0.6.2","aws-sdk":"2.0.x","hurryup":"0.0.x","brasslet":"0.0.x","async":"~0.2.10","underscore":"~1.5.2","memoizee":"~0.2.6","traverse":"~0.6.6"},"devDependencies":{"expect.js":"~0.2.0","mocha":"~1.17.1","istanbul":"~0.2.4"},"_id":"awsm@0.0.5","dist":{"shasum":"04e36bab6cfa8ba4685b12536ed983b1b8aa01e4","tarball":"https://registry.npmjs.org/awsm/-/awsm-0.0.5.tgz","integrity":"sha512-0OHCxfrRcR9zFPnEwvbvxVVQD+y2iuvI8Lo4/EaUouy+GcztGoSXwJh7ew4TEu8y3RZCStxoxGIdHoS3EkHV/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmcT8oK6OJgasrSfKYNQ+N9THO5c/BOE9U+Dp14l9iXAIgXl4+6xuPDn5GPntumlUJsn62qcLDaAgi5qbT+UMStYI="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"}]},"0.0.6":{"name":"awsm","version":"0.0.6","description":"node-awsm =========","main":"./lib/index.js","scripts":{"test":"make test-node"},"repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"dependencies":{"protoclass":"0.0.x","bindable":"0.5.x","toarray":"0.0.x","outcome":"0.0.x","sift":"0.0.12","comerr":"0.0.x","colors":"~0.6.2","aws-sdk":"2.0.x","hurryup":"0.0.x","brasslet":"0.0.x","async":"~0.2.10","underscore":"~1.5.2","memoizee":"~0.2.6","traverse":"~0.6.6"},"devDependencies":{"expect.js":"~0.2.0","mocha":"~1.17.1","istanbul":"~0.2.4"},"_id":"awsm@0.0.6","dist":{"shasum":"f2b141e4b38a42bfb728a12ab5ae21c807334604","tarball":"https://registry.npmjs.org/awsm/-/awsm-0.0.6.tgz","integrity":"sha512-liTdDzoOb4uhV7C9u4/xcXs9FL8XzIvuee/AdlyHxFBTirotipx63TEIL0XQfUAbFBJ1svpIVv+2QWz/9/XKEg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGBP31Cq9AV76AnXI4b/mjuLNPxatPaR9x3lwCagVrPnAiAccnJgvsdMPyBRtecsaL7mghS9PYgi35q9CNqmGZmtzQ=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"}]},"0.0.7":{"name":"awsm","version":"0.0.7","description":"node-awsm =========","main":"./lib/index.js","scripts":{"test":"make test-node"},"repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"dependencies":{"protoclass":"0.0.x","bindable":"0.5.x","toarray":"0.0.x","outcome":"0.0.x","sift":"0.0.12","comerr":"0.0.x","colors":"~0.6.2","aws-sdk":"2.0.x","hurryup":"0.0.x","brasslet":"0.0.x","async":"~0.2.10","underscore":"~1.5.2","memoizee":"~0.2.6","traverse":"~0.6.6"},"devDependencies":{"expect.js":"~0.2.0","mocha":"~1.17.1","istanbul":"~0.2.4"},"_id":"awsm@0.0.7","dist":{"shasum":"878251b8ae5c1734c7f9b789c30251edbc5042fa","tarball":"https://registry.npmjs.org/awsm/-/awsm-0.0.7.tgz","integrity":"sha512-sGMKRrtKrK5ff6BhwD+hZcJGPTFGqgH3Lzs8q8Dipvcv0rZhab9sap4vg4yAWaXrAGLMQ1tfa3KxnWWrGlMDcw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEDhnBOn32owk8eHv/8vKD4BEFv4V4TeNb/QN+w+QT13AiEA1R/eMyKB68BEIyldinWaLen0KPhD+ivNVMSRwoChMoU="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"}]},"0.0.8":{"name":"awsm","version":"0.0.8","description":"node-awsm =========","main":"./lib/index.js","scripts":{"test":"make test-node"},"repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"dependencies":{"protoclass":"0.0.x","bindable":"0.5.x","toarray":"0.0.x","outcome":"0.0.x","sift":"0.0.12","comerr":"0.0.x","colors":"~0.6.2","aws-sdk":"2.0.x","hurryup":"0.0.x","brasslet":"0.0.x","async":"~0.2.10","underscore":"~1.5.2","memoizee":"~0.2.6","traverse":"~0.6.6"},"devDependencies":{"expect.js":"~0.2.0","mocha":"~1.17.1","istanbul":"~0.2.4"},"_id":"awsm@0.0.8","dist":{"shasum":"61526cc83a820857383712e87bc6df8de6d9c3b3","tarball":"https://registry.npmjs.org/awsm/-/awsm-0.0.8.tgz","integrity":"sha512-CYVCJTFqSwnmwS/uf+JTqqHBHKDYB4BhDjaZQFQ2PtouE6uPDxuw42RlWy/NgFdTFJrFXrka89PYnOnBytdvTw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcgZrHVqmmHPiTaGDY+bUMK4EvMgXalzD48puziJRktwIgFr/ezyd30RonAzUm4VmoK7l4gjk++KgaT81a2wwJfGc="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"}]},"0.0.9":{"name":"awsm","version":"0.0.9","description":"node-awsm =========","main":"./lib/index.js","scripts":{"test":"make test-node"},"repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"dependencies":{"protoclass":"0.0.x","bindable":"0.5.x","toarray":"0.0.x","outcome":"0.0.x","sift":"0.0.12","comerr":"0.0.x","colors":"~0.6.2","aws-sdk":"2.0.x","hurryup":"0.0.x","brasslet":"0.0.x","async":"~0.2.10","underscore":"~1.5.2","memoizee":"~0.2.6","traverse":"~0.6.6"},"devDependencies":{"expect.js":"~0.2.0","mocha":"~1.17.1","istanbul":"~0.2.4"},"_id":"awsm@0.0.9","dist":{"shasum":"b08b4acee0dcedee5e4ba142795fab1535ee4245","tarball":"https://registry.npmjs.org/awsm/-/awsm-0.0.9.tgz","integrity":"sha512-mQsok0GjpUB/hjFRIpCYTTEaHU/jmX1RLNx2A+zaRggk7uqTpDwurde5FCNANmUBDEHeMgQW94PNQQFLzn8YuA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmWPR0A+1YET1LadDtOh8WnLWGX6h+JZMlq6O0DU7YnQIhAJ4gjJ2ly+Lpf4pIXdD6RZjuJ9qQQy/fW+xbT72ka2xr"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"}]},"0.0.10":{"name":"awsm","version":"0.0.10","description":"node-awsm =========","main":"./lib/index.js","scripts":{"test":"make test-node"},"repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"dependencies":{"protoclass":"0.0.x","bindable":"0.5.x","toarray":"0.0.x","outcome":"0.0.x","sift":"0.0.12","comerr":"0.0.x","colors":"~0.6.2","aws-sdk":"2.0.x","hurryup":"0.0.x","brasslet":"0.0.x","async":"~0.2.10","underscore":"~1.5.2","memoizee":"~0.2.6","traverse":"~0.6.6"},"devDependencies":{"expect.js":"~0.2.0","mocha":"~1.17.1","istanbul":"~0.2.4"},"_id":"awsm@0.0.10","dist":{"shasum":"77573d2993c4f8bd9d2397d794cdaa2a3cfc454d","tarball":"https://registry.npmjs.org/awsm/-/awsm-0.0.10.tgz","integrity":"sha512-G/sTszUAxGoDPb3MMC2rYqXnTej9QouaVqhpBmttVDkN27nxzWI/SWx/z8MoGMXxNsKvvfwqB+jklAlvMkcQmA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzNNLikWlTFJqVBrim9lNWyZd7N2t+W1rY65K/A2ojSwIgBsbXb0kRX2pVYwIvTmWfz5EqwWJDnmZzZg5gEDPFyog="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"}]},"0.0.134":{"name":"awsm","version":"0.0.134","description":"node-awsm =========","main":"./lib/index.js","scripts":{"test":"make test-node"},"repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"dependencies":{"protoclass":"0.0.x","bindable":"0.5.x","toarray":"0.0.x","outcome":"0.0.x","sift":"0.0.12","comerr":"0.0.x","colors":"~0.6.2","aws-sdk":"2.0.x","hurryup":"0.0.x","brasslet":"0.0.x","async":"~0.2.10","underscore":"~1.5.2","memoizee":"~0.2.6","traverse":"~0.6.6"},"devDependencies":{"expect.js":"~0.2.0","mocha":"~1.17.1","istanbul":"~0.2.4"},"_id":"awsm@0.0.134","dist":{"shasum":"16bb4390194e43f80a864f12a1bcb69b8cf69a93","tarball":"https://registry.npmjs.org/awsm/-/awsm-0.0.134.tgz","integrity":"sha512-BIBq/1B7vWb4phcUM9xdTs6FXvZfR5B4grDyIX4D+9kA97bbH5dqDYxluxEvnTvO4/bd6KCFRDAm+fNtCmF2Ug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNk5RiMxX15HnDXPrKKyNZOV509xSxxM1rwG4gEwNSdgIhAKfgHxGvs89P4DHZeT6v7+bspuSJT1K1ZxLG/6PagR/W"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"}]},"0.0.40":{"name":"awsm","version":"0.0.40","description":"node-awsm =========","main":"./lib/index.js","scripts":{"test":"make test-node"},"repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"dependencies":{"protoclass":"0.0.x","bindable":"0.5.x","toarray":"0.0.x","outcome":"0.0.x","sift":"0.0.12","comerr":"0.0.x","colors":"~0.6.2","aws-sdk":"2.0.x","hurryup":"0.0.x","brasslet":"0.0.x","async":"~0.2.10","underscore":"~1.5.2","memoizee":"~0.2.6","traverse":"~0.6.6","dsync":"0.0.2","burrito":"~0.2.12"},"devDependencies":{"expect.js":"~0.2.0","mocha":"~1.17.1","istanbul":"~0.2.4"},"_id":"awsm@0.0.40","dist":{"shasum":"fd267203d1271913404b8123948780c1e1b758b3","tarball":"https://registry.npmjs.org/awsm/-/awsm-0.0.40.tgz","integrity":"sha512-gS91AGe8v95DjT/IYmXTMYgi5BIMkvRqnPCvMZN4h79kM09SbX5JQPuIQw/hrArFL4WLESgigpoGy0PNmCPErg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1SFErwvnK9BKqQwmtzE27n06TCeo6VFxaFDRjRXp0DwIhAKZJJLypJcYyEIGVa4CuYM/rlpTyDBW25G26mxf59Xlk"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"}]},"0.0.41":{"name":"awsm","version":"0.0.41","description":"node-awsm =========","main":"./lib/index.js","scripts":{"test":"make test-node"},"repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"dependencies":{"protoclass":"0.0.x","bindable":"0.5.x","toarray":"0.0.x","outcome":"0.0.x","sift":"0.0.12","comerr":"0.0.x","colors":"~0.6.2","aws-sdk":"2.0.x","hurryup":"0.0.x","brasslet":"0.0.x","async":"~0.2.10","underscore":"~1.5.2","memoizee":"~0.2.6","traverse":"~0.6.6","dsync":"0.0.2","burrito":"~0.2.12","flatten":"0.0.1"},"devDependencies":{"expect.js":"~0.2.0","mocha":"~1.17.1","istanbul":"~0.2.4"},"_id":"awsm@0.0.41","dist":{"shasum":"e56fbffd9740680af2817d685eab4def74997832","tarball":"https://registry.npmjs.org/awsm/-/awsm-0.0.41.tgz","integrity":"sha512-04Z/EqxwV98t2JaSq5/UIFi74P6ik+lgXzk2FNAauMEfc8wMaD2T3iefKGEp6gfSTKjaafX4a5Nv3j9uqNlrog==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRQHdDjqtlNczES6O12S2aFT89WttKqlDk8cgfg8gCBgIhAPzTq4SmmRQ4lQw00Ge8E+Q8FyhpeKev5veWKExjeiTI"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"}]},"0.0.42":{"name":"awsm","version":"0.0.42","description":"node-awsm =========","main":"./lib/index.js","scripts":{"test":"make test-node"},"repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"dependencies":{"protoclass":"0.0.x","bindable":"0.5.x","toarray":"0.0.x","outcome":"0.0.x","sift":"0.0.12","comerr":"0.0.x","colors":"~0.6.2","aws-sdk":"2.0.x","hurryup":"0.0.x","brasslet":"0.0.x","async":"~0.2.10","underscore":"~1.5.2","memoizee":"~0.2.6","traverse":"~0.6.6","dsync":"0.0.2","burrito":"~0.2.12","flatten":"0.0.1"},"devDependencies":{"expect.js":"~0.2.0","mocha":"~1.17.1","istanbul":"~0.2.4"},"_id":"awsm@0.0.42","dist":{"shasum":"23e640b4c021a624fd2318723009724981a25b18","tarball":"https://registry.npmjs.org/awsm/-/awsm-0.0.42.tgz","integrity":"sha512-BCoz4OlnClTv3PDmcibKBrD359Q8qIfHVpT6W3iuStsJ6D/YoDGEdEp/xVgSha4W9oqkPRz2pwqRNZ0eXzr6bQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJLuoS4eRb4j04dqUYICLbDidPU9/ii1EoJNdi47+3oAIhAMGPg3s7WUfps81KqpuJhfZsssmWUCwIUDXUfIKqzq/J"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"}]},"0.0.43":{"name":"awsm","version":"0.0.43","description":"node-awsm =========","main":"./lib/index.js","scripts":{"test":"make test-node"},"repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"dependencies":{"protoclass":"0.0.x","bindable":"0.5.x","toarray":"0.0.x","outcome":"0.0.x","sift":"0.0.12","comerr":"0.0.x","colors":"~0.6.2","aws-sdk":"2.0.0-rc9","hurryup":"0.0.x","brasslet":"0.0.x","async":"~0.2.10","underscore":"~1.5.2","memoizee":"~0.2.6","traverse":"~0.6.6","dsync":"0.0.2","burrito":"~0.2.12","flatten":"0.0.1"},"devDependencies":{"expect.js":"~0.2.0","mocha":"~1.17.1","istanbul":"~0.2.4"},"_id":"awsm@0.0.43","dist":{"shasum":"85704692108df34579f432406074635dfe83c895","tarball":"https://registry.npmjs.org/awsm/-/awsm-0.0.43.tgz","integrity":"sha512-LEOJTjjVaYmPYaq0kue2mgei6GG9FCDpXuvaDq0UesZ1xglWARzLWRwpi786KoodY7ERtrYmcP8d3ZgwiWuIow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCN3+vb/78wx5mq2jqLdGudCpgT4ceWAWaVCKpGrvHFAQIgdjgVJnJAAwq1Yw0Skdooz3EpU0ETrOoafOO6eWcM4Jk="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"}]},"0.0.44":{"name":"awsm","version":"0.0.44","description":"node-awsm =========","main":"./lib/index.js","scripts":{"test":"make test-node"},"repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"dependencies":{"protoclass":"0.0.x","bindable":"0.5.x","toarray":"0.0.x","outcome":"0.0.x","sift":"0.0.12","comerr":"0.0.x","colors":"~0.6.2","aws-sdk":"2.0.0-rc9","hurryup":"0.0.x","brasslet":"0.0.x","async":"~0.2.10","underscore":"~1.5.2","memoizee":"~0.2.6","traverse":"~0.6.6","dsync":"0.0.2","burrito":"~0.2.12","flatten":"0.0.1"},"devDependencies":{"expect.js":"~0.2.0","mocha":"~1.17.1","istanbul":"~0.2.4"},"_id":"awsm@0.0.44","dist":{"shasum":"ea5f35e92382090cb26d50a1128cf545b542cdf2","tarball":"https://registry.npmjs.org/awsm/-/awsm-0.0.44.tgz","integrity":"sha512-f5oCpouNfJuuaRqMoSy1pZbtbcPNu4BIpNFLIP0fE9/lV13NRU0KPXC7aDvffsX0awXsIy8aB+nUcXuA3Ojdwg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRD8E9Vf0H3H9s7o/XLglfCo4tFsukAj18Q1S54q85eQIgB1fPKhYtGUzh9/PdL7SlxgZ/41Ioxwv7iF8HxQKgIJQ="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"}]}},"readme":"### Awsm gives you a mongodb-like interface for controlling AWS. \n\nHere's how:\n\n```javascript\nvar aws = require(\"awsm\")(require(\"./awsConfig\")).chain();\n\n// let's go ahead and provision a few ubuntu instances around the globe.\naws.regions().all().createInstance({ type: \"m3.medium\", imageId: \"ami-a73264ce\" }).start().then(function (err, instances) {\n  console.log(instances);\n});\n\n```\n\nHow about migrating a pre-existing image? Easy:\n\n```javascript\naws.regions().all(function (err, regions) {\n  aws.images().find({ \"tags.type\": \"my-awesome-application\" }).migrate(regions).then(function (err, images) {\n  \n    // should be roughly ~ 7 images that have been migrated to every\n    // AWS region. \n    console.log(images);\n  });\n});\n```\n\nAwsm is also extendable. Want to add SSH? No problem:\n\n```javascript\nvar aws = require(\"awsm\")(require(\"./awsConfig\"));\naws.use(require(\"awsm-ssh\");\nvar awsc = aws.chain();\n\nawsc.\n  instances().\n  \n  // find all servers in the staging environment\n  find({ \"tags.env\": \"staging\", \"tags.type\": \"my-mega-awesome-application\" }).\n  \n  // let's copy some local files to all mega awesome applications.\n  rsync(\"~/Developer/applications/my-mega-awesome-application\", \"/remote/app/directory\").\n  \n  parallel().\n  \n  // let's start this sucker.\n  exec(\"node /remote/app/directory\").\n  \n  // after the process closes - this will never happen since exec (above) won't close. Have\n  // you taken a look at node-awsm-cli? \n  then(function (err, instances) {\n    // donezo.\n  });\n```\n\nWant a command line interface? This is not the repository you're looking for. Checkout [awsm-cli](/crcn/node-awsm-cli).\n\n\n## Plugins\n\n- [awsm-keypair-save](/crcn/node-awsm-keypair-save) - allows you to save keypairs locally immediately after creating them.\n- [awsm-ssh](/crcn/node-awsm-ssh) - super nice utility that allows you to ssh, execute scripts, and rsync files on your EC2 instances. \n\n\n\n## Node API\n\n#### awsm awsm(config)\n\nInitializes the awsm library. \n\n- `key` - aws key\n- `secret` - aws secret\n- `ec2` - the ec2 config\n  - `regions` (array) - regions to use ([\"us-east-1\", \"us-west-1\", ...])\n- `log` - log config\n  - `level` - the log level to use - `notice`, `verbose`, `warn`, `error`\n\n\n## Resource Collections\n\nResource collections share a common API, and are used for every object type which includes `regions`, `instances`, `images`, `securityGroups`, and `keyPairs`. \n\n#### collection.find(query, callback)\n\nFinds many resources in the target collection.\n\n```javascript\n\n// find all U.S. regions\nawsm.ec2.regions.find({ name: /^us/ }, onUsRegions);\n\n// find all running instances in a given region\nregion.instances.find({ state: \"running\" }, onAllRunningInstances);\n```\n\n#### collection.findOne(query, callback)\n\nFinds one resource against a target collection.\n\n```javascript\n\n// find an image with the given name\nregion.images.findOne({ name: \"some-image-name\" }, onImage);\n```\n\n#### Available Collections\n\nBelow are a list of available collections to search against\n\n- `awsm.ec2.instances` - `all` instances across `all` regions.\n- `awsm.ec2.images` - `all` images across `all regions`.\n- `awsm.ec2.regions` - `all` regions.\n- `region.instances` - instances specific to the region.\n- `region.images` - images specific to the region.\n\n\n## EC2 Regions\n\nAwsm allows you to interface against multiple EC2 regions pretty easily - all you need to do is pass which regions you want to use in the main config.\n\n```javascript\nvar aws = awsm({\n  key: \"KEY\",\n  secret: \"SECRET\"\n  ec2: {\n    regions: [\"us-east-1\", \"us-west-2\"]\n  }\n})\n```\n\nNote that the `regions` property is completely optional - awsm will automatically default to `all` EC2 regions if the property is omitted. \n\nHere are a few examples of how you might interact with awsm regions:\n\n```javascript\n\n// init awsm\nvar awsm = awsm({ key: \"key\", secret: \"secret\" });\n\n// get all regions\nawsm.ec2.regions.all(onAllRegions);\n\n// find all U.S. regions\nawsm.ec2.regions.find({ name: /^us/ }, onAllUSRegions);\n\n// find ALL instances in ALL regions\nawsm.ec2.instances.all(onAllInstancesFromAllRegions);\n\n// find ALL RUNNING instances in ALL regions\nawsm.ec2.instances.find({ state: \"running\" }, onAllRunningInstances);\n```\n\n## EC2 Tags\n\nAllows you to tag specific instances, images, security groups, or key pairs.\n\n### resource.tags.update(tags, next)\n\nUpdates the tags on the specific resource\n\n```javascript\ninstance.tags.update({ type: \"mongodb\" }, function () {\n  console.log(instance.get(\"tags\")); // { type: mongodb }\n})\n```\n\n## EC2 Instances\n\n#### region.instances.create(options, callback)\n\nCreates a new instance in the target region.\n\n- `imageId` - (required) imageId to use\n- `count` - (default = 1) number of instances to create\n- `flavor` - (default = t1.micro) type of instance to use (t1.micro, m1.medium)\n- `securityGroup` - (optional) the security group object to use with the instance\n- `keyPair` - (optional) the key pair object to use with the instance\n\n```javascript\nregion.instances.create({ imageId: \"ami-a73264ce\" }, function (err, instance) {\n  console.log(instance.get(\"state\")); // running\n  console.log(instance.get(\"_id\")); // instance id\n})\n```\n\n#### instance.start(callback)\n\nstarts the instance\n\n#### instance.restart(callback)\n\nrestarts the instance\n\n#### instance.stop(callback)\n\nstops the instance\n\n#### instance.createImage(options, callback)\n\ncreates an image out of the instance\n\n#### instance.getVolumes(callback)\n\nreturns all the volumes attached to the instance\n\n#### instance.getSecurityGroups(callback)\n\nreturns all the securityGroups attached to the instance\n\n#### instance.getAddress(callback)\n\nreturns the allocated address assigned to the specific instance\n\n#### instance.getImage(callback)\n\nreturns the image used to create the instance\n\n#### instance.getKeyPair(callback)\n\nreturns the keypair assigned to the instance\n\n#### tags instance.tags\n\ninstance tags collection\n\n#### instance.destroy(callback)\n\ndestroys the instance\n\n## EC2 Images \n\n#### region.images.create(options, callback)\n\ncreates a new image\n\n#### image.createInstance(options, next)\n\ncreates a new instance from the image\n\n#### image.migrate(regions, next)\n\nmigrates the image to another region\n\n#### image.destroy(callback)\n\ndestroys the image\n\n## EC2 Addresses\n\n#### region.addresses.create(options, callback)\n\nallocates a new address\n\n#### address.attach(instance, callback)\n\nassociates an address with an instance\n\n#### address.detach(instance, callback)\n\ndetaches from an instance\n\n#### address.getInstance(callback)\n\nreturns the instance associated with the address\n\n#### tags address.tags\n\naddress tags collection\n\n#### address.destroy(callback)\n\nreleases the address\n\n## EC2 Volumes\n\n#### region.volumes.create(options, callback)\n\ncreates a new volume\n\n#### volume.attach(instance, callback)\n\nattaches to an instance\n\n#### volume.detach(callback)\n\ndetaches from an instance\n\n#### volume.getInstances(instance, callback)\n\nreturns all the instances this volume is attached to\n\n#### volume.createSnapshot([description, ]callback)\n\ncreates a new snapshot of the volume\n\n#### volume.destroy(callback)\n\ndestroys the volume\n\n## EC2 Snapshots\n\n#### region.snapshots.create(options, callback)\n\ncreates a snapshot\n\n#### snapshot.createVolume(options, callback)\n\ncreates a volume out of the snapshot\n\n#### snapshot.getVolume(callback)\n\nreturns the snapshot associated with the given volume\n\n#### snapshot.destroy(callback)\n\ndestroys the snapshot\n\n## EC2 Key Pairs\n\n#### region.keyPairs.create(options, callback)\n\ncreates a new keypair\n\n#### keyPair.destroy(callback)\n\ndestroys the keypair\n\n## EC2 Security Groups\n\n#### region.securityGroups.create(options, callback)\n\ncreates a security group\n\n#### securityGroup.authorize(port, callback)\n\nauthorizes a port in the security group\n\n#### securityGroup.revoke(port, callback)\n\nrevokes port \n\n#### securityGroup.destroy(callback)\n\ndestroys the security group.\n\n## Chaining\n\nTODO - Checkout the examples at the top.\n\n\n\n\n\n","maintainers":[{"name":"crcn","email":"craig.j.condon@gmail.com"}],"time":{"modified":"2022-06-13T03:55:54.469Z","created":"2014-02-07T21:31:05.070Z","0.0.0":"2014-02-07T21:31:06.103Z","0.0.3":"2014-02-11T21:20:29.374Z","0.0.4":"2014-02-11T23:24:56.407Z","0.0.5":"2014-02-12T00:05:20.244Z","0.0.6":"2014-02-12T02:11:50.143Z","0.0.7":"2014-02-12T02:44:56.506Z","0.0.8":"2014-02-12T02:50:55.323Z","0.0.9":"2014-02-12T03:29:20.377Z","0.0.10":"2014-02-12T18:50:22.576Z","0.0.134":"2014-02-14T00:23:49.011Z","0.0.40":"2014-02-16T06:20:34.517Z","0.0.41":"2014-02-19T02:57:11.263Z","0.0.42":"2014-02-24T22:42:34.770Z","0.0.43":"2014-03-10T05:24:27.799Z","0.0.44":"2014-03-10T06:16:15.225Z"},"readmeFilename":"README.md","repository":{"type":"git","url":"git://github.com/crcn/node-awsm.git"},"bugs":{"url":"https://github.com/crcn/node-awsm/issues"},"license":"MIT","users":{"mlrawlings":true}}