aws-sdk 1.24.0 → 1.25.0

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.
@@ -16,8 +16,6 @@ require 'time'
16
16
  module AWS
17
17
  class AutoScaling
18
18
 
19
- # @attr_reader [String] auto_scaling_group_name
20
- #
21
19
  # @attr_reader [Integer] desired_capacity
22
20
  #
23
21
  # @attr_reader [String] recurrence
@@ -35,7 +33,8 @@ module AWS
35
33
  class ScheduledAction < Core::Resource
36
34
 
37
35
  # @api private
38
- def initialize name, options = {}
36
+ def initialize group, name, options = {}
37
+ @group = group
39
38
  @name = name
40
39
  super
41
40
  end
@@ -43,9 +42,14 @@ module AWS
43
42
  # @return [String]
44
43
  attr_reader :name
45
44
 
46
- attribute :arn, :from => :scheduled_action_arn
45
+ attr_reader :group
47
46
 
48
- attribute :auto_scaling_group_name, :static => true
47
+ # @return [String]
48
+ def auto_scaling_group_name
49
+ group.name
50
+ end
51
+
52
+ attribute :arn, :from => :scheduled_action_arn
49
53
 
50
54
  attribute :desired_capacity
51
55
 
@@ -65,11 +69,6 @@ module AWS
65
69
  end
66
70
  end
67
71
 
68
- # @return [Group]
69
- def group
70
- Group.new(auto_scaling_group_name, :config => config)
71
- end
72
-
73
72
  # Updates the scheduled action. If you omit an option,
74
73
  # the corresponding value remains unchanged in the Auto
75
74
  # Scaling group.
@@ -91,22 +90,15 @@ module AWS
91
90
  # @return [nil]
92
91
  #
93
92
  def update options = {}
94
-
95
- client_opts = options.dup
96
- client_opts[:scheduled_action_name] = name
97
- client_opts[:auto_scaling_group_name] = auto_scaling_group_name
98
-
99
- # convert these options to timestamps
93
+ options.update(resource_options)
94
+ # convert times to formatted strings
100
95
  [:start_time, :end_time].each do |opt|
101
- if client_opts[opt].is_a?(Time)
102
- client_opts[opt] = client_opts[opt].iso8601
96
+ if options[opt].is_a?(Time)
97
+ options[opt] = options[opt].iso8601
103
98
  end
104
99
  end
105
-
106
- client.put_scheduled_update_group_action(client_opts)
107
-
100
+ client.put_scheduled_update_group_action(options)
108
101
  nil
109
-
110
102
  end
111
103
  alias_method :put, :update
112
104
 
@@ -114,29 +106,33 @@ module AWS
114
106
  def exists?
115
107
  client_opts = {}
116
108
  client_opts[:scheduled_action_names] = [name]
109
+ client_opts[:auto_scaling_group_name] = auto_scaling_group_name
117
110
  resp = client.describe_scheduled_actions(client_opts)
118
111
  !resp.scheduled_update_group_actions.empty?
112
+ rescue Errors::ValidationError
113
+ false
119
114
  end
120
115
 
121
116
  # Deletes the current scheduled action.
122
117
  # @return [nil]
123
118
  def delete
124
- client_opts = {}
125
- client_opts[:scheduled_action_name] = name
126
- client_opts[:auto_scaling_group_name] = auto_scaling_group_name
127
- client.delete_scheduled_action(client_opts)
119
+ client.delete_scheduled_action(resource_options)
128
120
  nil
129
121
  end
130
122
 
131
123
  protected
132
124
 
133
125
  def resource_identifiers
134
- [[:name, name]]
126
+ [
127
+ [:auto_scaling_group_name, auto_scaling_group_name],
128
+ [:scheduled_action_name, name],
129
+ ]
135
130
  end
136
131
 
137
132
  def get_resource attr_name = nil
138
133
  client_opts = {}
139
134
  client_opts[:scheduled_action_names] = [name]
135
+ client_opts[:auto_scaling_group_name] = auto_scaling_group_name
140
136
  client.describe_scheduled_actions(client_opts)
141
137
  end
142
138
 
@@ -62,8 +62,10 @@ module AWS
62
62
  #
63
63
  def create name, options = {}
64
64
 
