aws-sdk-core 3.209.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 (112) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +331 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-core/arn.rb +1 -3
  5. data/lib/aws-sdk-core/assume_role_credentials.rb +9 -8
  6. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +3 -2
  7. data/lib/aws-sdk-core/cbor/decoder.rb +0 -2
  8. data/lib/aws-sdk-core/cbor/encoder.rb +2 -2
  9. data/lib/aws-sdk-core/cbor.rb +3 -56
  10. data/lib/aws-sdk-core/client_stubs.rb +35 -55
  11. data/lib/aws-sdk-core/credential_provider.rb +4 -0
  12. data/lib/aws-sdk-core/credential_provider_chain.rb +91 -22
  13. data/lib/aws-sdk-core/credentials.rb +6 -0
  14. data/lib/aws-sdk-core/ecs_credentials.rb +14 -13
  15. data/lib/aws-sdk-core/endpoints/matchers.rb +3 -9
  16. data/lib/aws-sdk-core/endpoints.rb +37 -13
  17. data/lib/aws-sdk-core/error_handler.rb +5 -0
  18. data/lib/aws-sdk-core/errors.rb +5 -2
  19. data/lib/aws-sdk-core/event_emitter.rb +1 -1
  20. data/lib/aws-sdk-core/instance_profile_credentials.rb +147 -157
  21. data/lib/aws-sdk-core/json/error_handler.rb +14 -3
  22. data/lib/aws-sdk-core/json/handler.rb +1 -0
  23. data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
  24. data/lib/aws-sdk-core/login_credentials.rb +229 -0
  25. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +347 -171
  26. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +0 -1
  27. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +75 -59
  28. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
  29. data/lib/aws-sdk-core/plugins/http_checksum.rb +2 -8
  30. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +44 -25
  31. data/lib/aws-sdk-core/plugins/sign.rb +30 -21
  32. data/lib/aws-sdk-core/plugins/stub_responses.rb +30 -8
  33. data/lib/aws-sdk-core/plugins/user_agent.rb +35 -2
  34. data/lib/aws-sdk-core/process_credentials.rb +1 -1
  35. data/lib/aws-sdk-core/refreshing_credentials.rb +8 -11
  36. data/lib/aws-sdk-core/rest/request/headers.rb +3 -3
  37. data/lib/aws-sdk-core/rpc_v2/builder.rb +1 -1
  38. data/lib/aws-sdk-core/{cbor → rpc_v2}/cbor_engine.rb +4 -5
  39. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +3 -1
  40. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +27 -16
  41. data/lib/aws-sdk-core/rpc_v2/handler.rb +2 -1
  42. data/lib/aws-sdk-core/rpc_v2/parser.rb +9 -1
  43. data/lib/aws-sdk-core/rpc_v2.rb +65 -2
  44. data/lib/aws-sdk-core/shared_config.rb +104 -21
  45. data/lib/aws-sdk-core/shared_credentials.rb +1 -0
  46. data/lib/aws-sdk-core/sso_credentials.rb +3 -1
  47. data/lib/aws-sdk-core/static_token_provider.rb +1 -2
  48. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  49. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  50. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  51. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  52. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  53. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  54. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +13 -15
  55. data/lib/aws-sdk-core/stubbing.rb +2 -2
  56. data/lib/aws-sdk-core/token.rb +3 -3
  57. data/lib/aws-sdk-core/token_provider.rb +4 -0
  58. data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
  59. data/lib/aws-sdk-core/util.rb +2 -1
  60. data/lib/aws-sdk-core/xml/error_handler.rb +3 -1
  61. data/lib/aws-sdk-core.rb +4 -0
  62. data/lib/aws-sdk-signin/client.rb +604 -0
  63. data/lib/aws-sdk-signin/client_api.rb +119 -0
  64. data/lib/aws-sdk-signin/customizations.rb +1 -0
  65. data/lib/aws-sdk-signin/endpoint_parameters.rb +69 -0
  66. data/lib/aws-sdk-signin/endpoint_provider.rb +59 -0
  67. data/lib/aws-sdk-signin/endpoints.rb +20 -0
  68. data/lib/aws-sdk-signin/errors.rb +122 -0
  69. data/lib/aws-sdk-signin/plugins/endpoints.rb +77 -0
  70. data/lib/aws-sdk-signin/resource.rb +26 -0
  71. data/lib/aws-sdk-signin/types.rb +299 -0
  72. data/lib/aws-sdk-signin.rb +63 -0
  73. data/lib/aws-sdk-sso/client.rb +76 -47
  74. data/lib/aws-sdk-sso/endpoint_parameters.rb +13 -10
  75. data/lib/aws-sdk-sso/endpoint_provider.rb +16 -20
  76. data/lib/aws-sdk-sso/endpoints.rb +2 -42
  77. data/lib/aws-sdk-sso/plugins/endpoints.rb +1 -14
  78. data/lib/aws-sdk-sso.rb +1 -1
  79. data/lib/aws-sdk-ssooidc/client.rb +132 -73
  80. data/lib/aws-sdk-ssooidc/client_api.rb +11 -0
  81. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +13 -10
  82. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +14 -18
  83. data/lib/aws-sdk-ssooidc/endpoints.rb +2 -42
  84. data/lib/aws-sdk-ssooidc/errors.rb +10 -0
  85. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +1 -14
  86. data/lib/aws-sdk-ssooidc/types.rb +65 -21
  87. data/lib/aws-sdk-ssooidc.rb +1 -1
  88. data/lib/aws-sdk-sts/client.rb +416 -107
  89. data/lib/aws-sdk-sts/client_api.rb +105 -8
  90. data/lib/aws-sdk-sts/customizations.rb +0 -1
  91. data/lib/aws-sdk-sts/endpoint_parameters.rb +15 -14
  92. data/lib/aws-sdk-sts/endpoint_provider.rb +50 -55
  93. data/lib/aws-sdk-sts/endpoints.rb +2 -94
  94. data/lib/aws-sdk-sts/errors.rb +79 -0
  95. data/lib/aws-sdk-sts/plugins/endpoints.rb +1 -22
  96. data/lib/aws-sdk-sts/presigner.rb +2 -6
  97. data/lib/aws-sdk-sts/types.rb +343 -32
  98. data/lib/aws-sdk-sts.rb +1 -1
  99. data/lib/seahorse/client/async_base.rb +4 -5
  100. data/lib/seahorse/client/base.rb +0 -14
  101. data/lib/seahorse/client/h2/connection.rb +18 -28
  102. data/lib/seahorse/client/h2/handler.rb +6 -1
  103. data/lib/seahorse/client/http/response.rb +1 -1
  104. data/lib/seahorse/client/net_http/connection_pool.rb +4 -1
  105. data/lib/seahorse/client/networking_error.rb +1 -1
  106. data/lib/seahorse/client/plugins/h2.rb +4 -4
  107. data/lib/seahorse/client/request_context.rb +2 -2
  108. data/lib/seahorse/client/response.rb +2 -0
  109. data/lib/seahorse/util.rb +2 -1
  110. data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
  111. data/sig/seahorse/client/async_base.rbs +18 -0
  112. metadata +69 -17
