aws-sdk-core 3.168.4 → 3.190.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) 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 +4 -4
  5. data/lib/aws-sdk-core/client_stubs.rb +15 -12
  6. data/lib/aws-sdk-core/credential_provider.rb +3 -0
  7. data/lib/aws-sdk-core/credential_provider_chain.rb +2 -1
  8. data/lib/aws-sdk-core/ecs_credentials.rb +177 -53
  9. data/lib/aws-sdk-core/endpoints/condition.rb +5 -0
  10. data/lib/aws-sdk-core/endpoints/endpoint_rule.rb +5 -1
  11. data/lib/aws-sdk-core/endpoints/error_rule.rb +5 -0
  12. data/lib/aws-sdk-core/endpoints/function.rb +5 -0
  13. data/lib/aws-sdk-core/endpoints/matchers.rb +13 -9
  14. data/lib/aws-sdk-core/endpoints/reference.rb +5 -0
  15. data/lib/aws-sdk-core/endpoints/rule.rb +5 -0
  16. data/lib/aws-sdk-core/endpoints/rule_set.rb +5 -0
  17. data/lib/aws-sdk-core/endpoints/rules_provider.rb +5 -0
  18. data/lib/aws-sdk-core/endpoints/templater.rb +6 -0
  19. data/lib/aws-sdk-core/endpoints/tree_rule.rb +5 -0
  20. data/lib/aws-sdk-core/endpoints/url.rb +1 -0
  21. data/lib/aws-sdk-core/endpoints.rb +6 -2
  22. data/lib/aws-sdk-core/errors.rb +1 -1
  23. data/lib/aws-sdk-core/ini_parser.rb +7 -0
  24. data/lib/aws-sdk-core/instance_profile_credentials.rb +52 -30
  25. data/lib/aws-sdk-core/json/error_handler.rb +15 -5
  26. data/lib/aws-sdk-core/json/handler.rb +8 -1
  27. data/lib/aws-sdk-core/json/parser.rb +27 -2
  28. data/lib/aws-sdk-core/log/formatter.rb +6 -0
  29. data/lib/aws-sdk-core/pageable_response.rb +3 -1
  30. data/lib/aws-sdk-core/param_validator.rb +2 -2
  31. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +5 -3
  32. data/lib/aws-sdk-core/plugins/http_checksum.rb +2 -1
  33. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +109 -33
  34. data/lib/aws-sdk-core/plugins/request_compression.rb +217 -0
  35. data/lib/aws-sdk-core/plugins/sign.rb +16 -10
  36. data/lib/aws-sdk-core/plugins/user_agent.rb +117 -14
  37. data/lib/aws-sdk-core/refreshing_credentials.rb +12 -12
  38. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +43 -29
  39. data/lib/aws-sdk-core/shared_config.rb +48 -18
  40. data/lib/aws-sdk-core/sso_credentials.rb +1 -1
  41. data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
  42. data/lib/aws-sdk-core/waiters/poller.rb +4 -2
  43. data/lib/aws-sdk-core/xml/parser/engines/oga.rb +2 -0
  44. data/lib/aws-sdk-sso/client.rb +21 -1
  45. data/lib/aws-sdk-sso/endpoint_provider.rb +41 -96
  46. data/lib/aws-sdk-sso/endpoints.rb +1 -0
  47. data/lib/aws-sdk-sso/plugins/endpoints.rb +3 -2
  48. data/lib/aws-sdk-sso.rb +1 -1
  49. data/lib/aws-sdk-ssooidc/client.rb +358 -29
  50. data/lib/aws-sdk-ssooidc/client_api.rb +56 -1
  51. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +41 -95
  52. data/lib/aws-sdk-ssooidc/endpoints.rb +15 -0
  53. data/lib/aws-sdk-ssooidc/errors.rb +31 -0
  54. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +5 -2
  55. data/lib/aws-sdk-ssooidc/types.rb +302 -49
  56. data/lib/aws-sdk-ssooidc.rb +1 -1
  57. data/lib/aws-sdk-sts/client.rb +158 -122
  58. data/lib/aws-sdk-sts/client_api.rb +12 -1
  59. data/lib/aws-sdk-sts/endpoint_provider.rb +96 -213
  60. data/lib/aws-sdk-sts/endpoints.rb +1 -0
  61. data/lib/aws-sdk-sts/plugins/endpoints.rb +3 -2
  62. data/lib/aws-sdk-sts/presigner.rb +1 -1
  63. data/lib/aws-sdk-sts/types.rb +49 -11
  64. data/lib/aws-sdk-sts.rb +1 -1
  65. data/lib/seahorse/client/configuration.rb +0 -4
  66. data/lib/seahorse/client/h2/connection.rb +10 -6
  67. data/lib/seahorse/client/net_http/patches.rb +1 -4
  68. data/lib/seahorse/client/plugins/h2.rb +3 -3
  69. data/lib/seahorse/client/plugins/request_callback.rb +31 -0
  70. data/lib/seahorse/client/response.rb +6 -0
  71. data/lib/seahorse/model/operation.rb +3 -0
  72. metadata +13 -12