65
- scheduled_action = ScheduledAction.new(name,
66
- :auto_scaling_group_name => auto_scaling_group_name_opt(options),
65
+ group = auto_scaling_group(options)
66
+
67
+ scheduled_action = ScheduledAction.new(group, name,
68
+ :auto_scaling_group_name => group.name,
67
69
  :config => config)
68
70
 
69
71
  scheduled_action.update(options)
@@ -75,12 +77,14 @@ module AWS
75
77
  # @param [String] name The name of the scheduled action.
76
78
  # @return [ScheduledAction]
77
79
  def [] name
78
- options = {}
79
- options[:config] = config
80
- if group = @filters[:auto_scaling_group_name]
81
- options[:auto_scaling_group_name] = group
80
+ if group_name = @filters[:auto_scaling_group_name]
81
+ group = Group.new(group_name, :config => config)
82
+ ScheduledAction.new(group, name)
83
+ else
84
+ msg = 'uou must filter this collection by a group to get a ' +
85
+ 'scheduled action by name'
86
+ raise msg
82
87
  end
83
- ScheduledAction.new(name, options)
84
88
  end
85
89
 
86
90
  # Returns a new {ScheduledActionCollection} filtered
@@ -132,11 +136,11 @@ module AWS
132
136
 
133
137
  protected
134
138
 
135
- def auto_scaling_group_name_opt options
139
+ def auto_scaling_group(options)
136
140
 
137
141
  group = options.delete(:group)
138
142
  group ||= @filters[:auto_scaling_group_name]
139
- group = group.name if group.is_a?(Group)
143
+ group = Group.new(group, :config => config) if group.is_a?(String)
140
144
 
141
145
  unless group
142
146
  raise ArgumentError, 'missing required option :group'
@@ -176,9 +180,12 @@ module AWS
176
180
  resp = client.describe_scheduled_actions(options.merge(@filters))
177
181
  resp.scheduled_update_group_actions.each do |details|
178
182
 
183
+ group = Group.new(details[:auto_scaling_group_name], :config => config)
184
+
179
185
  scheduled_action = ScheduledAction.new_from(
180
186
  :describe_scheduled_actions,
181
187
  details,
188
+ group,
182
189
  details.scheduled_action_name,
183
190
  :config => config)
184
191
 
@@ -368,8 +368,8 @@ module AWS
368
368
  # and instance of {Core::Response} and returns a string.
369
369
  #
370
370
  # @option options [Integer] :max_retries (3) The maximum number of times
371
- # service errors (500) should be retried. There is an exponential
372
- # backoff in between service request retries, so the more retries the
371
+ # service errors (500) and throttling errors should be retried. There is
372
+ # an exponential backoff in between retries, so the more retries the
373
373
  # longer it can take to fail.
374
374
  #
375
375
  # @option options [String, URI, nil] :proxy_uri (nil) The URI of the proxy
@@ -121,8 +121,8 @@ module AWS
121
121
  # @attr_reader [LogFormatter] log_formatter The log message formatter.
122
122
  #
123
123
  # @attr_reader [Integer] max_retries (3) The maximum number of times
124
- # service errors (500) should be retried. There is an exponential
125
- # backoff in between service request retries, so the more retries the
124
+ # service errors (500) and throttling errors should be retried. There is
125
+ # an exponential backoff in between retries, so the more retries the
126
126
  # longer it can take to fail.
127
127
  #
128
128
  # @attr_reader [URI,nil] proxy_uri (nil) The URI of the proxy
@@ -1404,6 +1404,20 @@ module AWS
1404
1404
 
1405
1405
  end
1406
1406
 
1407
+ # Gets the torrent for a key.
1408
+ # @overload get_object_torrent(options = {})
1409
+ # @param [Hash] options
1410
+ # @option options [required,String] :bucket_name
1411
+ # @option options [required,String] :key
1412
+ # @return [Core::Response]
1413
+ #
1414
+ object_method(:get_object_torrent, :get, 'torrent') do
1415
+ process_response do |resp|
1416
+ extract_object_headers(resp)
1417
+ resp.data[:data] = resp.http_response.body
1418
+ end
1419
+ end
1420
+
1407
1421
  # @overload head_object(options = {})
1408
1422
  # @param [Hash] options
1409
1423
  # @option options [required,String] :bucket_name
@@ -73,7 +73,7 @@ module AWS
73
73
  part = resp.parts.first and
74
74
  part.part_number == part_number and
75
75
  part.send(name)) or
76
- raise "part 3 of upload abc123 does not exist"
76
+ raise "part #{part_number} of upload #{upload.id} does not exist"
77
77
  end
78
78
 
79
79
  end
@@ -17,7 +17,7 @@ module AWS
17
17
  # Client class for AWS Storage Gateway.
18
18
  class Client < Core::JSONClient
19
19
 
20
- API_VERSION = '2012-06-30'
20
+ API_VERSION = '2013-06-30'
21
21
 
22
22
  # @api private
23
23
  CACHEABLE_REQUESTS = Set[]
@@ -29,5 +29,12 @@ module AWS
29
29
  define_client_methods('2012-06-30')
30
30
 
31
31
  end
32
+
33
+ class Client::V20130630 < Client
34
+
35
+ define_client_methods('2013-06-30')
36
+
37
+ end
38
+
32
39
  end
33
40
  end
@@ -13,5 +13,5 @@
13
13
 
14
14
  module AWS
15
15
  # Current version of the AWS SDK for Ruby
16
- VERSION = '1.24.0'
16
+ VERSION = '1.25.0'
17
17
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.24.0
4
+ version: 1.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-31 00:00:00.000000000 Z
11
+ date: 2013-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: uuidtools
@@ -619,6 +619,7 @@ files:
619
619
  - lib/aws/api_config/SNS-2010-03-31.yml
620
620
  - lib/aws/api_config/SQS-2012-11-05.yml
621
621
  - lib/aws/api_config/StorageGateway-2012-06-30.yml
622
+ - lib/aws/api_config/StorageGateway-2013-06-30.yml
622
623
  - lib/aws/api_config/STS-2011-06-15.yml
623
624
  - lib/aws/api_config/Support-2013-04-15.yml
624
625
  - bin/aws-rb