aws-sdk-core 3.209.1 → 3.228.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 (96) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +231 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +1 -2
  5. data/lib/aws-sdk-core/arn.rb +1 -3
  6. data/lib/aws-sdk-core/assume_role_credentials.rb +1 -0
  7. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +1 -0
  8. data/lib/aws-sdk-core/cbor/decoder.rb +0 -2
  9. data/lib/aws-sdk-core/cbor/encoder.rb +2 -2
  10. data/lib/aws-sdk-core/cbor.rb +3 -56
  11. data/lib/aws-sdk-core/client_stubs.rb +29 -55
  12. data/lib/aws-sdk-core/credential_provider.rb +4 -0
  13. data/lib/aws-sdk-core/credential_provider_chain.rb +28 -8
  14. data/lib/aws-sdk-core/credentials.rb +6 -0
  15. data/lib/aws-sdk-core/ecs_credentials.rb +1 -0
  16. data/lib/aws-sdk-core/endpoints/matchers.rb +3 -9
  17. data/lib/aws-sdk-core/endpoints.rb +37 -13
  18. data/lib/aws-sdk-core/error_handler.rb +5 -0
  19. data/lib/aws-sdk-core/errors.rb +2 -2
  20. data/lib/aws-sdk-core/event_emitter.rb +1 -1
  21. data/lib/aws-sdk-core/instance_profile_credentials.rb +147 -157
  22. data/lib/aws-sdk-core/json/error_handler.rb +14 -3
  23. data/lib/aws-sdk-core/json/handler.rb +1 -0
  24. data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
  25. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +332 -170
  26. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +0 -1
  27. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +85 -70
  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 +33 -2
  34. data/lib/aws-sdk-core/process_credentials.rb +1 -1
  35. data/lib/aws-sdk-core/rest/request/headers.rb +3 -3
  36. data/lib/aws-sdk-core/rpc_v2/builder.rb +1 -1
  37. data/lib/aws-sdk-core/{cbor → rpc_v2}/cbor_engine.rb +4 -5
  38. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +3 -1
  39. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +27 -16
  40. data/lib/aws-sdk-core/rpc_v2/handler.rb +2 -1
  41. data/lib/aws-sdk-core/rpc_v2/parser.rb +9 -1
  42. data/lib/aws-sdk-core/rpc_v2.rb +65 -2
  43. data/lib/aws-sdk-core/shared_config.rb +75 -21
  44. data/lib/aws-sdk-core/shared_credentials.rb +1 -0
  45. data/lib/aws-sdk-core/sso_credentials.rb +2 -0
  46. data/lib/aws-sdk-core/static_token_provider.rb +1 -2
  47. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  48. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  49. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  50. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  51. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  52. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  53. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +13 -15
  54. data/lib/aws-sdk-core/stubbing.rb +2 -2
  55. data/lib/aws-sdk-core/token.rb +3 -3
  56. data/lib/aws-sdk-core/token_provider.rb +4 -0
  57. data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
  58. data/lib/aws-sdk-core/util.rb +2 -1
  59. data/lib/aws-sdk-core/xml/error_handler.rb +3 -1
  60. data/lib/aws-sdk-sso/client.rb +71 -39
  61. data/lib/aws-sdk-sso/endpoint_parameters.rb +9 -6
  62. data/lib/aws-sdk-sso/endpoint_provider.rb +14 -18
  63. data/lib/aws-sdk-sso/endpoints.rb +2 -42
  64. data/lib/aws-sdk-sso/plugins/endpoints.rb +1 -14
  65. data/lib/aws-sdk-sso.rb +1 -1
  66. data/lib/aws-sdk-ssooidc/client.rb +108 -59
  67. data/lib/aws-sdk-ssooidc/client_api.rb +6 -0
  68. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +9 -6
  69. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +14 -18
  70. data/lib/aws-sdk-ssooidc/endpoints.rb +2 -42
  71. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +1 -14
  72. data/lib/aws-sdk-ssooidc/types.rb +48 -16
  73. data/lib/aws-sdk-ssooidc.rb +1 -1
  74. data/lib/aws-sdk-sts/client.rb +279 -91
  75. data/lib/aws-sdk-sts/client_api.rb +33 -8
  76. data/lib/aws-sdk-sts/endpoint_parameters.rb +10 -9
  77. data/lib/aws-sdk-sts/endpoint_provider.rb +50 -55
  78. data/lib/aws-sdk-sts/endpoints.rb +2 -94
  79. data/lib/aws-sdk-sts/errors.rb +15 -0
  80. data/lib/aws-sdk-sts/plugins/endpoints.rb +1 -22
  81. data/lib/aws-sdk-sts/presigner.rb +2 -6
  82. data/lib/aws-sdk-sts/types.rb +170 -28
  83. data/lib/aws-sdk-sts.rb +1 -1
  84. data/lib/seahorse/client/async_base.rb +4 -5
  85. data/lib/seahorse/client/base.rb +0 -14
  86. data/lib/seahorse/client/h2/connection.rb +18 -28
  87. data/lib/seahorse/client/http/response.rb +1 -1
  88. data/lib/seahorse/client/net_http/connection_pool.rb +4 -1
  89. data/lib/seahorse/client/networking_error.rb +1 -1
  90. data/lib/seahorse/client/plugins/h2.rb +4 -4
  91. data/lib/seahorse/client/request_context.rb +2 -2
  92. data/lib/seahorse/client/response.rb +2 -0
  93. data/lib/seahorse/util.rb +2 -1
  94. data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
  95. data/sig/seahorse/client/async_base.rbs +18 -0
  96. metadata +57 -17
