Release: AWS SDK for Ruby 1.5.5

Release Notes>Release: AWS SDK for Ruby 1.5.5
This release adds support for Amazon Simple Email Service Feedback Notifications, Amazon S3 grants, configuring HTTP timeouts and more.

Details

Submitted By: trevor@AWS
Latest Version: 1.5.5
Created On: June 26, 2012 10:41 PM GMT
Last Updated: June 26, 2012 11:19 PM GMT

Latest Version

Download the latest version of the AWS SDK for Ruby:

gem install aws-sdk

New Features

Change Description
Amazon Simple Email Service Feedback Notifications (SES)

The latest API update to Amazon SES allows you to use Amazon Simple Notification Service (Amazon SNS) to receive notifications about bounces and complaints for emails that you send. Once configured, you will receive bounce and complaint feedback notifications for emails through Amazon SNS in a machine-readable format that you can process programmatically. For more information, see Feedback Notifications via Amazon SNS.

# configure bounce and complaint notifications to be sent
# to SNS toipcs for the identity "mydomain.com":

# create the topics
sns = AWS::SNS.new
complaints = sns.topics.create('mydomain.com-complaints')
bounces = sns.topics.create('mydomain.com-bounces')

# you should subscribe something to these topics (e.g.
# an email address, http endpoint, SQS queue, etc)

ses = AWS::SimpleEmailService.new
identity = ses.identities['mydomain.com']
identity.complaint_topic = complaints
identity.bounce_topic = bounces
Amazon S3 (S3) Grants

The latest API update to Amazon S3 allows you to specify custom Access Control Lists (ACLs) when you upload objects. Previously you could specify a generic a canned ACL (e.g. :public_read, :private) at the same time as uploading an object, but the latest API update allows you to specify any custom ACL to be applied immediately when your object is uploaded.

s3 = AWS::S3.new
bucket = s3.buckets.create('my-bucket', :grants => {
  :grant_read => { 
    :uri => "http://acs.amazonaws.com/groups/global/AllUsers", # uri
  },
  :grant_full_control => [
    { :email_address => 'foo@bar.com' }, # email address
    { :id => 'abc...mno' }               # cannonical user id
  ]
})
            

You can provide the following grants:

  • :grant_read
  • :grant_write
  • :grant_read_acp
  • :grant_write_acp
  • :grant_full_control

Each grant accepts one or more grantees. Grantees may be provided as:

  • a string (of comma delimited grantees)
  • a grantee hash (with :id, :uri or :email_address)
  • An array of grantee strings or grantee hashes
New Configuration Options

Added configuration options to control HTTP timeouts and debug logging.

# the new configuration options are:
AWS.config.http_open_timeout #=> new session timeout (15 seconds)
AWS.config.http_read_timeout #=> read response timeout (60 seconds)
AWS.config.http_idle_timeout #=> persistant connections idle longer are closed (60 seconds)
AWS.config.http_wire_trace #=> When true, HTTP wire traces are logged (false)

# you can update the timeouts (with seconds)
AWS.config(:http_open_timeout => 5, :http_read_timeout => 120)

# log to the rails logger
AWS.config(:http_wire_trace => true, :logger => Rails.logger)

# send wire traces to standard out
AWS.config(:http_wire_trace => true, :logger => nil)
AWS::EC2::Instance Exporting

You can now export Windows instances to S3.

# first prepare your bucket with the proper permissions
s3 = AWS::S3.new
bucket = s3.buckets['windows-images']
bucket.acl.change do |acl|
  acl.grant(:read_acp).to(:amazon_customer_email => 'vm-import-export@amazon.com')
  acl.grant(:write).to(:amazon_customer_email => 'vm-import-export@amazon.com')
end

# export an instance to s3
ec2 = AWS::EC2.new
task = ec2.instances['i-12345678'].export_to_s3(bucket)

# wait for the task status to be complete

# download the export
File.open('image.ova', 'w') {|f| f.write(task.s3_object.read) }
Bundled Certificates

Updated bundle ca-bundle.cert

Auto Scaling

Updated AWS::AutoScaling::Request to use signature version 4.

Resolved Issues

Change Description
AWS::CloudFormation::StackCollection#create

Resolved an issue when creating a stack, the :template param was construed as a url string when it included "http": https://github.com/amazonwebservices/aws-sdk-for-ruby/pull/55.

Supported API Versions

This release of the SDK supports the following API versions:

Service API Version
Amazon DynamoDB 2011-12-05
Amazon Elastic Compute Cloud 2012-06-01
Amazon Simple E-mail Service 2010-12-01
Amazon Simple Notifications Service 2010-03-31
Amazon Simple Queue Service 2011-10-01
Amazon Simple Storage Service 2006-03-01
Amazon Simple Workflow Service 2012-01-25
Amazon SimpleDB 2009-04-15
Auto Scaling 2011-01-01
AWS CloudFormation 2010-05-15
AWS Identity and Access Management 2010-05-08
AWS Security Token Service 2011-06-15
Elastic Load Balancing 2011-08-15
©2014, Amazon Web Services, Inc. or its affiliates. All rights reserved.