aws-sdk-core 3.186.0 → 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 (204) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +695 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults.rb +4 -1
  5. data/lib/aws-sdk-core/arn.rb +1 -3
  6. data/lib/aws-sdk-core/assume_role_credentials.rb +21 -13
  7. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +16 -9
  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 +308 -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 +39 -55
  18. data/lib/aws-sdk-core/credential_provider.rb +5 -1
  19. data/lib/aws-sdk-core/credential_provider_chain.rb +101 -25
  20. data/lib/aws-sdk-core/credentials.rb +19 -6
  21. data/lib/aws-sdk-core/ec2_metadata.rb +1 -1
  22. data/lib/aws-sdk-core/ecs_credentials.rb +92 -24
  23. data/lib/aws-sdk-core/endpoints/endpoint.rb +3 -1
  24. data/lib/aws-sdk-core/endpoints/matchers.rb +8 -10
  25. data/lib/aws-sdk-core/endpoints.rb +101 -21
  26. data/lib/aws-sdk-core/error_handler.rb +46 -0
  27. data/lib/aws-sdk-core/errors.rb +16 -4
  28. data/lib/aws-sdk-core/event_emitter.rb +1 -17
  29. data/lib/aws-sdk-core/instance_profile_credentials.rb +148 -157
  30. data/lib/aws-sdk-core/json/builder.rb +8 -1
  31. data/lib/aws-sdk-core/json/error_handler.rb +29 -13
  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/param_formatter.rb +7 -3
  39. data/lib/aws-sdk-core/log.rb +10 -0
  40. data/lib/aws-sdk-core/login_credentials.rb +229 -0
  41. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  42. data/lib/aws-sdk-core/pageable_response.rb +1 -1
  43. data/lib/aws-sdk-core/param_validator.rb +7 -2
  44. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +2 -0
  45. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +347 -168
  46. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -1
  47. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  48. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +78 -56
  49. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
  50. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  51. data/lib/aws-sdk-core/plugins/http_checksum.rb +3 -8
  52. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  53. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  54. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  55. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  56. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  57. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  58. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  59. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  60. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  61. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +74 -25
  62. data/lib/aws-sdk-core/plugins/request_compression.rb +11 -2
  63. data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
  64. data/lib/aws-sdk-core/plugins/sign.rb +55 -34
  65. data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -1
  66. data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -1
  67. data/lib/aws-sdk-core/plugins/stub_responses.rb +59 -9
  68. data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
  69. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
  70. data/lib/aws-sdk-core/plugins/user_agent.rb +103 -26
  71. data/lib/aws-sdk-core/plugins.rb +39 -0
  72. data/lib/aws-sdk-core/process_credentials.rb +48 -29
  73. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  74. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  75. data/lib/aws-sdk-core/query/handler.rb +4 -4
  76. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  77. data/lib/aws-sdk-core/query.rb +2 -1
  78. data/lib/aws-sdk-core/refreshing_credentials.rb +20 -17
  79. data/lib/aws-sdk-core/resources.rb +8 -0
  80. data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
  81. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  82. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  83. data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
  84. data/lib/aws-sdk-core/rest/request/headers.rb +15 -7
  85. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +23 -11
  86. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  87. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  88. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  89. data/lib/aws-sdk-core/rest.rb +1 -0
  90. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  91. data/lib/aws-sdk-core/rpc_v2/cbor_engine.rb +18 -0
  92. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +47 -0
  93. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +95 -0
  94. data/lib/aws-sdk-core/rpc_v2/handler.rb +79 -0
  95. data/lib/aws-sdk-core/rpc_v2/parser.rb +98 -0
  96. data/lib/aws-sdk-core/rpc_v2.rb +69 -0
  97. data/lib/aws-sdk-core/shared_config.rb +109 -22
  98. data/lib/aws-sdk-core/shared_credentials.rb +1 -7
  99. data/lib/aws-sdk-core/sso_credentials.rb +5 -2
  100. data/lib/aws-sdk-core/static_token_provider.rb +1 -2
  101. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  102. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  103. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  104. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  105. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  106. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  107. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +39 -0
  108. data/lib/aws-sdk-core/stubbing.rb +22 -0
  109. data/lib/aws-sdk-core/telemetry/base.rb +177 -0
  110. data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
  111. data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
  112. data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
  113. data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
  114. data/lib/aws-sdk-core/telemetry.rb +78 -0
  115. data/lib/aws-sdk-core/token.rb +3 -3
  116. data/lib/aws-sdk-core/token_provider.rb +4 -0
  117. data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
  118. data/lib/aws-sdk-core/util.rb +41 -1
  119. data/lib/aws-sdk-core/waiters/poller.rb +10 -5
  120. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  121. data/lib/aws-sdk-core/xml/error_handler.rb +35 -43
  122. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  123. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  124. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  125. data/lib/aws-sdk-core.rb +86 -107
  126. data/lib/aws-sdk-signin/client.rb +604 -0
  127. data/lib/aws-sdk-signin/client_api.rb +119 -0
  128. data/lib/aws-sdk-signin/customizations.rb +1 -0
  129. data/lib/aws-sdk-signin/endpoint_parameters.rb +69 -0
  130. data/lib/aws-sdk-signin/endpoint_provider.rb +59 -0
  131. data/lib/aws-sdk-signin/endpoints.rb +20 -0
  132. data/lib/aws-sdk-signin/errors.rb +122 -0
  133. data/lib/aws-sdk-signin/plugins/endpoints.rb +77 -0
  134. data/lib/aws-sdk-signin/resource.rb +26 -0
  135. data/lib/aws-sdk-signin/types.rb +299 -0
  136. data/lib/aws-sdk-signin.rb +63 -0
  137. data/lib/aws-sdk-sso/client.rb +189 -96
  138. data/lib/aws-sdk-sso/client_api.rb +7 -0
  139. data/lib/aws-sdk-sso/endpoint_parameters.rb +13 -10
  140. data/lib/aws-sdk-sso/endpoint_provider.rb +16 -20
  141. data/lib/aws-sdk-sso/endpoints.rb +2 -54
  142. data/lib/aws-sdk-sso/plugins/endpoints.rb +23 -22
  143. data/lib/aws-sdk-sso/types.rb +1 -0
  144. data/lib/aws-sdk-sso.rb +15 -11
  145. data/lib/aws-sdk-ssooidc/client.rb +609 -129
  146. data/lib/aws-sdk-ssooidc/client_api.rb +94 -1
  147. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +13 -10
  148. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +16 -20
  149. data/lib/aws-sdk-ssooidc/endpoints.rb +2 -40
  150. data/lib/aws-sdk-ssooidc/errors.rb +62 -0
  151. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +23 -20
  152. data/lib/aws-sdk-ssooidc/types.rb +419 -53
  153. data/lib/aws-sdk-ssooidc.rb +15 -11
  154. data/lib/aws-sdk-sts/client.rb +537 -156
  155. data/lib/aws-sdk-sts/client_api.rb +108 -8
  156. data/lib/aws-sdk-sts/customizations.rb +5 -2
  157. data/lib/aws-sdk-sts/endpoint_parameters.rb +15 -14
  158. data/lib/aws-sdk-sts/endpoint_provider.rb +52 -57
  159. data/lib/aws-sdk-sts/endpoints.rb +2 -118
  160. data/lib/aws-sdk-sts/errors.rb +79 -0
  161. data/lib/aws-sdk-sts/plugins/endpoints.rb +23 -30
  162. data/lib/aws-sdk-sts/presigner.rb +3 -7
  163. data/lib/aws-sdk-sts/types.rb +361 -35
  164. data/lib/aws-sdk-sts.rb +15 -11
  165. data/lib/seahorse/client/async_base.rb +4 -5
  166. data/lib/seahorse/client/async_response.rb +19 -0
  167. data/lib/seahorse/client/base.rb +18 -21
  168. data/lib/seahorse/client/h2/connection.rb +18 -28
  169. data/lib/seahorse/client/h2/handler.rb +19 -3
  170. data/lib/seahorse/client/handler.rb +1 -1
  171. data/lib/seahorse/client/http/response.rb +1 -1
  172. data/lib/seahorse/client/net_http/connection_pool.rb +15 -12
  173. data/lib/seahorse/client/net_http/handler.rb +21 -9
  174. data/lib/seahorse/client/net_http/patches.rb +1 -4
  175. data/lib/seahorse/client/networking_error.rb +1 -1
  176. data/lib/seahorse/client/plugin.rb +9 -0
  177. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  178. data/lib/seahorse/client/plugins/h2.rb +4 -4
  179. data/lib/seahorse/client/plugins/net_http.rb +57 -16
  180. data/lib/seahorse/client/request_context.rb +9 -2
  181. data/lib/seahorse/client/response.rb +2 -0
  182. data/lib/seahorse/model/shapes.rb +2 -2
  183. data/lib/seahorse/util.rb +2 -1
  184. data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
  185. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  186. data/sig/aws-sdk-core/errors.rbs +22 -0
  187. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  188. data/sig/aws-sdk-core/structure.rbs +4 -0
  189. data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
  190. data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
  191. data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
  192. data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
  193. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  194. data/sig/aws-sdk-core.rbs +7 -0
  195. data/sig/seahorse/client/async_base.rbs +18 -0
  196. data/sig/seahorse/client/base.rbs +25 -0
  197. data/sig/seahorse/client/handler_builder.rbs +16 -0
  198. data/sig/seahorse/client/response.rbs +61 -0
  199. metadata +117 -23
  200. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  201. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  202. /data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +0 -0
  203. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  204. /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,37 +20,49 @@ 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
