aws-sdk-core 3.170.1 → 3.240.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 (211) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +855 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +4 -4
  5. data/lib/aws-defaults.rb +4 -1
  6. data/lib/aws-sdk-core/arn.rb +1 -3
  7. data/lib/aws-sdk-core/assume_role_credentials.rb +21 -13
  8. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +16 -9
  9. data/lib/aws-sdk-core/binary/decode_handler.rb +3 -9
  10. data/lib/aws-sdk-core/binary/encode_handler.rb +1 -1
  11. data/lib/aws-sdk-core/binary/event_builder.rb +34 -37
  12. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +1 -0
  13. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +4 -3
  14. data/lib/aws-sdk-core/cbor/decoder.rb +308 -0
  15. data/lib/aws-sdk-core/cbor/encoder.rb +243 -0
  16. data/lib/aws-sdk-core/cbor.rb +53 -0
  17. data/lib/aws-sdk-core/client_side_monitoring.rb +9 -0
  18. data/lib/aws-sdk-core/client_stubs.rb +39 -55
  19. data/lib/aws-sdk-core/credential_provider.rb +8 -1
  20. data/lib/aws-sdk-core/credential_provider_chain.rb +103 -26
  21. data/lib/aws-sdk-core/credentials.rb +19 -6
  22. data/lib/aws-sdk-core/ec2_metadata.rb +1 -1
  23. data/lib/aws-sdk-core/ecs_credentials.rb +186 -60
  24. data/lib/aws-sdk-core/endpoints/endpoint.rb +3 -1
  25. data/lib/aws-sdk-core/endpoints/matchers.rb +21 -19
  26. data/lib/aws-sdk-core/endpoints.rb +106 -22
  27. data/lib/aws-sdk-core/error_handler.rb +46 -0
  28. data/lib/aws-sdk-core/errors.rb +17 -5
  29. data/lib/aws-sdk-core/event_emitter.rb +1 -17
  30. data/lib/aws-sdk-core/ini_parser.rb +7 -0
  31. data/lib/aws-sdk-core/instance_profile_credentials.rb +168 -155
  32. data/lib/aws-sdk-core/json/builder.rb +8 -1
  33. data/lib/aws-sdk-core/json/error_handler.rb +41 -15
  34. data/lib/aws-sdk-core/json/handler.rb +13 -6
  35. data/lib/aws-sdk-core/json/json_engine.rb +3 -1
  36. data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
  37. data/lib/aws-sdk-core/json/parser.rb +33 -3
  38. data/lib/aws-sdk-core/json.rb +43 -14
  39. data/lib/aws-sdk-core/log/formatter.rb +6 -0
  40. data/lib/aws-sdk-core/log/param_filter.rb +2 -2
  41. data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
  42. data/lib/aws-sdk-core/log.rb +10 -0
  43. data/lib/aws-sdk-core/login_credentials.rb +229 -0
  44. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  45. data/lib/aws-sdk-core/pageable_response.rb +3 -1
  46. data/lib/aws-sdk-core/param_validator.rb +9 -4
  47. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +2 -0
  48. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +348 -169
  49. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -1
  50. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  51. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +78 -56
  52. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
  53. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  54. data/lib/aws-sdk-core/plugins/http_checksum.rb +3 -8
  55. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  56. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  57. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  58. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  59. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  60. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  61. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  62. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  63. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  64. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +162 -37
  65. data/lib/aws-sdk-core/plugins/request_compression.rb +226 -0
  66. data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
  67. data/lib/aws-sdk-core/plugins/sign.rb +55 -33
  68. data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -1
  69. data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -1
  70. data/lib/aws-sdk-core/plugins/stub_responses.rb +59 -9
  71. data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
  72. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
  73. data/lib/aws-sdk-core/plugins/user_agent.rb +194 -14
  74. data/lib/aws-sdk-core/plugins.rb +39 -0
  75. data/lib/aws-sdk-core/process_credentials.rb +48 -29
  76. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  77. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  78. data/lib/aws-sdk-core/query/handler.rb +4 -4
  79. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  80. data/lib/aws-sdk-core/query.rb +2 -1
  81. data/lib/aws-sdk-core/refreshing_credentials.rb +20 -23
  82. data/lib/aws-sdk-core/resources.rb +8 -0
  83. data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
  84. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  85. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  86. data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
  87. data/lib/aws-sdk-core/rest/request/headers.rb +15 -7
  88. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +62 -36
  89. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  90. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  91. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  92. data/lib/aws-sdk-core/rest.rb +1 -0
  93. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  94. data/lib/aws-sdk-core/rpc_v2/cbor_engine.rb +18 -0
  95. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +47 -0
  96. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +95 -0
  97. data/lib/aws-sdk-core/rpc_v2/handler.rb +79 -0
  98. data/lib/aws-sdk-core/rpc_v2/parser.rb +98 -0
  99. data/lib/aws-sdk-core/rpc_v2.rb +69 -0
  100. data/lib/aws-sdk-core/shared_config.rb +155 -39
  101. data/lib/aws-sdk-core/shared_credentials.rb +1 -7
  102. data/lib/aws-sdk-core/sso_credentials.rb +6 -3
  103. data/lib/aws-sdk-core/static_token_provider.rb +1 -2
  104. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  105. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  106. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  107. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  108. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  109. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  110. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +39 -0
  111. data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
  112. data/lib/aws-sdk-core/stubbing.rb +22 -0
  113. data/lib/aws-sdk-core/telemetry/base.rb +177 -0
  114. data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
  115. data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
  116. data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
  117. data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
  118. data/lib/aws-sdk-core/telemetry.rb +78 -0
  119. data/lib/aws-sdk-core/token.rb +3 -3
  120. data/lib/aws-sdk-core/token_provider.rb +4 -0
  121. data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
  122. data/lib/aws-sdk-core/util.rb +41 -1
  123. data/lib/aws-sdk-core/waiters/poller.rb +12 -5
  124. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  125. data/lib/aws-sdk-core/xml/error_handler.rb +35 -43
  126. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  127. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  128. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  129. data/lib/aws-sdk-core.rb +86 -107
  130. data/lib/aws-sdk-signin/client.rb +604 -0
  131. data/lib/aws-sdk-signin/client_api.rb +119 -0
  132. data/lib/aws-sdk-signin/customizations.rb +1 -0
  133. data/lib/aws-sdk-signin/endpoint_parameters.rb +69 -0
  134. data/lib/aws-sdk-signin/endpoint_provider.rb +59 -0
  135. data/lib/aws-sdk-signin/endpoints.rb +20 -0
  136. data/lib/aws-sdk-signin/errors.rb +122 -0
  137. data/lib/aws-sdk-signin/plugins/endpoints.rb +77 -0
  138. data/lib/aws-sdk-signin/resource.rb +26 -0
  139. data/lib/aws-sdk-signin/types.rb +299 -0
  140. data/lib/aws-sdk-signin.rb +63 -0
  141. data/lib/aws-sdk-sso/client.rb +205 -92
  142. data/lib/aws-sdk-sso/client_api.rb +7 -0
  143. data/lib/aws-sdk-sso/endpoint_parameters.rb +13 -10
  144. data/lib/aws-sdk-sso/endpoint_provider.rb +30 -28
  145. data/lib/aws-sdk-sso/endpoints.rb +3 -54
  146. data/lib/aws-sdk-sso/plugins/endpoints.rb +23 -22
  147. data/lib/aws-sdk-sso/types.rb +1 -0
  148. data/lib/aws-sdk-sso.rb +15 -11
  149. data/lib/aws-sdk-ssooidc/client.rb +625 -125
  150. data/lib/aws-sdk-ssooidc/client_api.rb +94 -1
  151. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +13 -10
  152. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +30 -28
  153. data/lib/aws-sdk-ssooidc/endpoints.rb +3 -40
  154. data/lib/aws-sdk-ssooidc/errors.rb +62 -0
  155. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +23 -20
  156. data/lib/aws-sdk-ssooidc/types.rb +419 -53
  157. data/lib/aws-sdk-ssooidc.rb +15 -11
  158. data/lib/aws-sdk-sts/client.rb +656 -249
  159. data/lib/aws-sdk-sts/client_api.rb +120 -9
  160. data/lib/aws-sdk-sts/customizations.rb +5 -2
  161. data/lib/aws-sdk-sts/endpoint_parameters.rb +15 -14
  162. data/lib/aws-sdk-sts/endpoint_provider.rb +82 -84
  163. data/lib/aws-sdk-sts/endpoints.rb +3 -118
  164. data/lib/aws-sdk-sts/errors.rb +79 -0
  165. data/lib/aws-sdk-sts/plugins/endpoints.rb +23 -30
  166. data/lib/aws-sdk-sts/presigner.rb +3 -7
  167. data/lib/aws-sdk-sts/types.rb +390 -40
  168. data/lib/aws-sdk-sts.rb +15 -11
  169. data/lib/seahorse/client/async_base.rb +4 -5
  170. data/lib/seahorse/client/async_response.rb +19 -0
  171. data/lib/seahorse/client/base.rb +18 -21
  172. data/lib/seahorse/client/configuration.rb +0 -4
  173. data/lib/seahorse/client/h2/connection.rb +18 -28
  174. data/lib/seahorse/client/h2/handler.rb +19 -3
  175. data/lib/seahorse/client/handler.rb +1 -1
  176. data/lib/seahorse/client/http/response.rb +1 -1
  177. data/lib/seahorse/client/net_http/connection_pool.rb +15 -12
  178. data/lib/seahorse/client/net_http/handler.rb +21 -9
  179. data/lib/seahorse/client/net_http/patches.rb +1 -4
  180. data/lib/seahorse/client/networking_error.rb +1 -1
  181. data/lib/seahorse/client/plugin.rb +9 -0
  182. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  183. data/lib/seahorse/client/plugins/h2.rb +4 -4
  184. data/lib/seahorse/client/plugins/net_http.rb +57 -16
  185. data/lib/seahorse/client/plugins/request_callback.rb +31 -0
  186. data/lib/seahorse/client/request_context.rb +9 -2
  187. data/lib/seahorse/client/response.rb +8 -0
  188. data/lib/seahorse/model/operation.rb +3 -0
  189. data/lib/seahorse/model/shapes.rb +2 -2
  190. data/lib/seahorse/util.rb +2 -1
  191. data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
  192. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  193. data/sig/aws-sdk-core/errors.rbs +22 -0
  194. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  195. data/sig/aws-sdk-core/structure.rbs +4 -0
  196. data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
  197. data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
  198. data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
  199. data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
  200. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  201. data/sig/aws-sdk-core.rbs +7 -0
  202. data/sig/seahorse/client/async_base.rbs +18 -0
  203. data/sig/seahorse/client/base.rbs +25 -0
  204. data/sig/seahorse/client/handler_builder.rbs +16 -0
  205. data/sig/seahorse/client/response.rbs +61 -0
  206. metadata +118 -23
  207. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  208. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  209. /data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +0 -0
  210. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  211. /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  module Aws::STS
