AWS SDK for Ruby Changelog

What's new in AWS SDK for Ruby 2.2.11

Jan 15, 2016
  • This release includes initial support for Amazon CloudWatch Events, and API updates for Amazon Elastic Compute Cloud and Amazon CloudFront.

New in AWS SDK for Ruby 2.2.10 (Jan 12, 2016)

  • This release includes an API update for Amazon Elastic Compute Cloud.

New in AWS SDK for Ruby 2.2.8 (Dec 22, 2015)

  • This release includes initial support for the Amazon EC2 Container Registry, and includes API updates for Amazon EC2 Container Service and Amazon Elastic MapReduce.

New in AWS SDK for Ruby 2.1.15 (Aug 21, 2015)

  • Resolved Issues:
  • Aws::Glacier - Resolved an issue with how dates were serialized when specifying start and end dates with an inventory retrieval job.
  • Aws::S3 - Added missing support for event notification filter rules.

New in AWS SDK for Ruby 2.1.14 (Aug 13, 2015)

  • New Features:
  • Aws::ElasticBeanstalk - Added support for the two new operations, DescribeEnvironmentHealth, and DescribeInstanceHealth.
  • Managed Multipart Copies - Added support to Aws::S3::Object for managed multipart copies of large objects.
  • obj = Aws::S3::Object.new('bucket', 'key')
  • obj.copy_from('source-bucket/source-key', multipart_copy: true)
  • obj.copy_to('target-bucket/target-key', multipart_copy: true)
  • Aws::S3::Object - Improved the interfaces for copying objects. There are three new supported signatures for calling #copy_from. Also added the logical pair, #copy_to.
  • obj = Aws::S3::Object.new('bucket', 'key')
  • obj.copy_from('source-bucket/source-key')
  • obj.copy_to('target-bucket/target-key')
  • obj.copy_from(bucket: 'source-bucket', key: 'source-key')
  • obj.copy_to(bucket: 'target-bucket', key: 'target-key')
  • other_obj = Aws::S3::Object('other-bucket', 'other-key')
  • obj.copy_from(other_obj)
  • obj.copy_to(other_obj)
  • For backwards compatibility, the old form of #copy_from still works.
  • obj.copy_from(copy_source: 'source-bucket/source-key')
  • Resolved Issues:
  • Resources - Resolved an issue with resource actions that source request parameters from data members. See related GitHub issue #893.

New in AWS SDK for Ruby 2.1.13 (Aug 7, 2015)

  • New Features:
  • Aws::SWF - You can now use Amazon Simple Workflow Service to trigger AWS Lambda functions.

New in AWS SDK for Ruby 2.1.12 (Aug 5, 2015)

  • New Features:
  • Aws::DeviceFarm - Added support for testing iOS applications with AWS Device Farm. You can now upload your iOS apps and test them on real Apple phones and tablets in the AWS Cloud. You can select from a built-in fuzz test or upload your own tests written with Appium Java JUnit, Appium Java TestNG, Calabash, UI Automation, or XCTest. Results in AWS Device Farm are consistent regardless of the application type (Android, Fire OS, iOS) you upload and test framework you select.
  • Resolved Issues:
  • Aws::EC2 - Updated two Aws::EC2::Client#wait_until waiters to retry instance ID not found errors. The two waiters are:
  • :instance_running
  • :instance_status_ok

New in AWS SDK for Ruby 2.1.11 (Jul 31, 2015)

  • New Features:
  • Aws::RDS - Added support for cluster operations for Aurora.
  • Aws::OpsWorks - Added support for ECS clusters to Aws::OpsWorks::Client.
  • Virtual Hosted Bucket Urls - You can now generated URLs and pre-signed URLs from Aws::S3 using a CNAME for your virtually hosted buckets.
  • Signature Version 4 - Added support for signing requests against hosts that do not use the standard port for the given HTTP scheme. This makes it possible to use the signer against test endpoints.

New in AWS SDK for Ruby 2.1.9 (Jul 29, 2015)

  • New Features:
  • Aws::CloudWatchLogs - Added support for destinations. You can now use destinations to subscribe to cross-account real-time feed of log events from CloudWatch Logs and have it delivered to an Amazon Kinesis stream for custom processing, analysis, or loading to other systems.
  • Aws::S3 - Added support for the new long tail storage class and the new storage class headers in the GET and HEAD Object responses.
  • Aws::S3 - Added support for the new object delete notification events.
  • KMS Client-Side-Encryption - Added support to Aws::S3::Encryption::Client for using AWS Key Management Service (KMS) to manage master encryption keys.
  • s3_enc = Aws::S3::Encryption::Client.new(kms_key_id: 'kms-key-id')
  • s3_enc.put_object(bucket:'aws-sdk', key:'secret', body:'data')
  • s3_enc.get_object(bucket:'aws-sdk', key:'secret').body.read
  • #=> 'data'
  • This implementation is compatible with objects written by the AWS SDK for Java encryption client.
  • Resolved Issues:
  • Aws::Glacier - Aws::Glacier::Account#vaults was not populating the account in the call to list vaults.
  • Aws::EC2 - Resolved a regression with serializing Aws::Structure types in Aws::EC2::Client requests. The Aws::Query::EC2ParamBuilder class is responsible for testing protocol specific implementations but it tests with input that is loaded from a JSON document into a vanilla Ruby hash which does not trigger this behavior.
  • The other protocol builder classes have full unit test suites, while the EC2 param builder did not. A test case has been added to cover this regression.
  • See related GitHub issue #881.

New in AWS SDK for Ruby 2.1.8 (Jul 24, 2015)

  • New Features:
  • Aws::EC2 - Added support for new spot fleet launch specification features.
  • Aws::Glacier - Added support for vault locks.
  • Aws::ElasticMapReduce - Adds support for Amazon EMR release 4.0.0, which includes a new application installation and configuration experience, upgraded versions of Hadoop, Hive, and Spark, and now uses open source standards for ports and paths. To specify an Amazon EMR release, use the release label parameter (AMI versions 3.x and 2.x can still be specified with the AMI version parameter).
  • For more information on Amazon EMR release 4.0.0, please visit: https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-release-components.html
  • Waiters
  • Added two new waiters:
  • :instance_profile_exists - (Aws::IAM::Client)
  • :app_exists - (Aws::OpsWorks::Client)
  • Aws::CognitoIdentity:
  • The following operations can now be called from Aws::CognitoIdentity::Client without credentials:
  • #get_credentialsForIdentity
  • #get_id
  • #get_open_id_token
  • #list_identity_pools
  • #unlink_developer_identity
  • #unlink_identity
  • See related GitHub pull request #862
  • Resolved Issues:
  • Aws::IAM - Added missing paginator for Aws::IAM::Client#list_policy_versions.
  • See related GitHub issue #879.
  • Stubbing - Added missing support for stubbing query protocol errors by their error code.
  • See related GitHub pull request #873