@@ -9,221 +9,104 @@
9
9
 
10
10
  module Aws::STS
11
11
  class EndpointProvider
12
- def initialize(rule_set = nil)
13
- @@rule_set ||= begin
14
- endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
- Aws::Endpoints::RuleSet.new(
16
- version: endpoint_rules['version'],
17
- service_id: endpoint_rules['serviceId'],
18
- parameters: endpoint_rules['parameters'],
19
- rules: endpoint_rules['rules']
20
- )
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"}]})
21
+ 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"}]})
24
+ 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"}]})
27
+ 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"}]})
30
+ 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"}]})
33
+ 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"}]})
36
+ 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"}]})
39
+ 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"}]})
42
+ 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"}]})
45
+ 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"}]})
48
+ 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"}]})
51
+ 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"}]})
54
+ 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"}]})
57
+ 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"}]})
60
+ 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"}]})
63
+ 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"}]})
66
+ end
67
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"#{region}"}]})
21
68
  end
22
- @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
- end
69
+ if Aws::Endpoints::Matchers.set?(endpoint)
70
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
71
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
72
+ end
73
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
74
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
75
+ end
76
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
77
+ 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)
81
+ 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: {})
83
+ end
84
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
85
+ end
86
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
87
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
88
+ 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: {})
90
+ end
91
+ return Aws::Endpoints::Endpoint.new(url: "https://sts-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
92
+ end
93
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
94
+ end
95
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
96
+ 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: {})
98
+ end
99
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
100
+ 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"}]})
103
+ end
104
+ return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
105
+ end
106
+ end
107
+ raise ArgumentError, "Invalid Configuration: Missing Region"
108
+ raise ArgumentError, 'No endpoint could be resolved'
24
109
 
25
- def resolve_endpoint(parameters)
26
- @provider.resolve_endpoint(parameters)
27
110
  end