11
12
  # @api private
12
13
  module ClientApi
@@ -19,60 +20,80 @@ module Aws::STS
19
20
  AssumeRoleWithSAMLResponse = Shapes::StructureShape.new(name: 'AssumeRoleWithSAMLResponse')
20
21
  AssumeRoleWithWebIdentityRequest = Shapes::StructureShape.new(name: 'AssumeRoleWithWebIdentityRequest')
21
22
  AssumeRoleWithWebIdentityResponse = Shapes::StructureShape.new(name: 'AssumeRoleWithWebIdentityResponse')
23
+ AssumeRootRequest = Shapes::StructureShape.new(name: 'AssumeRootRequest')
24
+ AssumeRootResponse = Shapes::StructureShape.new(name: 'AssumeRootResponse')
22
25
  AssumedRoleUser = Shapes::StructureShape.new(name: 'AssumedRoleUser')
23
26
  Audience = Shapes::StringShape.new(name: 'Audience')
24
27
  Credentials = Shapes::StructureShape.new(name: 'Credentials')
25
28
  DecodeAuthorizationMessageRequest = Shapes::StructureShape.new(name: 'DecodeAuthorizationMessageRequest')
26
29
  DecodeAuthorizationMessageResponse = Shapes::StructureShape.new(name: 'DecodeAuthorizationMessageResponse')