@@ -20,12 +20,14 @@ 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})
29
31
  FederatedUser = Shapes::StructureShape.new(name: 'FederatedUser')
30
32
  GetAccessKeyInfoRequest = Shapes::StructureShape.new(name: 'GetAccessKeyInfoRequest')
31
33
  GetAccessKeyInfoResponse = Shapes::StructureShape.new(name: 'GetAccessKeyInfoResponse')
@@ -35,22 +37,24 @@ module Aws::STS
35
37
  GetFederationTokenResponse = Shapes::StructureShape.new(name: 'GetFederationTokenResponse')
36
38
  GetSessionTokenRequest = Shapes::StructureShape.new(name: 'GetSessionTokenRequest')
37
39
  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})
40
+ IDPCommunicationErrorException = Shapes::StructureShape.new(name: 'IDPCommunicationErrorException', error: {"code" => "IDPCommunicationError", "httpStatusCode" => 400, "senderFault" => true})
41
+ IDPRejectedClaimException = Shapes::StructureShape.new(name: 'IDPRejectedClaimException', error: {"code" => "IDPRejectedClaim", "httpStatusCode" => 403, "senderFault" => true})
42
+ InvalidAuthorizationMessageException = Shapes::StructureShape.new(name: 'InvalidAuthorizationMessageException', error: {"code" => "InvalidAuthorizationMessageException", "httpStatusCode" => 400, "senderFault" => true})
43
+ InvalidIdentityTokenException = Shapes::StructureShape.new(name: 'InvalidIdentityTokenException', error: {"code" => "InvalidIdentityToken", "httpStatusCode" => 400, "senderFault" => true})
42
44
  Issuer = Shapes::StringShape.new(name: 'Issuer')
43
- MalformedPolicyDocumentException = Shapes::StructureShape.new(name: 'MalformedPolicyDocumentException', error: {"code"=>"MalformedPolicyDocument", "httpStatusCode"=>400, "senderFault"=>true})
45
+ MalformedPolicyDocumentException = Shapes::StructureShape.new(name: 'MalformedPolicyDocumentException', error: {"code" => "MalformedPolicyDocument", "httpStatusCode" => 400, "senderFault" => true})
44
46
  NameQualifier = Shapes::StringShape.new(name: 'NameQualifier')
45
- PackedPolicyTooLargeException = Shapes::StructureShape.new(name: 'PackedPolicyTooLargeException', error: {"code"=>"PackedPolicyTooLarge", "httpStatusCode"=>400, "senderFault"=>true})
47
+ PackedPolicyTooLargeException = Shapes::StructureShape.new(name: 'PackedPolicyTooLargeException', error: {"code" => "PackedPolicyTooLarge", "httpStatusCode" => 400, "senderFault" => true})
46
48
  PolicyDescriptorType = Shapes::StructureShape.new(name: 'PolicyDescriptorType')
47
49
  ProvidedContext = Shapes::StructureShape.new(name: 'ProvidedContext')
48
50
  ProvidedContextsListType = Shapes::ListShape.new(name: 'ProvidedContextsListType')
49
- RegionDisabledException = Shapes::StructureShape.new(name: 'RegionDisabledException', error: {"code"=>"RegionDisabledException", "httpStatusCode"=>403, "senderFault"=>true})
51
+ RegionDisabledException = Shapes::StructureShape.new(name: 'RegionDisabledException', error: {"code" => "RegionDisabledException", "httpStatusCode" => 403, "senderFault" => true})
52
+ RootDurationSecondsType = Shapes::IntegerShape.new(name: 'RootDurationSecondsType')
50
53
  SAMLAssertionType = Shapes::StringShape.new(name: 'SAMLAssertionType')
51
54
  Subject = Shapes::StringShape.new(name: 'Subject')
52
55
  SubjectType = Shapes::StringShape.new(name: 'SubjectType')
53
56
  Tag = Shapes::StructureShape.new(name: 'Tag')