New in AWS SDK for Ruby 2.1.5 (Jul 15, 2015)

  • New Features:
  • Aws::DeviceFarm - Added support for AWS Device Farm.
  • Aws::DynamoDBStreams - Added support for Amazon DynamoDB Streams.
  • Aws::DynamoDB - Added support for consistent reads with the Scan API.

New in AWS SDK for Ruby 2.1.4 (Jul 10, 2015)

  • New Features:
  • Aws::CodeCommit - Adds support for AWS CodeCommit.
  • Aws::CodePipeline - Adds support for AWS CodePipeline.
  • Aws::ECS - Amazon EC2 Container Service now supports the UDP protocol.
  • Aws::IAM - Adds support for SSH Public Key Operations.
  • Aws::SES - Adds support for cross-account sending, which is available through the use of the sending authorization feature.

New in AWS SDK for Ruby 2.1.3 (Jul 8, 2015)

  • New Features:
  • Aws::AutoScaling - Adds support for step policies. Step scaling policies allow customers to scale their Auto Scaling groups based on the magnitude of the alarm breach, giving them more control over how Auto Scaling responds to an alarm breach and enables them to scale their groups faster.
  • Aws::EC2 - Amazon Elastic Block Store snapshot copy support for customer-managed encryption keys.
  • Aws::EC2 - Added a Aws::EC2::Route resource class with the associated #delete and #replace operations.
  • Resolved Issues:
  • Aws::DynamoDB - The Aws::DynamoDB::Client#stub_data method will now observe the configured :simple_attributes option and conditionally accept and return simple attribute values.
  • Resource - Fixed behavior of #wait_until option max_attempts: nil to match documentation and allow unlimited retries. Default number of retries remains at 10.

New in AWS SDK for Ruby 2.1.2 (Jun 25, 2015)

  • New Features:
  • Aws::CloudFront - Can now set :max_ttl and :default_ttl within :cache_behaviors. New API version 2015-04-17.
  • Aws::Lambda - Adds java8 as a supported runtime.
  • Aws::CognitoSync - Add ConcurrentModificationException error.
  • Aws::CognitoIdentity - Add ConcurrentModificationException error.
  • Aws::ConfigService - You can now set up AWS Config to record changes for specific resource types.
  • Aws::OpsWorks - You can specify which agent version will be used in your AWS OpsWorks managed instances.
  • Aws::Glacier - Amazon Glacier now allows you to tag your Amazon Glacier vaults for easier resource and cost management. Tags are labels that you can define and associate with your vaults, and using tags adds filtering capabilities to operations such as AWS cost reports.
  • Aws::Redshift - You can create automatic cross-region backups of your KMS encrypted clusters for disaster recovery.

New in AWS SDK for Ruby 2.1.1 (Jun 19, 2015)

  • New Features:
  • Aws::ECS - Added support for environment variable overrides.
  • XML Parsing - Added support for the new Oga XML parser. This is enabled by default when the gem is present. You can force this by setting the XML parsing engine:
  • Aws::Xml::Parser.engine = :oga
  • Aws::IAM - Added Aws::IAM::User#exists?.
  • REPL - Added a short-cut inside the aws.rb REPL for accessing a resource from a client.
  • Resolved Issues:
  • Aws::DynamoDB - Resolved an issue with pageable responses where the paging token values contained attribute values.
  • Aws::IAM - Added missing paginator configurations for the newer IAM attached policy operations.
  • PageableResponse - Resolved an issue where Enumerable was not correctly getting mixed into pageable responses.
  • Shared Credentials - Resolved an issue where the shared credentials provider would fail to parse profiles which contained an inline comment.

