aws-sdk-core 3.185.1 → 3.214.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.
Files changed (177) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +409 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +1 -2
  5. data/lib/aws-defaults.rb +4 -1
  6. data/lib/aws-sdk-core/assume_role_credentials.rb +12 -5
  7. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +13 -7
  8. data/lib/aws-sdk-core/binary/decode_handler.rb +3 -9
  9. data/lib/aws-sdk-core/binary/encode_handler.rb +1 -1
  10. data/lib/aws-sdk-core/binary/event_builder.rb +34 -37
  11. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +1 -0
  12. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +4 -3
  13. data/lib/aws-sdk-core/cbor/decoder.rb +310 -0
  14. data/lib/aws-sdk-core/cbor/encoder.rb +243 -0
  15. data/lib/aws-sdk-core/cbor.rb +53 -0
  16. data/lib/aws-sdk-core/client_side_monitoring.rb +9 -0
  17. data/lib/aws-sdk-core/client_stubs.rb +23 -19
  18. data/lib/aws-sdk-core/credential_provider.rb +1 -1
  19. data/lib/aws-sdk-core/credential_provider_chain.rb +13 -6
  20. data/lib/aws-sdk-core/credentials.rb +13 -6
  21. data/lib/aws-sdk-core/ec2_metadata.rb +1 -1
  22. data/lib/aws-sdk-core/ecs_credentials.rb +78 -11
  23. data/lib/aws-sdk-core/endpoints/endpoint.rb +3 -1
  24. data/lib/aws-sdk-core/endpoints/matchers.rb +6 -9
  25. data/lib/aws-sdk-core/endpoints.rb +74 -18
  26. data/lib/aws-sdk-core/error_handler.rb +41 -0
  27. data/lib/aws-sdk-core/errors.rb +11 -2
  28. data/lib/aws-sdk-core/event_emitter.rb +0 -16
  29. data/lib/aws-sdk-core/instance_profile_credentials.rb +55 -32
  30. data/lib/aws-sdk-core/json/builder.rb +8 -1
  31. data/lib/aws-sdk-core/json/error_handler.rb +17 -11
  32. data/lib/aws-sdk-core/json/handler.rb +13 -6
  33. data/lib/aws-sdk-core/json/json_engine.rb +3 -1
  34. data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
  35. data/lib/aws-sdk-core/json/parser.rb +32 -2
  36. data/lib/aws-sdk-core/json.rb +43 -14
  37. data/lib/aws-sdk-core/log/param_filter.rb +2 -2
  38. data/lib/aws-sdk-core/log.rb +10 -0
  39. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  40. data/lib/aws-sdk-core/pageable_response.rb +1 -1
  41. data/lib/aws-sdk-core/param_validator.rb +7 -2
  42. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +2 -0
  43. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +6 -3
  44. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -0
  45. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  46. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +9 -3
  47. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  48. data/lib/aws-sdk-core/plugins/http_checksum.rb +2 -1
  49. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  50. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  51. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  52. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  53. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  54. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  55. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  56. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  57. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  58. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +74 -25
  59. data/lib/aws-sdk-core/plugins/request_compression.rb +11 -2
  60. data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
  61. data/lib/aws-sdk-core/plugins/sign.rb +27 -15
  62. data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -1
  63. data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -1
  64. data/lib/aws-sdk-core/plugins/stub_responses.rb +30 -2
  65. data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
  66. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
  67. data/lib/aws-sdk-core/plugins/user_agent.rb +70 -26
  68. data/lib/aws-sdk-core/plugins.rb +39 -0
  69. data/lib/aws-sdk-core/process_credentials.rb +47 -28
  70. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  71. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  72. data/lib/aws-sdk-core/query/handler.rb +4 -4
  73. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  74. data/lib/aws-sdk-core/query.rb +2 -1
  75. data/lib/aws-sdk-core/refreshing_credentials.rb +12 -6
  76. data/lib/aws-sdk-core/resources.rb +8 -0
  77. data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
  78. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  79. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  80. data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
  81. data/lib/aws-sdk-core/rest/request/headers.rb +14 -6
  82. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +62 -36
  83. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  84. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  85. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  86. data/lib/aws-sdk-core/rest.rb +1 -0
  87. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  88. data/lib/aws-sdk-core/rpc_v2/cbor_engine.rb +18 -0
  89. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +47 -0
  90. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +85 -0
  91. data/lib/aws-sdk-core/rpc_v2/handler.rb +79 -0
  92. data/lib/aws-sdk-core/rpc_v2/parser.rb +90 -0
  93. data/lib/aws-sdk-core/rpc_v2.rb +69 -0
  94. data/lib/aws-sdk-core/shared_config.rb +7 -2
  95. data/lib/aws-sdk-core/shared_credentials.rb +0 -7
  96. data/lib/aws-sdk-core/sso_credentials.rb +2 -1
  97. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  98. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  99. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  100. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  101. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  102. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  103. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +39 -0
  104. data/lib/aws-sdk-core/stubbing.rb +22 -0
  105. data/lib/aws-sdk-core/telemetry/base.rb +177 -0
  106. data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
  107. data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
  108. data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
  109. data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
  110. data/lib/aws-sdk-core/telemetry.rb +78 -0
  111. data/lib/aws-sdk-core/util.rb +39 -0
  112. data/lib/aws-sdk-core/waiters/poller.rb +10 -5
  113. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  114. data/lib/aws-sdk-core/xml/error_handler.rb +32 -42
  115. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  116. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  117. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  118. data/lib/aws-sdk-core.rb +82 -107
  119. data/lib/aws-sdk-sso/client.rb +119 -55
  120. data/lib/aws-sdk-sso/client_api.rb +7 -0
  121. data/lib/aws-sdk-sso/endpoint_parameters.rb +9 -6
  122. data/lib/aws-sdk-sso/endpoints.rb +2 -54
  123. data/lib/aws-sdk-sso/plugins/endpoints.rb +23 -22
  124. data/lib/aws-sdk-sso/types.rb +1 -0
  125. data/lib/aws-sdk-sso.rb +15 -11
  126. data/lib/aws-sdk-ssooidc/client.rb +504 -83
  127. data/lib/aws-sdk-ssooidc/client_api.rb +83 -1
  128. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +9 -6
  129. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +2 -2
  130. data/lib/aws-sdk-ssooidc/endpoints.rb +2 -40
  131. data/lib/aws-sdk-ssooidc/errors.rb +52 -0
  132. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +23 -20
  133. data/lib/aws-sdk-ssooidc/types.rb +373 -51
  134. data/lib/aws-sdk-ssooidc.rb +15 -11
  135. data/lib/aws-sdk-sts/client.rb +334 -105
  136. data/lib/aws-sdk-sts/client_api.rb +36 -10
  137. data/lib/aws-sdk-sts/customizations.rb +5 -1
  138. data/lib/aws-sdk-sts/endpoint_parameters.rb +10 -9
  139. data/lib/aws-sdk-sts/endpoint_provider.rb +2 -2
  140. data/lib/aws-sdk-sts/endpoints.rb +2 -118
  141. data/lib/aws-sdk-sts/plugins/endpoints.rb +23 -30
  142. data/lib/aws-sdk-sts/presigner.rb +1 -1
  143. data/lib/aws-sdk-sts/types.rb +188 -30
  144. data/lib/aws-sdk-sts.rb +15 -11
  145. data/lib/seahorse/client/async_base.rb +1 -1
  146. data/lib/seahorse/client/async_response.rb +19 -0
  147. data/lib/seahorse/client/base.rb +18 -7
  148. data/lib/seahorse/client/h2/handler.rb +14 -3
  149. data/lib/seahorse/client/handler.rb +1 -1
  150. data/lib/seahorse/client/net_http/connection_pool.rb +11 -11
  151. data/lib/seahorse/client/net_http/handler.rb +21 -9
  152. data/lib/seahorse/client/net_http/patches.rb +1 -4
  153. data/lib/seahorse/client/plugin.rb +9 -0
  154. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  155. data/lib/seahorse/client/plugins/h2.rb +3 -3
  156. data/lib/seahorse/client/plugins/net_http.rb +57 -16
  157. data/lib/seahorse/client/request_context.rb +8 -1
  158. data/lib/seahorse/model/shapes.rb +2 -2
  159. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  160. data/sig/aws-sdk-core/errors.rbs +22 -0
  161. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  162. data/sig/aws-sdk-core/structure.rbs +4 -0
  163. data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
  164. data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
  165. data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
  166. data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
  167. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  168. data/sig/aws-sdk-core.rbs +7 -0
  169. data/sig/seahorse/client/base.rbs +25 -0
  170. data/sig/seahorse/client/handler_builder.rbs +16 -0
  171. data/sig/seahorse/client/response.rbs +61 -0
  172. metadata +61 -19
  173. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  174. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  175. /data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +0 -0
  176. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  177. /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a871c58d68eb4fb29e8cbaa37367987ed2c060127ddddd433235ae50b43030f5