28
-
29
- # @api private
30
- RULES = <<-JSON
31
- eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
- dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
- cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
- dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
- ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
- ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
- ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
- aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
- OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
- UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
- dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
- UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
- dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
- ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
- IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
- aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
- bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
- ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUdsb2JhbEVu
50
- ZHBvaW50Ijp7ImJ1aWx0SW4iOiJBV1M6OlNUUzo6VXNlR2xvYmFsRW5kcG9p
51
- bnQiLCJyZXF1aXJlZCI6dHJ1ZSwiZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50
52
- YXRpb24iOiJXaGV0aGVyIHRoZSBnbG9iYWwgZW5kcG9pbnQgc2hvdWxkIGJl
53
- IHVzZWQsIHJhdGhlciB0aGVuIHRoZSByZWdpb25hbCBlbmRwb2ludCBmb3Ig
54
- dXMtZWFzdC0xLiIsInR5cGUiOiJCb29sZWFuIn19LCJydWxlcyI6W3siY29u
55
- ZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3sicmVm
56
- IjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0sInR5
57
- cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9v
58
- bGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUdsb2JhbEVuZHBvaW50
59
- In0sdHJ1ZV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVm
60
- IjoiVXNlRklQUyJ9LGZhbHNlXX0seyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJh
61
- cmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSxmYWxzZV19LHsiZm4iOiJu
62
- b3QiLCJhcmd2IjpbeyJmbiI6ImlzU2V0IiwiYXJndiI6W3sicmVmIjoiRW5k
63
- cG9pbnQifV19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRp
64
- b25zIjpbeyJmbiI6InN0cmluZ0VxdWFscyIsImFyZ3YiOlt7InJlZiI6IlJl
65
- Z2lvbiJ9LCJhcC1ub3J0aGVhc3QtMSJdfV0sImVuZHBvaW50Ijp7InVybCI6
66
- Imh0dHBzOi8vc3RzLmFtYXpvbmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7ImF1
67
- dGhTY2hlbWVzIjpbeyJuYW1lIjoic2lndjQiLCJzaWduaW5nTmFtZSI6InN0
68
- cyIsInNpZ25pbmdSZWdpb24iOiJ1cy1lYXN0LTEifV19LCJoZWFkZXJzIjp7
69
- fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W3siZm4iOiJz
70
- dHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdpb24ifSwiYXAtc291
71
- dGgtMSJdfV0sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vc3RzLmFtYXpv
72
- bmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7ImF1dGhTY2hlbWVzIjpbeyJuYW1l
73
- Ijoic2lndjQiLCJzaWduaW5nTmFtZSI6InN0cyIsInNpZ25pbmdSZWdpb24i
74
- OiJ1cy1lYXN0LTEifV19LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2lu
75
- dCJ9LHsiY29uZGl0aW9ucyI6W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2
76
- IjpbeyJyZWYiOiJSZWdpb24ifSwiYXAtc291dGhlYXN0LTEiXX1dLCJlbmRw
77
- b2ludCI6eyJ1cmwiOiJodHRwczovL3N0cy5hbWF6b25hd3MuY29tIiwicHJv
78
- cGVydGllcyI6eyJhdXRoU2NoZW1lcyI6W3sibmFtZSI6InNpZ3Y0Iiwic2ln
79
- bmluZ05hbWUiOiJzdHMiLCJzaWduaW5nUmVnaW9uIjoidXMtZWFzdC0xIn1d
80
- fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7ImNvbmRpdGlv
81
- bnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiUmVn
82
- aW9uIn0sImFwLXNvdXRoZWFzdC0yIl19XSwiZW5kcG9pbnQiOnsidXJsIjoi
83
- aHR0cHM6Ly9zdHMuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnsiYXV0
84
- aFNjaGVtZXMiOlt7Im5hbWUiOiJzaWd2NCIsInNpZ25pbmdOYW1lIjoic3Rz
85
- Iiwic2lnbmluZ1JlZ2lvbiI6InVzLWVhc3QtMSJ9XX0sImhlYWRlcnMiOnt9
86
- fSwidHlwZSI6ImVuZHBvaW50In0seyJjb25kaXRpb25zIjpbeyJmbiI6InN0
87
- cmluZ0VxdWFscyIsImFyZ3YiOlt7InJlZiI6IlJlZ2lvbiJ9LCJhd3MtZ2xv
88
- YmFsIl19XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9zdHMuYW1hem9u
89
- YXdzLmNvbSIsInByb3BlcnRpZXMiOnsiYXV0aFNjaGVtZXMiOlt7Im5hbWUi
90
- OiJzaWd2NCIsInNpZ25pbmdOYW1lIjoic3RzIiwic2lnbmluZ1JlZ2lvbiI6
91
- InVzLWVhc3QtMSJ9XX0sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50
92
- In0seyJjb25kaXRpb25zIjpbeyJmbiI6InN0cmluZ0VxdWFscyIsImFyZ3Yi
93
- Olt7InJlZiI6IlJlZ2lvbiJ9LCJjYS1jZW50cmFsLTEiXX1dLCJlbmRwb2lu
94
- dCI6eyJ1cmwiOiJodHRwczovL3N0cy5hbWF6b25hd3MuY29tIiwicHJvcGVy
95
- dGllcyI6eyJhdXRoU2NoZW1lcyI6W3sibmFtZSI6InNpZ3Y0Iiwic2lnbmlu
96
- Z05hbWUiOiJzdHMiLCJzaWduaW5nUmVnaW9uIjoidXMtZWFzdC0xIn1dfSwi
97
- aGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7ImNvbmRpdGlvbnMi
98
- Olt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiUmVnaW9u
99
- In0sImV1LWNlbnRyYWwtMSJdfV0sImVuZHBvaW50Ijp7InVybCI6Imh0dHBz
100
- Oi8vc3RzLmFtYXpvbmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7ImF1dGhTY2hl
101
- bWVzIjpbeyJuYW1lIjoic2lndjQiLCJzaWduaW5nTmFtZSI6InN0cyIsInNp
102
- Z25pbmdSZWdpb24iOiJ1cy1lYXN0LTEifV19LCJoZWFkZXJzIjp7fX0sInR5
103
- cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W3siZm4iOiJzdHJpbmdF
104
- cXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdpb24ifSwiZXUtbm9ydGgtMSJd
105
- fV0sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vc3RzLmFtYXpvbmF3cy5j
106
- b20iLCJwcm9wZXJ0aWVzIjp7ImF1dGhTY2hlbWVzIjpbeyJuYW1lIjoic2ln
107
- djQiLCJzaWduaW5nTmFtZSI6InN0cyIsInNpZ25pbmdSZWdpb24iOiJ1cy1l
108
- YXN0LTEifV19LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsi
109
- Y29uZGl0aW9ucyI6W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJy
110
- ZWYiOiJSZWdpb24ifSwiZXUtd2VzdC0xIl19XSwiZW5kcG9pbnQiOnsidXJs
111
- IjoiaHR0cHM6Ly9zdHMuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnsi
112
- YXV0aFNjaGVtZXMiOlt7Im5hbWUiOiJzaWd2NCIsInNpZ25pbmdOYW1lIjoi
113
- c3RzIiwic2lnbmluZ1JlZ2lvbiI6InVzLWVhc3QtMSJ9XX0sImhlYWRlcnMi
114
- Ont9fSwidHlwZSI6ImVuZHBvaW50In0seyJjb25kaXRpb25zIjpbeyJmbiI6
115
- InN0cmluZ0VxdWFscyIsImFyZ3YiOlt7InJlZiI6IlJlZ2lvbiJ9LCJldS13
116
- ZXN0LTIiXX1dLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3N0cy5hbWF6
117
- b25hd3MuY29tIiwicHJvcGVydGllcyI6eyJhdXRoU2NoZW1lcyI6W3sibmFt
118
- ZSI6InNpZ3Y0Iiwic2lnbmluZ05hbWUiOiJzdHMiLCJzaWduaW5nUmVnaW9u
119
- IjoidXMtZWFzdC0xIn1dfSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9p
120
- bnQifSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJn
121
- diI6W3sicmVmIjoiUmVnaW9uIn0sImV1LXdlc3QtMyJdfV0sImVuZHBvaW50
122
- Ijp7InVybCI6Imh0dHBzOi8vc3RzLmFtYXpvbmF3cy5jb20iLCJwcm9wZXJ0
123
- aWVzIjp7ImF1dGhTY2hlbWVzIjpbeyJuYW1lIjoic2lndjQiLCJzaWduaW5n
124
- TmFtZSI6InN0cyIsInNpZ25pbmdSZWdpb24iOiJ1cy1lYXN0LTEifV19LCJo
125
- ZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6
126
- W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdpb24i
127
- fSwic2EtZWFzdC0xIl19XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9z
128
- dHMuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnsiYXV0aFNjaGVtZXMi
129
- Olt7Im5hbWUiOiJzaWd2NCIsInNpZ25pbmdOYW1lIjoic3RzIiwic2lnbmlu
130
- Z1JlZ2lvbiI6InVzLWVhc3QtMSJ9XX0sImhlYWRlcnMiOnt9fSwidHlwZSI6
131
- ImVuZHBvaW50In0seyJjb25kaXRpb25zIjpbeyJmbiI6InN0cmluZ0VxdWFs
132
- cyIsImFyZ3YiOlt7InJlZiI6IlJlZ2lvbiJ9LCJ1cy1lYXN0LTEiXX1dLCJl
133
- bmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3N0cy5hbWF6b25hd3MuY29tIiwi
134
- cHJvcGVydGllcyI6eyJhdXRoU2NoZW1lcyI6W3sibmFtZSI6InNpZ3Y0Iiwi
135
- c2lnbmluZ05hbWUiOiJzdHMiLCJzaWduaW5nUmVnaW9uIjoidXMtZWFzdC0x
136
- In1dfSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7ImNvbmRp
137
- dGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
138
- UmVnaW9uIn0sInVzLWVhc3QtMiJdfV0sImVuZHBvaW50Ijp7InVybCI6Imh0
139
- dHBzOi8vc3RzLmFtYXpvbmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7ImF1dGhT
140
- Y2hlbWVzIjpbeyJuYW1lIjoic2lndjQiLCJzaWduaW5nTmFtZSI6InN0cyIs
141
- InNpZ25pbmdSZWdpb24iOiJ1cy1lYXN0LTEifV19LCJoZWFkZXJzIjp7fX0s
142
- InR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W3siZm4iOiJzdHJp
143
- bmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdpb24ifSwidXMtd2VzdC0x
144
- Il19XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9zdHMuYW1hem9uYXdz
145
- LmNvbSIsInByb3BlcnRpZXMiOnsiYXV0aFNjaGVtZXMiOlt7Im5hbWUiOiJz
146
- aWd2NCIsInNpZ25pbmdOYW1lIjoic3RzIiwic2lnbmluZ1JlZ2lvbiI6InVz
147
- LWVhc3QtMSJ9XX0sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In0s
148
- eyJjb25kaXRpb25zIjpbeyJmbiI6InN0cmluZ0VxdWFscyIsImFyZ3YiOlt7
149
- InJlZiI6IlJlZ2lvbiJ9LCJ1cy13ZXN0LTIiXX1dLCJlbmRwb2ludCI6eyJ1
150
- cmwiOiJodHRwczovL3N0cy5hbWF6b25hd3MuY29tIiwicHJvcGVydGllcyI6
151
- eyJhdXRoU2NoZW1lcyI6W3sibmFtZSI6InNpZ3Y0Iiwic2lnbmluZ05hbWUi
152
- OiJzdHMiLCJzaWduaW5nUmVnaW9uIjoidXMtZWFzdC0xIn1dfSwiaGVhZGVy
153
- cyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7ImNvbmRpdGlvbnMiOltdLCJl
154
- bmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3N0cy57UmVnaW9ufS57UGFydGl0
155
- aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7ImF1dGhTY2hl
156
- bWVzIjpbeyJuYW1lIjoic2lndjQiLCJzaWduaW5nTmFtZSI6InN0cyIsInNp
157
- Z25pbmdSZWdpb24iOiJ7UmVnaW9ufSJ9XX0sImhlYWRlcnMiOnt9fSwidHlw
158
- ZSI6ImVuZHBvaW50In1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiaXNTZXQi
159
- LCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBhcnNlVVJM
160
- IiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6InVybCJ9
161
- XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4i
162
- OiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRy
163
- dWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBGSVBTIGFu
164
- ZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoi
165
- ZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVz
166
- IjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2
167
- IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJvciI6Iklu
168
- dmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0b20gZW5k
169
- cG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3IifSx7ImNv
170
- bmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoiRW5kcG9p
171
- bnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVu
172
- ZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1
173
- YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7ImZuIjoi
174
- Ym9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9
175
- LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
176
- Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJn
177
- ZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1
178
- cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6
179
- W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRp
180
- b25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5cGUiOiJ0
181
- cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1
182
- cmwiOiJodHRwczovL3N0cy1maXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1
183
- bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFk
184
- ZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpb
185
- XSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVuYWJsZWQsIGJ1
186
- dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9uZSBvciBib3Ro
187
- IiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9v
188
- bGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX1d
189
- LCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6
190
- ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIs
191
- ImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0ZJ
192
- UFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
193
- OltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJm
194
- biI6InN0cmluZ0VxdWFscyIsImFyZ3YiOlsiYXdzLXVzLWdvdiIseyJmbiI6
195
- ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwi
196
- bmFtZSJdfV19XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9zdHMue1Jl
197
- Z2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGll
198
- cyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In0seyJjb25k
199
- aXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9zdHMtZmlw
200
- cy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9w
201
- ZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19
202
- XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQg
203
- YnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5
204
- cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5F
205
- cXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1d
206
- LCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6
207
- ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIs
208
- ImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1
209
- YWxTdGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
210
- aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vc3RzLntSZWdp
211
- b259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInBy
212
- b3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9
213
- XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5h
214
- YmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFs
215
- U3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sInR5
216
- cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoic3Ry
217
- aW5nRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiUmVnaW9uIn0sImF3cy1nbG9i
218
- YWwiXX1dLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3N0cy5hbWF6b25h
219
- d3MuY29tIiwicHJvcGVydGllcyI6eyJhdXRoU2NoZW1lcyI6W3sibmFtZSI6
220
- InNpZ3Y0Iiwic2lnbmluZ1JlZ2lvbiI6InVzLWVhc3QtMSIsInNpZ25pbmdO
221
- YW1lIjoic3RzIn1dfSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQi
222
- fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczov
223
- L3N0cy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJw
224
- cm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQi
225
- fV19XX1dfQ==
226
-
227
- JSON
228
111
  end
