aws-sdk-iam 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -39,7 +39,7 @@ module Aws::IAM
39
39
  # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
40
40
  # @return [String]
41
41
  def path
42
- data.path
42
+ data[:path]
43
43
  end
44
44
 
45
45
  # The stable and unique string identifying the instance profile. For
@@ -51,7 +51,7 @@ module Aws::IAM
51
51
  # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
52
52
  # @return [String]
53
53
  def instance_profile_id
54
- data.instance_profile_id
54
+ data[:instance_profile_id]
55
55
  end
56
56
 
57
57
  # The Amazon Resource Name (ARN) specifying the instance profile. For
@@ -63,13 +63,13 @@ module Aws::IAM
63
63
  # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
64
64
  # @return [String]
65
65
  def arn
66
- data.arn
66
+ data[:arn]
67
67
  end
68
68
 
69
69
  # The date when the instance profile was created.
70
70
  # @return [Time]
71
71
  def create_date
72
- data.create_date
72
+ data[:create_date]
73
73
  end
74
74
 
75
75
  # @!endgroup
@@ -138,6 +138,101 @@ module Aws::IAM
138
138
  })
139
139
  end
140
140
 
141
+ # @deprecated Use [Aws::IAM::Client] #wait_until instead
142
+ #
143
+ # Waiter polls an API operation until a resource enters a desired
144
+ # state.
145
+ #
146
+ # @note The waiting operation is performed on a copy. The original resource remains unchanged
147
+ #
148
+ # ## Basic Usage
149
+ #
150
+ # Waiter will polls until it is successful, it fails by
151
+ # entering a terminal state, or until a maximum number of attempts
152
+ # are made.
153
+ #
154
+ # # polls in a loop until condition is true
155
+ # resource.wait_until(options) {|resource| condition}
156
+ #
157
+ # ## Example
158
+ #
159
+ # instance.wait_until(max_attempts:10, delay:5) {|instance| instance.state.name == 'running' }
160
+ #
161
+ # ## Configuration
162
+ #
163
+ # You can configure the maximum number of polling attempts, and the
164
+ # delay (in seconds) between each polling attempt. The waiting condition is set
165
+ # by passing a block to {#wait_until}:
166
+ #
167
+ # # poll for ~25 seconds
168
+ # resource.wait_until(max_attempts:5,delay:5) {|resource|...}
169
+ #
170
+ # ## Callbacks
171
+ #
172
+ # You can be notified before each polling attempt and before each
173
+ # delay. If you throw `:success` or `:failure` from these callbacks,
174
+ # it will terminate the waiter.
175
+ #
176
+ # started_at = Time.now
177
+ # # poll for 1 hour, instead of a number of attempts
178
+ # proc = Proc.new do |attempts, response|
179
+ # throw :failure if Time.now - started_at > 3600
180
+ # end
181
+ #
182
+ # # disable max attempts
183
+ # instance.wait_until(before_wait:proc, max_attempts:nil) {...}
184
+ #
185
+ # ## Handling Errors
186
+ #
187
+ # When a waiter is successful, it returns the Resource. When a waiter
188
+ # fails, it raises an error.
189
+ #
190
+ # begin
191
+ # resource.wait_until(...)
192
+ # rescue Aws::Waiters::Errors::WaiterFailed
193
+ # # resource did not enter the desired state in time
194
+ # end
195
+ #
196
+ #
197
+ # @yield param [Resource] resource to be used in the waiting condition
198
+ #
199
+ # @raise [Aws::Waiters::Errors::FailureStateError] Raised when the waiter terminates
200
+ # because the waiter has entered a state that it will not transition
201
+ # out of, preventing success.
202
+ #
203
+ # yet successful.
204
+ #
205
+ # @raise [Aws::Waiters::Errors::UnexpectedError] Raised when an error is encountered
206
+ # while polling for a resource that is not expected.
207
+ #
208
+ # @raise [NotImplementedError] Raised when the resource does not
209
+ #
210
+ # @option options [Integer] :max_attempts (10) Maximum number of
211
+ # attempts
212
+ # @option options [Integer] :delay (10) Delay between each
213
+ # attempt in seconds
214
+ # @option options [Proc] :before_attempt (nil) Callback
215
+ # invoked before each attempt
216
+ # @option options [Proc] :before_wait (nil) Callback
217
+ # invoked before each wait
218
+ # @return [Resource] if the waiter was successful
219
+ def wait_until(options = {}, &block)
220
+ self_copy = self.dup
221
+ attempts = 0
222
+ options[:max_attempts] = 10 unless options.key?(:max_attempts)
223
+ options[:delay] ||= 10
224
+ options[:poller] = Proc.new do
225
+ attempts += 1
226
+ if block.call(self_copy)
227
+ [:success, self_copy]
228
+ else
229
+ self_copy.reload unless attempts == options[:max_attempts]
230
+ :retry
231
+ end
232
+ end
233
+ Aws::Waiters::Waiter.new(options).wait({})
234
+ end
235
+
141
236
  # @!group Actions