4
- data.tar.gz: f7697299235319ae5cb27f2251d2650960e68358d30ea90199bcc4709ef6bd81
3
+ metadata.gz: 596e257d0d9e76bb34ad745a9ea18a5f785cbcef8a2ac595d763ee5a650fe346
4
+ data.tar.gz: 6fcc44531b338b0bffb58ab0a76e292ef15e1711a13832f4999186bdb429ecf1
5
5
  SHA512:
6
- metadata.gz: 2e2f2575b51ecc6cebcb91657b12e88241cb7b51a635fa48057f7f54b540cee470d0eef5c20dc5da4e0c8f9c4f967133c3a100824c2e274978131ee86ab69c5e
7
- data.tar.gz: 2dd958969ee80dbde1b6fe9c151f5508301593ad87703ebbb0a4b700e57110ad88e3a1103a56bc70cb5cdfe2965eb0fbb27ee35d38adfa45e664a958546ddb7e
6
+ metadata.gz: 98d3afdac9d52e92066ffc170f59413ca84aaf1799bc8d4c1b9a20454cec0224785b59a40e468d006e1105e7d2aa3ad98b15225127647c6828cae21ff29d07de
7
+ data.tar.gz: ae069af2631397d48d92927ef36930d613797e2c47d8ff1fc0e674908574b9c46fae89fd6a1f6a30f8e598f9fd80b5f21245a0d079a746dcbec3a5fb8b08843a
data/CHANGELOG.md CHANGED
@@ -1,6 +1,415 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 3.214.0 (2024-11-25)
5
+ ------------------
6
+
7
+ * Feature - Updated configuration values for `defaults_mode`.
8
+
9
+ 3.213.0 (2024-11-14)
10
+ ------------------
11
+
12
+ * Feature - Updated Aws::STS::Client with the latest API changes.
13
+
14
+ * Feature - This release introduces the new API 'AssumeRoot', which returns short-term credentials that you can use to perform privileged tasks.
15
+
16
+ 3.212.0 (2024-11-06)
17
+ ------------------
18
+
19
+ * Feature - Updated Aws::STS::Client with the latest API changes.
20
+
21
+ 3.211.0 (2024-10-21)
22
+ ------------------
23
+
24
+ * Feature - Support functionality for services that migrate from AWS Query to AWS JSON or CBOR.
25
+
26
+ * Issue - Fix RPCv2 protocol to always send an Accept header for CBOR.
27
+
28
+ 3.210.0 (2024-10-18)
29
+ ------------------
30
+
31
+ * Feature - Updated Aws::STS::Client with the latest API changes.
32
+
33
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
34
+
35
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
36
+
37
+ * Feature - reduce memory usage by not using legacy endpoint data unless required.
38
+
39
+ 3.209.1 (2024-09-25)
40
+ ------------------
41
+
42
+ * Issue - Add all core plugins to autoloads.
43
+
44
+ 3.209.0 (2024-09-24)
45
+ ------------------
46
+
47
+ * Feature - Updated Aws::STS::Client with the latest API changes.
48
+
49
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
50
+
51
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
52
+
53
+ * Issue - Add service identifiers to GlobalConfig's list of identifiers outside of autoload (#3113).
54
+
55
+ * Issue - Ignore invalid ARNs when trying to parse accountId in assume role credentials.
56
+
57
+ 3.208.0 (2024-09-23)
58
+ ------------------
59
+
60
+ * Feature - Updated Aws::STS::Client with the latest API changes.
61
+
62
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
63
+
64
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
65
+
66
+ * Feature - Use autoloading at the service level to load service clients and resources.
67
+
68
+ 3.207.0 (2024-09-20)
69
+ ------------------
70
+
71
+ * Feature - Updated Aws::STS::Client with the latest API changes.
72
+
73
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
74
+
75
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
76
+
77
+ * Feature - Support Account ID credentials using `ENV['AWS_ACCOUNT_ID']`, `aws_account_id` shared config, or the `account_id` Client configuration option.
78
+
79
+ * Feature - Support Account ID endpoint mode using `ENV['AWS_ACCOUNT_ID_ENDPOINT_MODE']`, `aws_account_id_endpoint_mode` shared config, or the `account_id_endpoint_mode` Client configuration option. Defaults to `preferred`, which will use the account id endpoint if available. Set to `disabled` to disable account id endpoints. Set to `required` to require account id endpoint usage; an error is raised if credentials do not have an account id.
80
+
81
+ 3.206.0 (2024-09-17)
82
+ ------------------
83
+
84
+ * Feature - Support `sigv4a` endpoint auth without CRT.
85
+
86
+ 3.205.0 (2024-09-11)
87
+ ------------------
88
+
89
+ * Feature - Updated Aws::STS::Client with the latest API changes.
90
+
91
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
92
+
93
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
94
+
95
+ * Issue - Additional metrics collection in the User-Agent plugin.
96
+
97
+ 3.204.0 (2024-09-10)
98
+ ------------------
99
+
100
+ * Feature - Updated Aws::STS::Client with the latest API changes.
101
+
102
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
103
+
104
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
105
+
106
+ * Issue - Add support for `ssl_cert` and `ssl_key` configuration options to support mTLS.
107
+
108
+ 3.203.0 (2024-09-03)
109
+ ------------------
110
+
111
+ * Feature - Updated Aws::STS::Client with the latest API changes.
112
+
113
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
114
+
115
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
116
+
117
+ * Feature - Add support for Observability which includes a configuration, `telemetry_provider` and an OpenTelemetry-based telemetry provider.
118
+
119
+ 3.202.2 (2024-08-30)
120
+ ------------------
121
+
122
+ * Issue - revert auto-loading of bundled gems.
123
+
124
+ 3.202.1 (2024-08-29)
125
+ ------------------
126
+
127
+ * Issue - require default plugins when loading aws-sdk-core.
128
+
129
+ 3.202.0 (2024-08-27)
130
+ ------------------
131
+
132
+ * Feature - Updated Aws::STS::Client with the latest API changes.
133
+
134
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
135
+
136
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
137
+
138
+ * Issue - Reduce initial memory usage by auto-loading bundled gems (STS, SSO, SSOOIDC).
139
+
140
+ 3.201.5 (2024-08-15)
141
+ ------------------
142
+
143
+ * Issue - Allow legacy/undocumented `sigv4_signer` configuration to override resolved signer.
144
+
145
+ * Issue - Consider sigv4a supported without crt check.
146
+
147
+ 3.201.4 (2024-08-08)
148
+ ------------------
149
+
150
+ * Issue - Update waiters to handle expected boolean values when matching errors.
151
+
152
+ 3.201.3 (2024-07-23)
153
+ ------------------
154
+
155
+ * Issue - Add `disableNormalizePath` when resolving auth_scheme for S3.
156
+
157
+ 3.201.2 (2024-07-18)
158
+ ------------------
159
+
160
+ * Issue - Allow modeled types to be used for Union inputs.
161
+ * Issue - Ensure that nested sensitive members and sensitive members of lists and maps are filtered.
162
+
163
+ 3.201.1 (2024-07-05)
164
+ ------------------
165
+
166
+ * Issue - Fix `Aws::ProcessCredentials` warning in cases where shared config is used.
167
+
168
+ 3.201.0 (2024-07-02)
169
+ ------------------
170
+
171
+ * Feature - Updated Aws::STS::Client with the latest API changes.
172
+
173
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
174
+
175
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
176
+
177
+ * Feature - Support `auth` trait to enable SigV4a based services.
178
+
179
+ * Feature - Support configuration for sigv4a signing regions using `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`, `sigv4a_signing_region_set` shared config, or the `sigv4a_signing_region_set` client option.
180
+
181
+ 3.200.0 (2024-06-28)
182
+ ------------------
183
+
184
+ * Feature - Updated Aws::STS::Client with the latest API changes.
185
+
186
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
187
+
188
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
189
+
190
+ 3.199.0 (2024-06-25)
191
+ ------------------
192
+
193
+ * Feature - Support RpcV2 protocol.
194
+
195
+ * Feature - Add CBOR encoder and decoder.
196
+
197
+ * Issue - Enhance, refactor, and rebase protocols to be consistent. Ensure protocol tests are run for each engine.
198
+
199
+ 3.198.0 (2024-06-24)
200
+ ------------------
201
+
202
+ * Feature - Updated Aws::STS::Client with the latest API changes.
203
+
204
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
205
+
206
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
207
+
208
+ * Feature - Support `:plugins` option on all Clients or using `Aws.config[:plugins]`.
209
+
210
+ 3.197.2 (2024-06-20)
211
+ ------------------
212
+
213
+ * Issue - fix issue in Endpoint `attr` matcher when path is only an array index.
214
+
215
+ * Issue - Fix trailing slash in endpoint URLs for rest-json and rest-xml services.
216
+
217
+ 3.197.1 (2024-06-19)
218
+ ------------------
219
+
220
+ * Issue - Support an array of string arguments for `Aws::ProcessCredentials` to be executed by `system`.
221
+
222
+ 3.197.0 (2024-06-05)
223
+ ------------------
224
+
225
+ * Issue - Ensure no UTC offset when deserializing `iso8601` timestamp format values.
226
+
227
+ * Feature - Bump User Agent to version 2.1 to track business metrics. This changes the User Agent plugin order to be just before sending.
228
+
229
+ 3.196.1 (2024-05-14)
230
+ ------------------
231
+
232
+ * Issue - Fix `ConnectionPool` for `.empty!` and `.clear!` since it prevented adding a new key from being added to the pool (#3020).
233
+
234
+ 3.196.0 (2024-05-13)
235
+ ------------------
236
+
237
+ * Feature - Updated Aws::STS::Client with the latest API changes.
238
+
239
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
240
+
241
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
242
+
243
+ 3.195.0 (2024-05-10)
244
+ ------------------
245
+
246
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
247
+
248
+ * Feature - Updated request parameters for PKCE support.
249
+
250
+ 3.194.2 (2024-05-07)
251
+ ------------------
252
+
253
+ * Issue - Fix issue where `ConnectionPool` size iteration would prevent a new key from being added to the pool.
254
+
255
+ 3.194.1 (2024-05-03)
256
+ ------------------
257
+
258
+ * Issue - Update EC2 protocol to not serialize empty lists.
259
+
260
+ 3.194.0 (2024-04-30)
261
+ ------------------
262
+
263
+ * Feature - Add an API private cache for S3 Express and Access Grants.
264
+
265
+ 3.193.0 (2024-04-25)
266
+ ------------------
267
+
268
+ * Feature - Updated Aws::STS::Client with the latest API changes.
269
+
270
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
271
+
272
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
273
+
274
+ * Issue - Update event stream documentation.
275
+ * Issue - Move `InvocationId` plugin to all clients.
276
+ * Issue - Handle event streaming content-sha256 header in the signer plugin.
277
+ * Issue - Add the event stream content type to initial requests.
278
+ * Issue - Fix `standard` and `adaptive` retry mode for event streams.
279
+ * Issue - Add `authority` to http2 headers.
280
+ * Issue - Do not treat single members in event stream structures as implicit payloads.
281
+ * Issue - Do not wait for initial response headers to start sending input events.
282
+
283
+ 3.192.1 (2024-04-18)
284
+ ------------------
285
+
286
+ * Issue - Drop key/value pair if value is `nil` when deserializing json maps.
287
+
288
+ 3.192.0 (2024-04-16)
289
+ ------------------
290
+
291
+ * Feature - Updated Aws::STS::Client with the latest API changes.
292
+
293
+ * Feature - Update serializing/deserializing for all protocols to align with Smithy protocol-tests.
294
+ * Issue - Allow `nil` values in lists and maps.
295
+ * Issue - Populate headers for XML and JSON error responses.
296
+ * Issue - Support fractional seconds when parsing `DateTime` timestamps.
297
+ * Issue - Correctly serialize flattened lists for Query protocol.
298
+ * Issue - Correctly serialize payload name in Rest-XML requests.
299
+ * Issue - Fix an issue where Rest-XML requests do not have a default `Content-Type` header applied.
300
+ * Issue - Apply appropriate `Content-Type` header for payloads in Rest services.
301
+ * Issue - Correctly serialize URI label bindings in Rest requests.
302
+ * Issue - Correctly serialize and parse header bindings in Rest services.
303
+ * Issue - Ensure that null and empty headers are not sent in Rest requests.
304
+ * Issue - Ensure keys in query maps do not override modeled keys in Rest requests.
305
+ * Issue - Ensure empty blob payloads are omitted in Rest requests.
306
+ * Issue - Support parsing of `NaN`, `Infinity` and `-Infinity` float values.
307
+ * Issue - Apply appropriate `xmlName` for flattened lists and maps in Rest-XML services.
308
+ * Issue - Handle serializing of different formats of `xmlNamespace` on shapes.
309
+ * Issue - Fix deserializing of an empty blob to produce an empty string.
310
+ * Issue - Fix deserializing an empty self-closed blob to produce an empty string.
311
+ * Issue - Support parsing of different formats of error data in Rest-XML services.
312
+
313
+ 3.191.6 (2024-04-02)
314
+ ------------------
315
+ * Issue - Performance optimization: ensure presence and order of instance variables in `PluginOptions` (#3002).
316
+
317
+ 3.191.5 (2024-03-26)
318
+ ------------------
319
+
320
+ * Issue - Fix `EC2Metadata` and `InstanceProfileCredentials` to respect the port from a configured endpoint from code, ENV, or shared config.
321
+
322
+ 3.191.4 (2024-03-15)
323
+ ------------------
324
+
325
+ * Issue - Ensure output unions work correctly with stub_responses.
326
+
327
+ 3.191.3 (2024-02-20)
328
+ ------------------
329
+
330
+ * Issue - Remove base64 as dependency.
331
+
332
+ 3.191.2 (2024-02-14)
333
+ ------------------
334
+
335
+ * Issue - Add base64 as dependency to prepare for Ruby 3.4 release (#2984).
336
+
337
+ 3.191.1 (2024-02-07)
338
+ ------------------
339
+
340
+ * Issue - Warn on previously silent credential failures (#2981).
341
+
342
+ 3.191.0 (2024-01-26)
343
+ ------------------
344
+
345
+ * Feature - Updated Aws::STS::Client with the latest API changes.
346
+
347
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
348
+
349
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
350
+
351
+ * Feature - Add RBS signature files to support static type checking
352
+
353
+ 3.190.3 (2024-01-16)
354
+ ------------------
355
+
356
+ * Issue - Add mutex around accessing stub api_requests.
357
+
358
+ 3.190.2 (2024-01-09)
359
+ ------------------
360
+
361
+ * Issue - Minor performance optimization.
362
+
363
+ 3.190.1 (2023-12-20)
364
+ ------------------
365
+
366
+ * Issue - Add mutex around stub api_requests.
367
+
368
+ 3.190.0 (2023-11-29)
369
+ ------------------
370
+
371
+ * Feature - Updated Aws::STS::Client with the latest API changes.
372
+
373
+ 3.189.0 (2023-11-28)
374
+ ------------------
375
+
376
+ * Feature - Updated Aws::STS::Client with the latest API changes.
377
+
378
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
379
+
380
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
381
+
382
+ * Feature - Support S3 Express authentication.
383
+
384
+ 3.188.0 (2023-11-22)
385
+ ------------------
386
+
387
+ * Feature - AWS SDK for Ruby no longer supports Ruby runtime versions 2.3 and 2.4.
388
+
389
+ * Feature - Support `AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE` in `ECSCredentials` and also allow for ECS and EKS link-local http addresses.
390
+
391
+ 3.187.1 (2023-11-20)
392
+ ------------------
393
+
394
+ * Issue - For `awsQueryCompatible` services, default an empty list or map for shapes that were previously flattened in the query protocol.
395
+
396
+ 3.187.0 (2023-11-17)
397
+ ------------------
398
+
399
+ * Feature - Updated Aws::STS::Client with the latest API changes.
400
+
401
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
402
+
403
+ 3.186.0 (2023-11-02)
404
+ ------------------
405
+
406
+ * Feature - Support disabling IMDSv1 in `InstanceProfileCredentials` using `ENV['AWS_EC2_METADATA_V1_DISABLED']`, `ec2_metadata_v1_disabled` shared config, or the `disable_imds_v1` credentials option.
407
+
408
+ 3.185.2 (2023-10-31)
409
+ ------------------
410
+
411
+ * Issue - Fix query string support to lists of booleans, floats, integers and timestamps per rest-json protocol.
412
+
4
413
  3.185.1 (2023-10-05)
5
414
  ------------------
6
415
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.185.1
1
+ 3.214.0
@@ -128,8 +128,7 @@ module Aws
128
128
  "override" => 3100
129
129
  }
130
130
  },
131
- "in-region" => {
132
- },
131
+ "in-region" => {},
133
132
  "cross-region" => {
134
133
  "connectTimeoutInMillis" => {
135
134
  "override" => 3100
data/lib/aws-defaults.rb CHANGED
@@ -1,3 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'aws-defaults/default_configuration'
3
+ module Aws
4
+ autoload :DefaultsModeConfiguration, 'aws-defaults/default_configuration'
5
+ autoload :DefaultsModeConfigResolver, 'aws-defaults/defaults_mode_config_resolver'
6
+ end
@@ -62,13 +62,20 @@ module Aws
62
62
  private
63
63
 
64
64
  def refresh
65
- c = @client.assume_role(@assume_role_params).credentials
65
+ resp = @client.assume_role(@assume_role_params)
66
+ creds = resp.credentials
66
67
  @credentials = Credentials.new(
67
- c.access_key_id,
68
- c.secret_access_key,
69
- c.session_token
68
+ creds.access_key_id,
69
+ creds.secret_access_key,
70
+ creds.session_token,
71
+ account_id: parse_account_id(resp)
70
72
  )
71
- @expiration = c.expiration
73
+ @expiration = creds.expiration
74
+ end
75
+
76
+ def parse_account_id(resp)
77
+ arn = resp.assumed_role_user&.arn
78
+ ARNParser.parse(arn).account_id if ARNParser.arn?(arn)
72
79
  end
73
80
 
74
81
  class << self
@@ -60,7 +60,7 @@ module Aws
60
60
  # not provided, generate encoded UUID as session name
61
61
  @assume_role_web_identity_params[:role_session_name] = _session_name
62
62
  end
63
- @client = client_opts[:client] || STS::Client.new(client_opts.merge(credentials: false))
63
+ @client = client_opts[:client] || STS::Client.new(client_opts.merge(credentials: nil))
64
64
  super
65
65
  end
66
66
 
@@ -73,14 +73,15 @@ module Aws
73
73
  # read from token file everytime it refreshes
74
74
  @assume_role_web_identity_params[:web_identity_token] = _token_from_file(@token_file)
75
75
 
76
- c = @client.assume_role_with_web_identity(
77
- @assume_role_web_identity_params).credentials
76
+ resp = @client.assume_role_with_web_identity(@assume_role_web_identity_params)
77
+ creds = resp.credentials
78
78
  @credentials = Credentials.new(
79
- c.access_key_id,
80
- c.secret_access_key,
81
- c.session_token
79
+ creds.access_key_id,
80
+ creds.secret_access_key,
81
+ creds.session_token,
82
+ account_id: parse_account_id(resp)
82
83
  )
83
- @expiration = c.expiration
84
+ @expiration = creds.expiration
84
85
  end
85
86
 
86
87
  def _token_from_file(path)
@@ -94,6 +95,11 @@ module Aws
94
95
  Base64.strict_encode64(SecureRandom.uuid)
95
96
  end
96
97
 
98
+ def parse_account_id(resp)
99
+ arn = resp.assumed_role_user&.arn
100
+ ARNParser.parse(arn).account_id if ARNParser.arn?(arn)
101
+ end
102
+
97
103
  class << self
98
104
 
99
105
  # @api private
@@ -22,22 +22,16 @@ module Aws
22
22
  end
23
23
 
24
24
  def attach_eventstream_listeners(context, rules)
25
-
26
25
  context.http_response.on_headers(200) do
27
- protocol = context.config.api.metadata['protocol']
28
- output_handler = context[:output_event_stream_handler] || context[:event_stream_handler]
26
+ output_handler = context[:output_event_stream_handler] ||
27
+ context[:event_stream_handler]
29
28
  context.http_response.body = EventStreamDecoder.new(
30
- protocol,
29
+ context.config.protocol,
31
30
  rules,
32
31
  context.operation.output,
33
32
  context.operation.errors,
34
33
  context.http_response.body,
35
34
  output_handler)
36
- if input_emitter = context[:input_event_emitter]
37
- # #emit will be blocked until 200 success
38
- # see Aws::EventEmitter#emit
39
- input_emitter.signal_queue << "ready"
40
- end
41
35
  end
42
36
 
43
37
  context.http_response.on_success(200) do
@@ -10,7 +10,7 @@ module Aws
10
10
  if eventstream_member = eventstream_input?(context)
11
11
  input_es_handler = context[:input_event_stream_handler]
12
12
  input_es_handler.event_emitter.encoder = EventStreamEncoder.new(
13
- context.config.api.metadata['protocol'],
13
+ context.config.protocol,
14
14
  eventstream_member,
15
15
  context.operation.input,
16
16
  signer_for(context)
@@ -42,41 +42,39 @@ module Aws
42
42
  end
43
43
  end
44
44
 
45
- # implict payload
46
- if !explicit_payload && !implicit_payload_members.empty?
47
- if implicit_payload_members.size > 1
48
- payload_shape = Shapes::StructureShape.new
49
- implicit_payload_members.each do |m_name, m_ref|
50
- payload_shape.add_member(m_name, m_ref)
51
- end
52
- payload_ref = Shapes::ShapeRef.new(shape: payload_shape)
53
-
54
- payload = build_payload_members(payload_ref, params)
55
- else
56
- m_name, m_ref = implicit_payload_members.first
57
- streaming, content_type = _content_type(m_ref.shape)
58
-
59
- es_headers[":content-type"] = Aws::EventStream::HeaderValue.new(
60
- type: "string", value: content_type)
61
- payload = _build_payload(streaming, m_ref, params[m_name])
62
- end
63
- end
64
-
65
-
45
+ # handle header members for all cases
66
46
  event_ref.shape.members.each do |member_name, member_ref|
67
47
  if member_ref.eventheader && params[member_name]
68
48
  header_value = params[member_name]
69
49
  es_headers[member_ref.shape.name] = Aws::EventStream::HeaderValue.new(
70
- type: _header_value_type(member_ref.shape, header_value),
50
+ type: header_value_type(member_ref.shape, header_value),
71
51
  value: header_value
72
52
  )
73
- elsif member_ref.eventpayload && params[member_name]
74
- # explicit payload
75
- streaming, content_type = _content_type(member_ref.shape)
53
+ end
54
+ end
55
+
56
+ # implict payload
57
+ if !explicit_payload && !implicit_payload_members.empty?
58
+ payload_shape = StructureShape.new
59
+ implicit_payload_members.each do |m_name, m_ref|
60
+ payload_shape.add_member(m_name, m_ref)
61
+ end
62
+ payload_ref = ShapeRef.new(shape: payload_shape)
76
63
 
77
- es_headers[":content-type"] = Aws::EventStream::HeaderValue.new(
78
- type: "string", value: content_type)
79
- payload = _build_payload(streaming, member_ref, params[member_name])
64
+ payload = build_payload_members(payload_ref, params)
65
+ .force_encoding(Encoding::BINARY)
66
+
67
+
68
+ es_headers[":content-type"] = Aws::EventStream::HeaderValue.new(
69
+ type: "string", value: content_type(payload_ref.shape))
70
+ else
71
+ # explicit payload, serialize just the payload member
72
+ event_ref.shape.members.each do |member_name, member_ref|
73
+ if member_ref.eventpayload && params[member_name]
74
+ es_headers[":content-type"] = Aws::EventStream::HeaderValue.new(
75
+ type: "string", value: content_type(member_ref.shape))
76
+ payload = params[member_name]
77
+ end
80
78
  end
81
79
  end
82
80
 
@@ -86,15 +84,15 @@ module Aws
86
84
  )
87
85
  end
88
86
 
89
- def _content_type(shape)
87
+ def content_type(shape)
90
88
  case shape
91
- when BlobShape then [true, "application/octet-stream"]
92
- when StringShape then [true, "text/plain"]
89
+ when BlobShape then "application/octet-stream"
90
+ when StringShape then "text/plain"
93
91
  when StructureShape then
94
92
  if @serializer_class.name.include?('Xml')
95
- [false, "text/xml"]
93
+ "text/xml"
96
94
  elsif @serializer_class.name.include?('Json')
97
- [false, "application/json"]
95
+ "application/json"
98
96
  end
99
97
  else
100
98
  raise Aws::Errors::EventStreamBuilderError.new(
@@ -102,7 +100,7 @@ module Aws
102
100
  end
103
101
  end
104
102
 
105
- def _header_value_type(shape, value)
103
+ def header_value_type(shape, value)
106
104
  case shape
107
105
  when StringShape then "string"
108
106
  when IntegerShape then "integer"
@@ -115,10 +113,9 @@ module Aws
115
113
  end
116
114
  end
117
115
 
118
- def _build_payload(streaming, ref, value)
119
- streaming ? value : @serializer_class.new(ref).serialize(value)
116
+ def build_payload_members(payload_ref, params)
117
+ @serializer_class.new(payload_ref).serialize(params)
120
118
  end
121
-
122
119
  end
123
120
  end
124
121
  end
@@ -47,6 +47,7 @@ module Aws
47
47
  when 'rest-xml' then Aws::Xml::Parser
48
48
  when 'rest-json' then Aws::Json::Parser
49
49
  when 'json' then Aws::Json::Parser
50
+ when 'smithy-rpc-v2-cbor' then Aws::RpcV2::Parser
50
51
  else raise "unsupported protocol #{protocol} for event stream"
51
52
  end
52
53
  end
@@ -43,9 +43,10 @@ module Aws
43
43
 
44
44
  def serializer_class(protocol)
45
45
  case protocol
46
- when 'rest-xml' then Xml::Builder
47
- when 'rest-json' then Json::Builder
48
- when 'json' then Json::Builder
46
+ when 'rest-xml' then Aws::Xml::Builder
47
+ when 'rest-json' then Aws::Json::Builder
48
+ when 'json' then Aws::Json::Builder
49
+ when 'smithy-rpc-v2-cbor' then Aws::RpcV2::Builder
49
50
  else raise "unsupported protocol #{protocol} for event stream"
50
51
  end
51
52
  end