aws-sdk 1.9.1 → 1.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,6 +22,8 @@ module AWS
22
22
  # Base client class for all of the Amazon AWS service clients.
23
23
  class Client
24
24
 
25
+ extend Deprecations
26
+
25
27
  # Raised when a request failed due to a networking issue (e.g.
26
28
  # EOFError, IOError, Errno::ECONNRESET, Errno::EPIPE,
27
29
  # Timeout::Error, etc)
@@ -59,8 +61,9 @@ module AWS
59
61
  @http_handler = @config.http_handler
60
62
  @endpoint = config.send(:"#{service_ruby_name}_endpoint")
61
63
  @port = config.send(:"#{service_ruby_name}_port")
62
- @http_read_timeout = @config.http_read_timeout
63
64
 
65
+ # deprecated attributes
66
+ @http_read_timeout = @config.http_read_timeout
64
67
  end
65
68
 
66
69
  # @return [Configuration] This clients configuration.
@@ -82,7 +85,9 @@ module AWS
82
85
 
83
86
  # @return [Integer] The number of seconds before requests made by
84
87
  # this client should timeout if they have not received a response.
88
+ # @api private
85
89
  attr_reader :http_read_timeout
90
+ deprecated :http_read_timeout, :use => 'config.http_read_timeout'
86
91
 
87
92
  # @return [String] Returns the service endpoint (hostname) this client
88
93
  # makes requests against.
@@ -528,7 +533,7 @@ module AWS
528
533
 
529
534
  # configure the http request
530
535
  http_request.service_ruby_name = service_ruby_name
531
- http_request.default_read_timeout = http_read_timeout
536
+ http_request.default_read_timeout = @config.http_read_timeout
532
537
  http_request.host = endpoint
533
538
  http_request.port = port
534
539
  http_request.region = config.send(:"#{service_ruby_name}_region")
@@ -376,10 +376,6 @@ module AWS
376
376
 
377
377
  def add_service name, ruby_name, endpoint_pattern = nil, &endpoint_builder
378
378
 
379
- Region.send(:define_method, ruby_name) do
380
- AWS.const_get(name).new(:config => config)
381
- end
382
-
383
379
  add_option :"#{ruby_name}_endpoint" do |config,value|
384
380
  if value
385
381
  value
@@ -0,0 +1,84 @@
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ module AWS
15
+ module Core
16
+
17
+ # A utility module that provides a class method that wraps
18
+ # a method such that it generates a deprecation warning when called.
19
+ # Given the following class:
20
+ #
21
+ # class Example
22
+ #
23
+ # def do_something
24
+ # end
25
+ #
26
+ # end
27
+ #
28
+ # If you want to deprecate the `#do_something` method, you can extend
29
+ # this module and then call `deprecated` on the method (after it
30
+ # has been defined).
31
+ #
32
+ # class Example
33
+ #
34
+ # extend AWS::Core::Deprecations
35
+ #
36
+ # def do_something
37
+ # end
38
+ #
39
+ # def do_something_else
40
+ # end
41
+ #
42
+ # deprecated :do_something
43
+ #
44
+ # end
45
+ #
46
+ # The `#do_something` method will continue to function, but will
47
+ # generate a deprecation warning when called.
48
+ #
49
+ # @api private
50
+ module Deprecations
51
+
52
+ # @param [Symbol] method The name of the deprecated method.
53
+ #
54
+ # @option options [String] :message The warning message to issue
55
+ # when the deprecated method is called.
56
+ #
57
+ # @option options [Symbol] :use The name of an use
58
+ # method that should be used.
59
+ #
60
+ def deprecated method, options = {}
61
+
62
+ deprecation_msg = options[:message] || begin
63
+ msg = "DEPRECATION WARNING: called deprecated method `#{method}' "
64
+ msg << "of #{self.name}"
65
+ msg << ", try calling #{options[:use]} instead" if options[:use]
66
+ msg
67
+ end
68
+
69
+ alias_method(:"deprecated_#{method}", method)
70
+
71
+ warned = false # we only want to issue this warning once
72
+
73
+ define_method(method) do |*args,&block|
74
+ unless warned
75
+ warn(deprecation_msg)
76
+ warned = true
77
+ end
78
+ send("deprecated_#{method}", *args, &block)
79
+ end
80
+ end
81
+
82
+ end
83
+ end
84
+ end
@@ -29,6 +29,7 @@ module AWS
29
29
  # @attr_reader [CloudWatch] cloud_watch