New in AWS SDK for Ruby 2.1.0 (Jun 12, 2015)

  • Upgrading Notes:
  • Pageable Responses:
  • Due to frequent confusion caused by having every response be decorated as pageable, only operations that can possibly have multiple responses are now decorated.
  • This ensures that if you call #each on a non-pageable response that an appropriate NoMethodError is raised instead of doing nothing. Simply remove calls to #each if you encounter this unlikely situation.
  • s3 = Aws::S3::Client.new
  • s3.head_object(bucket:'name', key:'key').each do |page|
  • end
  • #=> raises NoMethodError for #each, HEAD object is not pageable
  • This is correctly reflected now in the API reference documentation as well.
  • Seahorse::Model:
  • The internal representation of AWS API models has been updated. Users digging into internals of the API model will need to update their code to deal with shape references.
  • This change should not affect users of the public SDK interfaces.
  • Complex shapes, structures, lists, and maps, now use shape references to nest other shapes. The entire API model now loaded when the service client is defined. This eliminates the need to maintain a complex map of all shapes and define them lazily. This has allows for massive simplifications around API loading, especially when dealing with thread-safety concerns.
  • New Features:
  • Aws::EC2:
  • Adds support for Amazon VPC flow logs.
  • Aws::ECS:
  • Adds the #update_container_agent method, as well as paginator and waiter support.
  • Aws::AutoScaling:
  • Adds the #describe_load_balancers method, and adding the :load_balancer_names parameter to the #update_auto_scaling_group method.
  • Fewer gem dependencies :
  • Removed the dependency on the follow two 3rd party gems:
  • multi_json
  • builder
  • For JSON parsing and dumping, the SDK will attempt to use the Oj gem if available, and will fall back on JSON from the Ruby standard library.
  • The only remaining gem dependency is jmespath.
  • Service Types:
  • Added struct classes for all AWS data types. Previous versions used anonymous structure classes for response data.
  • Aws::IAM::Types.constants
  • #=> [:AccessKey, :AccessKeyLastUsed, :AccessKeyMetadata, ...]
  • Each of these data type classes are now fully documented in the api reference docs.
  • Examples:
  • The API reference documentation can now load client operation examples from disk. This allows users to contribute examples to the documentation. It also allows for more targeted examples than the auto-generated ones previously used.
  • Examples are stored inside the examples folder at the root of this repository. https://github.com/aws/aws-sdk-ruby/tree/master/examples
  • Documentation:
  • Significant work has gone into API reference documentation. The changes made are based on user feedback. Some of the many changes include:
  • More concise syntax examples
  • Response structure examples
  • Request and response data structures each documented as their own type
  • Expanded resource interface documentation on inputs and return values
  • Expect more documentation improvements.
  • Smaller Gem:
  • Reduced the size of the aws-sdk-core gem by removing the AWS API documentation source files from the gemspec. This reduces the total size of the gem by half.
  • Stub Data:
  • Added a #stub_data method to Aws::Client that makes it trivial to generate response data structures.
  • s3 = Aws::S3::Client.new
  • s3.stub_data(:list_buckets)
  • #=> #
  • You can also provide an optional hash of data to apply to the stub. The data hash will be validated to ensure it is properly formed and then it is applied. This makes it easy to generated nested response data.
  • s3.stub_data(:list_buckets, buckets:[{name:'aws-sdk'}])
  • #=> #
  • Shared Response Stubs:
  • You can now provide default stubs to a client via the constructor and via Aws.config. This can be very useful if you need to stub client responses, but you are not constructing the client.
  • Aws.config[:s3] = {
  • stub_responses: {
  • list_buckets: { buckets: [{name:'aws-sdk'}]}}}
  • s3 = Aws::S3::Client.new
  • s3.list_buckets.buckets.map(&:name)
  • #=> ['aws-sdk']
  • See related GitHub issue aws/aws-sdk-core#187
  • SSL Peer Verification:
  • Added a method to configure a default SSL CA certificate bundle to be used when verifying SSL peer certificates. V1 did this by default, v2 is now opt-in only.
  • Aws.use_bundled_cert!
  • This method can be very useful for Ruby users on Windows where OpenSSL does not tend to have access to a valid SSL cert bundle.
  • Eager auto-loading:
  • Added a utility method that eagerly loads classes and modules. This can help avoid thread-safety issues with autoload affecting some versions Ruby.
  • # autoload specific services (faster)
  • Aws.eager_autoload!(services: %w(S3 EC2))
  • # autoload everything
  • Aws.eager_autoload!
  • Resolved Issues:
  • Response Stubbing:
  • When using response stubbing, pagination tokens will no longer be generated. This prevents stubbed responses from appearing pageable when they are not.
  • Aws::DynamoDB::Client:
  • Resolved an issue where it was not possible to stub attribute values. You can now stub DynamoDB responses as expected:
  • ddb = Aws::DynamoDB::Client.new(stub_responses:true)
  • ddb.stub_responses(:get_item, item: { 'id' => 'value', 'color' => 'red' })
  • ddb.get_item(table_name:'table', key:{'id' => 'value'})
  • #=> #"value", "color"=>"red"}, consumed_capacity=nil>
  • Response Stubbing:
  • Clients with stub_responses: true were still attempting to load credentials from ENV, and the EC2 instance metadata service. Instead, stubbed clients will now construct fake static credentials.

New in AWS SDK for Ruby 2.0.48 (Jun 5, 2015)

  • New Features:
  • Aws::CloudWatchLogs - Adds support for the #put_subscription_filter, #describe_subscription_filters, and #delete_subscription_filter API operations.
  • Aws::CognitoIdentity - Adds support for the #delete_identities API operation, and hiding disabled identities with the #list_identities API operation.
  • Aws::StorageGateway - Updated Aws::StorageGateway API to add support for the #list_volume_initiators API operation.
  • Resolved Issues:
  • Aws::DynamoDB - Resolve an issue where IO objects were not properly marshaled, leading to runtime errors.
  • Aws::S3 - Resolved an issue with the URL decoding of keys in the response to a call to Aws::S3::Client#list_objects.

New in AWS SDK for Ruby 2.0.45 (May 22, 2015)

  • New Features:
  • Aws::ElasticTranscoder - Elastic Transcoder now supports additional formats, including MXF, FLAC, and OGA, and additional flexibility for your output audio. You can use these formats to transcode files to the XDCAM format or to a lossless audio format.
  • Aws::Kinesis - The Amazon Kinesis API #get_records now includes a new parameter :millis_behind_latest: the number of milliseconds the GetRecords response is from the end of the stream, indicating how far behind real time a consumer is.
  • Aws::KMS - Adds the #update_alias API, which allows you to update the association of a key alias from one key to another within a region.
  • Resolved Issues:
  • Aws:SQS - Resolved an issue with the SQS queue poller and changing message visibility timeouts.

New in AWS SDK for Ruby 2.0.44 (May 19, 2015)

  • New Features:
  • Aws::EC2 - Added support for the new spot fleet API operations to Aws::EC2::Client.
  • Aws::ElasticBeanstalk - Added resource names to Aws::ElasticBeanstalk::Client configuration option settings.
  • Aws::OpsWorks - Added support for custom auto-scaling based on CloudWatch alarms.
  • Aws::EC2 - Added support for the new Spot Fleet API operations.
  • Resolved Issues:
  • Aws::EC2 - Two waiters were added in v2.0.39 and then lost in v2.0.40 in this commit: https://github.com/aws/aws-sdk-ruby/commit/f0fad0a038a4f81b0a697f7c367fd2735d9dd698. The waiters did not get merged upstream and got squashed in the automated release. Reverting this loss. Actual changes have also been merged upstream now.
  • Aws::S3 - Resolved a regression with presigned S3 urls where input parameters that are normally sent as x-amz-* headers had to be serialized onto the GET or PUT request. This restores the behavior where they are hoisted onto the request uri as query string parameters.