142
237
 
143
238
  # @example Request syntax with placeholder values
@@ -204,10 +299,10 @@ module Aws::IAM
204
299
  # @return [Role::Collection]
205
300
  def roles
206
301
  batch = []
207
- data.roles.each do |r|
302
+ data[:roles].each do |d|
208
303
  batch << Role.new(
209
- name: r.role_name,
210
- data: r,
304
+ name: d[:role_name],
305
+ data: d,
211
306
  client: @client
212
307
  )
213
308
  end
@@ -33,14 +33,14 @@ module Aws::IAM
33
33
  # The date when the password for the user was created.
34
34
  # @return [Time]
35
35
  def create_date
36
- data.create_date
36
+ data[:create_date]
37
37
  end
38
38
 
39
39
  # Specifies whether the user is required to set a new password on next
40
40
  # sign-in.
41
41
  # @return [Boolean]
42
42
  def password_reset_required
43
- data.password_reset_required
43
+ data[:password_reset_required]
44
44
  end
45
45
 
46
46
  # @!endgroup
@@ -78,6 +78,101 @@ module Aws::IAM
78
78
  !!@data
79
79
  end
80
80
 
81
+ # @deprecated Use [Aws::IAM::Client] #wait_until instead
82
+ #
83
+ # Waiter polls an API operation until a resource enters a desired
84
+ # state.
85
+ #
86
+ # @note The waiting operation is performed on a copy. The original resource remains unchanged
87
+ #
88
+ # ## Basic Usage
89
+ #
90
+ # Waiter will polls until it is successful, it fails by
91
+ # entering a terminal state, or until a maximum number of attempts
92
+ # are made.
93
+ #
94
+ # # polls in a loop until condition is true
95
+ # resource.wait_until(options) {|resource| condition}
96
+ #
97
+ # ## Example
98
+ #
99
+ # instance.wait_until(max_attempts:10, delay:5) {|instance| instance.state.name == 'running' }
100
+ #
101
+ # ## Configuration
102
+ #
103
+ # You can configure the maximum number of polling attempts, and the
104
+ # delay (in seconds) between each polling attempt. The waiting condition is set
105
+ # by passing a block to {#wait_until}:
106
+ #
107
+ # # poll for ~25 seconds
108
+ # resource.wait_until(max_attempts:5,delay:5) {|resource|...}
109
+ #
110
+ # ## Callbacks
111
+ #
112
+ # You can be notified before each polling attempt and before each
113
+ # delay. If you throw `:success` or `:failure` from these callbacks,
114
+ # it will terminate the waiter.
115
+ #
116
+ # started_at = Time.now
117
+ # # poll for 1 hour, instead of a number of attempts
118
+ # proc = Proc.new do |attempts, response|
119
+ # throw :failure if Time.now - started_at > 3600
120
+ # end
121
+ #
122
+ # # disable max attempts
123
+ # instance.wait_until(before_wait:proc, max_attempts:nil) {...}
124
+ #
125
+ # ## Handling Errors
126
+ #
127
+ # When a waiter is successful, it returns the Resource. When a waiter
128
+ # fails, it raises an error.
129
+ #
130
+ # begin
131
+ # resource.wait_until(...)
132
+ # rescue Aws::Waiters::Errors::WaiterFailed
133
+ # # resource did not enter the desired state in time
134
+ # end
135
+ #
136
+ #
137
+ # @yield param [Resource] resource to be used in the waiting condition
138
+ #
139
+ # @raise [Aws::Waiters::Errors::FailureStateError] Raised when the waiter terminates
140
+ # because the waiter has entered a state that it will not transition
141
+ # out of, preventing success.
142
+ #
143
+ # yet successful.
144
+ #
145
+ # @raise [Aws::Waiters::Errors::UnexpectedError] Raised when an error is encountered
146
+ # while polling for a resource that is not expected.
147
+ #
148
+ # @raise [NotImplementedError] Raised when the resource does not
149
+ #
150
+ # @option options [Integer] :max_attempts (10) Maximum number of
151
+ # attempts
152
+ # @option options [Integer] :delay (10) Delay between each
153
+ # attempt in seconds
154
+ # @option options [Proc] :before_attempt (nil) Callback
155
+ # invoked before each attempt
156
+ # @option options [Proc] :before_wait (nil) Callback
157
+ # invoked before each wait
158
+ # @return [Resource] if the waiter was successful
159
+ def wait_until(options = {}, &block)
160
+ self_copy = self.dup
161
+ attempts = 0
162
+ options[:max_attempts] = 10 unless options.key?(:max_attempts)
163
+ options[:delay] ||= 10
164
+ options[:poller] = Proc.new do
165
+ attempts += 1
166
+ if block.call(self_copy)
167
+ [:success, self_copy]
168
+ else
169
+ self_copy.reload unless attempts == options[:max_attempts]
170
+ :retry
171
+ end
172
+ end
173
+ Aws::Waiters::Waiter.new(options).wait({})
174
+ end
175
+
81
176
  # @!group Actions