27
- ExpiredTokenException = Shapes::StructureShape.new(name: 'ExpiredTokenException')
30
+ ExpiredTokenException = Shapes::StructureShape.new(name: 'ExpiredTokenException', error: {"code" => "ExpiredTokenException", "httpStatusCode" => 400, "senderFault" => true})
31
+ ExpiredTradeInTokenException = Shapes::StructureShape.new(name: 'ExpiredTradeInTokenException', error: {"code" => "ExpiredTradeInTokenException", "httpStatusCode" => 400, "senderFault" => true})
28
32
  FederatedUser = Shapes::StructureShape.new(name: 'FederatedUser')
29
33
  GetAccessKeyInfoRequest = Shapes::StructureShape.new(name: 'GetAccessKeyInfoRequest')
30
34
  GetAccessKeyInfoResponse = Shapes::StructureShape.new(name: 'GetAccessKeyInfoResponse')
31
35
  GetCallerIdentityRequest = Shapes::StructureShape.new(name: 'GetCallerIdentityRequest')
32
36
  GetCallerIdentityResponse = Shapes::StructureShape.new(name: 'GetCallerIdentityResponse')
37
+ GetDelegatedAccessTokenRequest = Shapes::StructureShape.new(name: 'GetDelegatedAccessTokenRequest')
38
+ GetDelegatedAccessTokenResponse = Shapes::StructureShape.new(name: 'GetDelegatedAccessTokenResponse')
33
39
  GetFederationTokenRequest = Shapes::StructureShape.new(name: 'GetFederationTokenRequest')
34
40
  GetFederationTokenResponse = Shapes::StructureShape.new(name: 'GetFederationTokenResponse')
35
41
  GetSessionTokenRequest = Shapes::StructureShape.new(name: 'GetSessionTokenRequest')
36
42
  GetSessionTokenResponse = Shapes::StructureShape.new(name: 'GetSessionTokenResponse')
37
- IDPCommunicationErrorException = Shapes::StructureShape.new(name: 'IDPCommunicationErrorException')
38
- IDPRejectedClaimException = Shapes::StructureShape.new(name: 'IDPRejectedClaimException')
39
- InvalidAuthorizationMessageException = Shapes::StructureShape.new(name: 'InvalidAuthorizationMessageException')
40
- InvalidIdentityTokenException = Shapes::StructureShape.new(name: 'InvalidIdentityTokenException')
43
+ GetWebIdentityTokenRequest = Shapes::StructureShape.new(name: 'GetWebIdentityTokenRequest')
44
+ GetWebIdentityTokenResponse = Shapes::StructureShape.new(name: 'GetWebIdentityTokenResponse')
45
+ IDPCommunicationErrorException = Shapes::StructureShape.new(name: 'IDPCommunicationErrorException', error: {"code" => "IDPCommunicationError", "httpStatusCode" => 400, "senderFault" => true})
46
+ IDPRejectedClaimException = Shapes::StructureShape.new(name: 'IDPRejectedClaimException', error: {"code" => "IDPRejectedClaim", "httpStatusCode" => 403, "senderFault" => true})
47
+ InvalidAuthorizationMessageException = Shapes::StructureShape.new(name: 'InvalidAuthorizationMessageException', error: {"code" => "InvalidAuthorizationMessageException", "httpStatusCode" => 400, "senderFault" => true})
48
+ InvalidIdentityTokenException = Shapes::StructureShape.new(name: 'InvalidIdentityTokenException', error: {"code" => "InvalidIdentityToken", "httpStatusCode" => 400, "senderFault" => true})
41
49
  Issuer = Shapes::StringShape.new(name: 'Issuer')
42
- MalformedPolicyDocumentException = Shapes::StructureShape.new(name: 'MalformedPolicyDocumentException')
50
+ JWTPayloadSizeExceededException = Shapes::StructureShape.new(name: 'JWTPayloadSizeExceededException', error: {"code" => "JWTPayloadSizeExceededException", "httpStatusCode" => 400, "senderFault" => true})
51
+ MalformedPolicyDocumentException = Shapes::StructureShape.new(name: 'MalformedPolicyDocumentException', error: {"code" => "MalformedPolicyDocument", "httpStatusCode" => 400, "senderFault" => true})
43
52
  NameQualifier = Shapes::StringShape.new(name: 'NameQualifier')
44
- PackedPolicyTooLargeException = Shapes::StructureShape.new(name: 'PackedPolicyTooLargeException')
53
+ OutboundWebIdentityFederationDisabledException = Shapes::StructureShape.new(name: 'OutboundWebIdentityFederationDisabledException', error: {"code" => "OutboundWebIdentityFederationDisabledException", "httpStatusCode" => 403, "senderFault" => true})
54
+ PackedPolicyTooLargeException = Shapes::StructureShape.new(name: 'PackedPolicyTooLargeException', error: {"code" => "PackedPolicyTooLarge", "httpStatusCode" => 400, "senderFault" => true})
45
55
  PolicyDescriptorType = Shapes::StructureShape.new(name: 'PolicyDescriptorType')
46
- RegionDisabledException = Shapes::StructureShape.new(name: 'RegionDisabledException')
56
+ ProvidedContext = Shapes::StructureShape.new(name: 'ProvidedContext')
57
+ ProvidedContextsListType = Shapes::ListShape.new(name: 'ProvidedContextsListType')
58
+ RegionDisabledException = Shapes::StructureShape.new(name: 'RegionDisabledException', error: {"code" => "RegionDisabledException", "httpStatusCode" => 403, "senderFault" => true})
59
+ RootDurationSecondsType = Shapes::IntegerShape.new(name: 'RootDurationSecondsType')
47
60
  SAMLAssertionType = Shapes::StringShape.new(name: 'SAMLAssertionType')