57
+ TargetPrincipalType = Shapes::StringShape.new(name: 'TargetPrincipalType')
54
58
  accessKeyIdType = Shapes::StringShape.new(name: 'accessKeyIdType')
55
59
  accessKeySecretType = Shapes::StringShape.new(name: 'accessKeySecretType')
56
60
  accountType = Shapes::StringShape.new(name: 'accountType')
@@ -148,6 +152,15 @@ module Aws::STS
148
152
  AssumeRoleWithWebIdentityResponse.add_member(:source_identity, Shapes::ShapeRef.new(shape: sourceIdentityType, location_name: "SourceIdentity"))
149
153
  AssumeRoleWithWebIdentityResponse.struct_class = Types::AssumeRoleWithWebIdentityResponse
150
154
 
155
+ AssumeRootRequest.add_member(:target_principal, Shapes::ShapeRef.new(shape: TargetPrincipalType, required: true, location_name: "TargetPrincipal"))
156
+ AssumeRootRequest.add_member(:task_policy_arn, Shapes::ShapeRef.new(shape: PolicyDescriptorType, required: true, location_name: "TaskPolicyArn"))
157
+ AssumeRootRequest.add_member(:duration_seconds, Shapes::ShapeRef.new(shape: RootDurationSecondsType, location_name: "DurationSeconds"))
158
+ AssumeRootRequest.struct_class = Types::AssumeRootRequest
159
+
160
+ AssumeRootResponse.add_member(:credentials, Shapes::ShapeRef.new(shape: Credentials, location_name: "Credentials"))
161
+ AssumeRootResponse.add_member(:source_identity, Shapes::ShapeRef.new(shape: sourceIdentityType, location_name: "SourceIdentity"))
162
+ AssumeRootResponse.struct_class = Types::AssumeRootResponse
163
+
151
164
  AssumedRoleUser.add_member(:assumed_role_id, Shapes::ShapeRef.new(shape: assumedRoleIdType, required: true, location_name: "AssumedRoleId"))
152
165
  AssumedRoleUser.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "Arn"))
153
166
  AssumedRoleUser.struct_class = Types::AssumedRoleUser
@@ -281,6 +294,7 @@ module Aws::STS
281
294
  o.name = "AssumeRoleWithSAML"
282
295
  o.http_method = "POST"
283
296
  o.http_request_uri = "/"
297
+ o['authtype'] = "none"
284
298
  o['auth'] = ["smithy.api#noAuth"]
285
299
  o.input = Shapes::ShapeRef.new(shape: AssumeRoleWithSAMLRequest)
286
300
  o.output = Shapes::ShapeRef.new(shape: AssumeRoleWithSAMLResponse)
@@ -296,6 +310,7 @@ module Aws::STS
296
310
  o.name = "AssumeRoleWithWebIdentity"
297
311
  o.http_method = "POST"
298
312
  o.http_request_uri = "/"
313
+ o['authtype'] = "none"
299
314
  o['auth'] = ["smithy.api#noAuth"]
300
315
  o.input = Shapes::ShapeRef.new(shape: AssumeRoleWithWebIdentityRequest)
301
316
  o.output = Shapes::ShapeRef.new(shape: AssumeRoleWithWebIdentityResponse)
@@ -308,6 +323,16 @@ module Aws::STS
308
323
  o.errors << Shapes::ShapeRef.new(shape: RegionDisabledException)
309
324
  end)
310
325
 