30
30
  # @attr_reader [DynamoDB] dynamo_db
31
31
  # @attr_reader [DataPipeline] data_pipeline
32
+ # @attr_reader [DirectConnect] direct_connect
32
33
  # @attr_reader [EC2] ec2
33
34
  # @attr_reader [ElastiCache] elasticache
34
35
  # @attr_reader [ElasticBeanstalk] elastic_beanstalk
@@ -67,6 +68,12 @@ module AWS
67
68
  # @return [Configuration]
68
69
  attr_reader :config
69
70
 
71
+ AWS::SERVICES.each_pair do |name,service|
72
+ define_method(service[:ruby_name]) do
73
+ AWS.const_get(name).new(:config => config)
74
+ end
75
+ end
76
+
70
77
  end
71
78
  end
72
79
  end
@@ -79,7 +79,7 @@ module AWS
79
79
  # this subnet and its network ACL.
80
80
  def network_acl_association
81
81
  associations = AWS.memoize { vpc.network_acls.map(&:associations) }.flatten
82
- associations.first{|a| a.subnet == self }
82
+ associations.find{|a| a.subnet == self }
83
83
  end
84
84
 
85
85
  # @return [RouteTable] Returns the route table currently associated
@@ -12,7 +12,7 @@
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
14
  require 'aws/core'
15
- require 'aws/elb/config'
15
+ require 'aws/elastic_beanstalk/config'
16
16
 
17
17
  module AWS
18
18
 
@@ -12,7 +12,7 @@
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
14
  require 'aws/core'
15
- require 'aws/glacier/config'
15
+ require 'aws/elastic_transcoder/config'
16
16
 
17
17
  module AWS
18
18
 
@@ -13,5 +13,5 @@
13
13
 
14
14
  module AWS
15
15
  # Current version of the AWS SDK for Ruby
16
- VERSION = '1.9.1'
16
+ VERSION = '1.9.2'
17
17
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.1
4
+ version: 1.9.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-18 00:00:00.000000000 Z
12
+ date: 2013-04-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: uuidtools
@@ -68,7 +68,7 @@ files:
68
68
  - ca-bundle.crt
69
69
  - rails/init.rb
70
70
  - .yardopts
71
- - README.rdoc
71
+ - README.md
72
72
  - LICENSE.txt
73
73
  - lib/aws/auto_scaling/activity.rb
74
74
  - lib/aws/auto_scaling/activity_collection.rb
@@ -141,6 +141,7 @@ files:
141
141
  - lib/aws/core/configuration.rb
142
142
  - lib/aws/core/credential_providers.rb
143
143
  - lib/aws/core/data.rb
144
+ - lib/aws/core/deprecations.rb
144
145
  - lib/aws/core/http/connection_pool.rb
145
146
  - lib/aws/core/http/curb_handler.rb
146
147
  - lib/aws/core/http/handler.rb
@@ -581,7 +582,6 @@ files:
581
582
  - lib/aws.rb
582
583
  - lib/aws/api_config/AutoScaling-2011-01-01.yml
583
584
  - lib/aws/api_config/CloudFormation-2010-05-15.yml
584
- - lib/aws/api_config/CloudFront-2012-05-05.yml
585
585
  - lib/aws/api_config/CloudFront-2012-07-01.yml
586
586
  - lib/aws/api_config/CloudSearch-2011-02-01.yml
587
587
  - lib/aws/api_config/CloudWatch-2010-08-01.yml
@@ -590,7 +590,6 @@ files:
590
590
  - lib/aws/api_config/DynamoDB-2011-12-05.yml
591
591
  - lib/aws/api_config/DynamoDB-2012-08-10.yml
592
592
  - lib/aws/api_config/EC2-2013-02-01.yml
593
- - lib/aws/api_config/ElastiCache-2012-03-09.yml
594
593
  - lib/aws/api_config/ElastiCache-2012-11-15.yml
595
594
  - lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml
596
595
  - lib/aws/api_config/ElasticTranscoder-2012-09-25.yml
@@ -600,10 +599,8 @@ files:
600
599
  - lib/aws/api_config/IAM-2010-05-08.yml