@@ -20,37 +20,49 @@ module Aws::STS
20
20
  AssumeRoleWithSAMLResponse = Shapes::StructureShape.new(name: 'AssumeRoleWithSAMLResponse')
21
21
  AssumeRoleWithWebIdentityRequest = Shapes::StructureShape.new(name: 'AssumeRoleWithWebIdentityRequest')
22
22
  AssumeRoleWithWebIdentityResponse = Shapes::StructureShape.new(name: 'AssumeRoleWithWebIdentityResponse')
23
+ AssumeRootRequest = Shapes::StructureShape.new(name: 'AssumeRootRequest')
24
+ AssumeRootResponse = Shapes::StructureShape.new(name: 'AssumeRootResponse')
23
25
  AssumedRoleUser = Shapes::StructureShape.new(name: 'AssumedRoleUser')
24
26
  Audience = Shapes::StringShape.new(name: 'Audience')
25
27
  Credentials = Shapes::StructureShape.new(name: 'Credentials')
26
28
  DecodeAuthorizationMessageRequest = Shapes::StructureShape.new(name: 'DecodeAuthorizationMessageRequest')
27
29
  DecodeAuthorizationMessageResponse = Shapes::StructureShape.new(name: 'DecodeAuthorizationMessageResponse')
28
- ExpiredTokenException = Shapes::StructureShape.new(name: 'ExpiredTokenException', error: {"code"=>"ExpiredTokenException", "httpStatusCode"=>400, "senderFault"=>true})
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})
29
32
  FederatedUser = Shapes::StructureShape.new(name: 'FederatedUser')
