Skip to content

Latest commit

 

History

History
191 lines (154 loc) · 9.67 KB

README.md

File metadata and controls

191 lines (154 loc) · 9.67 KB

AWS SDK Grails Plugin

Coverage Status Build Status

Introduction

The AWS SDK Plugin allows your Grails application to use the Amazon Web Services infrastructure services.

The aim is to provide a lightweight amazonWebService Grails service wrapper around the official AWS SDK for Java.

The AWS SDK for Java provides a Java API for AWS infrastructure services, making it even easier for developers to build applications that tap into the cost-effective, scalable, and reliable AWS cloud.

The Grails plugin handles :

  • convenient Grails configuration/management of all AWS API clients for each AWS region,
  • easy access to all AWS API java clients through the amazonWebService Grails service wrapper.

Installation

Declare the plugin dependency in the BuildConfig.groovvy file, as shown here:

grails.project.dependency.resolution = {
    inherits "global"
    log "info"
    repositories {
        // your repositories
    }
    dependencies {
        // Workaround to resolve dependency issue with aws-java-sdk and http-builder (dependent on httpcore:4.0)
        build 'org.apache.httpcomponents:httpcore:4.2'
        build 'org.apache.httpcomponents:httpclient:4.2'
        runtime 'org.apache.httpcomponents:httpcore:4.2'
        runtime 'org.apache.httpcomponents:httpclient:4.2'
    }
    plugins {
        // here go your plugin dependencies
        runtime ':aws-sdk:1.10.44'
    }
}

Config

Create an AWS account Amazon Web Services, in order to get your own credentials accessKey and secretKey.

Add your AWS credentials parameters to your grails-app/conf/Config.groovy:

grails.plugin.awssdk.accessKey = {ACCESS_KEY}
grails.plugin.awssdk.secretKey = {SECRET_KEY}

Documentation

Project documentation is located here:

AWS SDK for Java documentation is located here:

Supported AWS Services

AWS clients supported by AWS SDK for Java:

  • Amazon CloudFormation
  • Amazon CloudFront
  • Amazon CloudSearch
  • Amazon CloudWatch
  • Amazon CodeDeploy
  • Amazon Cognito Identity
  • Amazon Cognito Sync
  • Amazon Config
  • Amazon DynamoDB
  • Amazon Elastic Compute Cloud (EC2)
  • Amazon Elastic MapReduce
  • Amazon Elastic Transcoder
  • Amazon ElastiCache
  • Amazon Glacier
  • Amazon Kinesis
  • Amazon Key Management Service (KMS)
  • Amazon Relational Database Service (RDS)
  • Amazon Redshift
  • Amazon Route 53
  • Amazon Simple Storage Service (S3)
  • Amazon Simple Email Service (SES)
  • Amazon SimpleDB
  • Amazon Simple Notification Service (SNS)
  • Amazon Simple Queue Service (SQS)
  • Amazon Simple Workflow (SWF)
  • Auto Scaling
  • AWS Elastic Beanstalk
  • AWS Identity & Access Management (IAM)
  • AWS Import/Export
  • AWS OpsWorks
  • AWS Security Token Service
  • AWS Storage Gateway
  • Elastic Load Balancing

