AWS SDK for Ruby Build Status

The official AWS SDK for Ruby.

Installation

You can install the AWS SDK for Ruby with rubygems:

gem install aws-sdk

If you are using Bundler, we recommend that you express a major version
dependency (aws-sdk follows semantic versioning):

gem ‘aws-sdk’, ‘~> 1.0’

If you are using a version of Ruby older than 1.9, you may encounter problems with Nokogiri.
The authors dropped support for Ruby 1.8.x in Nokogiri 1.6. To use aws-sdk, you’ll also have
to install or specify a version of Nokogiri prior to 1.6, like this:

gem ‘nokogiri’, ‘~> 1.5.0’

Basic Configuration

You need to provide your AWS security credentials and choose a default region.

AWS.config(access_key_id: '...', secret_access_key: '...', region: 'us-west-2')

You can also specify these values via ENV:

export AWS_ACCESS_KEY_ID=‘…’
export AWS_SECRET_ACCESS_KEY=‘…’
export AWS_REGION=‘us-west-2’

Basic Usage

Each service provides a service interface and a client.

ec2 = AWS.ec2 #=> AWS::EC2
ec2.client #=> AWS::EC2::Client

The client provides one method for each API operation. The client methods
accept a hash of request params and return a response with a hash of
response data. The service interfaces provide a higher level abstration built using the client.

Example: list instance tags using a client

resp = ec2.client.describe_tags(filters: [{ name: "resource-id", values: ["i-12345678"] }])
resp[:tag_set].first
#=> {:resource_id=>"i-12345678", :resource_type=>"instance", :key=>"role", :value=>"web"}

Example: list instance tags using the AWS::EC2 higher level interface

ec2.instances['i-12345678'].tags.to_h
#=> {"role"=>"web"}

See the API Documentation for more examples.

Links of Interest

Supported Services

The SDK currently supports the following services:

Class
API Version
AWS Service Name

AWS::AutoScaling
2011-01-01
Auto Scaling

AWS::CloudFormation
2010-05-15
AWS CloudFormation

AWS::CloudFront
2013-05-12
Amazon CloudFront

2013-08-26

2013-09-27

AWS::CloudSearch
2011-02-01
Amazon CloudSearch

AWS::CloudTrail
2013-11-01
AWS CloudTrail

AWS::CloudWatch
2010-08-01
Amazon CloudWatch

AWS::DataPipeline
2012-10-29
AWS Data Pipeline

AWS::DirectConnect
2012-10-25
AWS Direct Connect

AWS::DynamoDB
2011-12-05
Amazon DynamoDB

2012-08-10

AWS::EC2
2013-08-15
Amazon Elastic Compute Cloud

2013-10-01

AWS::ElastiCache
2013-06-15
Amazon ElastiCache

AWS::ElasticBeanstalk
2010-12-01
AWS Elastic Beanstalk

AWS::ElasticTranscoder
2012-09-25
Amazon Elastic Transcoder

AWS::ELB
2012-06-01
Elastic Load Balancing

AWS::EMR
2009-03-31
Amazon Elastic MapReduce

AWS::Glacier
2012-06-01
Amazon Glacier

AWS::IAM
2010-05-08
AWS Identity and Access Management

AWS::ImportExport
2010-06-01
AWS Import/Export

AWS::OpsWorks
2013-02-18
AWS OpsWorks

AWS::RDS
2013-05-15
Amazon Relational Database Service (Beta)

2013-09-09

AWS::Redshift
2012-12-01
Amazon Redshift

AWS::Route53
2012-12-12
Amazon Route 53

AWS::S3
2006-03-01
Amazon Simple Storage Service

AWS::SimpleDB
2009-04-15
Amazon SimpleDB

AWS::SimpleEmailService
2010-12-01
Amazon Simple E-mail Service

AWS::SimpleWorkflow
2012-01-25
Amazon Simple Workflow Service

AWS::SNS
2010-03-31
Amazon Simple Notifications Service

AWS::SQS
2012-11-05
Amazon Simple Queue Service

AWS::StorageGateway
2012-06-30
AWS Storage Gateway

2013-06-30

AWS::STS
2011-06-15
AWS Security Token Service

AWS::Support
2013-04-15
AWS Support

License

This SDK is distributed under the
Apache License, Version 2.0.

Copyright 2012. Amazon Web Services, Inc. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.