229
112
  end
@@ -9,6 +9,7 @@
9
9
 
10
10
 
11
11
  module Aws::STS
12
+ # @api private
12
13
  module Endpoints
13
14
 
14
15
  class AssumeRole
@@ -25,16 +25,17 @@ module Aws::STS
25
25
  # @api private
26
26
  class Handler < Seahorse::Client::Handler
27
27
  def call(context)
28
- # If endpoint was discovered, do not resolve or apply the endpoint.
29
28
  unless context[:discovered_endpoint]
30
29
  params = parameters_for_operation(context)
31
30
  endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
31
 
33
32
  context.http_request.endpoint = endpoint.url
34
33
  apply_endpoint_headers(context, endpoint.headers)
34
+
35
+ context[:endpoint_params] = params
36
+ context[:endpoint_properties] = endpoint.properties
35
37
  end
36
38
 
37
- context[:endpoint_params] = params
38
39
  context[:auth_scheme] =
39
40
  Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
41
 
@@ -35,7 +35,7 @@ module Aws
35
35
  # )
36
36
  #
37
37
  # This can be easily converted to a token used by the EKS service:
38
- # {https://ruby-doc.org/stdlib-2.3.1/libdoc/base64/rdoc/Base64.html#method-i-encode64}
38
+ # {https://docs.ruby-lang.org/en/3.2/Base64.html#method-i-encode64}
39
39
  # "k8s-aws-v1." + Base64.urlsafe_encode64(url).chomp("==")