56
  ProvidedContext = Shapes::StructureShape.new(name: 'ProvidedContext')
47
57
  ProvidedContextsListType = Shapes::ListShape.new(name: 'ProvidedContextsListType')
48
- RegionDisabledException = Shapes::StructureShape.new(name: 'RegionDisabledException')
58
+ RegionDisabledException = Shapes::StructureShape.new(name: 'RegionDisabledException', error: {"code" => "RegionDisabledException", "httpStatusCode" => 403, "senderFault" => true})
59
+ RootDurationSecondsType = Shapes::IntegerShape.new(name: 'RootDurationSecondsType')
49
60
  SAMLAssertionType = Shapes::StringShape.new(name: 'SAMLAssertionType')
61
+ SessionDurationEscalationException = Shapes::StructureShape.new(name: 'SessionDurationEscalationException', error: {"code" => "SessionDurationEscalationException", "httpStatusCode" => 403, "senderFault" => true})
50
62
  Subject = Shapes::StringShape.new(name: 'Subject')
51
63
  SubjectType = Shapes::StringShape.new(name: 'SubjectType')
52
64
  Tag = Shapes::StructureShape.new(name: 'Tag')
65
+ TargetPrincipalType = Shapes::StringShape.new(name: 'TargetPrincipalType')
53
66
  accessKeyIdType = Shapes::StringShape.new(name: 'accessKeyIdType')