New in AWS SDK for Ruby 2.0.43 (May 18, 2015)

  • New Features:
  • Aws::DirectoryService - APIs are now supported for the Simple AD and AD Connector directories in AWS Directory Service, enabling you to programmatically create and configure these directories via the AWS SDK for Ruby.
  • Aws::EC2 - Added support for Amazon VPC Endpoints for Amazon S3.
  • Aws::EC2 - Added support to migrate an Elastic IP Address from EC2-Classic to EC2-VPC.
  • Aws::Route53Domains - #check_domain_availability can now return DONT_KNOW when a definitive response has not been received from the registry, such as during domain registry scheduled maintenance periods. UnsupportedTLD is now a potential error from more Route 53 Domains activities.
  • Aws::CloudWatchLogs - Added support for the #filter_log_events API for searching logs within a group.
  • Aws::CloudFormation - Added new parameters to the return type of the #get_template_summary API.

New in AWS SDK for Ruby 2.0.42 (May 8, 2015)

  • New Features:
  • Aws::Glacier - Added support for vault access policies.
  • Aws::S3::Encryption::Client - You can now pass vanilla client constructor options to the encryption client constructor and these will pass through when generating the underlying client. This increases the parity with the vanilla client.
  • See related GitHub issue #800 and related GitHub issue #801.
  • Aws::S3 - Added the ability to pass a block to Aws::S3::Encryption::Client#get_object that yields data as it is decrypted. This increases parity with the vanilla Aws::S3::Client#get_object method.
  • See related GitHub issue #794.
  • Aws::S3 - Added a client-side check to ensure HTTP response bodies are not truncated before all of the expected bytes have been received. This check is performed for all non-HEAD requests where a 'Content-Length' response header is present.
  • When fewer bytes are returned, then the request is retried up to the configured :retry_limit number limit of attempts. This limit defaults to 3.

New in AWS SDK for Ruby 2.0.41 (Apr 28, 2015)

  • New Features:
  • Aws::DynamoDB - Added support to Aws::DynamoDB::Client for key conditions.

New in AWS SDK for Ruby 2.0.39 (Apr 17, 2015)

  • New Features:
  • Aws::ConfigService - SNS topics on AWS Config's DeliveryChannel are now optional. If the SNS delivery is turned off the last status will be Not_Applicable.
  • Aws::CognitoSync - Adds support for Amazon Cognito Events, a new feature that allows developers to run an AWS Lambda function in response to important events in Amazon Cognito. The first event supported is the Sync Trigger event.
  • Waiters:
  • Added waiters for:
  • Aws::CloudFormation
  • Aws::ElastiCache
  • Aws::OpsWorks
  • Expanded waiters for:
  • Aws::EC2 - Also resolved a few issues in the Aws::CloudFront and Aws::RDS waiters.
  • Aws::DynamoDB - Added resource class for Aws::DynamoDB::Table.
  • Resolved Issues:
  • XML Parsing - Resolved an issue where XML string values were not being unescaped.
  • Resources - Resolved an issue that prevented the aws-sdk-resources gem from loading resource definitions that have naming conflicts with the Capistrano project.
  • The #safe_define_method is intenteded to ensure the resource methods do not conflict with methods of Object, such as #send, and #object_id. These are now tested only in local testing but not at runtime. This allows for projects to add functionality to Object without triggering this check.

New in AWS SDK for Ruby 2.0.38 (Apr 10, 2015)

  • Upgrading Notes:
  • Aws::Lambda - AWS Lambda is exiting their preview period and has made changes to their control plane APIs. If you are invoking methods outside of Aws::Lambda::Client#invoke_async, you should switch to the Aws::LambdaPreview::Client until you can upgrade.
  • Aws::S3::Client:
  • Deprecated two methods:
  • Aws::S3::Client#put_bucket_notification
  • Aws::S3::Client#get_bucket_notification
  • These methods have been replaced by:
  • Aws::S3::Client#put_bucket_notification_configuration
  • Aws::S3::Client#get_bucket_notification_configuration
  • The method signatures for the old two methods did not correctly allow users to specify multiple topic, queue, and lambda function configurations. The new methods, suffixed by _notification correct these errors. The new methods now also support resource based permissions on notifications to lambda functions.
  • Notice the :lambda_function_configurations does not take an :invocation_role and that each of the configuration types now takes a list of configurations.
  • New Features:
  • Aws::WorkSpaces - Added support for Amazon WorkSpaces.
  • Aws::ECS - You can now use the Amazon ECS Service scheduler to manage long-running applications and services. The Service scheduler allows you to distribute traffic across your containers using Elastic Load Balancing.
  • Aws::S3 - Added support for resource based permissions for invoking Lambda functions via bucket notifications.
  • Aws::MachineLearning - Added support for Amazon Machine Learning.

New in AWS SDK for Ruby 2.0.37 (Apr 8, 2015)

  • New Features:
  • Aws::DataPipeline - This release introduces support for AWS Data Pipeline Deactivate feature. You now have the ability to deactivate a running pipeline and activate it later at a time of your choosing.
  • Aws::ElasticBeanstalk - Added new #abort_environment_update operation for Elastic Beanstalk. Added a new parameter, :solution_stack_name, to the #update_environment operation for ElasticBeanstalk.
  • Resolved Issues:
  • Aws::IAM - Resolved an issue with Aws::IAM::Resource#policy that would raise an ArgumentError. The resource definition incorrectly supplied the argument as the "PolicyArn" when it should have been simply "Arn".

New in AWS SDK for Ruby 2.0.35 (Apr 7, 2015)

  • New Features:
  • Aws::Resources::Resource - Added support for custom waiters with Aws::Resources::Resource#wait_until.
  • Resolved Issues:
  • Xml Parser - Resolved an issue with the recent XML parser update that caused bugs when using Nokogiri. Nokogiri will inconsistently trigger one or multiple text events for XML elements. This seems to be affected by the total size of the XML document.
  • The XML parser now supports SAX parsing engines that trigger mulitple text events for a single XML element value. Added test where a dummy engine simulates this behavior.
  • Response Stubbing - Resolved an issue that prevented response stubs from forcing a nil value for scalars.

