aws-sdk-core 2.6.23 → 2.6.24
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/apis/apigateway/2015-07-09/api-2.json +30 -13
- data/apis/autoscaling/2011-01-01/resources-1.json +12 -1
- data/apis/meteringmarketplace/2016-01-14/api-2.json +135 -0
- data/apis/monitoring/2010-08-01/api-2.json +26 -6
- data/apis/sqs/2012-11-05/api-2.json +73 -38
- data/apis/sqs/2012-11-05/examples-1.json +0 -613
- data/apis/sqs/2012-11-05/resources-1.json +232 -0
- data/lib/aws-sdk-core.rb +1 -0
- data/lib/aws-sdk-core/credential_provider_chain.rb +3 -3
- data/lib/aws-sdk-core/plugins/request_signer.rb +4 -0
- data/lib/aws-sdk-core/rest/request/endpoint.rb +10 -65
- data/lib/aws-sdk-core/rest/request/querystring_builder.rb +90 -0
- data/lib/aws-sdk-core/sqs.rb +1 -0
- data/lib/aws-sdk-core/version.rb +1 -1
- data/lib/seahorse/client/net_http/connection_pool.rb +11 -7
- data/lib/seahorse/client/response.rb +9 -20
- metadata +4 -2
@@ -0,0 +1,232 @@
|
|
1
|
+
{
|
2
|
+
"service": {
|
3
|
+
"actions": {
|
4
|
+
"CreateQueue": {
|
5
|
+
"request": { "operation": "CreateQueue" },
|
6
|
+
"resource": {
|
7
|
+
"type": "Queue",
|
8
|
+
"identifiers": [
|
9
|
+
{ "target": "Url", "source": "response", "path": "QueueUrl" }
|
10
|
+
]
|
11
|
+
}
|
12
|
+
},
|
13
|
+
"GetQueueByName": {
|
14
|
+
"request": { "operation": "GetQueueUrl" },
|
15
|
+
"resource": {
|
16
|
+
"type": "Queue",
|
17
|
+
"identifiers": [
|
18
|
+
{ "target": "Url", "source": "response", "path": "QueueUrl" }
|
19
|
+
]
|
20
|
+
}
|
21
|
+
}
|
22
|
+
},
|
23
|
+
"has": {
|
24
|
+
"Queue": {
|
25
|
+
"resource": {
|
26
|
+
"type": "Queue",
|
27
|
+
"identifiers": [
|
28
|
+
{ "target": "Url", "source": "input" }
|
29
|
+
]
|
30
|
+
}
|
31
|
+
}
|
32
|
+
},
|
33
|
+
"hasMany": {
|
34
|
+
"Queues": {
|
35
|
+
"request": { "operation": "ListQueues" },
|
36
|
+
"resource": {
|
37
|
+
"type": "Queue",
|
38
|
+
"identifiers": [
|
39
|
+
{ "target": "Url", "source": "response", "path": "QueueUrls[]" }
|
40
|
+
]
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
},
|
45
|
+
"resources": {
|
46
|
+
"Message": {
|
47
|
+
"identifiers": [
|
48
|
+
{ "name": "QueueUrl" },
|
49
|
+
{
|
50
|
+
"name": "ReceiptHandle",
|
51
|
+
"memberName": "ReceiptHandle"
|
52
|
+
}
|
53
|
+
],
|
54
|
+
"shape": "Message",
|
55
|
+
"actions": {
|
56
|
+
"ChangeVisibility": {
|
57
|
+
"request": {
|
58
|
+
"operation": "ChangeMessageVisibility",
|
59
|
+
"params": [
|
60
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" },
|
61
|
+
{ "target": "ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" }
|
62
|
+
]
|
63
|
+
}
|
64
|
+
},
|
65
|
+
"Delete": {
|
66
|
+
"request": {
|
67
|
+
"operation": "DeleteMessage",
|
68
|
+
"params": [
|
69
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" },
|
70
|
+
{ "target": "ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" }
|
71
|
+
]
|
72
|
+
}
|
73
|
+
}
|
74
|
+
},
|
75
|
+
"batchActions": {
|
76
|
+
"Delete": {
|
77
|
+
"request": {
|
78
|
+
"operation": "DeleteMessageBatch",
|
79
|
+
"params": [
|
80
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" },
|
81
|
+
{ "target": "Entries[*].Id", "source": "data", "path": "MessageId" },
|
82
|
+
{ "target": "Entries[*].ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" }
|
83
|
+
]
|
84
|
+
}
|
85
|
+
}
|
86
|
+
},
|
87
|
+
"has": {
|
88
|
+
"Queue": {
|
89
|
+
"resource": {
|
90
|
+
"type": "Queue",
|
91
|
+
"identifiers": [
|
92
|
+
{ "target": "Url", "source": "identifier", "name": "QueueUrl" }
|
93
|
+
]
|
94
|
+
}
|
95
|
+
}
|
96
|
+
}
|
97
|
+
},
|
98
|
+
"Queue": {
|
99
|
+
"identifiers": [
|
100
|
+
{ "name": "Url" }
|
101
|
+
],
|
102
|
+
"shape": "GetQueueAttributesResult",
|
103
|
+
"load": {
|
104
|
+
"request": {
|
105
|
+
"operation": "GetQueueAttributes",
|
106
|
+
"params": [
|
107
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "Url" },
|
108
|
+
{ "target": "AttributeNames[]", "source": "string", "value": "All" }
|
109
|
+
]
|
110
|
+
},
|
111
|
+
"path": "@"
|
112
|
+
},
|
113
|
+
"actions": {
|
114
|
+
"AddPermission": {
|
115
|
+
"request": {
|
116
|
+
"operation": "AddPermission",
|
117
|
+
"params": [
|
118
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "Url" }
|
119
|
+
]
|
120
|
+
}
|
121
|
+
},
|
122
|
+
"ChangeMessageVisibilityBatch": {
|
123
|
+
"request": {
|
124
|
+
"operation": "ChangeMessageVisibilityBatch",
|
125
|
+
"params": [
|
126
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "Url" }
|
127
|
+
]
|
128
|
+
}
|
129
|
+
},
|
130
|
+
"Delete": {
|
131
|
+
"request": {
|
132
|
+
"operation": "DeleteQueue",
|
133
|
+
"params": [
|
134
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "Url" }
|
135
|
+
]
|
136
|
+
}
|
137
|
+
},
|
138
|
+
"DeleteMessages": {
|
139
|
+
"request": {
|
140
|
+
"operation": "DeleteMessageBatch",
|
141
|
+
"params": [
|
142
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "Url" }
|
143
|
+
]
|
144
|
+
}
|
145
|
+
},
|
146
|
+
"Purge": {
|
147
|
+
"request": {
|
148
|
+
"operation": "PurgeQueue",
|
149
|
+
"params": [
|
150
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "Url" }
|
151
|
+
]
|
152
|
+
}
|
153
|
+
},
|
154
|
+
"ReceiveMessages": {
|
155
|
+
"request": {
|
156
|
+
"operation": "ReceiveMessage",
|
157
|
+
"params": [
|
158
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "Url" }
|
159
|
+
]
|
160
|
+
},
|
161
|
+
"resource": {
|
162
|
+
"type": "Message",
|
163
|
+
"identifiers": [
|
164
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "Url" },
|
165
|
+
{ "target": "ReceiptHandle", "source": "response", "path": "Messages[].ReceiptHandle" }
|
166
|
+
],
|
167
|
+
"path": "Messages[]"
|
168
|
+
}
|
169
|
+
},
|
170
|
+
"RemovePermission": {
|
171
|
+
"request": {
|
172
|
+
"operation": "RemovePermission",
|
173
|
+
"params": [
|
174
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "Url" }
|
175
|
+
]
|
176
|
+
}
|
177
|
+
},
|
178
|
+
"SendMessage": {
|
179
|
+
"request": {
|
180
|
+
"operation": "SendMessage",
|
181
|
+
"params": [
|
182
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "Url" }
|
183
|
+
]
|
184
|
+
}
|
185
|
+
},
|
186
|
+
"SendMessages": {
|
187
|
+
"request": {
|
188
|
+
"operation": "SendMessageBatch",
|
189
|
+
"params": [
|
190
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "Url" }
|
191
|
+
]
|
192
|
+
}
|
193
|
+
},
|
194
|
+
"SetAttributes": {
|
195
|
+
"request": {
|
196
|
+
"operation": "SetQueueAttributes",
|
197
|
+
"params": [
|
198
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "Url" }
|
199
|
+
]
|
200
|
+
}
|
201
|
+
}
|
202
|
+
},
|
203
|
+
"has": {
|
204
|
+
"Message": {
|
205
|
+
"resource": {
|
206
|
+
"type": "Message",
|
207
|
+
"identifiers": [
|
208
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "Url" },
|
209
|
+
{ "target": "ReceiptHandle", "source": "input" }
|
210
|
+
]
|
211
|
+
}
|
212
|
+
}
|
213
|
+
},
|
214
|
+
"hasMany": {
|
215
|
+
"DeadLetterSourceQueues": {
|
216
|
+
"request": {
|
217
|
+
"operation": "ListDeadLetterSourceQueues",
|
218
|
+
"params": [
|
219
|
+
{ "target": "QueueUrl", "source": "identifier", "name": "Url" }
|
220
|
+
]
|
221
|
+
},
|
222
|
+
"resource": {
|
223
|
+
"type": "Queue",
|
224
|
+
"identifiers": [
|
225
|
+
{ "target": "Url", "source": "response", "path": "QueueUrls[]" }
|
226
|
+
]
|
227
|
+
}
|
228
|
+
}
|
229
|
+
}
|
230
|
+
}
|
231
|
+
}
|
232
|
+
}
|
data/lib/aws-sdk-core.rb
CHANGED
@@ -230,6 +230,7 @@ module Aws
|
|
230
230
|
autoload :Builder, 'aws-sdk-core/rest/request/builder'
|
231
231
|
autoload :Endpoint, 'aws-sdk-core/rest/request/endpoint'
|
232
232
|
autoload :Headers, 'aws-sdk-core/rest/request/headers'
|
233
|
+
autoload :QuerystringBuilder, 'aws-sdk-core/rest/request/querystring_builder'
|
233
234
|
end
|
234
235
|
module Response
|
235
236
|
autoload :Body, 'aws-sdk-core/rest/response/body'
|
@@ -24,9 +24,9 @@ module Aws
|
|
24
24
|
[:assume_role_credentials, {}],
|
25
25
|
[:shared_credentials, {}],
|
26
26
|
[:instance_profile_credentials, {
|
27
|
-
retries: 0,
|
28
|
-
http_open_timeout: 1,
|
29
|
-
http_read_timeout: 1,
|
27
|
+
retries: @config ? @config.instance_profile_credentials_retries : 0,
|
28
|
+
http_open_timeout: @config ? @config.instance_profile_credentials_timeout : 1,
|
29
|
+
http_read_timeout: @config ? @config.instance_profile_credentials_timeout : 1,
|
30
30
|
}],
|
31
31
|
]
|
32
32
|
end
|
@@ -37,6 +37,10 @@ module Aws
|
|
37
37
|
CredentialProviderChain.new(config).resolve
|
38
38
|
end
|
39
39
|
|
40
|
+
option(:instance_profile_credentials_retries, 0)
|
41
|
+
|
42
|
+
option(:instance_profile_credentials_timeout, 1)
|
43
|
+
|
40
44
|
# Intentionally not documented - this should go away when all
|
41
45
|
# services support signature version 4 in every region.
|
42
46
|
option(:signature_version) do |cfg|
|
@@ -5,15 +5,13 @@ module Aws
|
|
5
5
|
module Request
|
6
6
|
class Endpoint
|
7
7
|
|
8
|
-
include Seahorse::Model::Shapes
|
9
|
-
|
10
8
|
# @param [Seahorse::Model::Shapes::ShapeRef] rules
|
11
9
|
# @param [String] request_uri_pattern
|
12
10
|
def initialize(rules, request_uri_pattern)
|
13
11
|
@rules = rules
|
14
12
|
request_uri_pattern.split('?').tap do |path_part, query_part|
|
15
13
|
@path_pattern = path_part
|
16
|
-
@
|
14
|
+
@query_prefix = query_part
|
17
15
|
end
|
18
16
|
end
|
19
17
|
|
@@ -50,70 +48,17 @@ module Aws
|
|
50
48
|
end
|
51
49
|
|
52
50
|
def apply_querystring_params(uri, params)
|
53
|
-
|
54
|
-
parts
|
55
|
-
|
56
|
-
|
57
|
-
case member.shape
|
58
|
-
|
59
|
-
# supported scalar types
|
60
|
-
when StringShape, BooleanShape, FloatShape, IntegerShape, StringShape
|
61
|
-
param_name = member.location_name
|
62
|
-
param_value = params[member_name]
|
63
|
-
parts << "#{param_name}=#{escape(param_value.to_s)}"
|
64
|
-
|
65
|
-
# map of strings or map of string-list
|
66
|
-
when MapShape
|
67
|
-
if StringShape === member.shape.value.shape
|
68
|
-
parts += query_map_of_string(params[member_name])
|
69
|
-
elsif ListShape === member.shape.value.shape
|
70
|
-
parts += query_map_of_string_list(params[member_name])
|
71
|
-
else
|
72
|
-
msg = "only map of string and string list supported"
|
73
|
-
raise NotImplementedError, msg
|
74
|
-
end
|
75
|
-
|
76
|
-
when ListShape
|
77
|
-
if StringShape === member.shape.member.shape
|
78
|
-
parts += list_of_strings(member.location_name, params[member_name])
|
79
|
-
else
|
80
|
-
msg = "Only list of strings supported, got "
|
81
|
-
msg << member.shape.member.shape.class.name
|
82
|
-
raise NotImplementedError, msg
|
83
|
-
end
|
84
|
-
|
85
|
-
# unsupported querystring shape
|
86
|
-
else
|
87
|
-
raise NotImplementedError
|
88
|
-
end
|
89
|
-
|
90
|
-
end
|
91
|
-
end
|
92
|
-
uri.query = parts.empty? ? nil : parts.join('&')
|
93
|
-
end
|
94
|
-
|
95
|
-
def query_map_of_string(hash)
|
96
|
-
list = []
|
97
|
-
hash.each_pair do |key, value|
|
98
|
-
list << "#{escape(key)}=#{escape(value)}"
|
99
|
-
end
|
100
|
-
list
|
101
|
-
end
|
102
|
-
|
103
|
-
def query_map_of_string_list(hash)
|
104
|
-
list = []
|
105
|
-
hash.each_pair do |key, values|
|
106
|
-
values.each do |value|
|
107
|
-
list << "#{escape(key)}=#{escape(value)}"
|
51
|
+
# collect params that are supposed to be part of the query string
|
52
|
+
parts = @rules.shape.members.inject([]) do |parts, (member_name, member_ref)|
|
53
|
+
if member_ref.location == 'querystring' && !params[member_name].nil?
|
54
|
+
parts << [member_ref, params[member_name]]
|
108
55
|
end
|
56
|
+
parts
|
109
57
|
end
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
values.map do |value|
|
115
|
-
"#{name}=#{escape(value)}"
|
116
|
-
end
|
58
|
+
querystring = QuerystringBuilder.new.build(parts)
|
59
|
+
querystring = [@query_prefix, querystring == '' ? nil : querystring].compact.join('&')
|
60
|
+
querystring = nil if querystring == ''
|
61
|
+
uri.query = querystring
|
117
62
|
end
|
118
63
|
|
119
64
|
def escape(string)
|
@@ -0,0 +1,90 @@
|
|
1
|
+
module Aws
|
2
|
+
module Rest
|
3
|
+
module Request
|
4
|
+
class QuerystringBuilder
|
5
|
+
|
6
|
+
include Seahorse::Model::Shapes
|
7
|
+
|
8
|
+
# Provide shape references and param values:
|
9
|
+
#
|
10
|
+
# [
|
11
|
+
# [shape_ref1, 123],
|
12
|
+
# [shape_ref2, "text"]
|
13
|
+
# ]
|
14
|
+
#
|
15
|
+
# Returns a querystring:
|
16
|
+
#
|
17
|
+
# "Count=123&Words=text"
|
18
|
+
#
|
19
|
+
# @param [Array<Array<Seahorse::Model::ShapeRef, Object>>] params An array of
|
20
|
+
# model shape references and request parameter value pairs.
|
21
|
+
#
|
22
|
+
# @return [String] Returns a built querystring
|
23
|
+
def build(params)
|
24
|
+
params.map do |(shape_ref, param_value)|
|
25
|
+
build_part(shape_ref, param_value)
|
26
|
+
end.join('&')
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def build_part(shape_ref, param_value)
|
32
|
+
case shape_ref.shape
|
33
|
+
# supported scalar types
|
34
|
+
when StringShape, BooleanShape, FloatShape, IntegerShape, StringShape
|
35
|
+
param_name = shape_ref.location_name
|
36
|
+
"#{param_name}=#{escape(param_value.to_s)}"
|
37
|
+
when MapShape
|
38
|
+
if StringShape === shape_ref.shape.value.shape
|
39
|
+
query_map_of_string(param_value)
|
40
|
+
elsif ListShape === shape_ref.shape.value.shape
|
41
|
+
query_map_of_string_list(param_value)
|
42
|
+
else
|
43
|
+
msg = "only map of string and string list supported"
|
44
|
+
raise NotImplementedError, msg
|
45
|
+
end
|
46
|
+
when ListShape
|
47
|
+
if StringShape === shape_ref.shape.member.shape
|
48
|
+
list_of_strings(shape_ref.location_name, param_value)
|
49
|
+
else
|
50
|
+
msg = "Only list of strings supported, got "
|
51
|
+
msg << shape_ref.shape.member.shape.class.name
|
52
|
+
raise NotImplementedError, msg
|
53
|
+
end
|
54
|
+
else
|
55
|
+
raise NotImplementedError
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def query_map_of_string(hash)
|
60
|
+
list = []
|
61
|
+
hash.each_pair do |key, value|
|
62
|
+
list << "#{escape(key)}=#{escape(value)}"
|
63
|
+
end
|
64
|
+
list
|
65
|
+
end
|
66
|
+
|
67
|
+
def query_map_of_string_list(hash)
|
68
|
+
list = []
|
69
|
+
hash.each_pair do |key, values|
|
70
|
+
values.each do |value|
|
71
|
+
list << "#{escape(key)}=#{escape(value)}"
|
72
|
+
end
|
73
|
+
end
|
74
|
+
list
|
75
|
+
end
|
76
|
+
|
77
|
+
def list_of_strings(name, values)
|
78
|
+
values.map do |value|
|
79
|
+
"#{name}=#{escape(value)}"
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def escape(string)
|
84
|
+
Seahorse::Util.uri_escape(string)
|
85
|
+
end
|
86
|
+
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|