54
67
  accessKeySecretType = Shapes::StringShape.new(name: 'accessKeySecretType')
55
68
  accountType = Shapes::StringShape.new(name: 'accountType')
@@ -62,20 +75,25 @@ module Aws::STS
62
75
  durationSecondsType = Shapes::IntegerShape.new(name: 'durationSecondsType')
63
76
  encodedMessageType = Shapes::StringShape.new(name: 'encodedMessageType')
64
77
  expiredIdentityTokenMessage = Shapes::StringShape.new(name: 'expiredIdentityTokenMessage')
78
+ expiredTradeInTokenExceptionMessage = Shapes::StringShape.new(name: 'expiredTradeInTokenExceptionMessage')
65
79
  externalIdType = Shapes::StringShape.new(name: 'externalIdType')
66
80
  federatedIdType = Shapes::StringShape.new(name: 'federatedIdType')
67
81
  idpCommunicationErrorMessage = Shapes::StringShape.new(name: 'idpCommunicationErrorMessage')
68
82
  idpRejectedClaimMessage = Shapes::StringShape.new(name: 'idpRejectedClaimMessage')
69
83
  invalidAuthorizationMessage = Shapes::StringShape.new(name: 'invalidAuthorizationMessage')
70
84
  invalidIdentityTokenMessage = Shapes::StringShape.new(name: 'invalidIdentityTokenMessage')