40
40
  def get_caller_identity_presigned_url(options = {})
41
41
  req = @client.build_request(:get_caller_identity, {})
@@ -287,6 +287,19 @@ module Aws::STS
287
287
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
288
288
  # @return [String]
289
289
  #
290
+ # @!attribute [rw] provided_contexts
291
+ # A list of previously acquired trusted context assertions in the
292
+ # format of a JSON array. The trusted context assertion is signed and
293
+ # encrypted by Amazon Web Services STS.
294
+ #
295
+ # The following is an example of a `ProvidedContext` value that
296
+ # includes a single trusted context assertion and the ARN of the
297
+ # context provider from which the trusted context assertion was
298
+ # generated.
299
+ #
300
+ # `[\{"ProviderArn":"arn:aws:iam::aws:contextProvider/IdentityCenter","ContextAssertion":"trusted-context-assertion"\}]`
301
+ # @return [Array<Types::ProvidedContext>]
302
+ #
290
303
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleRequest AWS API Documentation
291
304
  #
292
305
  class AssumeRoleRequest < Struct.new(
@@ -300,7 +313,8 @@ module Aws::STS
300
313
  :external_id,
301
314
  :serial_number,
302
315
  :token_code,
303
- :source_identity)
316
+ :source_identity,
317
+ :provided_contexts)
304
318
  SENSITIVE = []