82
177
 
83
178
  # @example Request syntax with placeholder values
@@ -41,7 +41,7 @@ module Aws::IAM
41
41
  # The date when the MFA device was enabled for the user.
42
42
  # @return [Time]
43
43
  def enable_date
44
- data.enable_date
44
+ data[:enable_date]
45
45
  end
46
46
 
47
47
  # @!endgroup
@@ -74,6 +74,101 @@ module Aws::IAM
74
74
  !!@data
75
75
  end
76
76
 
77
+ # @deprecated Use [Aws::IAM::Client] #wait_until instead
78
+ #
79
+ # Waiter polls an API operation until a resource enters a desired
80
+ # state.
81
+ #
82
+ # @note The waiting operation is performed on a copy. The original resource remains unchanged
83
+ #
84
+ # ## Basic Usage
85
+ #
86
+ # Waiter will polls until it is successful, it fails by
87
+ # entering a terminal state, or until a maximum number of attempts
88
+ # are made.
89
+ #
90
+ # # polls in a loop until condition is true
91
+ # resource.wait_until(options) {|resource| condition}
92
+ #
93
+ # ## Example
94
+ #
95
+ # instance.wait_until(max_attempts:10, delay:5) {|instance| instance.state.name == 'running' }
96
+ #
97
+ # ## Configuration
98
+ #
99
+ # You can configure the maximum number of polling attempts, and the
100
+ # delay (in seconds) between each polling attempt. The waiting condition is set
101
+ # by passing a block to {#wait_until}:
102
+ #
103
+ # # poll for ~25 seconds
104
+ # resource.wait_until(max_attempts:5,delay:5) {|resource|...}
105
+ #
106
+ # ## Callbacks
107
+ #
108
+ # You can be notified before each polling attempt and before each
109
+ # delay. If you throw `:success` or `:failure` from these callbacks,
110
+ # it will terminate the waiter.
111
+ #
112
+ # started_at = Time.now
113
+ # # poll for 1 hour, instead of a number of attempts
114
+ # proc = Proc.new do |attempts, response|
115
+ # throw :failure if Time.now - started_at > 3600
116
+ # end
117
+ #
118
+ # # disable max attempts
119
+ # instance.wait_until(before_wait:proc, max_attempts:nil) {...}
120
+ #
121
+ # ## Handling Errors
122
+ #
123
+ # When a waiter is successful, it returns the Resource. When a waiter
124
+ # fails, it raises an error.
125
+ #
126
+ # begin
127
+ # resource.wait_until(...)
128
+ # rescue Aws::Waiters::Errors::WaiterFailed
129
+ # # resource did not enter the desired state in time
130
+ # end
131
+ #
132
+ #
133
+ # @yield param [Resource] resource to be used in the waiting condition
134
+ #
135
+ # @raise [Aws::Waiters::Errors::FailureStateError] Raised when the waiter terminates
136
+ # because the waiter has entered a state that it will not transition
137
+ # out of, preventing success.
138
+ #
139
+ # yet successful.
140
+ #
141
+ # @raise [Aws::Waiters::Errors::UnexpectedError] Raised when an error is encountered
142
+ # while polling for a resource that is not expected.
143
+ #
144
+ # @raise [NotImplementedError] Raised when the resource does not
145
+ #
146
+ # @option options [Integer] :max_attempts (10) Maximum number of
147
+ # attempts
148
+ # @option options [Integer] :delay (10) Delay between each
149
+ # attempt in seconds
150
+ # @option options [Proc] :before_attempt (nil) Callback
151
+ # invoked before each attempt
152
+ # @option options [Proc] :before_wait (nil) Callback
153
+ # invoked before each wait
154
+ # @return [Resource] if the waiter was successful
155
+ def wait_until(options = {}, &block)
156
+ self_copy = self.dup
157
+ attempts = 0
158
+ options[:max_attempts] = 10 unless options.key?(:max_attempts)
159
+ options[:delay] ||= 10
160
+ options[:poller] = Proc.new do
161
+ attempts += 1
162
+ if block.call(self_copy)
163
+ [:success, self_copy]
164
+ else
165
+ self_copy.reload unless attempts == options[:max_attempts]
166
+ :retry
167
+ end
168
+ end
169
+ Aws::Waiters::Waiter.new(options).wait({})
170
+ end
171
+
77
172
  # @!group Actions