85
+ jwtAlgorithmType = Shapes::StringShape.new(name: 'jwtAlgorithmType')
86
+ jwtPayloadSizeExceededException = Shapes::StringShape.new(name: 'jwtPayloadSizeExceededException')
71
87
  malformedPolicyDocumentMessage = Shapes::StringShape.new(name: 'malformedPolicyDocumentMessage')
72
88
  nonNegativeIntegerType = Shapes::IntegerShape.new(name: 'nonNegativeIntegerType')
89
+ outboundWebIdentityFederationDisabledException = Shapes::StringShape.new(name: 'outboundWebIdentityFederationDisabledException')
73
90
  packedPolicyTooLargeMessage = Shapes::StringShape.new(name: 'packedPolicyTooLargeMessage')
74
91
  policyDescriptorListType = Shapes::ListShape.new(name: 'policyDescriptorListType')
75
92
  regionDisabledMessage = Shapes::StringShape.new(name: 'regionDisabledMessage')
76
93
  roleDurationSecondsType = Shapes::IntegerShape.new(name: 'roleDurationSecondsType')
77
94
  roleSessionNameType = Shapes::StringShape.new(name: 'roleSessionNameType')
78
95
  serialNumberType = Shapes::StringShape.new(name: 'serialNumberType')
96
+ sessionDurationEscalationException = Shapes::StringShape.new(name: 'sessionDurationEscalationException')
79
97
  sessionPolicyDocumentType = Shapes::StringShape.new(name: 'sessionPolicyDocumentType')
80
98
  sourceIdentityType = Shapes::StringShape.new(name: 'sourceIdentityType')
81
99
  tagKeyListType = Shapes::ListShape.new(name: 'tagKeyListType')
@@ -84,11 +102,16 @@ module Aws::STS
84
102
  tagValueType = Shapes::StringShape.new(name: 'tagValueType')
85
103
  tokenCodeType = Shapes::StringShape.new(name: 'tokenCodeType')
86
104
  tokenType = Shapes::StringShape.new(name: 'tokenType')
105
+ tradeInTokenType = Shapes::StringShape.new(name: 'tradeInTokenType')
87
106
  unrestrictedSessionPolicyDocumentType = Shapes::StringShape.new(name: 'unrestrictedSessionPolicyDocumentType')
88
107
  urlType = Shapes::StringShape.new(name: 'urlType')
89
108
  userIdType = Shapes::StringShape.new(name: 'userIdType')
90
109
  userNameType = Shapes::StringShape.new(name: 'userNameType')
91
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')
92
115
 
93
116
  AssumeRoleRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "RoleArn"))
94
117
  AssumeRoleRequest.add_member(:role_session_name, Shapes::ShapeRef.new(shape: roleSessionNameType, required: true, location_name: "RoleSessionName"))
@@ -147,6 +170,15 @@ module Aws::STS
147
170
  AssumeRoleWithWebIdentityResponse.add_member(:source_identity, Shapes::ShapeRef.new(shape: sourceIdentityType, location_name: "SourceIdentity"))
148
171
  AssumeRoleWithWebIdentityResponse.struct_class = Types::AssumeRoleWithWebIdentityResponse
