aws-sdk-core 3.131.1 → 3.170.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 (79) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +275 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-core/arn.rb +13 -0
  5. data/lib/aws-sdk-core/binary/encode_handler.rb +12 -1
  6. data/lib/aws-sdk-core/credential_provider_chain.rb +6 -4
  7. data/lib/aws-sdk-core/endpoints/condition.rb +41 -0
  8. data/lib/aws-sdk-core/endpoints/endpoint.rb +17 -0
  9. data/lib/aws-sdk-core/endpoints/endpoint_rule.rb +75 -0
  10. data/lib/aws-sdk-core/endpoints/error_rule.rb +42 -0
  11. data/lib/aws-sdk-core/endpoints/function.rb +80 -0
  12. data/lib/aws-sdk-core/endpoints/matchers.rb +127 -0
  13. data/lib/aws-sdk-core/endpoints/reference.rb +31 -0
  14. data/lib/aws-sdk-core/endpoints/rule.rb +25 -0
  15. data/lib/aws-sdk-core/endpoints/rule_set.rb +52 -0
  16. data/lib/aws-sdk-core/endpoints/rules_provider.rb +37 -0
  17. data/lib/aws-sdk-core/endpoints/templater.rb +58 -0
  18. data/lib/aws-sdk-core/endpoints/tree_rule.rb +45 -0
  19. data/lib/aws-sdk-core/endpoints/url.rb +60 -0
  20. data/lib/aws-sdk-core/endpoints.rb +74 -0
  21. data/lib/aws-sdk-core/errors.rb +13 -0
  22. data/lib/aws-sdk-core/json/error_handler.rb +10 -1
  23. data/lib/aws-sdk-core/pageable_response.rb +7 -0
  24. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +67 -0
  25. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +24 -0
  26. data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +6 -2
  27. data/lib/aws-sdk-core/plugins/jsonvalue_converter.rb +34 -6
  28. data/lib/aws-sdk-core/plugins/recursion_detection.rb +14 -3
  29. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +5 -0
  30. data/lib/aws-sdk-core/plugins/retries/error_inspector.rb +2 -1
  31. data/lib/aws-sdk-core/plugins/sign.rb +200 -0
  32. data/lib/aws-sdk-core/plugins/signature_v2.rb +1 -0
  33. data/lib/aws-sdk-core/plugins/signature_v4.rb +13 -7
  34. data/lib/aws-sdk-core/refreshing_token.rb +71 -0
  35. data/lib/aws-sdk-core/rest/handler.rb +1 -1
  36. data/lib/aws-sdk-core/rest/request/headers.rb +2 -6
  37. data/lib/aws-sdk-core/shared_config.rb +76 -5
  38. data/lib/aws-sdk-core/sso_credentials.rb +79 -44
  39. data/lib/aws-sdk-core/sso_token_provider.rb +135 -0
  40. data/lib/aws-sdk-core/static_token_provider.rb +14 -0
  41. data/lib/aws-sdk-core/structure.rb +6 -4
  42. data/lib/aws-sdk-core/token.rb +31 -0
  43. data/lib/aws-sdk-core/token_provider.rb +15 -0
  44. data/lib/aws-sdk-core/token_provider_chain.rb +51 -0
  45. data/lib/aws-sdk-core/xml/error_handler.rb +7 -0
  46. data/lib/aws-sdk-core/xml/parser/engines/oga.rb +2 -0
  47. data/lib/aws-sdk-core.rb +14 -0
  48. data/lib/aws-sdk-sso/client.rb +51 -11
  49. data/lib/aws-sdk-sso/endpoint_parameters.rb +66 -0
  50. data/lib/aws-sdk-sso/endpoint_provider.rb +51 -0
  51. data/lib/aws-sdk-sso/endpoints.rb +71 -0
  52. data/lib/aws-sdk-sso/plugins/endpoints.rb +76 -0
  53. data/lib/aws-sdk-sso/types.rb +8 -43
  54. data/lib/aws-sdk-sso.rb +5 -1
  55. data/lib/aws-sdk-ssooidc/client.rb +606 -0
  56. data/lib/aws-sdk-ssooidc/client_api.rb +216 -0
  57. data/lib/aws-sdk-ssooidc/customizations.rb +1 -0
  58. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +66 -0
  59. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +51 -0
  60. data/lib/aws-sdk-ssooidc/endpoints.rb +57 -0
  61. data/lib/aws-sdk-ssooidc/errors.rb +290 -0
  62. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +74 -0
  63. data/lib/aws-sdk-ssooidc/resource.rb +26 -0
  64. data/lib/aws-sdk-ssooidc/types.rb +502 -0
  65. data/lib/aws-sdk-ssooidc.rb +59 -0
  66. data/lib/aws-sdk-sts/client.rb +153 -134
  67. data/lib/aws-sdk-sts/endpoint_parameters.rb +78 -0
  68. data/lib/aws-sdk-sts/endpoint_provider.rb +109 -0
  69. data/lib/aws-sdk-sts/endpoints.rb +135 -0
  70. data/lib/aws-sdk-sts/plugins/endpoints.rb +84 -0
  71. data/lib/aws-sdk-sts/presigner.rb +13 -15
  72. data/lib/aws-sdk-sts/types.rb +79 -186
  73. data/lib/aws-sdk-sts.rb +5 -1
  74. data/lib/seahorse/client/async_base.rb +0 -1
  75. data/lib/seahorse/client/configuration.rb +2 -2
  76. data/lib/seahorse/client/h2/connection.rb +2 -5
  77. data/lib/seahorse/client/plugins/request_callback.rb +9 -9
  78. data/lib/seahorse/util.rb +4 -0
  79. metadata +47 -6
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::SSO
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
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
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
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
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::SSO
11
+ class EndpointProvider
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
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
+ if Aws::Endpoints::Matchers.set?(endpoint) && (url = Aws::Endpoints::Matchers.parse_url(endpoint))
19
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
+ end
22
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
+ end
25
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
+ end
27
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
+ 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"))
29
+ return Aws::Endpoints::Endpoint.new(url: "https://portal.sso-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
+ end
31
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
+ end
33
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ return Aws::Endpoints::Endpoint.new(url: "https://portal.sso-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
36
+ end
37
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
38
+ end
39
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
+ return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
42
+ end
43
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
44
+ end
45
+ return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
46
+ end
47
+ raise ArgumentError, 'No endpoint could be resolved'
48
+
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::SSO
12
+ module Endpoints
13
+
14
+ class GetRoleCredentials
15
+ def self.build(context)
16
+ unless context.config.regional_endpoint
17
+ endpoint = context.config.endpoint.to_s
18
+ end
19
+ Aws::SSO::EndpointParameters.new(
20
+ region: context.config.region,
21
+ use_dual_stack: context.config.use_dualstack_endpoint,
22
+ use_fips: context.config.use_fips_endpoint,
23
+ endpoint: endpoint,
24
+ )
25
+ end
26
+ end
27
+
28
+ class ListAccountRoles
29
+ def self.build(context)
30
+ unless context.config.regional_endpoint
31
+ endpoint = context.config.endpoint.to_s
32
+ end
33
+ Aws::SSO::EndpointParameters.new(
34
+ region: context.config.region,
35
+ use_dual_stack: context.config.use_dualstack_endpoint,
36
+ use_fips: context.config.use_fips_endpoint,
37
+ endpoint: endpoint,
38
+ )
39
+ end
40
+ end
41
+
42
+ class ListAccounts
43
+ def self.build(context)
44
+ unless context.config.regional_endpoint
45
+ endpoint = context.config.endpoint.to_s
46
+ end
47
+ Aws::SSO::EndpointParameters.new(
48
+ region: context.config.region,
49
+ use_dual_stack: context.config.use_dualstack_endpoint,
50
+ use_fips: context.config.use_fips_endpoint,
51
+ endpoint: endpoint,
52
+ )
53
+ end
54
+ end
55
+
56
+ class Logout
57
+ def self.build(context)
58
+ unless context.config.regional_endpoint
59
+ endpoint = context.config.endpoint.to_s
60
+ end
61
+ Aws::SSO::EndpointParameters.new(
62
+ region: context.config.region,
63
+ use_dual_stack: context.config.use_dualstack_endpoint,
64
+ use_fips: context.config.use_fips_endpoint,
65
+ endpoint: endpoint,
66
+ )
67
+ end
68
+ end
69
+
70
+ end
71
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::SSO
12
+ module Plugins
13
+ class Endpoints < Seahorse::Client::Plugin
14
+ option(
15
+ :endpoint_provider,
16
+ doc_type: 'Aws::SSO::EndpointProvider',
17
+ docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
+ 'object that responds to `#resolve_endpoint(parameters)` '\
19
+ 'where `parameters` is a Struct similar to '\
20
+ '`Aws::SSO::EndpointParameters`'
21
+ ) do |cfg|
22
+ Aws::SSO::EndpointProvider.new
23
+ end
24
+
25
+ # @api private
26
+ class Handler < Seahorse::Client::Handler
27
+ def call(context)
28
+ # If endpoint was discovered, do not resolve or apply the endpoint.
29
+ unless context[:discovered_endpoint]
30
+ params = parameters_for_operation(context)
31
+ endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
+
33
+ context.http_request.endpoint = endpoint.url
34
+ apply_endpoint_headers(context, endpoint.headers)
35
+ end
36
+
37
+ context[:endpoint_params] = params
38
+ context[:auth_scheme] =
39
+ Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
+
41
+ @handler.call(context)
42
+ end
43
+
44
+ private
45
+
46
+ def apply_endpoint_headers(context, headers)
47
+ headers.each do |key, values|
48
+ value = values
49
+ .compact
50
+ .map { |s| Seahorse::Util.escape_header_list_string(s.to_s) }
51
+ .join(',')
52
+
53
+ context.http_request.headers[key] = value
54
+ end
55
+ end
56
+
57
+ def parameters_for_operation(context)
58
+ case context.operation_name
59
+ when :get_role_credentials
60
+ Aws::SSO::Endpoints::GetRoleCredentials.build(context)
61
+ when :list_account_roles
62
+ Aws::SSO::Endpoints::ListAccountRoles.build(context)
63
+ when :list_accounts
64
+ Aws::SSO::Endpoints::ListAccounts.build(context)
65
+ when :logout
66
+ Aws::SSO::Endpoints::Logout.build(context)
67
+ end
68
+ end
69
+ end
70
+
71
+ def add_handlers(handlers, _config)
72
+ handlers.add(Handler, step: :build, priority: 75)
73
+ end
74
+ end
75
+ end
76
+ end
@@ -34,15 +34,6 @@ module Aws::SSO
34
34
  include Aws::Structure
35
35
  end
36
36
 
37
- # @note When making an API call, you may pass GetRoleCredentialsRequest
38
- # data as a hash:
39
- #
40
- # {
41
- # role_name: "RoleNameType", # required
42
- # account_id: "AccountIdType", # required
43
- # access_token: "AccessTokenType", # required
44
- # }
45
- #
46
37
  # @!attribute [rw] role_name
47
38
  # The friendly name of the role that is assigned to the user.
48
39
  # @return [String]
@@ -53,8 +44,8 @@ module Aws::SSO
53
44
  #
54
45
  # @!attribute [rw] access_token
55
46
  # The token issued by the `CreateToken` API call. For more
56
- # information, see [CreateToken][1] in the *AWS SSO OIDC API Reference
57
- # Guide*.
47
+ # information, see [CreateToken][1] in the *IAM Identity Center OIDC
48
+ # API Reference Guide*.
58
49
  #
59
50
  #
60
51
  #
@@ -97,16 +88,6 @@ module Aws::SSO
97
88
  include Aws::Structure
98
89
  end
99
90
 
100
- # @note When making an API call, you may pass ListAccountRolesRequest
101
- # data as a hash:
102
- #
103
- # {
104
- # next_token: "NextTokenType",
105
- # max_results: 1,
106
- # access_token: "AccessTokenType", # required
107
- # account_id: "AccountIdType", # required
108
- # }
109
- #
110
91
  # @!attribute [rw] next_token
111
92
  # The page token from the previous response output when you request
112
93
  # subsequent pages.
@@ -118,8 +99,8 @@ module Aws::SSO
118
99
  #
119
100
  # @!attribute [rw] access_token
120
101
  # The token issued by the `CreateToken` API call. For more
121
- # information, see [CreateToken][1] in the *AWS SSO OIDC API Reference
122
- # Guide*.
102
+ # information, see [CreateToken][1] in the *IAM Identity Center OIDC
103
+ # API Reference Guide*.
123
104
  #
124
105
  #
125
106
  #
@@ -159,15 +140,6 @@ module Aws::SSO
159
140
  include Aws::Structure
160
141
  end
161
142
 
162
- # @note When making an API call, you may pass ListAccountsRequest
163
- # data as a hash:
164
- #
165
- # {
166
- # next_token: "NextTokenType",
167
- # max_results: 1,
168
- # access_token: "AccessTokenType", # required
169
- # }
170
- #
171
143
  # @!attribute [rw] next_token
172
144
  # (Optional) When requesting subsequent pages, this is the page token
173
145
  # from the previous response output.
@@ -179,8 +151,8 @@ module Aws::SSO
179
151
  #
180
152
  # @!attribute [rw] access_token
181
153
  # The token issued by the `CreateToken` API call. For more
182
- # information, see [CreateToken][1] in the *AWS SSO OIDC API Reference
183
- # Guide*.
154
+ # information, see [CreateToken][1] in the *IAM Identity Center OIDC
155
+ # API Reference Guide*.
184
156
  #
185
157
  #
186
158
  #
@@ -215,17 +187,10 @@ module Aws::SSO
215
187
  include Aws::Structure
216
188
  end
217
189
 
218
- # @note When making an API call, you may pass LogoutRequest
219
- # data as a hash:
220
- #
221
- # {
222
- # access_token: "AccessTokenType", # required
223
- # }
224
- #
225
190
  # @!attribute [rw] access_token
226
191
  # The token issued by the `CreateToken` API call. For more
227
- # information, see [CreateToken][1] in the *AWS SSO OIDC API Reference
228
- # Guide*.
192
+ # information, see [CreateToken][1] in the *IAM Identity Center OIDC
193
+ # API Reference Guide*.
229
194
  #
230
195
  #
231
196
  #
data/lib/aws-sdk-sso.rb CHANGED
@@ -15,9 +15,13 @@ end
15
15
 
16
16
  require_relative 'aws-sdk-sso/types'
17
17
  require_relative 'aws-sdk-sso/client_api'
18
+ require_relative 'aws-sdk-sso/plugins/endpoints.rb'
18
19
  require_relative 'aws-sdk-sso/client'
19
20
  require_relative 'aws-sdk-sso/errors'
20
21
  require_relative 'aws-sdk-sso/resource'
22
+ require_relative 'aws-sdk-sso/endpoint_parameters'
23
+ require_relative 'aws-sdk-sso/endpoint_provider'
24
+ require_relative 'aws-sdk-sso/endpoints'
21
25
  require_relative 'aws-sdk-sso/customizations'
22
26
 
23
27
  # This module provides support for AWS Single Sign-On. This module is available in the
@@ -50,6 +54,6 @@ require_relative 'aws-sdk-sso/customizations'
50
54
  # @!group service
51
55
  module Aws::SSO
52
56
 
53
- GEM_VERSION = '3.131.1'
57
+ GEM_VERSION = '3.170.0'
54
58
 
55
59
  end