61
+ SessionDurationEscalationException = Shapes::StructureShape.new(name: 'SessionDurationEscalationException', error: {"code" => "SessionDurationEscalationException", "httpStatusCode" => 403, "senderFault" => true})
48
62
  Subject = Shapes::StringShape.new(name: 'Subject')
49
63
  SubjectType = Shapes::StringShape.new(name: 'SubjectType')
50
64
  Tag = Shapes::StructureShape.new(name: 'Tag')
65
+ TargetPrincipalType = Shapes::StringShape.new(name: 'TargetPrincipalType')
51
66
  accessKeyIdType = Shapes::StringShape.new(name: 'accessKeyIdType')
52
67
  accessKeySecretType = Shapes::StringShape.new(name: 'accessKeySecretType')
53
68
  accountType = Shapes::StringShape.new(name: 'accountType')
54
69
  arnType = Shapes::StringShape.new(name: 'arnType')
55
70
  assumedRoleIdType = Shapes::StringShape.new(name: 'assumedRoleIdType')
56
71
  clientTokenType = Shapes::StringShape.new(name: 'clientTokenType')
72
+ contextAssertionType = Shapes::StringShape.new(name: 'contextAssertionType')
57
73
  dateType = Shapes::TimestampShape.new(name: 'dateType')
58
74
  decodedMessageType = Shapes::StringShape.new(name: 'decodedMessageType')
59
75
  durationSecondsType = Shapes::IntegerShape.new(name: 'durationSecondsType')
60
76
  encodedMessageType = Shapes::StringShape.new(name: 'encodedMessageType')
61
77
  expiredIdentityTokenMessage = Shapes::StringShape.new(name: 'expiredIdentityTokenMessage')
78
+ expiredTradeInTokenExceptionMessage = Shapes::StringShape.new(name: 'expiredTradeInTokenExceptionMessage')
62
79
  externalIdType = Shapes::StringShape.new(name: 'externalIdType')
63
80
  federatedIdType = Shapes::StringShape.new(name: 'federatedIdType')
64
81
  idpCommunicationErrorMessage = Shapes::StringShape.new(name: 'idpCommunicationErrorMessage')
65
82
  idpRejectedClaimMessage = Shapes::StringShape.new(name: 'idpRejectedClaimMessage')
66
83
  invalidAuthorizationMessage = Shapes::StringShape.new(name: 'invalidAuthorizationMessage')
67
84
  invalidIdentityTokenMessage = Shapes::StringShape.new(name: 'invalidIdentityTokenMessage')
85
+ jwtAlgorithmType = Shapes::StringShape.new(name: 'jwtAlgorithmType')
86
+ jwtPayloadSizeExceededException = Shapes::StringShape.new(name: 'jwtPayloadSizeExceededException')
68
87
  malformedPolicyDocumentMessage = Shapes::StringShape.new(name: 'malformedPolicyDocumentMessage')
69
88
  nonNegativeIntegerType = Shapes::IntegerShape.new(name: 'nonNegativeIntegerType')
89
+ outboundWebIdentityFederationDisabledException = Shapes::StringShape.new(name: 'outboundWebIdentityFederationDisabledException')
70
90
  packedPolicyTooLargeMessage = Shapes::StringShape.new(name: 'packedPolicyTooLargeMessage')
71
91
  policyDescriptorListType = Shapes::ListShape.new(name: 'policyDescriptorListType')
72
92
  regionDisabledMessage = Shapes::StringShape.new(name: 'regionDisabledMessage')
73
93
  roleDurationSecondsType = Shapes::IntegerShape.new(name: 'roleDurationSecondsType')
74
94
  roleSessionNameType = Shapes::StringShape.new(name: 'roleSessionNameType')
75
95
  serialNumberType = Shapes::StringShape.new(name: 'serialNumberType')
96
+ sessionDurationEscalationException = Shapes::StringShape.new(name: 'sessionDurationEscalationException')
76
97
  sessionPolicyDocumentType = Shapes::StringShape.new(name: 'sessionPolicyDocumentType')
77
98
  sourceIdentityType = Shapes::StringShape.new(name: 'sourceIdentityType')
78
99
  tagKeyListType = Shapes::ListShape.new(name: 'tagKeyListType')
@@ -81,15 +102,21 @@ module Aws::STS
81
102
  tagValueType = Shapes::StringShape.new(name: 'tagValueType')
82
103
  tokenCodeType = Shapes::StringShape.new(name: 'tokenCodeType')
83
104
  tokenType = Shapes::StringShape.new(name: 'tokenType')
105
+ tradeInTokenType = Shapes::StringShape.new(name: 'tradeInTokenType')
106
+ unrestrictedSessionPolicyDocumentType = Shapes::StringShape.new(name: 'unrestrictedSessionPolicyDocumentType')
84
107
  urlType = Shapes::StringShape.new(name: 'urlType')
85
108
  userIdType = Shapes::StringShape.new(name: 'userIdType')
86
109
  userNameType = Shapes::StringShape.new(name: 'userNameType')
87
110
  webIdentitySubjectType = Shapes::StringShape.new(name: 'webIdentitySubjectType')
111
+ webIdentityTokenAudienceListType = Shapes::ListShape.new(name: 'webIdentityTokenAudienceListType')
112
+ webIdentityTokenAudienceStringType = Shapes::StringShape.new(name: 'webIdentityTokenAudienceStringType')
113
+ webIdentityTokenDurationSecondsType = Shapes::IntegerShape.new(name: 'webIdentityTokenDurationSecondsType')
114
+ webIdentityTokenType = Shapes::StringShape.new(name: 'webIdentityTokenType')
88
115
 
89
116
  AssumeRoleRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "RoleArn"))
90
117
  AssumeRoleRequest.add_member(:role_session_name, Shapes::ShapeRef.new(shape: roleSessionNameType, required: true, location_name: "RoleSessionName"))
91
118
  AssumeRoleRequest.add_member(:policy_arns, Shapes::ShapeRef.new(shape: policyDescriptorListType, location_name: "PolicyArns"))