Latest releases

  • 2015-12-31 V1.10.44 : AWS SDK for Java updated to V1.10.44
  • 2015-08-20 V1.10.11 : AWS SDK for Java updated to V1.10.11
  • 2015-07-07 V1.10.3 : AWS SDK for Java updated to V1.10.3
  • 2015-06-13 V1.10.0 : AWS SDK for Java updated to V1.10.0
  • 2015-06-05 V1.9.40 : AWS SDK for Java updated to V1.9.40
  • 2015-05-26 V1.9.37.1 : cloudSearchDomain client added
  • 2015-05-22 V1.9.37 : AWS SDK for Java updated to V1.9.37
  • 2015-05-01 V1.9.33 : AWS SDK for Java updated to V1.9.33 + Cognito services abbreviation (fix #34)
  • 2015-04-08 V1.9.29 : AWS SDK for Java updated to V1.9.29
  • 2015-02-25 V1.9.22 : AWS SDK for Java updated to V1.9.22
  • 2015-02-11 V1.9.18 : AWS SDK for Java updated to V1.9.18
  • 2015-01-27 V1.9.17 : AWS SDK for Java updated to V1.9.17
  • 2015-01-09 V1.9.14 : AWS SDK for Java updated to V1.9.14
  • 2015-01-08 V1.9.13 : AWS SDK for Java updated to V1.9.13
  • 2014-12-05 V1.9.10 : AWS SDK for Java updated to V1.9.10
  • 2014-12-05 V1.9.9.1 : Fix an issue with groovy setter method selection when setting client region
  • 2014-12-05 V1.9.9 : AWS SDK for Java updated to V1.9.9
  • 2014-11-15 V1.9.6 : AWS SDK for Java updated to V1.9.6 + CodeDeploy, Config and KMS support added
  • 2014-11-12 V1.9.4 : AWS SDK for Java updated to V1.9.4
  • 2014-10-24 V1.9.2 : AWS SDK for Java updated to V1.9.2
  • 2014-10-09 V1.9.0 : AWS SDK for Java updated to V1.9.0 + CloudSearch V2 support by default

WARNING: Breaking change, since V1.9.0, new CloudSearch API Version 2013-01-01 are used (package com.amazonaws.services.cloudsearchv2 instead of com.amazonaws.services.cloudsearch ). If you are using CloudSearch, please update your calls to the API.

  • 2014-10-01 V1.8.11 : AWS SDK for Java updated to V1.8.11
  • 2014-09-18 V1.8.10.2 : AWS SDK for Java updated to V1.8.10.2 (fix release)
  • 2014-09-12 V1.8.10 : AWS SDK for Java updated to V1.8.10
  • 2014-08-18 V1.8.9 : AWS SDK for Java updated to V1.8.9
  • 2014-07-14 V1.8.4 : AWS SDK for Java updated to V1.8.4 + Amazon Cognito Identity and Sync support added
  • 2014-07-03 V1.8.3 : AWS SDK for Java updated to V1.8.3
  • 2014-06-27 V1.8.2 : AWS SDK for Java updated to V1.8.2
  • 2014-06-23 V1.8.0 : AWS SDK for Java updated to V1.8.0
  • 2014-05-23 V1.7.11 : AWS SDK for Java updated to V1.7.11
  • 2014-04-28 V1.7.7 : AWS SDK for Java updated to V1.7.7
  • 2014-04-04 V1.7.5 : AWS SDK for Java updated to V1.7.5
  • 2014-03-21 V1.7.4 : AWS SDK for Java updated to V1.7.4
  • 2014-02-12 V1.7.1 : AWS SDK for Java updated to V1.7.1
  • 2014-01-11 V1.6.12 : AWS SDK for Java updated to V1.6.12 + DynamoDB mapper support added
  • 2014-01-07 V1.6.11 : AWS SDK for Java updated to V1.6.11
  • 2013-12-17 V1.6.9 : AWS SDK for Java updated to V1.6.9 + Amazon Kinesis support added
  • 2013-11-27 V1.6.7 : AWS SDK for Java updated to V1.6.7
  • 2013-11-07 V1.6.4 : AWS SDK for Java updated to V1.6.4 + proxy settings added in config (thanks to pull request by Jeff Purser)
  • 2013-10-25 V1.6.3 : AWS SDK for Java updated to V1.6.3 + AmazonS3EncryptionClient added
  • 2013-10-03 V1.6.0 : AWS SDK for Java updated to V1.6.0
  • 2013-09-11 V1.5.6 : AWS SDK for Java updated to V1.5.6 + Grails 2.3.0 support
  • 2013-08-27 V1.5.5 : AWS SDK for Java updated to V1.5.5
  • 2013-07-11 V1.5.0 : AWS SDK for Java updated to V1.5.0
  • 2013-06-20 V1.4.7 : AWS SDK for Java updated to V1.4.7
  • 2013-06-06 V1.4.5 : AWS SDK for Java updated to V1.4.5 + DynamoDB V2 support by default

WARNING: Breaking change, since V1.4.5, new DynamoDB API Version 2012-08-10 are used (package com.amazonaws.services.dynamodbv2 instead of com.amazonaws.services.dynamodb ). If you are using DynamoDB, please update your calls to the API.

  • 2013-05-11 V1.4.3 : AWS SDK for Java updated to V1.4.3 + Security Token Service support added and bug fixes (thanks to pull requests by craigforster and jako512)
  • 2013-04-22 V1.4.2 : AWS SDK for Java updated to V1.4.2 (DynamoDB adds support for local secondary indexes)
  • 2013-03-19 V1.4.1 : AWS SDK for Java updated to V1.4.1 + Better endpoints management with new region utils
  • 2013-03-05 V1.3.33 : AWS SDK for Java updated to V1.3.33 + Unit tests added + refactor/bug fixes (thanks to Martin Gotink)
  • 2013-02-21 V1.3.32 : AWS SDK for Java updated to V1.3.32 + Amazon OpsWorks and Redshift support added + bug fix
  • 2013-02-05 V1.3.30 : AWS SDK for Java updated to V1.3.30 + Amazon Elastic Transcoder support added
  • 2012-12-20 V1.3.26 : AWS SDK for Java updated to V1.3.26 + S3 Resources scripts (to use with CDN Resources plugin)
  • 2012-11-12 V1.3.24 : AWS SDK for Java updated to V1.3.24 (adds support for long polling in SQS)
  • 2012-10-06 V1.3.22 : AWS SDK for Java updated to V1.3.22 + S3 transfer manager support added (for async upload/download and multiple files upload/download)
  • 2012-09-27 V1.3.21 : AWS SDK for Java updated to V1.3.21.1 + Amazon Glacier support added
  • 2012-07-04 V1.3.12 : AWS SDK for Java updated to V1.3.12
  • 2012-07-02 V1.3.11 : initial release

Bugs

To report any bug, please use the project Issues section on GitHub.

Other Grails AWS Plugin

FYI, there is another great Grails AWS plugin with a different approach: its aim is to provide an easy "groovy" access to SES (through a groovy DSL) and S3 (through methods injection), based on JetS3 java lib. If you just need basic SES or S3 features, you might give it a try.

We decided to write our own AWS plugin because it did not meet our requirements:

  1. direct access to ALL AWS SDK for Java features including ALL AWS services, with custom client configuration,
  2. only AWS SDK for Java with a consistent way to access ALL AWS services,
  3. fast release update with 100% compatibility with AWS SDK for Java, as it is just a simple lightweight wrapper around the official java clients,
  4. no need for additional DSL/methods injection, since we found the AWS SDK for Java clients pretty straightforward to use