New in AWS SDK for Ruby 2.0.34 (Apr 3, 2015)

  • New Features:
  • Aws::CodeDeploy - AWS CodeDeploy now supports OnPremises deployments.
  • Aws::RDS - Adds the #describe_certificates API call, and changes other calls to show the current certificate.
  • Aws::EC2 - Added the "D2" family of instance types.
  • Aws::ElasticTranscoder - Adds support for PlayReady DRM.
  • Resources - Added #exists? methods to a handful of resource classes. The #exists? method works by polling the exists wait for the resource exactly once. If the waiter is successful, then true is returned, if it fails, then false is returned.
  • To add additional #exists? methods, a waiter must be added to the resource class as Exists and that waiter must be defined in the *.waiters.json document for that service.
  • Aws::S3 - Added Aws::S3::PresignedPost, making it possible to generate a presigned post form for uploading a file from a browser directly to Amazon S3.
  • s3 = Aws::S3::Resource.new
  • # post form for a specific object
  • post = s3.bucket('bucket').object('key').presigned_post(options)
  • post.fields
  • #=> { ... }
  • # force a key prefix
  • post = s3.bucket('bucket').presigned_post(key_starts_with: '/uploads/')
  • post.fields
  • #=> { ... }
  • Resolved Issues:
  • Endpoints - Resolved an issue where trailing slashes were lost from request parameter values that were bound to the end of the request uri path as a greedy placeholder.
  • Aws::SNS - Removed some incorrect identifiers from a few resource methods that were attempting to create Aws::SNS::PlatformApplication objects.
  • Aws::Glacier - Corrected a typo in the Aws::Vault#initiate_archive_retrieval method.
  • Aws::Errors - Improved the logic for extracting errors from HTTP responses to not fail when the body is empty or if the expected error XML or JSON is not present.
  • Now falls back on providing a more generic service error based on the HTTP status code.
  • Presigned URLs - Resolved an issue where x-amz- headers were not being signed as part of a pre-signed URL.

New in AWS SDK for Ruby 2.0.33 (Mar 27, 2015)

  • New Features:
  • Aws::ElasticTranscoder - Added support for job timing and input/output metadata.
  • Aws::IAM - Add NamedPolicy to GetAccountAuthorizationDetails.
  • Aws::IAM::Resouce - Added support for named policies.
  • Aws::OpsWorks - Allow for customisation of BlockDeviceMapping on EC2 instances launched through OpsWorks.

New in AWS SDK for Ruby 2.0.32 (Mar 25, 2015)

  • New Features:
  • Aws::EC2 - Updated API reference documentation and add a few resource methods.
  • Aws::S3 - Added support for Amazon S3 cross-region bucket replication.

New in AWS SDK for Ruby 2.0.31 (Mar 20, 2015)

  • New Features:
  • Aws::S3 - Added support for requester pays headers to all supported object operations.
  • See related GitHub issue #694.
  • Aws::SNS - Added a utility class that can verify the authenticity of an SNS message.
  • verifier = Aws::SNS::MessageVerifier.new
  • verifier.authentic?(message_body)
  • #=> returns true/false
  • verifier.authenticate!(message_body)
  • #=> raises an error on bad message signature
  • See related GitHub issue #709.
  • Aws::SQS - Added Aws::SQS::QueuePoller, a utility class for long polling and processing messages from a queue.
  • poller = Aws::SQS::QueuePoller.new(queue_url)
  • poller.poll do |msg|
  • puts msg.body
  • end # message deleted here
  • See the API reference documentation for more examples.
  • Aws::ElasticTranscoder - API update to support Applied Color SpaceConversion.
  • Resolved Issues:
  • Query Protocol - No longer returning nil for empty maps in query responses. Aws::SQS::Client#get_queue_attributes will always have a hash a resp.attributes instead of a possible nil value.
  • Aws::EC2 - Fixed an issue with constructing PlacementGroup resources and added a missing #delete method to RouteTable. See related GitHub pull request #737.
  • Aws::CloudSearchDomain - Resolved an issue with parsing error HTTP responses that have an empty body.

New in AWS SDK for Ruby 2.0.30 (Mar 13, 2015)

  • New Features:
  • Added support for the new Lookup feature.
  • Added pagination support to Aws::EC2::Client#describe_snapshots.
  • Added support for ordering DescribeLogStreams results by LastEventTime.
  • Added Aws::EC2::Snapshot#wait_until_completed resource waiter. See relevant GitHub issue #735.
  • Added a Aws::EC2::Volume#delete method via pull request.
  • Resolved Issues:
  • Resolved an issue that would cause an infinite loop when paginating Aws::CloudWatchLogs#get_log_events. Resolves GitHub issue #712.

New in AWS SDK for Ruby 2.0.29 (Mar 5, 2015)

  • New Features:
  • Aws::CognitoSync - Added for for streams. Amazon Cognito streams allows customers to receive near-realtime updates as their data changes as well as exporting historical data. Customers configure an Amazon Kinesis stream to receive the data which can then be processed and exported to other data stores such as Amazon Redshift.
  • Aws::CloudSearch - Added support for manual scaling mode and m3 instance types.
  • Resolved Issues:
  • Aws::CloudFormation - Added missing memberName traits to the resource models for the resource classes. This should squelch the duplicate attributes.
  • Aws::STS - Resolved an issue that prevented Aws::STS::Client from making unatuthenticated requests to AssumeRoleWithSAML, and AssumeRoleWithWebIdentity. Resolves GitHub issue #725.
  • Aws::S3 - Added support for pre-signed PUT object URLs with a content-type. Resolves GitHub issue #721.

New in AWS SDK for Ruby 2.0.28 (Feb 25, 2015)

  • New Features:
  • Aws::RDS - Added an initial resource interface implementation.
  • Aws::DataPipeline - Added support for tagging.
  • Aws::Route53 - Added support for the new ListHostedZonesByName and GetHostedZoneCount operations.

New in AWS SDK for Ruby 2.0.27 (Feb 21, 2015)

  • New Features:
  • Aws::ECS - Added support for volume mounts.
  • Aws::ElasticTranscoder - Added support for warnings and cross region.
  • Aws::Route53::Domains - Added paginators.
  • Resolved Issues:
  • Aws::S3 - Expanded logic for yielding data to a given block for more than just HTTP 200 response status codes. This is important so that 206 responses can yield their data. This happens when using range headers.

New in AWS SDK for Ruby 2.0.26 (Feb 18, 2015)

  • New Features:
  • API Documentation - Updated the API reference documentation to use the new framless Yard layout.
  • Resolved Issues:
  • Aws::STS - Reverted regionalized endpoints. Customers relying on the Aws::STS::Client using the 'sts.amazonaws.com' endpoint, even when specifying a region such as 'us-west-2' would likely receive errors when they are sent to the 'sts.us-west-2.amazonaws.com' endpoint. This is due to the new endpoints being opt-in via the AWS console. Reverting the change to prevent runtime-errors for customers that have not opted-in.
  • Resource Waiters - Resolve an issue where the resource waiter methods were not yielding the waiter object like the client waiters do. This made it impossible to configure the delay and max attempts or callbacks.