601
600
  - lib/aws/api_config/ImportExport-2010-06-01.yml
602
601
  - lib/aws/api_config/OpsWorks-2013-02-18.yml
603
- - lib/aws/api_config/RDS-2012-09-17.yml
604
602
  - lib/aws/api_config/RDS-2013-02-12.yml
605
603
  - lib/aws/api_config/Redshift-2012-12-01.yml
606
- - lib/aws/api_config/Route53-2012-02-29.yml
607
604
  - lib/aws/api_config/Route53-2012-12-12.yml
608
605
  - lib/aws/api_config/SimpleDB-2009-04-15.yml
609
606
  - lib/aws/api_config/SimpleEmailService-2010-12-01.yml
@@ -1,197 +0,0 @@
1
- = Links of Interest
2
-
3
- * {API Documentation}[http://docs.aws.amazon.com/AWSRubySDK/latest/frames.html]
4
- * {Issues}[http://github.com/aws/aws-sdk-ruby/issues]
5
- * {Release Notes}[http://aws.amazon.com/releasenotes/Ruby]
6
- * {Forums}[https://forums.aws.amazon.com/forum.jspa?forumID=125]
7
- * {License}[http://aws.amazon.com/apache2.0/]
8
-
9
- = Getting Started with the AWS SDK for Ruby {<img src="https://secure.travis-ci.org/aws/aws-sdk-ruby.png?branch=master" alt="Build Status" />}[http://travis-ci.org/aws/aws-sdk-ruby]
10
-
11
- The AWS SDK for Ruby helps you to get started building applications
12
- using AWS infrastructure services, including Amazon Simple Storage
13
- Service (Amazon S3), Amazon Elastic Compute Cloud (Amazon EC2), Amazon
14
- SimpleDB, and more. This guide shows how you can start building Ruby
15
- and Rails applications on the Amazon Web Services platform with the
16
- AWS Ruby gem.
17
-
18
- = Get Set Up
19
-
20
- To get set up, you must sign up for Amazon Web Services, get your AWS
21
- credentials, and set up your environment.
22
-
23
- == Sign Up for AWS Products
24
-
25
- Before you can begin, you must sign up for each AWS product you want
26
- to use. The sample included in the SDK uses Amazon S3, so we'll use
27
- that product as an example here.
28
-
29
- === To sign up for a product
30
-
31
- 1. Go to the home page for the product, for example
32
- http://aws.amazon.com/s3.
33
-
34
- *Tip:* Go to http://aws.amazon.com/products for a list of links to all our products.
35
-
36
- 2. Click the sign-up button on the top right corner of the page.
37
-
38
- 3. Follow the on-screen instructions. If you don't already have an AWS
39
- account, you are prompted to create one as part of the sign-up
40
- process.
41
-
42
- AWS sends you a confirmation e-mail after the sign-up process is
43
- complete. You can view your current account activity or manage your
44
- account at any time, by going to http://aws.amazon.com and clicking
45
- the *Account* tab.
46
-
47
- == Get Your Credentials
48
-
49
- To use the AWS SDK for Ruby, you need your AWS Access Key ID and Secret Access Key.
50
-
51
- === To get your AWS Access Key ID and Secret Access Key
52
-
53
- 1. Go to http://aws.amazon.com.
54
-
55
- 2. Click *Account* and then click <b>Security Credentials</b>.
56
- The Security Credentials page displays (you might be prompted to log in).
57
-
58
- 3. Scroll down to Access Credentials and make sure the <b>Access Keys</b> tab
59
- is selected. The AWS Access Key ID appears in the Access Key column.
60
-
61
- 4. To view the Secret Access Key, click *Show*.
62
-
63
- *Important!* Your Secret Access Key is a secret, which only you and
64
- AWS should know. It is important to keep it confidential to protect
65
- your account. Store it securely in a safe place. Never include it in
66
- your requests to AWS, and never e-mail it to anyone. Do not share it
67
- outside your organization, even if an inquiry appears to come from AWS
68
- or Amazon.com. No one who legitimately represents Amazon will ever ask
69
- you for your Secret Access Key.
70
-
71
- == Set Up Your Environment
72
-
73
- The AWS Ruby gem runs on Ruby 1.8.7 and later. If you have an older
74
- version of Ruby, RVM is a great way to get started using the latest
75
- version.
76
-
77
- = Install the SDK
78
-
79
- To install the AWS Ruby gem, just enter:
80
-
81
- gem install aws-sdk
82
-
83
- = Run the Samples
84
-
85
- Now that you've installed the gem, you can run the samples, which you
86
- can find in our GitHub repository:
87
-
88
- $ git clone git://github.com/aws/aws-sdk-ruby
89
- $ cd aws-sdk-ruby/samples/
90
-
91
- The subdirectories of the +samples+ directory contain several code
92
- samples that you can run. These samples demonstrate basic usage of
93
- the SDK features.
94
-
95
- == To run the Amazon S3 Sample
96
-
97
- 1. Create a file named config.yml in the samples directory as follows:
98
-
99
- # Fill in your AWS Access Key ID and Secret Access Key
100
- # http://aws.amazon.com/security-credentials
101
- access_key_id: REPLACE_WITH_ACCESS_KEY_ID
102
- secret_access_key: REPLACE_WITH_SECRET_ACCESS_KEY
103
-
104
- 2. Run a sample script with the Ruby interpreter. For example, to run
105
- the s3/upload_file.rb sample:
106
-
107
- $ echo "Hello, World!" > helloworld.txt
108
- $ ruby s3/upload_file.rb unique-bucket-name helloworld.txt
109
-
110
- == To use the AWS ORM in a Rails 3 application
111
-
112
- 1. Install the gem:
113
-
114
- $ gem install aws-sdk
115
-
116
- 2. Start a new Rails project:
117
-
118
- $ gem install rails
119
- $ rails new myapp
120
- $ cd myapp/
121
-
122
- 3. Add the following line to your Gemfile:
123
-
124
- gem 'aws-sdk'
125
-
126
- 4. Install dependencies:
127
-
128
- $ bundle install
129
-
130
- 5. Create config/aws.yml as follows:
131
-
132
- # Fill in your AWS Access Key ID and Secret Access Key
133
- # http://aws.amazon.com/security-credentials
134
- access_key_id: REPLACE_WITH_ACCESS_KEY_ID
135
- secret_access_key: REPLACE_WITH_SECRET_ACCESS_KEY
136
-
137
- 6. Create config/initializers/aws.rb as follows:
138
-
139
- # load the libraries
140
- require 'aws-sdk'
141
- # log requests using the default rails logger
142
- AWS.config(:logger => Rails.logger)
143
- # load credentials from a file
144
- config_path = File.expand_path(File.dirname(__FILE__)+"/../aws.yml")
145
- AWS.config(YAML.load(File.read(config_path)))
146
-
147
- 7. Create app/models/my_record.rb as follows:
148
-
149
- class MyRecord < AWS::Record::Base
150
- string_attr :name
151
- end
152
-
153
- 8. Create the SimpleDB domain:
154
-
155
- $ rails console
156
- > MyRecord.create_domain
157
-
158
- Now, you can play around with the model by creating some records and querying them:
159
-
160
- > MyRecord.find(:all).to_a
161
- => []
162
- > MyRecord.new(:name => "The first one").save
163
- => true
164
- > MyRecord.new(:name => "The second one").save
165
- => true
166
- > MyRecord.where('name like ?', "%first%").count
167
- => 1
168
-
169
- Exit the rails console before continuing to the next step:
170
-
171
- > exit
172
-
173
- 9. Generate a scaffold controller for your model:
174
-
175
- $ rails generate scaffold_controller MyRecord name:string
176
- $ rails server
177
-
178
- 10. Add a route to your scaffold controller in config/routes.rb:
179
-
180
- Myapp::Application.routes.draw do
181
- # add this line:
182
- resources :my_records
183
- end
184
-
185
- 11. Now, you can create records in the browser at http://localhost:3000/my_records.
186
-
187
- = Where Do I Go from Here?
188
-
189
- For more information about the AWS SDK for Ruby, including a complete
190
- list of supported AWS products, go to
191
- http://aws.amazon.com/sdkforruby.
192
-
193
- The SDK reference documentation provides information about both the
194
- AWS Ruby gem and AWS Rails integration gem. You can find it at
195
- http://docs.amazonwebservices.com/AWSRubySDK/latest.
196
-
197
- Licensed under Apache 2.0. See {file:LICENSE.txt} and {file:NOTICE.txt} files.