30
33
  GetAccessKeyInfoRequest = Shapes::StructureShape.new(name: 'GetAccessKeyInfoRequest')
31
34
  GetAccessKeyInfoResponse = Shapes::StructureShape.new(name: 'GetAccessKeyInfoResponse')
32
35
  GetCallerIdentityRequest = Shapes::StructureShape.new(name: 'GetCallerIdentityRequest')
33
36
  GetCallerIdentityResponse = Shapes::StructureShape.new(name: 'GetCallerIdentityResponse')
37
+ GetDelegatedAccessTokenRequest = Shapes::StructureShape.new(name: 'GetDelegatedAccessTokenRequest')
38
+ GetDelegatedAccessTokenResponse = Shapes::StructureShape.new(name: 'GetDelegatedAccessTokenResponse')
34
39
  GetFederationTokenRequest = Shapes::StructureShape.new(name: 'GetFederationTokenRequest')
35
40
  GetFederationTokenResponse = Shapes::StructureShape.new(name: 'GetFederationTokenResponse')
36
41
  GetSessionTokenRequest = Shapes::StructureShape.new(name: 'GetSessionTokenRequest')
37
42
  GetSessionTokenResponse = Shapes::StructureShape.new(name: 'GetSessionTokenResponse')
38
- IDPCommunicationErrorException = Shapes::StructureShape.new(name: 'IDPCommunicationErrorException', error: {"code"=>"IDPCommunicationError", "httpStatusCode"=>400, "senderFault"=>true})
39
- IDPRejectedClaimException = Shapes::StructureShape.new(name: 'IDPRejectedClaimException', error: {"code"=>"IDPRejectedClaim", "httpStatusCode"=>403, "senderFault"=>true})
40
- InvalidAuthorizationMessageException = Shapes::StructureShape.new(name: 'InvalidAuthorizationMessageException', error: {"code"=>"InvalidAuthorizationMessageException", "httpStatusCode"=>400, "senderFault"=>true})
41
- InvalidIdentityTokenException = Shapes::StructureShape.new(name: 'InvalidIdentityTokenException', error: {"code"=>"InvalidIdentityToken", "httpStatusCode"=>400, "senderFault"=>true})
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})
42
49
  Issuer = Shapes::StringShape.new(name: 'Issuer')
43
- MalformedPolicyDocumentException = Shapes::StructureShape.new(name: 'MalformedPolicyDocumentException', error: {"code"=>"MalformedPolicyDocument", "httpStatusCode"=>400, "senderFault"=>true})
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})
44
52
  NameQualifier = Shapes::StringShape.new(name: 'NameQualifier')
45
- PackedPolicyTooLargeException = Shapes::StructureShape.new(name: 'PackedPolicyTooLargeException', error: {"code"=>"PackedPolicyTooLarge", "httpStatusCode"=>400, "senderFault"=>true})
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})
46
55
  PolicyDescriptorType = Shapes::StructureShape.new(name: 'PolicyDescriptorType')
47
56
  ProvidedContext = Shapes::StructureShape.new(name: 'ProvidedContext')
48
57
  ProvidedContextsListType = Shapes::ListShape.new(name: 'ProvidedContextsListType')
49
- RegionDisabledException = Shapes::StructureShape.new(name: 'RegionDisabledException', error: {"code"=>"RegionDisabledException", "httpStatusCode"=>403, "senderFault"=>true})
58
+ RegionDisabledException = Shapes::StructureShape.new(name: 'RegionDisabledException', error: {"code" => "RegionDisabledException", "httpStatusCode" => 403, "senderFault" => true})
59
+ RootDurationSecondsType = Shapes::IntegerShape.new(name: 'RootDurationSecondsType')
50
60
  SAMLAssertionType = Shapes::StringShape.new(name: 'SAMLAssertionType')