92
- AssumeRoleRequest.add_member(:policy, Shapes::ShapeRef.new(shape: sessionPolicyDocumentType, location_name: "Policy"))
119
+ AssumeRoleRequest.add_member(:policy, Shapes::ShapeRef.new(shape: unrestrictedSessionPolicyDocumentType, location_name: "Policy"))
93
120
  AssumeRoleRequest.add_member(:duration_seconds, Shapes::ShapeRef.new(shape: roleDurationSecondsType, location_name: "DurationSeconds"))
94
121
  AssumeRoleRequest.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, location_name: "Tags"))
95
122
  AssumeRoleRequest.add_member(:transitive_tag_keys, Shapes::ShapeRef.new(shape: tagKeyListType, location_name: "TransitiveTagKeys"))
@@ -97,6 +124,7 @@ module Aws::STS
97
124
  AssumeRoleRequest.add_member(:serial_number, Shapes::ShapeRef.new(shape: serialNumberType, location_name: "SerialNumber"))
98
125
  AssumeRoleRequest.add_member(:token_code, Shapes::ShapeRef.new(shape: tokenCodeType, location_name: "TokenCode"))
99
126
  AssumeRoleRequest.add_member(:source_identity, Shapes::ShapeRef.new(shape: sourceIdentityType, location_name: "SourceIdentity"))
127
+ AssumeRoleRequest.add_member(:provided_contexts, Shapes::ShapeRef.new(shape: ProvidedContextsListType, location_name: "ProvidedContexts"))
100
128
  AssumeRoleRequest.struct_class = Types::AssumeRoleRequest
101
129
 
102
130
  AssumeRoleResponse.add_member(:credentials, Shapes::ShapeRef.new(shape: Credentials, location_name: "Credentials"))
@@ -142,6 +170,15 @@ module Aws::STS
142
170
  AssumeRoleWithWebIdentityResponse.add_member(:source_identity, Shapes::ShapeRef.new(shape: sourceIdentityType, location_name: "SourceIdentity"))
143
171
  AssumeRoleWithWebIdentityResponse.struct_class = Types::AssumeRoleWithWebIdentityResponse
144
172
 
173
+ AssumeRootRequest.add_member(:target_principal, Shapes::ShapeRef.new(shape: TargetPrincipalType, required: true, location_name: "TargetPrincipal"))
174
+ AssumeRootRequest.add_member(:task_policy_arn, Shapes::ShapeRef.new(shape: PolicyDescriptorType, required: true, location_name: "TaskPolicyArn"))
175
+ AssumeRootRequest.add_member(:duration_seconds, Shapes::ShapeRef.new(shape: RootDurationSecondsType, location_name: "DurationSeconds"))
176
+ AssumeRootRequest.struct_class = Types::AssumeRootRequest
177
+
178
+ AssumeRootResponse.add_member(:credentials, Shapes::ShapeRef.new(shape: Credentials, location_name: "Credentials"))
179
+ AssumeRootResponse.add_member(:source_identity, Shapes::ShapeRef.new(shape: sourceIdentityType, location_name: "SourceIdentity"))
180
+ AssumeRootResponse.struct_class = Types::AssumeRootResponse
181
+
145
182
  AssumedRoleUser.add_member(:assumed_role_id, Shapes::ShapeRef.new(shape: assumedRoleIdType, required: true, location_name: "AssumedRoleId"))
146
183
  AssumedRoleUser.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "Arn"))
147
184
  AssumedRoleUser.struct_class = Types::AssumedRoleUser
@@ -161,6 +198,9 @@ module Aws::STS
161
198
  ExpiredTokenException.add_member(:message, Shapes::ShapeRef.new(shape: expiredIdentityTokenMessage, location_name: "message"))
162
199
  ExpiredTokenException.struct_class = Types::ExpiredTokenException
163
200
 
201
+ ExpiredTradeInTokenException.add_member(:message, Shapes::ShapeRef.new(shape: expiredTradeInTokenExceptionMessage, location_name: "message"))
202
+ ExpiredTradeInTokenException.struct_class = Types::ExpiredTradeInTokenException
203
+
164
204
  FederatedUser.add_member(:federated_user_id, Shapes::ShapeRef.new(shape: federatedIdType, required: true, location_name: "FederatedUserId"))
165
205
  FederatedUser.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "Arn"))
166
206
  FederatedUser.struct_class = Types::FederatedUser
@@ -178,6 +218,14 @@ module Aws::STS
178
218
  GetCallerIdentityResponse.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, location_name: "Arn"))
179
219
  GetCallerIdentityResponse.struct_class = Types::GetCallerIdentityResponse
180
220
 
221
+ GetDelegatedAccessTokenRequest.add_member(:trade_in_token, Shapes::ShapeRef.new(shape: tradeInTokenType, required: true, location_name: "TradeInToken"))
222
+ GetDelegatedAccessTokenRequest.struct_class = Types::GetDelegatedAccessTokenRequest
223
+
224
+ GetDelegatedAccessTokenResponse.add_member(:credentials, Shapes::ShapeRef.new(shape: Credentials, location_name: "Credentials"))
225
+ GetDelegatedAccessTokenResponse.add_member(:packed_policy_size, Shapes::ShapeRef.new(shape: nonNegativeIntegerType, location_name: "PackedPolicySize"))
226
+ GetDelegatedAccessTokenResponse.add_member(:assumed_principal, Shapes::ShapeRef.new(shape: arnType, location_name: "AssumedPrincipal"))
227
+ GetDelegatedAccessTokenResponse.struct_class = Types::GetDelegatedAccessTokenResponse
228
+
181
229
  GetFederationTokenRequest.add_member(:name, Shapes::ShapeRef.new(shape: userNameType, required: true, location_name: "Name"))
182
230
  GetFederationTokenRequest.add_member(:policy, Shapes::ShapeRef.new(shape: sessionPolicyDocumentType, location_name: "Policy"))
183
231
  GetFederationTokenRequest.add_member(:policy_arns, Shapes::ShapeRef.new(shape: policyDescriptorListType, location_name: "PolicyArns"))
@@ -198,6 +246,16 @@ module Aws::STS
198
246
  GetSessionTokenResponse.add_member(:credentials, Shapes::ShapeRef.new(shape: Credentials, location_name: "Credentials"))