305
319
  include Aws::Structure
306
320
  end
@@ -508,7 +522,7 @@ module Aws::STS
508
522
  :policy_arns,
509
523
  :policy,
510
524
  :duration_seconds)
511
- SENSITIVE = []
525
+ SENSITIVE = [:saml_assertion]
512
526
  include Aws::Structure
513
527
  end
514
528
 
@@ -576,7 +590,7 @@ module Aws::STS
576
590
  # in IAM.
577
591
  #
578
592
  # The combination of `NameQualifier` and `Subject` can be used to
579
- # uniquely identify a federated user.
593
+ # uniquely identify a user.
580
594
  #
581
595
  # The following pseudocode shows how the hash value is calculated:
582
596
  #
@@ -652,7 +666,8 @@ module Aws::STS
652
666
  # provided by the identity provider. Your application must get this
653
667
  # token by authenticating the user who is using your application with
654
668
  # a web identity provider before the application makes an
655
- # `AssumeRoleWithWebIdentity` call.
669
+ # `AssumeRoleWithWebIdentity` call. Only tokens with RSA algorithms
670
+ # (RS256) are supported.
656
671
  # @return [String]
657
672
  #
658
673
  # @!attribute [rw] provider_id
@@ -780,7 +795,7 @@ module Aws::STS
780
795
  :policy_arns,
781
796
  :policy,
782
797
  :duration_seconds)
783
- SENSITIVE = []
798
+ SENSITIVE = [:web_identity_token]
784
799
  include Aws::Structure
785
800
  end
786
801
 
@@ -941,7 +956,7 @@ module Aws::STS
941
956
  :secret_access_key,
942
957
  :session_token,
943
958
  :expiration)
