aws-sdk-iam 1.0.0.rc1 → 1.0.0.rc2
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.
- checksums.yaml +4 -4
- data/lib/aws-sdk-iam.rb +1 -1
- data/lib/aws-sdk-iam/access_key.rb +150 -152
- data/lib/aws-sdk-iam/access_key_pair.rb +160 -162
- data/lib/aws-sdk-iam/account_password_policy.rb +208 -207
- data/lib/aws-sdk-iam/account_summary.rb +55 -57
- data/lib/aws-sdk-iam/assume_role_policy.rb +101 -101
- data/lib/aws-sdk-iam/client.rb +7849 -6742
- data/lib/aws-sdk-iam/client_api.rb +2896 -2784
- data/lib/aws-sdk-iam/current_user.rb +231 -230
- data/lib/aws-sdk-iam/errors.rb +4 -13
- data/lib/aws-sdk-iam/group.rb +422 -418
- data/lib/aws-sdk-iam/group_policy.rb +153 -153
- data/lib/aws-sdk-iam/instance_profile.rb +223 -223
- data/lib/aws-sdk-iam/login_profile.rb +171 -172
- data/lib/aws-sdk-iam/mfa_device.rb +163 -165
- data/lib/aws-sdk-iam/policy.rb +508 -502
- data/lib/aws-sdk-iam/policy_version.rb +149 -151
- data/lib/aws-sdk-iam/resource.rb +986 -969
- data/lib/aws-sdk-iam/role.rb +262 -264
- data/lib/aws-sdk-iam/role_policy.rb +153 -153
- data/lib/aws-sdk-iam/saml_provider.rb +120 -122
- data/lib/aws-sdk-iam/server_certificate.rb +144 -145
- data/lib/aws-sdk-iam/signing_certificate.rb +155 -157
- data/lib/aws-sdk-iam/types.rb +8333 -7476
- data/lib/aws-sdk-iam/user.rb +677 -672
- data/lib/aws-sdk-iam/user_policy.rb +153 -153
- data/lib/aws-sdk-iam/virtual_mfa_device.rb +117 -119
- data/lib/aws-sdk-iam/waiters.rb +76 -77
- metadata +2 -2
@@ -1,196 +1,195 @@
|
|
1
1
|
# WARNING ABOUT GENERATED CODE
|
2
2
|
#
|
3
|
-
# This file is generated. See the contributing for
|
3
|
+
# This file is generated. See the contributing guide for more information:
|
4
4
|
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
5
|
#
|
6
6
|
# WARNING ABOUT GENERATED CODE
|
7
7
|
|
8
|
-
module Aws
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
end
|
8
|
+
module Aws::IAM
|
9
|
+
class LoginProfile
|
10
|
+
|
11
|
+
extend Aws::Deprecations
|
12
|
+
|
13
|
+
# @overload def initialize(user_name, options = {})
|
14
|
+
# @param [String] user_name
|
15
|
+
# @option options [Client] :client
|
16
|
+
# @overload def initialize(options = {})
|
17
|
+
# @option options [required, String] :user_name
|
18
|
+
# @option options [Client] :client
|
19
|
+
def initialize(*args)
|
20
|
+
options = Hash === args.last ? args.pop.dup : {}
|
21
|
+
@user_name = extract_user_name(args, options)
|
22
|
+
@data = options.delete(:data)
|
23
|
+
@client = options.delete(:client) || Client.new(options)
|
24
|
+
end
|
26
25
|
|
27
|
-
|
26
|
+
# @!group Read-Only Attributes
|
28
27
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
28
|
+
# @return [String]
|
29
|
+
def user_name
|
30
|
+
@user_name
|
31
|
+
end
|
33
32
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
33
|
+
# The date when the password for the user was created.
|
34
|
+
# @return [Time]
|
35
|
+
def create_date
|
36
|
+
data.create_date
|
37
|
+
end
|
39
38
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
39
|
+
# Specifies whether the user is required to set a new password on next
|
40
|
+
# sign-in.
|
41
|
+
# @return [Boolean]
|
42
|
+
def password_reset_required
|
43
|
+
data.password_reset_required
|
44
|
+
end
|
46
45
|
|
47
|
-
|
46
|
+
# @!endgroup
|
48
47
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
48
|
+
# @return [Client]
|
49
|
+
def client
|
50
|
+
@client
|
51
|
+
end
|
53
52
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
53
|
+
# Loads, or reloads {#data} for the current {LoginProfile}.
|
54
|
+
# Returns `self` making it possible to chain methods.
|
55
|
+
#
|
56
|
+
# login_profile.reload.data
|
57
|
+
#
|
58
|
+
# @return [self]
|
59
|
+
def load
|
60
|
+
resp = @client.get_login_profile(user_name: @user_name)
|
61
|
+
@data = resp.loginprofile
|
62
|
+
self
|
63
|
+
end
|
64
|
+
alias :reload :load
|
65
|
+
|
66
|
+
# @return [Types::LoginProfile]
|
67
|
+
# Returns the data for this {LoginProfile}. Calls
|
68
|
+
# {Client#get_login_profile} if {#data_loaded?} is `false`.
|
69
|
+
def data
|
70
|
+
load unless @data
|
71
|
+
@data
|
72
|
+
end
|
74
73
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
74
|
+
# @return [Boolean]
|
75
|
+
# Returns `true` if this resource is loaded. Accessing attributes or
|
76
|
+
# {#data} on an unloaded resource will trigger a call to {#load}.
|
77
|
+
def data_loaded?
|
78
|
+
!!@data
|
79
|
+
end
|
81
80
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
81
|
+
# @!group Actions
|
82
|
+
|
83
|
+
# @example Request syntax with placeholder values
|
84
|
+
#
|
85
|
+
# loginprofile = login_profile.create({
|
86
|
+
# password: "passwordType", # required
|
87
|
+
# password_reset_required: false,
|
88
|
+
# })
|
89
|
+
# @param [Hash] options ({})
|
90
|
+
# @option options [required, String] :password
|
91
|
+
# The new password for the user.
|
92
|
+
#
|
93
|
+
# The [regex pattern][1] used to validate this parameter is a string of
|
94
|
+
# characters consisting of almost any printable ASCII character from the
|
95
|
+
# space (\\u0020) through the end of the ASCII character range
|
96
|
+
# (\\u00FF). You can also include the tab (\\u0009), line feed
|
97
|
+
# (\\u000A), and carriage return (\\u000D) characters. Although any of
|
98
|
+
# these characters are valid in a password, note that many tools, such
|
99
|
+
# as the AWS Management Console, might restrict the ability to enter
|
100
|
+
# certain characters because they have special meaning within that tool.
|
101
|
+
#
|
102
|
+
#
|
103
|
+
#
|
104
|
+
# [1]: http://wikipedia.org/wiki/regex
|
105
|
+
# @option options [Boolean] :password_reset_required
|
106
|
+
# Specifies whether the user is required to set a new password on next
|
107
|
+
# sign-in.
|
108
|
+
# @return [LoginProfile]
|
109
|
+
def create(options = {})
|
110
|
+
options = options.merge(user_name: @user_name)
|
111
|
+
resp = @client.create_login_profile(options)
|
112
|
+
LoginProfile.new(
|
113
|
+
user_name: resp.data.login_profile.user_name,
|
114
|
+
data: resp.data.login_profile,
|
115
|
+
client: @client
|
116
|
+
)
|
117
|
+
end
|
119
118
|
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
119
|
+
# @example Request syntax with placeholder values
|
120
|
+
#
|
121
|
+
# login_profile.delete()
|
122
|
+
# @param [Hash] options ({})
|
123
|
+
# @return [EmptyStructure]
|
124
|
+
def delete(options = {})
|
125
|
+
options = options.merge(user_name: @user_name)
|
126
|
+
resp = @client.delete_login_profile(options)
|
127
|
+
resp.data
|
128
|
+
end
|
130
129
|
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
130
|
+
# @example Request syntax with placeholder values
|
131
|
+
#
|
132
|
+
# login_profile.update({
|
133
|
+
# password: "passwordType",
|
134
|
+
# password_reset_required: false,
|
135
|
+
# })
|
136
|
+
# @param [Hash] options ({})
|
137
|
+
# @option options [String] :password
|
138
|
+
# The new password for the specified IAM user.
|
139
|
+
#
|
140
|
+
# The [regex pattern][1] used to validate this parameter is a string of
|
141
|
+
# characters consisting of any printable ASCII character ranging from
|
142
|
+
# the space character (\\u0020) through end of the ASCII character range
|
143
|
+
# as well as the printable characters in the Basic Latin and Latin-1
|
144
|
+
# Supplement character set (through \\u00FF). It also includes the
|
145
|
+
# special characters tab (\\u0009), line feed (\\u000A), and carriage
|
146
|
+
# return (\\u000D). However, the format can be further restricted by the
|
147
|
+
# account administrator by setting a password policy on the AWS account.
|
148
|
+
# For more information, see UpdateAccountPasswordPolicy.
|
149
|
+
#
|
150
|
+
#
|
151
|
+
#
|
152
|
+
# [1]: http://wikipedia.org/wiki/regex
|
153
|
+
# @option options [Boolean] :password_reset_required
|
154
|
+
# Allows this new password to be used only once by requiring the
|
155
|
+
# specified IAM user to set a new password on next sign-in.
|
156
|
+
# @return [EmptyStructure]
|
157
|
+
def update(options = {})
|
158
|
+
options = options.merge(user_name: @user_name)
|
159
|
+
resp = @client.update_login_profile(options)
|
160
|
+
resp.data
|
161
|
+
end
|
162
162
|
|
163
|
-
|
163
|
+
# @!group Associations
|
164
164
|
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
165
|
+
# @return [User]
|
166
|
+
def user
|
167
|
+
User.new(
|
168
|
+
name: @user_name,
|
169
|
+
client: @client
|
170
|
+
)
|
171
|
+
end
|
172
172
|
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
end
|
173
|
+
# @deprecated
|
174
|
+
# @api private
|
175
|
+
def identifiers
|
176
|
+
{ user_name: @user_name }
|
177
|
+
end
|
178
|
+
deprecated(:identifiers)
|
179
|
+
|
180
|
+
private
|
181
|
+
|
182
|
+
def extract_user_name(args, options)
|
183
|
+
value = args[0] || options.delete(:user_name)
|
184
|
+
case value
|
185
|
+
when String then value
|
186
|
+
when nil then raise ArgumentError, "missing required option :user_name"
|
187
|
+
else
|
188
|
+
msg = "expected :user_name to be a String, got #{value.class}"
|
189
|
+
raise ArgumentError, msg
|
191
190
|
end
|
192
|
-
|
193
|
-
class Collection < Aws::Resources::Collection; end
|
194
191
|
end
|
192
|
+
|
193
|
+
class Collection < Aws::Resources::Collection; end
|
195
194
|
end
|
196
195
|
end
|
@@ -1,191 +1,189 @@
|
|
1
1
|
# WARNING ABOUT GENERATED CODE
|
2
2
|
#
|
3
|
-
# This file is generated. See the contributing for
|
3
|
+
# This file is generated. See the contributing guide for more information:
|
4
4
|
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
5
|
#
|
6
6
|
# WARNING ABOUT GENERATED CODE
|
7
7
|
|
8
|
-
module Aws
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
end
|
8
|
+
module Aws::IAM
|
9
|
+
class MfaDevice
|
10
|
+
|
11
|
+
extend Aws::Deprecations
|
12
|
+
|
13
|
+
# @overload def initialize(user_name, serial_number, options = {})
|
14
|
+
# @param [String] user_name
|
15
|
+
# @param [String] serial_number
|
16
|
+
# @option options [Client] :client
|
17
|
+
# @overload def initialize(options = {})
|
18
|
+
# @option options [required, String] :user_name
|
19
|
+
# @option options [required, String] :serial_number
|
20
|
+
# @option options [Client] :client
|
21
|
+
def initialize(*args)
|
22
|
+
options = Hash === args.last ? args.pop.dup : {}
|
23
|
+
@user_name = extract_user_name(args, options)
|
24
|
+
@serial_number = extract_serial_number(args, options)
|
25
|
+
@data = options.delete(:data)
|
26
|
+
@client = options.delete(:client) || Client.new(options)
|
27
|
+
end
|
29
28
|
|
30
|
-
|
29
|
+
# @!group Read-Only Attributes
|
31
30
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
31
|
+
# @return [String]
|
32
|
+
def user_name
|
33
|
+
@user_name
|
34
|
+
end
|
36
35
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
36
|
+
# @return [String]
|
37
|
+
def serial_number
|
38
|
+
@serial_number
|
39
|
+
end
|
41
40
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
41
|
+
# The date when the MFA device was enabled for the user.
|
42
|
+
# @return [Time]
|
43
|
+
def enable_date
|
44
|
+
data.enable_date
|
45
|
+
end
|
47
46
|
|
48
|
-
|
47
|
+
# @!endgroup
|
49
48
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
49
|
+
# @return [Client]
|
50
|
+
def client
|
51
|
+
@client
|
52
|
+
end
|
54
53
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
54
|
+
# @raise [NotImplementedError]
|
55
|
+
# @api private
|
56
|
+
def load
|
57
|
+
msg = "#load is not implemented, data only available via enumeration"
|
58
|
+
raise NotImplementedError, msg
|
59
|
+
end
|
60
|
+
alias :reload :load
|
61
|
+
|
62
|
+
# @raise [NotImplementedError] Raises when {#data_loaded?} is `false`.
|
63
|
+
# @return [Types::MFADevice]
|
64
|
+
# Returns the data for this {MfaDevice}.
|
65
|
+
def data
|
66
|
+
load unless @data
|
67
|
+
@data
|
68
|
+
end
|
70
69
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
70
|
+
# @return [Boolean]
|
71
|
+
# Returns `true` if this resource is loaded. Accessing attributes or
|
72
|
+
# {#data} on an unloaded resource will trigger a call to {#load}.
|
73
|
+
def data_loaded?
|
74
|
+
!!@data
|
75
|
+
end
|
77
76
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
77
|
+
# @!group Actions
|
78
|
+
|
79
|
+
# @example Request syntax with placeholder values
|
80
|
+
#
|
81
|
+
# mfa_device.associate({
|
82
|
+
# authentication_code_1: "authenticationCodeType", # required
|
83
|
+
# authentication_code_2: "authenticationCodeType", # required
|
84
|
+
# })
|
85
|
+
# @param [Hash] options ({})
|
86
|
+
# @option options [required, String] :authentication_code_1
|
87
|
+
# An authentication code emitted by the device.
|
88
|
+
#
|
89
|
+
# The format for this parameter is a string of 6 digits.
|
90
|
+
# @option options [required, String] :authentication_code_2
|
91
|
+
# A subsequent authentication code emitted by the device.
|
92
|
+
#
|
93
|
+
# The format for this parameter is a string of 6 digits.
|
94
|
+
# @return [EmptyStructure]
|
95
|
+
def associate(options = {})
|
96
|
+
options = options.merge(
|
97
|
+
user_name: @user_name,
|
98
|
+
serial_number: @serial_number
|
99
|
+
)
|
100
|
+
resp = @client.enable_mfa_device(options)
|
101
|
+
resp.data
|
102
|
+
end
|
104
103
|
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
104
|
+
# @example Request syntax with placeholder values
|
105
|
+
#
|
106
|
+
# mfa_device.disassociate()
|
107
|
+
# @param [Hash] options ({})
|
108
|
+
# @return [EmptyStructure]
|
109
|
+
def disassociate(options = {})
|
110
|
+
options = options.merge(
|
111
|
+
user_name: @user_name,
|
112
|
+
serial_number: @serial_number
|
113
|
+
)
|
114
|
+
resp = @client.deactivate_mfa_device(options)
|
115
|
+
resp.data
|
116
|
+
end
|
118
117
|
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
118
|
+
# @example Request syntax with placeholder values
|
119
|
+
#
|
120
|
+
# mfa_device.resync({
|
121
|
+
# authentication_code_1: "authenticationCodeType", # required
|
122
|
+
# authentication_code_2: "authenticationCodeType", # required
|
123
|
+
# })
|
124
|
+
# @param [Hash] options ({})
|
125
|
+
# @option options [required, String] :authentication_code_1
|
126
|
+
# An authentication code emitted by the device.
|
127
|
+
#
|
128
|
+
# The format for this parameter is a sequence of six digits.
|
129
|
+
# @option options [required, String] :authentication_code_2
|
130
|
+
# A subsequent authentication code emitted by the device.
|
131
|
+
#
|
132
|
+
# The format for this parameter is a sequence of six digits.
|
133
|
+
# @return [EmptyStructure]
|
134
|
+
def resync(options = {})
|
135
|
+
options = options.merge(
|
136
|
+
user_name: @user_name,
|
137
|
+
serial_number: @serial_number
|
138
|
+
)
|
139
|
+
resp = @client.resync_mfa_device(options)
|
140
|
+
resp.data
|
141
|
+
end
|
143
142
|
|
144
|
-
|
143
|
+
# @!group Associations
|
145
144
|
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
145
|
+
# @return [User]
|
146
|
+
def user
|
147
|
+
User.new(
|
148
|
+
name: @user_name,
|
149
|
+
client: @client
|
150
|
+
)
|
151
|
+
end
|
153
152
|
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
end
|
153
|
+
# @deprecated
|
154
|
+
# @api private
|
155
|
+
def identifiers
|
156
|
+
{
|
157
|
+
user_name: @user_name,
|
158
|
+
serial_number: @serial_number
|
159
|
+
}
|
160
|
+
end
|
161
|
+
deprecated(:identifiers)
|
162
|
+
|
163
|
+
private
|
164
|
+
|
165
|
+
def extract_user_name(args, options)
|
166
|
+
value = args[0] || options.delete(:user_name)
|
167
|
+
case value
|
168
|
+
when String then value
|
169
|
+
when nil then raise ArgumentError, "missing required option :user_name"
|
170
|
+
else
|
171
|
+
msg = "expected :user_name to be a String, got #{value.class}"
|
172
|
+
raise ArgumentError, msg
|
175
173
|
end
|
174
|
+
end
|
176
175
|
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
end
|
176
|
+
def extract_serial_number(args, options)
|
177
|
+
value = args[1] || options.delete(:serial_number)
|
178
|
+
case value
|
179
|
+
when String then value
|
180
|
+
when nil then raise ArgumentError, "missing required option :serial_number"
|
181
|
+
else
|
182
|
+
msg = "expected :serial_number to be a String, got #{value.class}"
|
183
|
+
raise ArgumentError, msg
|
186
184
|
end
|
187
|
-
|
188
|
-
class Collection < Aws::Resources::Collection; end
|
189
185
|
end
|
186
|
+
|
187
|
+
class Collection < Aws::Resources::Collection; end
|
190
188
|
end
|
191
189
|
end
|