199
247
  GetSessionTokenResponse.struct_class = Types::GetSessionTokenResponse
200
248
 
249
+ GetWebIdentityTokenRequest.add_member(:audience, Shapes::ShapeRef.new(shape: webIdentityTokenAudienceListType, required: true, location_name: "Audience"))
250
+ GetWebIdentityTokenRequest.add_member(:duration_seconds, Shapes::ShapeRef.new(shape: webIdentityTokenDurationSecondsType, location_name: "DurationSeconds"))
251
+ GetWebIdentityTokenRequest.add_member(:signing_algorithm, Shapes::ShapeRef.new(shape: jwtAlgorithmType, required: true, location_name: "SigningAlgorithm"))
252
+ GetWebIdentityTokenRequest.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, location_name: "Tags"))
253
+ GetWebIdentityTokenRequest.struct_class = Types::GetWebIdentityTokenRequest
254
+
255
+ GetWebIdentityTokenResponse.add_member(:web_identity_token, Shapes::ShapeRef.new(shape: webIdentityTokenType, location_name: "WebIdentityToken"))
256
+ GetWebIdentityTokenResponse.add_member(:expiration, Shapes::ShapeRef.new(shape: dateType, location_name: "Expiration"))
257
+ GetWebIdentityTokenResponse.struct_class = Types::GetWebIdentityTokenResponse
258
+
201
259
  IDPCommunicationErrorException.add_member(:message, Shapes::ShapeRef.new(shape: idpCommunicationErrorMessage, location_name: "message"))
202
260
  IDPCommunicationErrorException.struct_class = Types::IDPCommunicationErrorException
203
261
 
@@ -210,18 +268,33 @@ module Aws::STS
210
268
  InvalidIdentityTokenException.add_member(:message, Shapes::ShapeRef.new(shape: invalidIdentityTokenMessage, location_name: "message"))
211
269
  InvalidIdentityTokenException.struct_class = Types::InvalidIdentityTokenException
212
270
 
271
+ JWTPayloadSizeExceededException.add_member(:message, Shapes::ShapeRef.new(shape: jwtPayloadSizeExceededException, location_name: "message"))
272
+ JWTPayloadSizeExceededException.struct_class = Types::JWTPayloadSizeExceededException
273
+
213
274
  MalformedPolicyDocumentException.add_member(:message, Shapes::ShapeRef.new(shape: malformedPolicyDocumentMessage, location_name: "message"))
214
275
  MalformedPolicyDocumentException.struct_class = Types::MalformedPolicyDocumentException
215
276
 
277
+ OutboundWebIdentityFederationDisabledException.add_member(:message, Shapes::ShapeRef.new(shape: outboundWebIdentityFederationDisabledException, location_name: "message"))
278
+ OutboundWebIdentityFederationDisabledException.struct_class = Types::OutboundWebIdentityFederationDisabledException
279
+
216
280
  PackedPolicyTooLargeException.add_member(:message, Shapes::ShapeRef.new(shape: packedPolicyTooLargeMessage, location_name: "message"))
217
281
  PackedPolicyTooLargeException.struct_class = Types::PackedPolicyTooLargeException
218
282
 
219
283
  PolicyDescriptorType.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, location_name: "arn"))
220
284
  PolicyDescriptorType.struct_class = Types::PolicyDescriptorType
221
285
 
286
+ ProvidedContext.add_member(:provider_arn, Shapes::ShapeRef.new(shape: arnType, location_name: "ProviderArn"))
287
+ ProvidedContext.add_member(:context_assertion, Shapes::ShapeRef.new(shape: contextAssertionType, location_name: "ContextAssertion"))
288
+ ProvidedContext.struct_class = Types::ProvidedContext
289
+
290
+ ProvidedContextsListType.member = Shapes::ShapeRef.new(shape: ProvidedContext)
291
+
222
292
  RegionDisabledException.add_member(:message, Shapes::ShapeRef.new(shape: regionDisabledMessage, location_name: "message"))
223
293
  RegionDisabledException.struct_class = Types::RegionDisabledException
224
294
 
295
+ SessionDurationEscalationException.add_member(:message, Shapes::ShapeRef.new(shape: sessionDurationEscalationException, location_name: "message"))
296
+ SessionDurationEscalationException.struct_class = Types::SessionDurationEscalationException
297
+
225
298
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: tagKeyType, required: true, location_name: "Key"))
226
299
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: tagValueType, required: true, location_name: "Value"))
227
300
  Tag.struct_class = Types::Tag
@@ -232,6 +305,8 @@ module Aws::STS
232
305
 
233
306
  tagListType.member = Shapes::ShapeRef.new(shape: Tag)
234
307
 
308
+ webIdentityTokenAudienceListType.member = Shapes::ShapeRef.new(shape: webIdentityTokenAudienceStringType)
309
+
235
310
 
236
311
  # @api private
237
312
  API = Seahorse::Model::Api.new.tap do |api|
@@ -240,9 +315,11 @@ module Aws::STS
240
315
 
241
316
  api.metadata = {
242
317
  "apiVersion" => "2011-06-15",
318
+ "auth" => ["aws.auth#sigv4"],
243
319
  "endpointPrefix" => "sts",
244
320
  "globalEndpoint" => "sts.amazonaws.com",
245
321
  "protocol" => "query",
322
+ "protocols" => ["query"],
246
323
  "serviceAbbreviation" => "AWS STS",
247
324
  "serviceFullName" => "AWS Security Token Service",
248
325
  "serviceId" => "STS",
@@ -268,6 +345,7 @@ module Aws::STS
268
345
  o.http_method = "POST"
269
346
  o.http_request_uri = "/"
270
347
  o['authtype'] = "none"
348
+ o['auth'] = ["smithy.api#noAuth"]
271
349
  o.input = Shapes::ShapeRef.new(shape: AssumeRoleWithSAMLRequest)
272
350
  o.output = Shapes::ShapeRef.new(shape: AssumeRoleWithSAMLResponse)
273
351
  o.errors << Shapes::ShapeRef.new(shape: MalformedPolicyDocumentException)
@@ -283,6 +361,7 @@ module Aws::STS
283
361
  o.http_method = "POST"
284
362
  o.http_request_uri = "/"
285
363
  o['authtype'] = "none"
364
+ o['auth'] = ["smithy.api#noAuth"]
286
365
  o.input = Shapes::ShapeRef.new(shape: AssumeRoleWithWebIdentityRequest)
287
366
  o.output = Shapes::ShapeRef.new(shape: AssumeRoleWithWebIdentityResponse)
288
367
  o.errors << Shapes::ShapeRef.new(shape: MalformedPolicyDocumentException)
@@ -294,6 +373,16 @@ module Aws::STS
294
373
  o.errors << Shapes::ShapeRef.new(shape: RegionDisabledException)
295
374
  end)