61
+ SessionDurationEscalationException = Shapes::StructureShape.new(name: 'SessionDurationEscalationException', error: {"code" => "SessionDurationEscalationException", "httpStatusCode" => 403, "senderFault" => true})
51
62
  Subject = Shapes::StringShape.new(name: 'Subject')
52
63
  SubjectType = Shapes::StringShape.new(name: 'SubjectType')
53
64
  Tag = Shapes::StructureShape.new(name: 'Tag')
65
+ TargetPrincipalType = Shapes::StringShape.new(name: 'TargetPrincipalType')
54
66
  accessKeyIdType = Shapes::StringShape.new(name: 'accessKeyIdType')
55
67
  accessKeySecretType = Shapes::StringShape.new(name: 'accessKeySecretType')
56
68
  accountType = Shapes::StringShape.new(name: 'accountType')
@@ -63,20 +75,25 @@ module Aws::STS
63
75
  durationSecondsType = Shapes::IntegerShape.new(name: 'durationSecondsType')
64
76
  encodedMessageType = Shapes::StringShape.new(name: 'encodedMessageType')
65
77
  expiredIdentityTokenMessage = Shapes::StringShape.new(name: 'expiredIdentityTokenMessage')
78
+ expiredTradeInTokenExceptionMessage = Shapes::StringShape.new(name: 'expiredTradeInTokenExceptionMessage')
66
79
  externalIdType = Shapes::StringShape.new(name: 'externalIdType')
67
80
  federatedIdType = Shapes::StringShape.new(name: 'federatedIdType')
68
81
  idpCommunicationErrorMessage = Shapes::StringShape.new(name: 'idpCommunicationErrorMessage')
69
82
  idpRejectedClaimMessage = Shapes::StringShape.new(name: 'idpRejectedClaimMessage')
70
83
  invalidAuthorizationMessage = Shapes::StringShape.new(name: 'invalidAuthorizationMessage')
71
84
  invalidIdentityTokenMessage = Shapes::StringShape.new(name: 'invalidIdentityTokenMessage')
85
+ jwtAlgorithmType = Shapes::StringShape.new(name: 'jwtAlgorithmType')
86
+ jwtPayloadSizeExceededException = Shapes::StringShape.new(name: 'jwtPayloadSizeExceededException')
72
87
  malformedPolicyDocumentMessage = Shapes::StringShape.new(name: 'malformedPolicyDocumentMessage')
73
88
  nonNegativeIntegerType = Shapes::IntegerShape.new(name: 'nonNegativeIntegerType')
89
+ outboundWebIdentityFederationDisabledException = Shapes::StringShape.new(name: 'outboundWebIdentityFederationDisabledException')
74
90
  packedPolicyTooLargeMessage = Shapes::StringShape.new(name: 'packedPolicyTooLargeMessage')
75
91
  policyDescriptorListType = Shapes::ListShape.new(name: 'policyDescriptorListType')
76
92
  regionDisabledMessage = Shapes::StringShape.new(name: 'regionDisabledMessage')
77
93
  roleDurationSecondsType = Shapes::IntegerShape.new(name: 'roleDurationSecondsType')
78
94
  roleSessionNameType = Shapes::StringShape.new(name: 'roleSessionNameType')
79
95
  serialNumberType = Shapes::StringShape.new(name: 'serialNumberType')
96
+ sessionDurationEscalationException = Shapes::StringShape.new(name: 'sessionDurationEscalationException')
80
97
  sessionPolicyDocumentType = Shapes::StringShape.new(name: 'sessionPolicyDocumentType')
81
98
  sourceIdentityType = Shapes::StringShape.new(name: 'sourceIdentityType')
82
99
  tagKeyListType = Shapes::ListShape.new(name: 'tagKeyListType')
@@ -85,11 +102,16 @@ module Aws::STS
85
102
  tagValueType = Shapes::StringShape.new(name: 'tagValueType')