New in AWS SDK for Ruby 2.0.25 (Feb 18, 2015)

  • Upgrading Notes:
  • Aws::InstanceProfileCredentials - Increased the default number of attempts to make when loading credentials from the Amazon EC2 instance metadata service before failing from 0 to 5. Also increased the default open and read timeouts from 1 to 5 seconds each. This increases the reliability of loading instance credentials.
  • These new defaults only affect users who are constructing Aws::InstanceProfileCredential objects directly. If you are using the default credential provider chain, the original defaults remain un-changed.
  • To revert to default values:
  • Aws.config[:credentials] = Aws::InstanceProfileCredentials.new(
  • retries: 0,
  • http_open_timeout: 1,
  • http_read_timeout: 1
  • New Features:
  • Aws::SSM - Added support fot the new Amazon Simple Systems Management Service.
  • Aws::CloudFront
  • Added support for the 2014-11-06 API version.
  • Aws::STS - Added support for the regionalized enpoints.
  • Resolved Issues:
  • Aws::S3 - Resolved an issue where the Aws::S3::Client would raise an unhelpful error when credentials were not set. Now the client will raise an Aws::Errors::MissingCredentialsError when an API operation is called and credentials are not provided. Resolves GitHub issue #708.
  • Aws::SharedCredentials - Now ignoring trailing whitespace from the access key id and secret access key values when loading the INI file.

New in AWS SDK for Ruby 2.0.24 (Feb 13, 2015)

  • This release adds support for named and managed policies, and tagging operations.

New in AWS SDK for Ruby 2.0.23 (Feb 11, 2015)

  • New Features:
  • Aws::DynamoDB - Added support for the new index scan feature to Aws::DynamoDB::Client.
  • Resolved Issues:
  • Aws::S3 - Resolved an issue where calling Aws::S3::Client#get_object with a block would yield error data for non-200 HTTP responses. Resolves GitHub issue #207.
  • CloudFormation - Resolved an issue with Aws::CloudFormation resource interfaces for accessing associated "has" associations. Fixes GitHub issue #209.
  • Resource Waiters - Resolved an issue with resource waiters raising an error after success. Introduced v2.0.19.pre. Resolves GitHub issue #210.

New in AWS SDK for Ruby 2.0.22 (Feb 6, 2015)

  • Upgrading Notes:
  • Aws::SQS::Resources - Removed resource interfaces for Aws::SQS. These are unstable, so they have been removed for the public release of aws-sdk-resources.
  • New Features:
  • Aws::S3::Presigner - Added a :secure option to #presigned_url, which defaults to true. When false, the presigned URL will use HTTP and not HTTPS.
  • Resolved Issues:
  • Aws::EC2 - Fixed the return value from Aws::EC2::Resource#create_volume.

New in AWS SDK for Ruby 2.0.21 (Jan 30, 2015)

  • Updates the API for Aws::DynamoDB, and Aws::ImportExport, and resolves a few issues.
  • New Features:
  • Aws::ImportExport - Added support for the new get shipping label API operation.
  • Aws::DynamoDB - Added support for online indexing.
  • Resolved Issues:
  • Response Stubbing - Resolved an issue where the response stubbing plugin would not correctly populate the response target for streaming API calls, such as Aws::S3::Client#get_object. Fixes GitHub issue #197.
  • Aws::EC2 - Added missing paginator configuration for Aws::EC2::Client#describe_instances. Fixes GitHub issue #196.

New in AWS SDK for Ruby 2.0.20 (Jan 22, 2015)

  • Updates support for Aws::EMR, Aws::CognitoIdentity, and Aws::AutoScaling.
  • New Features:
  • Aws::EMR - Added support for Custom security groups feature for Amazon Elastic MapReduce (EMR). Custom security groups allow you to define fine grain control over the security rules for your EMR cluster by specifying your own Amazon EC2 security groups.
  • Aws::CognitoIdentity - Amazon Cognito now allows developers to save the association between IAM roles and an identity pool via the #set_identity_pool_roles API. Identity pools with IAM roles associated can use the new #get_credentials_for_identity API to retrieve a set of temporary credentials based on the associated roles. Roles associated to the pool must be properly configured to work with Amazon Cognito. Developers can still use the #get_open_id_token API in conjunction with STS #assume_role_with_web_identity API if there are no roles associated with their pool.
  • Aws::AutoScaling - Added support to Aws::AutoScaling::Client for classic link.

New in AWS SDK for Ruby 2.0.19 (Jan 20, 2015)

  • Adds new features to Aws::ElasticTranscoder, updates to the v2 format for waiters and resolves a few issues.
  • New Features:
  • Aws::ElasticTranscoder - Updated Client to support the new encryption features.
  • Waiters - Added support for version 2 of the waiters definition format.
  • Resolved Issues:
  • Pagingation - Resolved an issue where an empty hashes or arrays were being treated as valid next tokens for paging response. This appears to only have affected Aws::DynamoDB::Client#batch_get_item.
  • Instance Profile Credentials - Resolved an issue where instance profile credentials would never load if the first attempt fails. See GitHub issue #193.
  • Aws::S3::Object - Resolved an issue with #upload_file where options intended for #initiate_multipart_upload are being passed along to individual #upload_part API calls. Fixes GitHub issue #684.

New in AWS SDK for Ruby 2.0.18 (Jan 9, 2015)

  • New Features:
  • Changed Description
  • Added support for the new Amazon CloudHSM service.
  • Added support for the new Amazon EC2 Container Service.
  • Added support for Amazon EC2 classic link
  • Updated to the latest API version, 2014-10-31, adding support for the new #describe_pending_maintenance_actions operation to Aws::RDS::Client.
  • Resolved Issues
  • Changed Description:
  • Resolved an issue with Aws::S3::Client#get_bucket_location. Fixes GitHub issue #185.

New in AWS SDK for Ruby 2.0.17 (Dec 23, 2014)

  • Resolves an issue with JSON services.

New in AWS SDK for Ruby 2.0.16 (Dec 19, 2014)

  • Adds support for task priorities to Aws::SWF::Client.

New in AWS SDK for Ruby 2.0.15 (Dec 18, 2014)

  • Adds support for client-side encryption with Amazon S3, Amazon DynamoDB CRC32 checksum verification, and adds support for new features of Amazon Elastic MapReduce, and AWS Storage Gateway.

New in AWS SDK for Ruby 2.0.14 (Dec 18, 2014)

  • Adds support for data retrieval policies to Aws::Glacier and adds support for user metadata to Aws::ElasticTranscoder.

New in AWS SDK for Ruby 2.0.13 (Dec 11, 2014)

  • You can now use AWS OpsWorks with existing EC2 instances and on-premises servers. Also added support for purging queues and resolved a few issues.

New in AWS SDK for Ruby 2.0.9 (Nov 17, 2014)

  • New Features:
  • New Service - Added support for AWS Lambda. lambda = Aws::Lambda::Client.new
  • Aws::S3 - Added support for event notifications to Aws::S3::Client.
  • Aws::ConfigService - Added paginators for Aws::ConfigService::Client#get_resource_config_history.

New in AWS SDK for Ruby 2.0.8 (Nov 13, 2014)

  • Adds support for Amazon Key Management Service, AWS CodeDeploy, and AWS Config.

New in AWS SDK for Ruby 2.0.6 (Oct 31, 2014)

  • This release expands support for Resource objects in Aws::S3 and Aws::EC2.

New in AWS SDK for Ruby 2.0.3 (Oct 21, 2014)

  • New Features:
  • Amazon RDS - Added support for the 2014-09-01 API version.
  • Pre-signed URLs - Added the ability to generate presigned URLs from an Aws::S3::Object.
  • s3 = Aws::S3::Resource.new
  • obj = s3.bucket('aws-sdk').object('key')
  • obj.presigned_url(:get)
  • #=> "https://bucket-name.s3.amazonaws.com/object-key?..."
  • URLs expire in 15 minutes by default. You can configure the expiration period and provide additional params:
  • # url expires in one hour, the file upload will be
  • # publicly accessible
  • obj.presigned_url(:put, expires_in: 3600, acl: 'public-read')
  • HTTP - Added the ability to configure the CA Cert store for HTTPs requests. Aws.config[:ssl_ca_store] = OpenSSL::X509::Store.new
  • Waiters - Added waiters for Amazon EC2 instance instance and system status.
  • Waiters - Added waiters for Amazon EC2 image availability.
  • Waiters - Added :job_complete waiter to Aws::ElasticTranscoder::Client.
  • Aws::CloudSearch::Client
  • Added support for configuring advanced Japanese language processing.
  • Resolved Issues:
  • Nil values - Resolved an issue with the query serializer sending nil values. See #133.

New in AWS SDK for Ruby 2.0.2 (Oct 9, 2014)

  • This release adds support for Amazon DynamoDB documents, and a managed Amazon S3 file uploader.

New in AWS SDK for Ruby 2.0.0 Pre (Sep 26, 2014)

  • Changed:
  • S3 Presigned URLs - Added support for pre-signed URLs for Amazon S3. ruby presigner = Aws::S3::Presigner.new presigner.presigned_url(:put_object, bucket:'aws-sdk', key:'key') #=> "https://aws-sdk.s3.amazonaws.com/key?..."
  • Autoload - Service modules / classes now autoload upon first use. This speeds up gem load time significantly.
  • Resources - Resource constructors now pass additional options to the Client constructor when :client is not provided.

New in AWS SDK for Ruby 2.0.0 RC 15 (Aug 19, 2014)

  • Feature - Aws::S3::Client - Enabling url-encoding of Amazon S3 keys by default. Keys are decoded before response data is returned. See #95.
  • Feature - Aws::ElasticLoadBalancing::Client - Added support for the new tagging operations.
  • Feature - Aws::CloudSearch::Client - Will now sign requests when credentials are provided. You can continue making unauthenticated requests if you do not configure credentials to the client.
  • Feature - Coverage - Now generating coverage reports during Travis builds and reporting via Coveralls.io.
  • Upgrading - Aws::DynamoDB::Client - Added a plugin that simplifies working with DynamoDB attribute values. Enabled by default, to restore default behavior, use :simple_attributes => false.
  • Issue - Documentation - Now loading API files with UTF-8 encoding. See #92.

New in AWS SDK for Ruby 1.49.0 (Jul 29, 2014)

  • New Features:
  • AWS::ELB - Elastic Load Balancing now offers support for configurable idle timeouts. This setting allows you to specify the length of time that a connection should remain open while in an idle state.

New in AWS SDK for Ruby 1.48.0 (Jul 17, 2014)

  • New Features:
  • AWS::IAM - This release adds support for AWS IAM self-service password rotation features and retrieval of credential reports.
  • AWS::Support - API Update for AWS Support.

New in AWS SDK for Ruby 1.47.0 (Jul 12, 2014)

  • New Features:
  • AWS::Route53 - Update Route 53 to Latest API Version
  • This release of Amazon Route 53 adds names and cost allocation tags for health checks, editable health checks, and two API actions related to health checks.
  • AWS::EC2 - Update Amazon EC2 to Latest API Version
  • Adds a new method, AWS::EC2::Client#modify_subnet_attribute

New in AWS SDK for Ruby 1.46.0 (Jul 3, 2014)

  • AWS::EC2 - Add support for Amazon EC2 T2 instances.

New in AWS SDK for Ruby 1.45.0 (Jun 27, 2014)

  • Added support for the 2014-05-01 API version of Amazon CloudFront.
  • This change adds support for delivery notifications to Amazon Simple Email Service.

New in AWS SDK for Ruby 1.25.0 (Nov 13, 2013)

  • Add Cross-Zone Load Balancing to Elastic Load Balancing
  • New API Version 2013-06-30 for AWS Storage Gateway
  • Added support for stack policies to the the AWS CloudFormation client.
  • Fixed a bug with Auto Scaling scheduled actions.

New in AWS SDK for Ruby 1.24.0 (Nov 1, 2013)

  • Adds support for new Amazon Elastic MapReduce APIs, termination of specific cluster instances, and unlimited EMR steps.

New in AWS SDK for Ruby 1.23.0 (Oct 25, 2013)

  • Updates to AWS Direct Connect API.

New in AWS SDK for Ruby 1.22.0 (Oct 22, 2013)

  • Amazon CloudFront API Version Bump to 2013-09-27
  • Audio-Only Support for Amazon Elastic Transcoder.
  • Adds support for audio-only transcoding features in Amazon Elastic Transcoder.
  • Resolved an issue with the REXML XML parser. This parser is only used when Nokogiri fails to load.
  • When constructing a client, the API version can be specified via the :config option.
  • Fixed a bug in AWS::DynamoDB::ItemCollection#first
  • Fixed an issue with uploading files to Amazon Glacier in Ruby 1.8.
  • Add conditional to Amazon Security Token Service to work with both AWS GovCloud and commercial API endpoints.

New in AWS SDK for Ruby 1.20.0 (Oct 7, 2013)

  • Update API version for Amazon CloudFront.

New in AWS SDK for Ruby 1.19.0 (Sep 24, 2013)

  • API Updates for Auto Scaling.
  • You can now use Auto Scaling or CloudFormation to assign a public IP address automatically to any instance launched inside an Amazon Virtual Private Cloud (VPC).
  • Adds validation that two required parameters in AWS::S3::Client#put_bucket_cors are present and match the type requirements.

New in AWS SDK for Ruby 1.18.0 (Sep 16, 2013)

  • Upgrades AWS::EC2::Client to 2013-08-15 API version. Includes modifications to Amazon EC2 Reserved Instances API.
  • API Update for AWS::OpsWorks::Client
  • Updates the OpsWorks Client API to include VPC support.

New in AWS SDK for Ruby 1.14.0 (Jul 25, 2013)

  • Updated AWS::OpsWorks::Client to latest API version.
  • AWS OpsWorks service now supports custom Amazon Machine Images (AMIs) and Chef 11.
  • Updated AWS::SimpleWorkflow::Client and AWS::SNS::Client to latest API versions.

New in AWS SDK for Ruby 1.13.0 (Jul 19, 2013)

  • The AWS::DynamoDB::ClientV2 has been deprecated. You should now specify the target API version to use when constructing a client with the :api_version option.
  • Client classes now support multiple API versions. When constructing a client, you will get a client for a specific API version.
  • Added a -e option to aws-rb.
  • You can now load credentials from a file on disk using the new AWS::Core::CredentialProviders::CredentialFileProvider.
  • Updated AWS::Redshift::Client to latest API version.
  • Added AWS::STS::Client#decode_authorization_message to AWS Security Token Service client.
  • AWS::CloudFront::Client now supports the 2013-05-12 API version.
  • AWS::RDS::Client now supports the 2013-05-15 API version.
  • AWS::Record attributes now accept default values set via a proc. By using a Proc, you can ensure default values are calculated dynamically at runtime.AWS::S3::Client#put_bucket_website now omits empty routing rules.
  • Allows Amazon S3 Presigned Posts to accept arbitrary options.
  • Resolved an issue with errors with empty response bodies.
  • Fixed issue with pagination in Amazon S3.

New in AWS SDK for Ruby 1.11.0 (Jun 3, 2013)

  • New Features:
  • Adds support for web identity federation to AWS::STS.

New in AWS SDK for Ruby 1.9.5 (May 1, 2013)

  • AWS Support:
  • Added support for AWS Support API (AWS::Support)

New in AWS SDK for Ruby 1.9.0 (Apr 18, 2013)

  • New Features:
  • AWS::DynamoDB::ClientV2: Added support for the AWS DynamoDB 2012-08-10 API. You can use the new API from AWS::DynamoDB::ClientV2.
  • Regions: Improved support for working with alternative regions and multiple regions.
  • Region Configuration
  • AWS::DirectConnect: Added support for AWS Direct Connect (2012-10-25).
  • AWS::RDS::Client: Updated AWS::RDS::Client to the latest API version (2013-02-12).
  • Retry Logic: Improved retry logic for throttling errors and expired credentials.
  • Eager Autoloading: AWS.eager_autoload! no longer relies on a register_autoloads hook.
  • AWS::RDS::DBInstance: Added #vpc_id and #vpc methods to AWS::RDS::DBInstance.
  • Documentation: Added documentation for enumerated values to the client API docs.
  • Documentation: Converted API docs from rdoc to markdown format.
  • Resolved Issues:
  • ConnectionPool: Simplified the connection pool and addressed a few issues.
  • AWS::CloudFront: Added support for session credentials to AWS::CloudFront.
  • AWS::EC2::InstanceCollection#create: AWS::EC2::InstanceCollection#create now accepts :block_device_mappings in the same format aws AWS::EC2::Client#run_instances.
  • AWS::S3: Updated S3 interfaces to work with Ruby 2.0
  • AWS::OpsWorks API Configuration: Resolved an issue with the OpsWorks API configuration. One of the input params was incorrectly inflected.
  • AWS::EC2::Client: Corrected API configuration for VPC attribute methods: added missing required trait for VpcId to the modify operation, combined attributes into a single string.

New in AWS SDK for Ruby 1.8.5 (Apr 18, 2013)

  • New Features:
  • Updated AWS::RDS::Client to the latest API version (2013-02-12).
  • Resolved Issues:
  • Corrected API configuration for VPC attribute methods.
  • Added missing required trait for VpcId to the modify operation.
  • Combined attributes into a single string.

New in AWS SDK for Ruby 1.8.4 (Mar 12, 2013)

  • This release updates AWS::EC2::Client to the latest API version and resolves and issue.

New in AWS SDK for Ruby 1.8.1 (Feb 15, 2013)

  • New Features:
  • Added support for Amazon Elastic Transcoder (AWS::ElasticTranscoder).
  • Removed gem dependency on HTTParty and removed the legacy HTTParty based handler.
  • Increased the number of Errors retried by the NetHttpHandler.
  • Added support for Amazon S3 website configuration to AWS::S3::Bucket.
  • Resolved Issues:
  • Resolved an issue where the default credential provider failed to refresh credentials from the EC2 instance metadata service.
  • Resolved an issue where ingress and egress permissions munged the port range under certain circumstances.
  • Resolved an issue generating the tree-hash for Glacier requests.
  • Resolved an issue that prevented AWS::EC2::Region#client from returning a client with the correct endpoint.