296
375
 
376
+ api.add_operation(:assume_root, Seahorse::Model::Operation.new.tap do |o|
377
+ o.name = "AssumeRoot"
378
+ o.http_method = "POST"
379
+ o.http_request_uri = "/"
380
+ o.input = Shapes::ShapeRef.new(shape: AssumeRootRequest)
381
+ o.output = Shapes::ShapeRef.new(shape: AssumeRootResponse)
382
+ o.errors << Shapes::ShapeRef.new(shape: RegionDisabledException)
383
+ o.errors << Shapes::ShapeRef.new(shape: ExpiredTokenException)
384
+ end)
385
+
297
386
  api.add_operation(:decode_authorization_message, Seahorse::Model::Operation.new.tap do |o|
298
387
  o.name = "DecodeAuthorizationMessage"
299
388
  o.http_method = "POST"
@@ -319,6 +408,17 @@ module Aws::STS
319
408
  o.output = Shapes::ShapeRef.new(shape: GetCallerIdentityResponse)
320
409
  end)
321
410
 
411
+ api.add_operation(:get_delegated_access_token, Seahorse::Model::Operation.new.tap do |o|
412
+ o.name = "GetDelegatedAccessToken"
413
+ o.http_method = "POST"
414
+ o.http_request_uri = "/"
415
+ o.input = Shapes::ShapeRef.new(shape: GetDelegatedAccessTokenRequest)
416
+ o.output = Shapes::ShapeRef.new(shape: GetDelegatedAccessTokenResponse)
417
+ o.errors << Shapes::ShapeRef.new(shape: ExpiredTradeInTokenException)
418
+ o.errors << Shapes::ShapeRef.new(shape: RegionDisabledException)
419
+ o.errors << Shapes::ShapeRef.new(shape: PackedPolicyTooLargeException)
420
+ end)
421
+
322
422
  api.add_operation(:get_federation_token, Seahorse::Model::Operation.new.tap do |o|
323
423
  o.name = "GetFederationToken"
324
424
  o.http_method = "POST"
@@ -338,6 +438,17 @@ module Aws::STS
338
438
  o.output = Shapes::ShapeRef.new(shape: GetSessionTokenResponse)
339
439
  o.errors << Shapes::ShapeRef.new(shape: RegionDisabledException)
340
440
  end)
441
+
442
+ api.add_operation(:get_web_identity_token, Seahorse::Model::Operation.new.tap do |o|
443
+ o.name = "GetWebIdentityToken"
444
+ o.http_method = "POST"
445
+ o.http_request_uri = "/"
446
+ o.input = Shapes::ShapeRef.new(shape: GetWebIdentityTokenRequest)
447
+ o.output = Shapes::ShapeRef.new(shape: GetWebIdentityTokenResponse)
448
+ o.errors << Shapes::ShapeRef.new(shape: SessionDurationEscalationException)
449
+ o.errors << Shapes::ShapeRef.new(shape: OutboundWebIdentityFederationDisabledException)
450
+ o.errors << Shapes::ShapeRef.new(shape: JWTPayloadSizeExceededException)
451
+ end)
341
452
  end
342
453
 
343
454
  end
@@ -1,4 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # utility classes
4
- require 'aws-sdk-sts/presigner'
3
+ module Aws
4
+ module STS
5
+ autoload :Presigner, 'aws-sdk-sts/presigner'
6
+ end
7
+ end
@@ -13,27 +13,27 @@ module Aws::STS
13
13
  # @!attribute region
14
14
  # The AWS region used to dispatch the request.
15
15
  #
16
- # @return [String]
16
+ # @return [string]
17
17
  #
18
18
  # @!attribute use_dual_stack
19
19
  # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
20
  #
21
- # @return [Boolean]
21
+ # @return [boolean]
22
22
  #
23
23
  # @!attribute use_fips
24
24
  # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
25
  #
26
- # @return [Boolean]
26
+ # @return [boolean]
27
27
  #
28
28
  # @!attribute endpoint
29
29
  # Override the endpoint used to send this request
30
30
  #
31
- # @return [String]
31
+ # @return [string]
32
32
  #
33
33
  # @!attribute use_global_endpoint
34
34
  # Whether the global endpoint should be used, rather then the regional endpoint for us-east-1.
35
35
  #
36
- # @return [Boolean]
36
+ # @return [boolean]
37
37
  #