86
103
  tokenCodeType = Shapes::StringShape.new(name: 'tokenCodeType')
87
104
  tokenType = Shapes::StringShape.new(name: 'tokenType')
105
+ tradeInTokenType = Shapes::StringShape.new(name: 'tradeInTokenType')
88
106
  unrestrictedSessionPolicyDocumentType = Shapes::StringShape.new(name: 'unrestrictedSessionPolicyDocumentType')
89
107
  urlType = Shapes::StringShape.new(name: 'urlType')
90
108
  userIdType = Shapes::StringShape.new(name: 'userIdType')
91
109
  userNameType = Shapes::StringShape.new(name: 'userNameType')
92
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')
93
115
 
94
116
  AssumeRoleRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "RoleArn"))
95
117
  AssumeRoleRequest.add_member(:role_session_name, Shapes::ShapeRef.new(shape: roleSessionNameType, required: true, location_name: "RoleSessionName"))
@@ -148,6 +170,15 @@ module Aws::STS
148
170
  AssumeRoleWithWebIdentityResponse.add_member(:source_identity, Shapes::ShapeRef.new(shape: sourceIdentityType, location_name: "SourceIdentity"))
149
171
  AssumeRoleWithWebIdentityResponse.struct_class = Types::AssumeRoleWithWebIdentityResponse
150
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
+
151
182
  AssumedRoleUser.add_member(:assumed_role_id, Shapes::ShapeRef.new(shape: assumedRoleIdType, required: true, location_name: "AssumedRoleId"))
152
183
  AssumedRoleUser.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "Arn"))
153
184
  AssumedRoleUser.struct_class = Types::AssumedRoleUser
@@ -167,6 +198,9 @@ module Aws::STS
167
198
  ExpiredTokenException.add_member(:message, Shapes::ShapeRef.new(shape: expiredIdentityTokenMessage, location_name: "message"))
168
199
  ExpiredTokenException.struct_class = Types::ExpiredTokenException
169
200
 
201
+ ExpiredTradeInTokenException.add_member(:message, Shapes::ShapeRef.new(shape: expiredTradeInTokenExceptionMessage, location_name: "message"))
202
+ ExpiredTradeInTokenException.struct_class = Types::ExpiredTradeInTokenException
203
+
170
204
  FederatedUser.add_member(:federated_user_id, Shapes::ShapeRef.new(shape: federatedIdType, required: true, location_name: "FederatedUserId"))
171
205
  FederatedUser.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "Arn"))
172
206
  FederatedUser.struct_class = Types::FederatedUser
@@ -184,6 +218,14 @@ module Aws::STS
184
218
  GetCallerIdentityResponse.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, location_name: "Arn"))
185
219
  GetCallerIdentityResponse.struct_class = Types::GetCallerIdentityResponse
186
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
+
187
229
  GetFederationTokenRequest.add_member(:name, Shapes::ShapeRef.new(shape: userNameType, required: true, location_name: "Name"))
188
230
  GetFederationTokenRequest.add_member(:policy, Shapes::ShapeRef.new(shape: sessionPolicyDocumentType, location_name: "Policy"))
189
231
  GetFederationTokenRequest.add_member(:policy_arns, Shapes::ShapeRef.new(shape: policyDescriptorListType, location_name: "PolicyArns"))
@@ -204,6 +246,16 @@ module Aws::STS
204
246
  GetSessionTokenResponse.add_member(:credentials, Shapes::ShapeRef.new(shape: Credentials, location_name: "Credentials"))
205
247
  GetSessionTokenResponse.struct_class = Types::GetSessionTokenResponse
206
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
+
207
259
  IDPCommunicationErrorException.add_member(:message, Shapes::ShapeRef.new(shape: idpCommunicationErrorMessage, location_name: "message"))
208
260
  IDPCommunicationErrorException.struct_class = Types::IDPCommunicationErrorException
209
261
 
@@ -216,9 +268,15 @@ module Aws::STS
216
268
  InvalidIdentityTokenException.add_member(:message, Shapes::ShapeRef.new(shape: invalidIdentityTokenMessage, location_name: "message"))