149
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
+
150
182
  AssumedRoleUser.add_member(:assumed_role_id, Shapes::ShapeRef.new(shape: assumedRoleIdType, required: true, location_name: "AssumedRoleId"))
151
183
  AssumedRoleUser.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "Arn"))
152
184
  AssumedRoleUser.struct_class = Types::AssumedRoleUser
@@ -166,6 +198,9 @@ module Aws::STS
166
198
  ExpiredTokenException.add_member(:message, Shapes::ShapeRef.new(shape: expiredIdentityTokenMessage, location_name: "message"))
167
199
  ExpiredTokenException.struct_class = Types::ExpiredTokenException
168
200
 
201
+ ExpiredTradeInTokenException.add_member(:message, Shapes::ShapeRef.new(shape: expiredTradeInTokenExceptionMessage, location_name: "message"))
202
+ ExpiredTradeInTokenException.struct_class = Types::ExpiredTradeInTokenException
203
+
169
204
  FederatedUser.add_member(:federated_user_id, Shapes::ShapeRef.new(shape: federatedIdType, required: true, location_name: "FederatedUserId"))
170
205
  FederatedUser.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "Arn"))
171
206
  FederatedUser.struct_class = Types::FederatedUser
@@ -183,6 +218,14 @@ module Aws::STS
183
218
  GetCallerIdentityResponse.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, location_name: "Arn"))
184
219
  GetCallerIdentityResponse.struct_class = Types::GetCallerIdentityResponse
185
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
+
186
229
  GetFederationTokenRequest.add_member(:name, Shapes::ShapeRef.new(shape: userNameType, required: true, location_name: "Name"))
187
230
  GetFederationTokenRequest.add_member(:policy, Shapes::ShapeRef.new(shape: sessionPolicyDocumentType, location_name: "Policy"))
188
231
  GetFederationTokenRequest.add_member(:policy_arns, Shapes::ShapeRef.new(shape: policyDescriptorListType, location_name: "PolicyArns"))
@@ -203,6 +246,16 @@ module Aws::STS
203
246
  GetSessionTokenResponse.add_member(:credentials, Shapes::ShapeRef.new(shape: Credentials, location_name: "Credentials"))
204
247
  GetSessionTokenResponse.struct_class = Types::GetSessionTokenResponse
205
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
+
206
259
  IDPCommunicationErrorException.add_member(:message, Shapes::ShapeRef.new(shape: idpCommunicationErrorMessage, location_name: "message"))
207
260
  IDPCommunicationErrorException.struct_class = Types::IDPCommunicationErrorException
208
261
 
@@ -215,9 +268,15 @@ module Aws::STS
215
268
  InvalidIdentityTokenException.add_member(:message, Shapes::ShapeRef.new(shape: invalidIdentityTokenMessage, location_name: "message"))
216
269
  InvalidIdentityTokenException.struct_class = Types::InvalidIdentityTokenException
217
270
 
271
+ JWTPayloadSizeExceededException.add_member(:message, Shapes::ShapeRef.new(shape: jwtPayloadSizeExceededException, location_name: "message"))
272
+ JWTPayloadSizeExceededException.struct_class = Types::JWTPayloadSizeExceededException
273
+
218
274
  MalformedPolicyDocumentException.add_member(:message, Shapes::ShapeRef.new(shape: malformedPolicyDocumentMessage, location_name: "message"))
219
275
  MalformedPolicyDocumentException.struct_class = Types::MalformedPolicyDocumentException
220
276
 
277
+ OutboundWebIdentityFederationDisabledException.add_member(:message, Shapes::ShapeRef.new(shape: outboundWebIdentityFederationDisabledException, location_name: "message"))
278
+ OutboundWebIdentityFederationDisabledException.struct_class = Types::OutboundWebIdentityFederationDisabledException
279
+
221
280
  PackedPolicyTooLargeException.add_member(:message, Shapes::ShapeRef.new(shape: packedPolicyTooLargeMessage, location_name: "message"))