38
38
  EndpointParameters = Struct.new(
39
39
  :region,
@@ -59,20 +59,21 @@ module Aws::STS
59
59
  self[:region] = options[:region]
60
60
  self[:use_dual_stack] = options[:use_dual_stack]
61
61
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
62
- if self[:use_dual_stack].nil?
63
- raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
64
- end
65
62
  self[:use_fips] = options[:use_fips]
66
63
  self[:use_fips] = false if self[:use_fips].nil?
67
- if self[:use_fips].nil?
68
- raise ArgumentError, "Missing required EndpointParameter: :use_fips"
69
- end
70
64
  self[:endpoint] = options[:endpoint]
71
65
  self[:use_global_endpoint] = options[:use_global_endpoint]
72
66
  self[:use_global_endpoint] = false if self[:use_global_endpoint].nil?
73
- if self[:use_global_endpoint].nil?
74
- raise ArgumentError, "Missing required EndpointParameter: :use_global_endpoint"
75
- end
67
+ end
68
+
69
+ def self.create(config, options={})
70
+ new({
71
+ region: config.region,
72
+ use_dual_stack: config.use_dualstack_endpoint,
73
+ use_fips: config.use_fips_endpoint,
74
+ endpoint: (config.endpoint.to_s unless config.regional_endpoint),
75
+ use_global_endpoint: config.sts_regional_endpoints == 'legacy',
76
+ }.merge(options))
76
77
  end
77
78
  end
78
79
  end
@@ -10,98 +10,96 @@
10
10
  module Aws::STS
11
11
  class EndpointProvider
12
12
  def resolve_endpoint(parameters)
13
- region = parameters.region
14
- use_dual_stack = parameters.use_dual_stack
15
- use_fips = parameters.use_fips
16
- endpoint = parameters.endpoint
17
- use_global_endpoint = parameters.use_global_endpoint
18
- if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
19
- if Aws::Endpoints::Matchers.boolean_equals?(use_global_endpoint, true) && Aws::Endpoints::Matchers.boolean_equals?(use_fips, false) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, false) && Aws::Endpoints::Matchers.not(Aws::Endpoints::Matchers.set?(endpoint))
20
- if Aws::Endpoints::Matchers.string_equals?(region, "ap-northeast-1")
21
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
22
- end
23
- if Aws::Endpoints::Matchers.string_equals?(region, "ap-south-1")
24
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
25
- end
26
- if Aws::Endpoints::Matchers.string_equals?(region, "ap-southeast-1")
27
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
28
- end
29
- if Aws::Endpoints::Matchers.string_equals?(region, "ap-southeast-2")
30
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
31
- end
32
- if Aws::Endpoints::Matchers.string_equals?(region, "aws-global")
33
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
34
- end
35
- if Aws::Endpoints::Matchers.string_equals?(region, "ca-central-1")
36
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
37
- end
38
- if Aws::Endpoints::Matchers.string_equals?(region, "eu-central-1")
39
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
40
- end
41
- if Aws::Endpoints::Matchers.string_equals?(region, "eu-north-1")
42
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
43
- end
44
- if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-1")
45
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
46
- end
47
- if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-2")
48
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
49
- end
50
- if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-3")
51
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
52
- end
53
- if Aws::Endpoints::Matchers.string_equals?(region, "sa-east-1")
54
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
55
- end
56
- if Aws::Endpoints::Matchers.string_equals?(region, "us-east-1")
57
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
58
- end
59
- if Aws::Endpoints::Matchers.string_equals?(region, "us-east-2")
60
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
61
- end
62
- if Aws::Endpoints::Matchers.string_equals?(region, "us-west-1")
63
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
64
- end
65
- if Aws::Endpoints::Matchers.string_equals?(region, "us-west-2")
66
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
67
- end
68
- return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"#{region}", "signingName"=>"sts"}]})
13
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_global_endpoint, true) && Aws::Endpoints::Matchers.not(Aws::Endpoints::Matchers.set?(parameters.endpoint)) && Aws::Endpoints::Matchers.set?(parameters.region) && (partition_result = Aws::Endpoints::Matchers.aws_partition(parameters.region)) && Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, false) && Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, false)
14
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "ap-northeast-1")
15
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
69
16
  end
70
- if Aws::Endpoints::Matchers.set?(endpoint) && (url = Aws::Endpoints::Matchers.parse_url(endpoint))
71
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
72
- raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
73
- end
74
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
75
- raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
76
- end
77
- return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
17
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "ap-south-1")
18
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
78
19
  end
79
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
80
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
81
- return Aws::Endpoints::Endpoint.new(url: "https://sts-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
82
- end
83
- raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
20
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "ap-southeast-1")
21
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
22
+ end
23
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "ap-southeast-2")
24
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
25
+ end
26
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "aws-global")
27
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
84
28
  end
85
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
86
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
87
- if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
88
- return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
29
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "ca-central-1")
30
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
31
+ end
32
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "eu-central-1")
33
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
34
+ end
35
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "eu-north-1")
36
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
37
+ end
38
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "eu-west-1")
39
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
40
+ end
41
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "eu-west-2")
42
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
43
+ end
44
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "eu-west-3")
45
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
46
+ end
47
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "sa-east-1")
48
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
49
+ end
50
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "us-east-1")
51
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
52
+ end
53
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "us-east-2")
54
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
55
+ end
56
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "us-west-1")
57
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
58
+ end
59
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "us-west-2")
60
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
61
+ end
62
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "#{parameters.region}"}]})
63
+ end
64
+ if Aws::Endpoints::Matchers.set?(parameters.endpoint)
65
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
66
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
67
+ end
68
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
69
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
70
+ end
71
+ return Aws::Endpoints::Endpoint.new(url: parameters.endpoint, headers: {}, properties: {})
72
+ end
73
+ if Aws::Endpoints::Matchers.set?(parameters.region)
74
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(parameters.region))
75
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
76
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
77
+ return Aws::Endpoints::Endpoint.new(url: "https://sts-fips.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
89
78
  end
90
- return Aws::Endpoints::Endpoint.new(url: "https://sts-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
79
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
80
+ end
81
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
82
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
83
+ if Aws::Endpoints::Matchers.string_equals?(Aws::Endpoints::Matchers.attr(partition_result, "name"), "aws-us-gov")
84
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.#{parameters.region}.amazonaws.com", headers: {}, properties: {})
85
+ end
86
+ return Aws::Endpoints::Endpoint.new(url: "https://sts-fips.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
87
+ end
88
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
91
89
  end
92
- raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
93
- end
94
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
95
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
96
- return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
90
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
91
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
92
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
93
+ end
94
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
97
95
  end
98
- raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
99
- end
100
- if Aws::Endpoints::Matchers.string_equals?(region, "aws-global")
101
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"sts"}]})
96
+ if Aws::Endpoints::Matchers.string_equals?(parameters.region, "aws-global")
97
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
98
+ end
99
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
102
100
  end
103
- return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
104
101
  end
102
+ raise ArgumentError, "Invalid Configuration: Missing Region"
105
103
  raise ArgumentError, 'No endpoint could be resolved'
106
104
 
107
105
  end