217
269
  InvalidIdentityTokenException.struct_class = Types::InvalidIdentityTokenException
218
270
 
271
+ JWTPayloadSizeExceededException.add_member(:message, Shapes::ShapeRef.new(shape: jwtPayloadSizeExceededException, location_name: "message"))
272
+ JWTPayloadSizeExceededException.struct_class = Types::JWTPayloadSizeExceededException
273
+
219
274
  MalformedPolicyDocumentException.add_member(:message, Shapes::ShapeRef.new(shape: malformedPolicyDocumentMessage, location_name: "message"))
220
275
  MalformedPolicyDocumentException.struct_class = Types::MalformedPolicyDocumentException
221
276
 
277
+ OutboundWebIdentityFederationDisabledException.add_member(:message, Shapes::ShapeRef.new(shape: outboundWebIdentityFederationDisabledException, location_name: "message"))
278
+ OutboundWebIdentityFederationDisabledException.struct_class = Types::OutboundWebIdentityFederationDisabledException
279
+
222
280
  PackedPolicyTooLargeException.add_member(:message, Shapes::ShapeRef.new(shape: packedPolicyTooLargeMessage, location_name: "message"))
223
281
  PackedPolicyTooLargeException.struct_class = Types::PackedPolicyTooLargeException
224
282
 
@@ -234,6 +292,9 @@ module Aws::STS
234
292
  RegionDisabledException.add_member(:message, Shapes::ShapeRef.new(shape: regionDisabledMessage, location_name: "message"))
235
293
  RegionDisabledException.struct_class = Types::RegionDisabledException
236
294
 
295
+ SessionDurationEscalationException.add_member(:message, Shapes::ShapeRef.new(shape: sessionDurationEscalationException, location_name: "message"))
296
+ SessionDurationEscalationException.struct_class = Types::SessionDurationEscalationException
297
+
237
298
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: tagKeyType, required: true, location_name: "Key"))
238
299
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: tagValueType, required: true, location_name: "Value"))
239
300
  Tag.struct_class = Types::Tag
@@ -244,6 +305,8 @@ module Aws::STS
244
305
 
245
306
  tagListType.member = Shapes::ShapeRef.new(shape: Tag)
246
307
 
308
+ webIdentityTokenAudienceListType.member = Shapes::ShapeRef.new(shape: webIdentityTokenAudienceStringType)
309
+
247
310
 
248
311
  # @api private
249
312
  API = Seahorse::Model::Api.new.tap do |api|
@@ -281,6 +344,7 @@ module Aws::STS
281
344
  o.name = "AssumeRoleWithSAML"
282
345
  o.http_method = "POST"
283
346
  o.http_request_uri = "/"
347
+ o['authtype'] = "none"
284
348
  o['auth'] = ["smithy.api#noAuth"]
285
349
  o.input = Shapes::ShapeRef.new(shape: AssumeRoleWithSAMLRequest)
286
350
  o.output = Shapes::ShapeRef.new(shape: AssumeRoleWithSAMLResponse)
@@ -296,6 +360,7 @@ module Aws::STS
296
360
  o.name = "AssumeRoleWithWebIdentity"
297
361
  o.http_method = "POST"
298
362
  o.http_request_uri = "/"
363
+ o['authtype'] = "none"
299
364
  o['auth'] = ["smithy.api#noAuth"]
300
365
  o.input = Shapes::ShapeRef.new(shape: AssumeRoleWithWebIdentityRequest)
301
366
  o.output = Shapes::ShapeRef.new(shape: AssumeRoleWithWebIdentityResponse)
@@ -308,6 +373,16 @@ module Aws::STS
308
373
  o.errors << Shapes::ShapeRef.new(shape: RegionDisabledException)
309
374
  end)
310
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
+
311
386
  api.add_operation(:decode_authorization_message, Seahorse::Model::Operation.new.tap do |o|
312
387
  o.name = "DecodeAuthorizationMessage"
313
388
  o.http_method = "POST"
@@ -333,6 +408,17 @@ module Aws::STS
333
408
  o.output = Shapes::ShapeRef.new(shape: GetCallerIdentityResponse)
334
409
  end)