326
+ api.add_operation(:assume_root, Seahorse::Model::Operation.new.tap do |o|
327
+ o.name = "AssumeRoot"
328
+ o.http_method = "POST"
329
+ o.http_request_uri = "/"
330
+ o.input = Shapes::ShapeRef.new(shape: AssumeRootRequest)
331
+ o.output = Shapes::ShapeRef.new(shape: AssumeRootResponse)
332
+ o.errors << Shapes::ShapeRef.new(shape: RegionDisabledException)
333
+ o.errors << Shapes::ShapeRef.new(shape: ExpiredTokenException)
334
+ end)
335
+
311
336
  api.add_operation(:decode_authorization_message, Seahorse::Model::Operation.new.tap do |o|
312
337
  o.name = "DecodeAuthorizationMessage"
313
338
  o.http_method = "POST"
@@ -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
@@ -29,11 +29,16 @@ module Aws::STS
29
29
  # ## Error Classes
30
30
  # * {ExpiredTokenException}
31
31
  # * {IDPCommunicationErrorException}
32
+ # * This error class is not used. `IDPCommunicationError` is used during parsing instead.
32
33
  # * {IDPRejectedClaimException}
34
+ # * This error class is not used. `IDPRejectedClaim` is used during parsing instead.
33
35
  # * {InvalidAuthorizationMessageException}
34
36
  # * {InvalidIdentityTokenException}
37
+ # * This error class is not used. `InvalidIdentityToken` is used during parsing instead.
35
38
  # * {MalformedPolicyDocumentException}
39
+ # * This error class is not used. `MalformedPolicyDocument` is used during parsing instead.
36
40
  # * {PackedPolicyTooLargeException}
41
+ # * This error class is not used. `PackedPolicyTooLarge` is used during parsing instead.
37
42
  # * {RegionDisabledException}
38
43
  #
39
44
  # Additionally, error classes are dynamically generated for service errors based on the error code
@@ -57,6 +62,8 @@ module Aws::STS
57
62
  end
58
63
  end
59
64
 
65
+ # @deprecated This error class is not used during parsing.
66
+ # Please use `IDPCommunicationError` instead.
60
67
  class IDPCommunicationErrorException < ServiceError
61
68
 
62
69
  # @param [Seahorse::Client::RequestContext] context
@@ -72,6 +79,8 @@ module Aws::STS
72
79
  end
73
80
  end
74
81
 
82
+ # @deprecated This error class is not used during parsing.
83
+ # Please use `IDPRejectedClaim` instead.
75
84
  class IDPRejectedClaimException < ServiceError
76
85
 
77
86
  # @param [Seahorse::Client::RequestContext] context
@@ -102,6 +111,8 @@ module Aws::STS
102
111
  end
103
112
  end
104
113
 
114
+ # @deprecated This error class is not used during parsing.
115
+ # Please use `InvalidIdentityToken` instead.
105
116
  class InvalidIdentityTokenException < ServiceError
106
117
 
107
118
  # @param [Seahorse::Client::RequestContext] context
@@ -117,6 +128,8 @@ module Aws::STS
117
128
  end
118
129
  end
119
130
 
131
+ # @deprecated This error class is not used during parsing.
132
+ # Please use `MalformedPolicyDocument` instead.
120
133
  class MalformedPolicyDocumentException < ServiceError
121
134
 
122
135
  # @param [Seahorse::Client::RequestContext] context
@@ -132,6 +145,8 @@ module Aws::STS
132
145
  end
133
146
  end
134
147
 
148
+ # @deprecated This error class is not used during parsing.
149
+ # Please use `PackedPolicyTooLarge` instead.
135
150
  class PackedPolicyTooLargeException < ServiceError
136
151
 
137
152
  # @param [Seahorse::Client::RequestContext] context
@@ -27,7 +27,7 @@ The endpoint provider used to resolve endpoints. Any object that responds to
27
27
  class Handler < Seahorse::Client::Handler
28
28
  def call(context)
29
29
  unless context[:discovered_endpoint]
30
- params = parameters_for_operation(context)
30
+ params = Aws::STS::Endpoints.parameters_for_operation(context)
31
31
  endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
32
 
33
33
  context.http_request.endpoint = endpoint.url
@@ -67,27 +67,6 @@ The endpoint provider used to resolve endpoints. Any object that responds to
67
67
  context.http_request.headers[key] = value
68
68
  end
69
69
  end
70
-
71
- def parameters_for_operation(context)
72
- case context.operation_name
73
- when :assume_role
74
- Aws::STS::Endpoints::AssumeRole.build(context)
75
- when :assume_role_with_saml
76
- Aws::STS::Endpoints::AssumeRoleWithSAML.build(context)
77
- when :assume_role_with_web_identity
78
- Aws::STS::Endpoints::AssumeRoleWithWebIdentity.build(context)
79
- when :decode_authorization_message
80
- Aws::STS::Endpoints::DecodeAuthorizationMessage.build(context)
81
- when :get_access_key_info
82
- Aws::STS::Endpoints::GetAccessKeyInfo.build(context)
83
- when :get_caller_identity
84
- Aws::STS::Endpoints::GetCallerIdentity.build(context)
85
- when :get_federation_token
86
- Aws::STS::Endpoints::GetFederationToken.build(context)
87
- when :get_session_token
88
- Aws::STS::Endpoints::GetSessionToken.build(context)
89
- end
90
- end
91
70
  end
92
71
 
93
72
  def add_handlers(handlers, _config)
@@ -53,13 +53,9 @@ module Aws
53
53
  use_fips: context.config.use_fips_endpoint,
54
54
  use_global_endpoint: context.config.sts_regional_endpoints == 'legacy'
55
55
  )
56
- endpoint = context.config.endpoint_provider
57
- .resolve_endpoint(endpoint_params)
56
+ endpoint = context.config.endpoint_provider.resolve_endpoint(endpoint_params)
58
57
  auth_scheme = Aws::Endpoints.resolve_auth_scheme(context, endpoint)
59
-
60
- signer = Aws::Plugins::Sign.signer_for(
61
- auth_scheme, context.config
62
- )
58
+ signer = Aws::Plugins::Sign.signer_for(auth_scheme, context.config)
63
59
 
64
60
  signer.presign_url(
65
61
  http_method: 'GET',