Awaze

A clojure library for Amazon AWS using the AWS Java SDK
Alternatives To Awaze
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Awesome Aws11,283
21 days ago1December 21, 201563otherPython
A curated list of awesome Amazon Web Services (AWS) libraries, open source repos, guides, blogs, and other resources. Featuring the Fiery Meter of AWSome.
Aws Sdk Go8,2405,1008,5122 days ago1,641September 23, 202259apache-2.0Go
AWS SDK for the Go programming language.
Boto37,98711,5454,68016 hours ago1,140July 06, 2022153apache-2.0Python
AWS SDK for Python
Aws Sdk Js7,34135,30613,7022 days ago1,470September 23, 2022170apache-2.0JavaScript
AWS SDK for JavaScript in the browser and Node.js
Aws Doc Sdk Examples7,316
2 days ago99April 23, 2021236apache-2.0Java
Welcome to the AWS Code Examples Repository. This repo contains code examples used in the AWS documentation, AWS SDK Developer Guides, and more. For more information, see the Readme.md file below.
Aws Sdk Php5,7966,7351,4702 days ago1,544September 23, 202243apache-2.0PHP
Official repository of the AWS SDK for PHP (@awsforphp)
Aws Sdk Java3,9212622a day ago933May 04, 2022133apache-2.0
The official AWS SDK for Java.
Aws Sdk Ruby3,43620,4621,4762 days ago1,207September 01, 202120apache-2.0Ruby
The official AWS SDK for Ruby.
Rusoto2,5951644043 months ago26April 25, 2022255mitRust
AWS SDK for Rust
Aws Sdk Js V32,25242716 hours ago156September 27, 2022328apache-2.0TypeScript
Modularized AWS SDK for JavaScript.
Alternatives To Awaze
Select To Compare


Alternative Project Comparisons
Readme

Awaze

Build Status

A clojure client library for AWS services, using the AWS Java SDK, version 1.10.65. See the SDK Release Notes.

The library is implemented using reflection to generate code, and therefore avoids reflection at compile time or runtime when using the library.

Each AWS service is provided in a namespace under com.palletops.awaze., eg. com.palletops.awaze.ec2 for EC2.

For each SDK function, two clojure functions are implemented.

The first is a direct wrapper that calls the sdk function directly. This take an initial credentials argument, that expects a data map with :access-key, :secret-key and optionally :endpoint keys.

(require '[com.palletops.awaze.ec2 :as ec2 :refer [ec2]])
(ec2/describe-instances
  {:access-key "AKIRIEDKE5ZBZG5VVCA"
   :secret-key "76dDdsKDJdsKDH+Uyuiy678Khjhkh8797vbnvnv"})

The second generated function, with a -map suffix, has the same arguments and generates a data map that can be executed via a client executor function.

(require '[com.palletops.awaze.ec2 :as ec2 :refer [ec2]])
(let [m (ec2/describe-instances-map
         {:access-key "AKIRIEDKE5ZBZG5VVCA"
          :secret-key "76dDdsKDJdsKDH+Uyuiy678Khjhkh8797vbnvnv"})]
  (ec2/ec2 m))

Originally based on amazonica.

Install

Add the following to your dependencies:

[com.palletops/awaze "0.1.4"]

Usage

Each Amazon service client is in it's own namespace, in com.palletops.awaze.*.

Each method of the client generates two clojure functions, one which executes the client method directly, and one, with a -map suffix, that generates a map. The map can be passed to a multimethod, with the same name as the service, which actually runs the client method.

API docs.

Annotated source.

Known issues

Setters with overloaded type arguments are not handled properly, and still cause reflection.

License

Copyright © 2013 Hugo Duncan.

Distributed under the Eclipse Public License.

Any code from Amazonica is:

Copyright (C) 2013 Michael Cohen

Popular Sdk Projects
Popular Amazon Web Services Projects
Popular Libraries Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Aws
Sdk
Clojure
Amazon
Reflection
Clojure Library