944
- SENSITIVE = []
959
+ SENSITIVE = [:secret_access_key]
945
960
  include Aws::Structure
946
961
  end
947
962
 
@@ -1200,11 +1215,10 @@ module Aws::STS
1200
1215
  # The duration, in seconds, that the session should last. Acceptable
1201
1216
  # durations for federation sessions range from 900 seconds (15
1202
1217
  # minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12
1203
- # hours) as the default. Sessions obtained using Amazon Web Services
1204
- # account root user credentials are restricted to a maximum of 3,600
1205
- # seconds (one hour). If the specified duration is longer than one
1206
- # hour, the session obtained by using root user credentials defaults
1207
- # to one hour.
1218
+ # hours) as the default. Sessions obtained using root user credentials
1219
+ # are restricted to a maximum of 3,600 seconds (one hour). If the
1220
+ # specified duration is longer than one hour, the session obtained by
1221
+ # using root user credentials defaults to one hour.
1208
1222
  # @return [Integer]
1209
1223
  #
1210
1224
  # @!attribute [rw] tags
@@ -1498,6 +1512,30 @@ module Aws::STS
1498
1512
  include Aws::Structure
1499
1513
  end
1500
1514
 
1515
+ # Contains information about the provided context. This includes the
1516
+ # signed and encrypted trusted context assertion and the context
1517
+ # provider ARN from which the trusted context assertion was generated.
1518
+ #
1519
+ # @!attribute [rw] provider_arn
1520
+ # The context provider ARN from which the trusted context assertion
1521
+ # was generated.
1522
+ # @return [String]
1523
+ #
1524
+ # @!attribute [rw] context_assertion
1525
+ # The signed and encrypted trusted context assertion generated by the
1526
+ # context provider. The trusted context assertion is signed and
1527
+ # encrypted by Amazon Web Services STS.
1528
+ # @return [String]
1529
+ #
1530
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/ProvidedContext AWS API Documentation
1531
+ #
1532
+ class ProvidedContext < Struct.new(
1533
+ :provider_arn,
1534
+ :context_assertion)
1535
+ SENSITIVE = []
1536
+ include Aws::Structure
1537
+ end
1538
+
1501
1539
  # STS is not activated in the requested region for the account that is
1502
1540
  # being asked to generate credentials. The account administrator must
1503
1541
  # use the IAM console to activate STS in that region. For more
data/lib/aws-sdk-sts.rb CHANGED
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-sts/customizations'
54
54
  # @!group service
55
55
  module Aws::STS
56
56
 
57
- GEM_VERSION = '3.168.4'
57
+ GEM_VERSION = '3.190.3'
58
58
 
59
59
  end
@@ -204,10 +204,6 @@ module Seahorse
204
204
  def value_at(opt_name)
205
205
  value = @struct[opt_name]
206
206
  if value.is_a?(Defaults)
207
- # Legacy endpoints must continue to exist.
208
- if opt_name == :endpoint && @struct.members.include?(:regional_endpoint)
209
- @struct[:regional_endpoint] = true
210
- end
211
207
  resolve_defaults(opt_name, value)
212
208
  else
213
209
  value
@@ -43,7 +43,9 @@ module Seahorse
43
43
  @h2_client = HTTP2::Client.new(
44
44
  settings_max_concurrent_streams: max_concurrent_streams
45
45
  )
46
- @logger = options[:logger] || Logger.new($stdout) if @http_wire_trace
46
+ @logger = if @http_wire_trace
47
+ options[:logger] || Logger.new($stdout)
48
+ end
47
49
  @chunk_size = options[:read_chunk_size] || CHUNKSIZE
48
50
  @errors = []
49
51
  @status = :ready
@@ -180,11 +182,13 @@ module Seahorse
180
182
  @socket.flush
181
183
  end
182
184
  end
183
- @h2_client.on(:frame_sent) do |frame|
184
- debug_output("frame: #{frame.inspect}", :send)
185
- end
186
- @h2_client.on(:frame_received) do |frame|
187
- debug_output("frame: #{frame.inspect}", :receive)
185
+ if @http_wire_trace
186
+ @h2_client.on(:frame_sent) do |frame|
187
+ debug_output("frame: #{frame.inspect}", :send)
188
+ end
189
+ @h2_client.on(:frame_received) do |frame|
190
+ debug_output("frame: #{frame.inspect}", :receive)
191
+ end
188
192
  end
189
193
  end
190
194
 