335
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
+
336
422
  api.add_operation(:get_federation_token, Seahorse::Model::Operation.new.tap do |o|
337
423
  o.name = "GetFederationToken"
338
424
  o.http_method = "POST"
@@ -352,6 +438,17 @@ module Aws::STS
352
438
  o.output = Shapes::ShapeRef.new(shape: GetSessionTokenResponse)
353
439
  o.errors << Shapes::ShapeRef.new(shape: RegionDisabledException)
354
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)
355
452
  end
356
453
 
357
454
  end
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # utility classes
4
3
  module Aws
5
4
  module STS
6
5
  autoload :Presigner, 'aws-sdk-sts/presigner'
@@ -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)
81
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
87
82
  if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
88
83
  if Aws::Endpoints::Matchers.string_equals?(Aws::Endpoints::Matchers.attr(partition_result, "name"), "aws-us-gov")
89
- return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.amazonaws.com", headers: {}, properties: {})
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"
@@ -12,101 +12,9 @@ module Aws::STS
12
12
  # @api private
13
13
  module Endpoints
14
14
 
15
- class AssumeRole
16
- def self.build(context)
17
- Aws::STS::EndpointParameters.new(
18
- region: context.config.region,
19
- use_dual_stack: context.config.use_dualstack_endpoint,
20
- use_fips: context.config.use_fips_endpoint,
21
- endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
22
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
23
- )
24
- end
25
- end
26
-
27
- class AssumeRoleWithSAML
28
- def self.build(context)
29
- Aws::STS::EndpointParameters.new(
30
- region: context.config.region,
31
- use_dual_stack: context.config.use_dualstack_endpoint,
32
- use_fips: context.config.use_fips_endpoint,
33
- endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
34
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
35
- )
36
- end
37
- end
38
-
39
- class AssumeRoleWithWebIdentity
40
- def self.build(context)
41
- Aws::STS::EndpointParameters.new(
42
- region: context.config.region,
43
- use_dual_stack: context.config.use_dualstack_endpoint,
44
- use_fips: context.config.use_fips_endpoint,
45
- endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
46
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
47
- )
48
- end
49
- end
50
-
51
- class DecodeAuthorizationMessage
52
- def self.build(context)
53
- Aws::STS::EndpointParameters.new(
54
- region: context.config.region,
55
- use_dual_stack: context.config.use_dualstack_endpoint,
56
- use_fips: context.config.use_fips_endpoint,
57
- endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
58
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
59
- )
60
- end
61
- end
62
15
 
63
- class GetAccessKeyInfo
64
- def self.build(context)
65
- Aws::STS::EndpointParameters.new(
66
- region: context.config.region,
67
- use_dual_stack: context.config.use_dualstack_endpoint,
68
- use_fips: context.config.use_fips_endpoint,
69
- endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
70
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
71
- )
72
- end
16
+ def self.parameters_for_operation(context)
17
+ Aws::STS::EndpointParameters.create(context.config)
73
18
  end
74
-
75
- class GetCallerIdentity
76
- def self.build(context)
77
- Aws::STS::EndpointParameters.new(
78
- region: context.config.region,
79
- use_dual_stack: context.config.use_dualstack_endpoint,
80
- use_fips: context.config.use_fips_endpoint,
81
- endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
82
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
83
- )
84
- end
85
- end
86
-
87
- class GetFederationToken
88
- def self.build(context)
89
- Aws::STS::EndpointParameters.new(
90
- region: context.config.region,
91
- use_dual_stack: context.config.use_dualstack_endpoint,
92
- use_fips: context.config.use_fips_endpoint,
93
- endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
94
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
95
- )
96
- end
97
- end
98
-
99
- class GetSessionToken
100
- def self.build(context)
101
- Aws::STS::EndpointParameters.new(
102
- region: context.config.region,
103
- use_dual_stack: context.config.use_dualstack_endpoint,
104
- use_fips: context.config.use_fips_endpoint,
105
- endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
106
- use_global_endpoint: context.config.sts_regional_endpoints == 'legacy',
107
- )
108
- end
109
- end
110
-
111
19
  end
112
20
  end