222
281
  PackedPolicyTooLargeException.struct_class = Types::PackedPolicyTooLargeException
223
282
 
@@ -233,6 +292,9 @@ module Aws::STS
233
292
  RegionDisabledException.add_member(:message, Shapes::ShapeRef.new(shape: regionDisabledMessage, location_name: "message"))
234
293
  RegionDisabledException.struct_class = Types::RegionDisabledException
235
294
 
295
+ SessionDurationEscalationException.add_member(:message, Shapes::ShapeRef.new(shape: sessionDurationEscalationException, location_name: "message"))
296
+ SessionDurationEscalationException.struct_class = Types::SessionDurationEscalationException
297
+
236
298
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: tagKeyType, required: true, location_name: "Key"))
237
299
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: tagValueType, required: true, location_name: "Value"))
238
300
  Tag.struct_class = Types::Tag
@@ -243,6 +305,8 @@ module Aws::STS
243
305
 
244
306
  tagListType.member = Shapes::ShapeRef.new(shape: Tag)
245
307
 
308
+ webIdentityTokenAudienceListType.member = Shapes::ShapeRef.new(shape: webIdentityTokenAudienceStringType)
309
+
246
310
 
247
311
  # @api private
248
312
  API = Seahorse::Model::Api.new.tap do |api|
@@ -251,9 +315,11 @@ module Aws::STS
251
315
 
252
316
  api.metadata = {
253
317
  "apiVersion" => "2011-06-15",
318
+ "auth" => ["aws.auth#sigv4"],
254
319
  "endpointPrefix" => "sts",
255
320
  "globalEndpoint" => "sts.amazonaws.com",
256
321
  "protocol" => "query",
322
+ "protocols" => ["query"],
257
323
  "serviceAbbreviation" => "AWS STS",
258
324
  "serviceFullName" => "AWS Security Token Service",
259
325
  "serviceId" => "STS",
@@ -279,6 +345,7 @@ module Aws::STS
279
345
  o.http_method = "POST"
280
346
  o.http_request_uri = "/"
281
347
  o['authtype'] = "none"
348
+ o['auth'] = ["smithy.api#noAuth"]
282
349
  o.input = Shapes::ShapeRef.new(shape: AssumeRoleWithSAMLRequest)
283
350
  o.output = Shapes::ShapeRef.new(shape: AssumeRoleWithSAMLResponse)
284
351
  o.errors << Shapes::ShapeRef.new(shape: MalformedPolicyDocumentException)
@@ -294,6 +361,7 @@ module Aws::STS
294
361
  o.http_method = "POST"
295
362
  o.http_request_uri = "/"
296
363
  o['authtype'] = "none"
364
+ o['auth'] = ["smithy.api#noAuth"]
297
365
  o.input = Shapes::ShapeRef.new(shape: AssumeRoleWithWebIdentityRequest)
298
366
  o.output = Shapes::ShapeRef.new(shape: AssumeRoleWithWebIdentityResponse)
299
367
  o.errors << Shapes::ShapeRef.new(shape: MalformedPolicyDocumentException)
@@ -305,6 +373,16 @@ module Aws::STS
305
373
  o.errors << Shapes::ShapeRef.new(shape: RegionDisabledException)
306
374
  end)
307
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
+
308
386
  api.add_operation(:decode_authorization_message, Seahorse::Model::Operation.new.tap do |o|
309
387
  o.name = "DecodeAuthorizationMessage"
310
388
  o.http_method = "POST"
@@ -330,6 +408,17 @@ module Aws::STS
330
408
  o.output = Shapes::ShapeRef.new(shape: GetCallerIdentityResponse)
331
409
  end)
332
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
+
333
422
  api.add_operation(:get_federation_token, Seahorse::Model::Operation.new.tap do |o|
334
423
  o.name = "GetFederationToken"
335
424
  o.http_method = "POST"
@@ -349,6 +438,17 @@ module Aws::STS
349
438
  o.output = Shapes::ShapeRef.new(shape: GetSessionTokenResponse)
350
439
  o.errors << Shapes::ShapeRef.new(shape: RegionDisabledException)
351
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)
352
452
  end