@@ -12,12 +12,9 @@ module Seahorse
12
12
 
13
13
  def self.apply!
14
14
  Net::HTTPGenericRequest.prepend(PatchDefaultContentType)
15
- return unless RUBY_VERSION < '2.5'
16
-
17
- Net::HTTP::IDEMPOTENT_METHODS_.clear
18
15
  end
19
16
 
20
- # For requests with bodys, Net::HTTP sets a default content type of:
17
+ # For requests with bodies, Net::HTTP sets a default content type of:
21
18
  # 'application/x-www-form-urlencoded'
22
19
  # There are cases where we should not send content type at all.
23
20
  # Even when no body is supplied, Net::HTTP uses a default empty body
@@ -54,9 +54,9 @@ When `true`, HTTP2 debug output will be sent to the `:logger`.
54
54
  DOCS
55
55
 
56
56
  option(:enable_alpn, default: false, doc_type: 'Boolean', docstring: <<-DOCS)
57
- Setting to `true` to enable ALPN in HTTP2 over TLS, requires Ruby version >= 2.3 and
58
- Openssl version >= 1.0.2. Defaults to false. Note: not all service HTTP2 operations
59
- supports ALPN on server side, please refer to service documentation.
57
+ Set to `true` to enable ALPN in HTTP2 over TLS. Requires Openssl version >= 1.0.2.
58
+ Defaults to false. Note: not all service HTTP2 operations supports ALPN on server
59
+ side, please refer to service documentation.
60
60
  DOCS
61
61
 
62
62
  option(:logger)
@@ -60,6 +60,16 @@ the number of bytes read from the body, and the total number of
60
60
  bytes in the body.
61
61
  DOCS
62
62
 
63
+ option(:on_chunk_received,
64
+ default: nil,
65
+ doc_type: 'Proc',
66
+ docstring: <<-DOCS)
67
+ When a Proc object is provided, it will be used as callback when each chunk
68
+ of the response body is received. It provides three arguments: the chunk,
69
+ the number of bytes received, and the total number of
70
+ bytes in the response (or nil if the server did not send a `content-length`).
71
+ DOCS
72
+
63
73
  # @api private
64
74
  class OptionHandler < Client::Handler
65
75
  def call(context)
@@ -68,8 +78,29 @@ bytes in the body.
68
78
  end
69
79
  on_chunk_sent = context.config.on_chunk_sent if on_chunk_sent.nil?
70
80
  context[:on_chunk_sent] = on_chunk_sent if on_chunk_sent
81
+
82
+ if context.params.is_a?(Hash) && context.params[:on_chunk_received]
83
+ on_chunk_received = context.params.delete(:on_chunk_received)
84
+ end
85
+ on_chunk_received = context.config.on_chunk_received if on_chunk_received.nil?
86
+
87
+ add_response_events(on_chunk_received, context) if on_chunk_received
88
+
71
89
  @handler.call(context)
72
90
  end
91
+
92
+ def add_response_events(on_chunk_received, context)
93
+ shared_data = {bytes_received: 0}
94
+
95
+ context.http_response.on_headers do |_status, headers|
96
+ shared_data[:content_length] = headers['content-length']&.to_i
97
+ end
98
+
99
+ context.http_response.on_data do |chunk|
100
+ shared_data[:bytes_received] += chunk.bytesize if chunk && chunk.respond_to?(:bytesize)
101
+ on_chunk_received.call(chunk, shared_data[:bytes_received], shared_data[:content_length])
102
+ end
103
+ end
73
104
  end
74
105
 
75
106
  # @api private
@@ -30,6 +30,12 @@ module Seahorse
30
30
  # @return [StandardError, nil]
31
31
  attr_accessor :error
32
32
 
33
+ # @return [String, nil] returns the algorithm used to validate
34
+ # the response checksum. Returns nil if no verification was done.
35
+ def checksum_validated
36
+ context[:http_checksum][:validated] if context[:http_checksum]
37
+ end
38
+
33
39
  # @overload on(status_code, &block)
34
40
  # @param [Integer] status_code The block will be
35
41
  # triggered only for responses with the given status code.
@@ -28,6 +28,9 @@ module Seahorse
28
28
  # @return [Hash]
29
29
  attr_accessor :http_checksum
30
30
 
31
+ # @return [Hash]
32
+ attr_accessor :request_compression
33
+
31
34
  # @return [Boolean]
32
35
  attr_accessor :deprecated
33
36