78
173
 
79
174
  # @example Request syntax with placeholder values
@@ -33,7 +33,7 @@ module Aws::IAM
33
33
  # The friendly name (not ARN) identifying the policy.
34
34
  # @return [String]
35
35
  def policy_name
36
- data.policy_name
36
+ data[:policy_name]
37
37
  end
38
38
 
39
39
  # The stable and unique string identifying the policy.
@@ -46,7 +46,7 @@ module Aws::IAM
46
46
  # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
47
47
  # @return [String]
48
48
  def policy_id
49
- data.policy_id
49
+ data[:policy_id]
50
50
  end
51
51
 
52
52
  # The path to the policy.
@@ -59,28 +59,28 @@ module Aws::IAM
59
59
  # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
60
60
  # @return [String]
61
61
  def path
62
- data.path
62
+ data[:path]
63
63
  end
64
64
 
65
65
  # The identifier for the version of the policy that is set as the
66
66
  # default version.
67
67
  # @return [String]
68
68
  def default_version_id
69
- data.default_version_id
69
+ data[:default_version_id]
70
70
  end
71
71
 
72
72
  # The number of entities (users, groups, and roles) that the policy is
73
73
  # attached to.
74
74
  # @return [Integer]
75
75
  def attachment_count
76
- data.attachment_count
76
+ data[:attachment_count]
77
77
  end
78
78
 
79
79
  # Specifies whether the policy can be attached to an IAM user, group, or
80
80
  # role.
81
81
  # @return [Boolean]
82
82
  def is_attachable
83
- data.is_attachable
83
+ data[:is_attachable]
84
84
  end
85
85
 
86
86
  # A friendly description of the policy.
@@ -89,7 +89,7 @@ module Aws::IAM
89
89
  # It is not included in the response to the ListPolicies operation.
90
90
  # @return [String]
91
91
  def description
92
- data.description
92
+ data[:description]
93
93
  end
94
94
 
95
95
  # The date and time, in [ISO 8601 date-time format][1], when the policy
@@ -100,7 +100,7 @@ module Aws::IAM
100
100
  # [1]: http://www.iso.org/iso/iso8601
101
101
  # @return [Time]
102
102
  def create_date
103
- data.create_date
103
+ data[:create_date]
104
104
  end
105
105
 
106
106
  # The date and time, in [ISO 8601 date-time format][1], when the policy
@@ -116,7 +116,7 @@ module Aws::IAM
116
116
  # [1]: http://www.iso.org/iso/iso8601
117
117
  # @return [Time]
118
118
  def update_date
119
- data.update_date
119
+ data[:update_date]
120
120
  end
121
121
 
122
122
  # @!endgroup
@@ -154,6 +154,101 @@ module Aws::IAM
154
154
  !!@data
155
155
  end
156
156
 