353
453
 
354
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,93 @@
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 Aws::Endpoints::Matchers.boolean_equals?(use_global_endpoint, true) && Aws::Endpoints::Matchers.not(Aws::Endpoints::Matchers.set?(endpoint)) && Aws::Endpoints::Matchers.set?(region) && (partition_result = Aws::Endpoints::Matchers.aws_partition(region)) && Aws::Endpoints::Matchers.boolean_equals?(use_fips, false) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, false)
19
- if Aws::Endpoints::Matchers.string_equals?(region, "ap-northeast-1")
20
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
21
16
  end
22
- if Aws::Endpoints::Matchers.string_equals?(region, "ap-south-1")
23
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
24
19
  end
25
- if Aws::Endpoints::Matchers.string_equals?(region, "ap-southeast-1")
26
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
27
22
  end
28
- if Aws::Endpoints::Matchers.string_equals?(region, "ap-southeast-2")
29
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
30
25
  end
31
- if Aws::Endpoints::Matchers.string_equals?(region, "aws-global")
32
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
33
28
  end
34
- if Aws::Endpoints::Matchers.string_equals?(region, "ca-central-1")
35
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
36
31
  end
37
- if Aws::Endpoints::Matchers.string_equals?(region, "eu-central-1")
38
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
39
34
  end
40
- if Aws::Endpoints::Matchers.string_equals?(region, "eu-north-1")
41
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
42
37
  end
43
- if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-1")
44
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
45
40
  end
46
- if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-2")
47
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
48
43
  end
49
- if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-3")
50
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
51
46
  end
52
- if Aws::Endpoints::Matchers.string_equals?(region, "sa-east-1")
53
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
54
49
  end
55
- if Aws::Endpoints::Matchers.string_equals?(region, "us-east-1")
56
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
57
52
  end
58
- if Aws::Endpoints::Matchers.string_equals?(region, "us-east-2")
59
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
60
55
  end
61
- if Aws::Endpoints::Matchers.string_equals?(region, "us-west-1")
62
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
63
58
  end
64
- if Aws::Endpoints::Matchers.string_equals?(region, "us-west-2")
65
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
66
61
  end
67
- return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"#{region}"}]})
62
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "#{parameters.region}"}]})
68
63
  end
69
- if Aws::Endpoints::Matchers.set?(endpoint)
70
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
64
+ if Aws::Endpoints::Matchers.set?(parameters.endpoint)
65
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
71
66
  raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
72
67
  end
73
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
68
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
74
69
  raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
75
70
  end
76
- return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
71
+ return Aws::Endpoints::Endpoint.new(url: parameters.endpoint, headers: {}, properties: {})
77
72
  end
78
- if Aws::Endpoints::Matchers.set?(region)
79
- if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
80
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
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)
81
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"))
82
- return Aws::Endpoints::Endpoint.new(url: "https://sts-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
77
+ return Aws::Endpoints::Endpoint.new(url: "https://sts-fips.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
83
78
  end
84
79
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
85
80
  end
86
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
87
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
88
- if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
89
- return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.amazonaws.com", headers: {}, properties: {})
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: {})
90
85
  end
91
- return Aws::Endpoints::Endpoint.new(url: "https://sts-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
86
+ return Aws::Endpoints::Endpoint.new(url: "https://sts-fips.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
92
87
  end
93
88
  raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
94
89
  end
95
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
90
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
96
91
  if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
97
- return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
92
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
98
93
  end
99
94
  raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
100
95
  end
101
- if Aws::Endpoints::Matchers.string_equals?(region, "aws-global")
102
- return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
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"}]})
103
98
  end
104
- return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
99
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
105
100
  end
106
101
  end
107
102
  raise ArgumentError, "Invalid Configuration: Missing Region"