157
+ # @deprecated Use [Aws::IAM::Client] #wait_until instead
158
+ #
159
+ # Waiter polls an API operation until a resource enters a desired
160
+ # state.
161
+ #
162
+ # @note The waiting operation is performed on a copy. The original resource remains unchanged
163
+ #
164
+ # ## Basic Usage
165
+ #
166
+ # Waiter will polls until it is successful, it fails by
167
+ # entering a terminal state, or until a maximum number of attempts
168
+ # are made.
169
+ #
170
+ # # polls in a loop until condition is true
171
+ # resource.wait_until(options) {|resource| condition}
172
+ #
173
+ # ## Example
174
+ #
175
+ # instance.wait_until(max_attempts:10, delay:5) {|instance| instance.state.name == 'running' }
176
+ #
177
+ # ## Configuration
178
+ #
179
+ # You can configure the maximum number of polling attempts, and the
180
+ # delay (in seconds) between each polling attempt. The waiting condition is set
181
+ # by passing a block to {#wait_until}:
182
+ #
183
+ # # poll for ~25 seconds
184
+ # resource.wait_until(max_attempts:5,delay:5) {|resource|...}
185
+ #
186
+ # ## Callbacks
187
+ #
188
+ # You can be notified before each polling attempt and before each
189
+ # delay. If you throw `:success` or `:failure` from these callbacks,
190
+ # it will terminate the waiter.
191
+ #
192
+ # started_at = Time.now
193
+ # # poll for 1 hour, instead of a number of attempts
194
+ # proc = Proc.new do |attempts, response|
195
+ # throw :failure if Time.now - started_at > 3600
196
+ # end
197
+ #
198
+ # # disable max attempts
199
+ # instance.wait_until(before_wait:proc, max_attempts:nil) {...}
200
+ #
201
+ # ## Handling Errors
202
+ #
203
+ # When a waiter is successful, it returns the Resource. When a waiter
204
+ # fails, it raises an error.
205
+ #
206
+ # begin
207
+ # resource.wait_until(...)
208
+ # rescue Aws::Waiters::Errors::WaiterFailed
209
+ # # resource did not enter the desired state in time
210
+ # end
211
+ #
212
+ #
213
+ # @yield param [Resource] resource to be used in the waiting condition
214
+ #
215
+ # @raise [Aws::Waiters::Errors::FailureStateError] Raised when the waiter terminates
216
+ # because the waiter has entered a state that it will not transition
217
+ # out of, preventing success.
218
+ #
219
+ # yet successful.
220
+ #
221
+ # @raise [Aws::Waiters::Errors::UnexpectedError] Raised when an error is encountered
222
+ # while polling for a resource that is not expected.
223
+ #
224
+ # @raise [NotImplementedError] Raised when the resource does not
225
+ #
226
+ # @option options [Integer] :max_attempts (10) Maximum number of
227
+ # attempts
228
+ # @option options [Integer] :delay (10) Delay between each
229
+ # attempt in seconds
230
+ # @option options [Proc] :before_attempt (nil) Callback
231
+ # invoked before each attempt
232
+ # @option options [Proc] :before_wait (nil) Callback
233
+ # invoked before each wait
234
+ # @return [Resource] if the waiter was successful
235
+ def wait_until(options = {}, &block)
236
+ self_copy = self.dup
237
+ attempts = 0
238
+ options[:max_attempts] = 10 unless options.key?(:max_attempts)
239
+ options[:delay] ||= 10
240
+ options[:poller] = Proc.new do
241
+ attempts += 1
242
+ if block.call(self_copy)
243
+ [:success, self_copy]
244
+ else
245
+ self_copy.reload unless attempts == options[:max_attempts]
246
+ :retry
247
+ end
248
+ end
249
+ Aws::Waiters::Waiter.new(options).wait({})
250
+ end
251
+
157
252
  # @!group Actions
158
253
 
159
254
  # @example Request syntax with placeholder values
@@ -499,10 +594,10 @@ module Aws::IAM
499
594
 
500
595
  # @return [PolicyVersion, nil]
501
596
  def default_version
502
- if data.default_version_id
597
+ if data[:default_version_id]
503
598
  PolicyVersion.new(
504
599
  arn: @arn,
505
- version_id: data.default_version_id,
600
+ version_id: data[:default_version_id],
506
601
  client: @client
507
602
  )
508
603
  else