aws-sdk-core 3.168.4 → 3.224.1

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 (205) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +719 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +5 -6
  5. data/lib/aws-defaults.rb +4 -1
  6. data/lib/aws-sdk-core/arn.rb +1 -3
  7. data/lib/aws-sdk-core/assume_role_credentials.rb +13 -5
  8. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +14 -7
  9. data/lib/aws-sdk-core/binary/decode_handler.rb +3 -9
  10. data/lib/aws-sdk-core/binary/encode_handler.rb +1 -1
  11. data/lib/aws-sdk-core/binary/event_builder.rb +34 -37
  12. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +1 -0
  13. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +4 -3
  14. data/lib/aws-sdk-core/cbor/decoder.rb +308 -0
  15. data/lib/aws-sdk-core/cbor/encoder.rb +243 -0
  16. data/lib/aws-sdk-core/cbor.rb +53 -0
  17. data/lib/aws-sdk-core/client_side_monitoring.rb +9 -0
  18. data/lib/aws-sdk-core/client_stubs.rb +33 -55
  19. data/lib/aws-sdk-core/credential_provider.rb +8 -1
  20. data/lib/aws-sdk-core/credential_provider_chain.rb +39 -11
  21. data/lib/aws-sdk-core/credentials.rb +19 -6
  22. data/lib/aws-sdk-core/ec2_metadata.rb +1 -1
  23. data/lib/aws-sdk-core/ecs_credentials.rb +179 -53
  24. data/lib/aws-sdk-core/endpoints/condition.rb +5 -0
  25. data/lib/aws-sdk-core/endpoints/endpoint.rb +3 -1
  26. data/lib/aws-sdk-core/endpoints/endpoint_rule.rb +5 -1
  27. data/lib/aws-sdk-core/endpoints/error_rule.rb +5 -0
  28. data/lib/aws-sdk-core/endpoints/function.rb +5 -0
  29. data/lib/aws-sdk-core/endpoints/matchers.rb +19 -18
  30. data/lib/aws-sdk-core/endpoints/reference.rb +5 -0
  31. data/lib/aws-sdk-core/endpoints/rule.rb +5 -0
  32. data/lib/aws-sdk-core/endpoints/rule_set.rb +5 -0
  33. data/lib/aws-sdk-core/endpoints/rules_provider.rb +5 -0
  34. data/lib/aws-sdk-core/endpoints/templater.rb +6 -0
  35. data/lib/aws-sdk-core/endpoints/tree_rule.rb +5 -0
  36. data/lib/aws-sdk-core/endpoints/url.rb +1 -0
  37. data/lib/aws-sdk-core/endpoints.rb +79 -19
  38. data/lib/aws-sdk-core/error_handler.rb +41 -0
  39. data/lib/aws-sdk-core/errors.rb +14 -5
  40. data/lib/aws-sdk-core/event_emitter.rb +0 -16
  41. data/lib/aws-sdk-core/ini_parser.rb +7 -0
  42. data/lib/aws-sdk-core/instance_profile_credentials.rb +56 -32
  43. data/lib/aws-sdk-core/json/builder.rb +8 -1
  44. data/lib/aws-sdk-core/json/error_handler.rb +30 -14
  45. data/lib/aws-sdk-core/json/handler.rb +13 -6
  46. data/lib/aws-sdk-core/json/json_engine.rb +3 -1
  47. data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
  48. data/lib/aws-sdk-core/json/parser.rb +33 -3
  49. data/lib/aws-sdk-core/json.rb +43 -14
  50. data/lib/aws-sdk-core/log/formatter.rb +6 -0
  51. data/lib/aws-sdk-core/log/param_filter.rb +2 -2
  52. data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
  53. data/lib/aws-sdk-core/log.rb +10 -0
  54. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  55. data/lib/aws-sdk-core/pageable_response.rb +3 -1
  56. data/lib/aws-sdk-core/param_validator.rb +9 -4
  57. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +2 -0
  58. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +333 -168
  59. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -1
  60. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  61. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +9 -3
  62. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
  63. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  64. data/lib/aws-sdk-core/plugins/http_checksum.rb +3 -8
  65. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  66. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  67. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  68. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  69. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  70. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  71. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  72. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  73. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  74. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +162 -37
  75. data/lib/aws-sdk-core/plugins/request_compression.rb +226 -0
  76. data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
  77. data/lib/aws-sdk-core/plugins/sign.rb +44 -17
  78. data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -1
  79. data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -1
  80. data/lib/aws-sdk-core/plugins/stub_responses.rb +53 -9
  81. data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
  82. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
  83. data/lib/aws-sdk-core/plugins/user_agent.rb +191 -14
  84. data/lib/aws-sdk-core/plugins.rb +39 -0
  85. data/lib/aws-sdk-core/process_credentials.rb +48 -29
  86. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  87. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  88. data/lib/aws-sdk-core/query/handler.rb +4 -4
  89. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  90. data/lib/aws-sdk-core/query.rb +2 -1
  91. data/lib/aws-sdk-core/refreshing_credentials.rb +12 -12
  92. data/lib/aws-sdk-core/resources.rb +8 -0
  93. data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
  94. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  95. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  96. data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
  97. data/lib/aws-sdk-core/rest/request/headers.rb +15 -7
  98. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +62 -36
  99. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  100. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  101. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  102. data/lib/aws-sdk-core/rest.rb +1 -0
  103. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  104. data/lib/aws-sdk-core/rpc_v2/cbor_engine.rb +18 -0
  105. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +47 -0
  106. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +85 -0
  107. data/lib/aws-sdk-core/rpc_v2/handler.rb +79 -0
  108. data/lib/aws-sdk-core/rpc_v2/parser.rb +90 -0
  109. data/lib/aws-sdk-core/rpc_v2.rb +69 -0
  110. data/lib/aws-sdk-core/shared_config.rb +125 -39
  111. data/lib/aws-sdk-core/shared_credentials.rb +1 -7
  112. data/lib/aws-sdk-core/sso_credentials.rb +5 -2
  113. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  114. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  115. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  116. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  117. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  118. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  119. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +39 -0
  120. data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
  121. data/lib/aws-sdk-core/stubbing.rb +22 -0
  122. data/lib/aws-sdk-core/telemetry/base.rb +177 -0
  123. data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
  124. data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
  125. data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
  126. data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
  127. data/lib/aws-sdk-core/telemetry.rb +78 -0
  128. data/lib/aws-sdk-core/util.rb +39 -0
  129. data/lib/aws-sdk-core/waiters/poller.rb +12 -5
  130. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  131. data/lib/aws-sdk-core/xml/error_handler.rb +32 -42
  132. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  133. data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +2 -0
  134. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  135. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  136. data/lib/aws-sdk-core.rb +82 -107
  137. data/lib/aws-sdk-sso/client.rb +185 -79
  138. data/lib/aws-sdk-sso/client_api.rb +7 -0
  139. data/lib/aws-sdk-sso/endpoint_parameters.rb +9 -6
  140. data/lib/aws-sdk-sso/endpoint_provider.rb +37 -96
  141. data/lib/aws-sdk-sso/endpoints.rb +3 -54
  142. data/lib/aws-sdk-sso/plugins/endpoints.rb +23 -22
  143. data/lib/aws-sdk-sso/types.rb +1 -0
  144. data/lib/aws-sdk-sso.rb +15 -11
  145. data/lib/aws-sdk-ssooidc/client.rb +592 -112
  146. data/lib/aws-sdk-ssooidc/client_api.rb +89 -1
  147. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +9 -6
  148. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +37 -95
  149. data/lib/aws-sdk-ssooidc/endpoints.rb +3 -40
  150. data/lib/aws-sdk-ssooidc/errors.rb +52 -0
  151. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +23 -20
  152. data/lib/aws-sdk-ssooidc/types.rb +407 -53
  153. data/lib/aws-sdk-ssooidc.rb +15 -11
  154. data/lib/aws-sdk-sts/client.rb +516 -238
  155. data/lib/aws-sdk-sts/client_api.rb +48 -11
  156. data/lib/aws-sdk-sts/customizations.rb +5 -1
  157. data/lib/aws-sdk-sts/endpoint_parameters.rb +10 -9
  158. data/lib/aws-sdk-sts/endpoint_provider.rb +91 -213
  159. data/lib/aws-sdk-sts/endpoints.rb +3 -118
  160. data/lib/aws-sdk-sts/errors.rb +16 -0
  161. data/lib/aws-sdk-sts/plugins/endpoints.rb +23 -30
  162. data/lib/aws-sdk-sts/presigner.rb +1 -1
  163. data/lib/aws-sdk-sts/types.rb +217 -36
  164. data/lib/aws-sdk-sts.rb +15 -11
  165. data/lib/seahorse/client/async_base.rb +4 -5
  166. data/lib/seahorse/client/async_response.rb +19 -0
  167. data/lib/seahorse/client/base.rb +18 -21
  168. data/lib/seahorse/client/configuration.rb +0 -4
  169. data/lib/seahorse/client/h2/connection.rb +25 -31
  170. data/lib/seahorse/client/h2/handler.rb +14 -3
  171. data/lib/seahorse/client/handler.rb +1 -1
  172. data/lib/seahorse/client/http/response.rb +1 -1
  173. data/lib/seahorse/client/net_http/connection_pool.rb +13 -11
  174. data/lib/seahorse/client/net_http/handler.rb +21 -9
  175. data/lib/seahorse/client/net_http/patches.rb +1 -4
  176. data/lib/seahorse/client/networking_error.rb +1 -1
  177. data/lib/seahorse/client/plugin.rb +9 -0
  178. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  179. data/lib/seahorse/client/plugins/h2.rb +4 -4
  180. data/lib/seahorse/client/plugins/net_http.rb +57 -16
  181. data/lib/seahorse/client/plugins/request_callback.rb +31 -0
  182. data/lib/seahorse/client/request_context.rb +8 -1
  183. data/lib/seahorse/client/response.rb +8 -0
  184. data/lib/seahorse/model/operation.rb +3 -0
  185. data/lib/seahorse/model/shapes.rb +2 -2
  186. data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
  187. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  188. data/sig/aws-sdk-core/errors.rbs +22 -0
  189. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  190. data/sig/aws-sdk-core/structure.rbs +4 -0
  191. data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
  192. data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
  193. data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
  194. data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
  195. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  196. data/sig/aws-sdk-core.rbs +7 -0
  197. data/sig/seahorse/client/async_base.rbs +18 -0
  198. data/sig/seahorse/client/base.rbs +25 -0
  199. data/sig/seahorse/client/handler_builder.rbs +16 -0
  200. data/sig/seahorse/client/response.rbs +61 -0
  201. metadata +92 -23
  202. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  203. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  204. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  205. /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
data/lib/aws-sdk-core.rb CHANGED
@@ -3,120 +3,80 @@
3
3
  require 'aws-partitions'
4
4
  require 'seahorse'
5
5
  require 'jmespath'
6
+ require 'aws-sigv4'
6
7
 
7
8
  require_relative 'aws-sdk-core/deprecations'
8
-
9
- # credential providers
10
-
11
- require_relative 'aws-sdk-core/credential_provider'
12
- require_relative 'aws-sdk-core/refreshing_credentials'
13
- require_relative 'aws-sdk-core/assume_role_credentials'
14
- require_relative 'aws-sdk-core/assume_role_web_identity_credentials'
15
- require_relative 'aws-sdk-core/credentials'
16
- require_relative 'aws-sdk-core/credential_provider_chain'
17
- require_relative 'aws-sdk-core/ecs_credentials'
18
- require_relative 'aws-sdk-core/instance_profile_credentials'
19
- require_relative 'aws-sdk-core/shared_credentials'
20
- require_relative 'aws-sdk-core/process_credentials'
21
- require_relative 'aws-sdk-core/sso_credentials'
22
-
23
- # tokens and token providers
24
- require_relative 'aws-sdk-core/token'
25
- require_relative 'aws-sdk-core/token_provider'
26
- require_relative 'aws-sdk-core/static_token_provider'
27
- require_relative 'aws-sdk-core/refreshing_token'
28
- require_relative 'aws-sdk-core/sso_token_provider'
29
- require_relative 'aws-sdk-core/token_provider_chain'
30
- require_relative 'aws-sdk-core/plugins/bearer_authorization'
31
-
32
- # client modules
33
-
34
- require_relative 'aws-sdk-core/client_stubs'
35
- require_relative 'aws-sdk-core/async_client_stubs'
36
- require_relative 'aws-sdk-core/eager_loader'
37
- require_relative 'aws-sdk-core/errors'
38
- require_relative 'aws-sdk-core/pageable_response'
39
- require_relative 'aws-sdk-core/pager'
40
- require_relative 'aws-sdk-core/param_converter'
41
- require_relative 'aws-sdk-core/param_validator'
42
- require_relative 'aws-sdk-core/shared_config'
43
- require_relative 'aws-sdk-core/structure'
44
- require_relative 'aws-sdk-core/type_builder'
45
- require_relative 'aws-sdk-core/util'
46
-
47
- # resource classes
48
-
49
- require_relative 'aws-sdk-core/resources/collection'
50
-
51
- # logging
52
-
53
- require_relative 'aws-sdk-core/log/formatter'
54
- require_relative 'aws-sdk-core/log/param_filter'
55
- require_relative 'aws-sdk-core/log/param_formatter'
56
-
57
- # stubbing
58
-
59
- require_relative 'aws-sdk-core/stubbing/empty_stub'
60
- require_relative 'aws-sdk-core/stubbing/data_applicator'
61
- require_relative 'aws-sdk-core/stubbing/stub_data'
62
- require_relative 'aws-sdk-core/stubbing/xml_error'
63
-
64
- # stubbing protocols
65
-
66
- require_relative 'aws-sdk-core/stubbing/protocols/ec2'
67
- require_relative 'aws-sdk-core/stubbing/protocols/json'
68
- require_relative 'aws-sdk-core/stubbing/protocols/query'
69
- require_relative 'aws-sdk-core/stubbing/protocols/rest'
70
- require_relative 'aws-sdk-core/stubbing/protocols/rest_json'
71
- require_relative 'aws-sdk-core/stubbing/protocols/rest_xml'
72
- require_relative 'aws-sdk-core/stubbing/protocols/api_gateway'
73
-
74
- # protocols
75
-
76
- require_relative 'aws-sdk-core/rest'
77
- require_relative 'aws-sdk-core/xml'
78
- require_relative 'aws-sdk-core/json'
79
-
80
- # event stream
81
-
82
- require_relative 'aws-sdk-core/binary'
83
- require_relative 'aws-sdk-core/event_emitter'
84
-
85
- # endpoint discovery
86
-
87
- require_relative 'aws-sdk-core/endpoint_cache'
88
-
89
- # client metrics
90
-
91
- require_relative 'aws-sdk-core/client_side_monitoring/request_metrics'
92
- require_relative 'aws-sdk-core/client_side_monitoring/publisher'
93
-
94
- # utilities
95
-
96
- require_relative 'aws-sdk-core/arn'
97
- require_relative 'aws-sdk-core/arn_parser'
98
- require_relative 'aws-sdk-core/ec2_metadata'
99
-
100
- # dynamic endpoints
101
- require_relative 'aws-sdk-core/endpoints'
102
- require_relative 'aws-sdk-core/plugins/signature_v4'
103
-
104
9
  # defaults
105
10
  require_relative 'aws-defaults'
106
11
 
107
- # plugins
108
- # loaded through building STS or SSO ..
109
-
110
- # aws-sdk-sts is included to support Aws::AssumeRoleCredentials
111
- require_relative 'aws-sdk-sts'
112
-
113
- # aws-sdk-sso is included to support Aws::SSOCredentials
114
- require_relative 'aws-sdk-sso'
115
- require_relative 'aws-sdk-ssooidc'
116
-
117
12
  module Aws
118
13
 
119
- CORE_GEM_VERSION = File.read(File.expand_path('../../VERSION', __FILE__)).strip
14
+ autoload :IniParser, 'aws-sdk-core/ini_parser'
15
+
16
+ # Credentials and credentials providers
17
+ autoload :Credentials, 'aws-sdk-core/credentials'
18
+ autoload :CredentialProvider, 'aws-sdk-core/credential_provider'
19
+ autoload :RefreshingCredentials, 'aws-sdk-core/refreshing_credentials'
20
+ autoload :AssumeRoleCredentials, 'aws-sdk-core/assume_role_credentials'
21
+ autoload :AssumeRoleWebIdentityCredentials, 'aws-sdk-core/assume_role_web_identity_credentials'
22
+ autoload :CredentialProviderChain, 'aws-sdk-core/credential_provider_chain'
23
+ autoload :ECSCredentials, 'aws-sdk-core/ecs_credentials'
24
+ autoload :InstanceProfileCredentials, 'aws-sdk-core/instance_profile_credentials'
25
+ autoload :SharedCredentials, 'aws-sdk-core/shared_credentials'
26
+ autoload :ProcessCredentials, 'aws-sdk-core/process_credentials'
27
+ autoload :SSOCredentials, 'aws-sdk-core/sso_credentials'
28
+
29
+
30
+ # tokens and token providers
31
+ autoload :Token, 'aws-sdk-core/token'
32
+ autoload :TokenProvider, 'aws-sdk-core/token_provider'
33
+ autoload :StaticTokenProvider, 'aws-sdk-core/static_token_provider'
34
+ autoload :RefreshingToken, 'aws-sdk-core/refreshing_token'
35
+ autoload :SSOTokenProvider, 'aws-sdk-core/sso_token_provider'
36
+ autoload :TokenProviderChain, 'aws-sdk-core/token_provider_chain'
37
+
38
+ # client modules
39
+ autoload :ClientStubs, 'aws-sdk-core/client_stubs'
40
+ autoload :AsyncClientStubs, 'aws-sdk-core/async_client_stubs'
41
+ autoload :EagerLoader, 'aws-sdk-core/eager_loader'
42
+ autoload :Errors, 'aws-sdk-core/errors'
43
+ autoload :PageableResponse, 'aws-sdk-core/pageable_response'
44
+ autoload :Pager, 'aws-sdk-core/pager'
45
+ autoload :ParamConverter, 'aws-sdk-core/param_converter'
46
+ autoload :ParamValidator, 'aws-sdk-core/param_validator'
47
+ autoload :SharedConfig, 'aws-sdk-core/shared_config'
48
+ autoload :Structure, 'aws-sdk-core/structure'
49
+ autoload :EmptyStructure, 'aws-sdk-core/structure'
50
+ autoload :TypeBuilder, 'aws-sdk-core/type_builder'
51
+ autoload :Util, 'aws-sdk-core/util'
52
+
53
+ # protocols
54
+ autoload :ErrorHandler, 'aws-sdk-core/error_handler'
55
+ autoload :Rest, 'aws-sdk-core/rest'
56
+ autoload :Xml, 'aws-sdk-core/xml'
57
+ autoload :Json, 'aws-sdk-core/json'
58
+ autoload :Query, 'aws-sdk-core/query'
59
+ autoload :RpcV2, 'aws-sdk-core/rpc_v2'
60
+
61
+ # event stream
62
+ autoload :Binary, 'aws-sdk-core/binary'
63
+ autoload :EventEmitter, 'aws-sdk-core/event_emitter'
64
+
65
+ # endpoint discovery
66
+ autoload :EndpointCache, 'aws-sdk-core/endpoint_cache'
67
+
68
+ autoload :Telemetry, 'aws-sdk-core/telemetry'
69
+
70
+ # utilities
71
+ autoload :ARN, 'aws-sdk-core/arn'
72
+ autoload :ARNParser, 'aws-sdk-core/arn_parser'
73
+ autoload :EC2Metadata, 'aws-sdk-core/ec2_metadata'
74
+ autoload :LRUCache, 'aws-sdk-core/lru_cache'
75
+
76
+ # dynamic endpoints
77
+ autoload :Endpoints, 'aws-sdk-core/endpoints'
78
+
79
+ CORE_GEM_VERSION = File.read(File.expand_path('../VERSION', __dir__)).strip
120
80
 
121
81
  @config = {}
122
82
 
@@ -200,3 +160,18 @@ module Aws
200
160
 
201
161
  end
202
162
  end
163
+
164
+ # Setup additional autoloads/modules
165
+ require_relative 'aws-sdk-core/client_side_monitoring'
166
+ require_relative 'aws-sdk-core/log'
167
+ require_relative 'aws-sdk-core/plugins'
168
+ require_relative 'aws-sdk-core/resources'
169
+ require_relative 'aws-sdk-core/stubbing'
170
+ require_relative 'aws-sdk-core/waiters'
171
+
172
+ # aws-sdk-sts is included to support Aws::AssumeRoleCredentials
173
+ require_relative 'aws-sdk-sts'
174
+
175
+ # aws-sdk-sso is included to support Aws::SSOCredentials
176
+ require_relative 'aws-sdk-sso'
177
+ require_relative 'aws-sdk-ssooidc'
@@ -7,33 +7,34 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
- require 'seahorse/client/plugins/content_length.rb'
11
- require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
- require 'aws-sdk-core/plugins/logging.rb'
13
- require 'aws-sdk-core/plugins/param_converter.rb'
14
- require 'aws-sdk-core/plugins/param_validator.rb'
15
- require 'aws-sdk-core/plugins/user_agent.rb'
16
- require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
- require 'aws-sdk-core/plugins/retry_errors.rb'
18
- require 'aws-sdk-core/plugins/global_configuration.rb'
19
- require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
- require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
- require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
- require 'aws-sdk-core/plugins/response_paging.rb'
23
- require 'aws-sdk-core/plugins/stub_responses.rb'
24
- require 'aws-sdk-core/plugins/idempotency_token.rb'
25
- require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
- require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
- require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
- require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
- require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
- require 'aws-sdk-core/plugins/defaults_mode.rb'
32
- require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/sign.rb'
34
- require 'aws-sdk-core/plugins/protocols/rest_json.rb'
35
-
36
- Aws::Plugins::GlobalConfiguration.add_identifier(:sso)
10
+ require 'seahorse/client/plugins/content_length'
11
+ require 'aws-sdk-core/plugins/credentials_configuration'
12
+ require 'aws-sdk-core/plugins/logging'
13
+ require 'aws-sdk-core/plugins/param_converter'
14
+ require 'aws-sdk-core/plugins/param_validator'
15
+ require 'aws-sdk-core/plugins/user_agent'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors'
17
+ require 'aws-sdk-core/plugins/retry_errors'
18
+ require 'aws-sdk-core/plugins/global_configuration'
19
+ require 'aws-sdk-core/plugins/regional_endpoint'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern'
22
+ require 'aws-sdk-core/plugins/response_paging'
23
+ require 'aws-sdk-core/plugins/stub_responses'
24
+ require 'aws-sdk-core/plugins/idempotency_token'
25
+ require 'aws-sdk-core/plugins/invocation_id'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin'
29
+ require 'aws-sdk-core/plugins/transfer_encoding'
30
+ require 'aws-sdk-core/plugins/http_checksum'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm'
32
+ require 'aws-sdk-core/plugins/request_compression'
33
+ require 'aws-sdk-core/plugins/defaults_mode'
34
+ require 'aws-sdk-core/plugins/recursion_detection'
35
+ require 'aws-sdk-core/plugins/telemetry'
36
+ require 'aws-sdk-core/plugins/sign'
37
+ require 'aws-sdk-core/plugins/protocols/rest_json'
37
38
 
38
39
  module Aws::SSO
39
40
  # An API client for SSO. To construct a client, you need to configure a `:region` and `:credentials`.
@@ -71,20 +72,28 @@ module Aws::SSO
71
72
  add_plugin(Aws::Plugins::ResponsePaging)
72
73
  add_plugin(Aws::Plugins::StubResponses)
73
74
  add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::InvocationId)
74
76
  add_plugin(Aws::Plugins::JsonvalueConverter)
75
77
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
76
78
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
77
79
  add_plugin(Aws::Plugins::TransferEncoding)
78
80
  add_plugin(Aws::Plugins::HttpChecksum)
79
81
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
82
+ add_plugin(Aws::Plugins::RequestCompression)
80
83
  add_plugin(Aws::Plugins::DefaultsMode)
81
84
  add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Telemetry)
82
86
  add_plugin(Aws::Plugins::Sign)
83
87
  add_plugin(Aws::Plugins::Protocols::RestJson)
84
88
  add_plugin(Aws::SSO::Plugins::Endpoints)
85
89
 
86
90
  # @overload initialize(options)
87
91
  # @param [Hash] options
92
+ #
93
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
94
+ # A list of plugins to apply to the client. Each plugin is either a
95
+ # class name or an instance of a plugin class.
96
+ #
88
97
  # @option options [required, Aws::CredentialProvider] :credentials
89
98
  # Your AWS credentials. This can be an instance of any one of the
90
99
  # following classes:
@@ -119,13 +128,15 @@ module Aws::SSO
119
128
  # locations will be searched for credentials:
120
129
  #
121
130
  # * `Aws.config[:credentials]`
122
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
123
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
124
135
  # * `~/.aws/credentials`
125
136
  # * `~/.aws/config`
126
137
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
127
138
  # are very aggressive. Construct and pass an instance of
128
- # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
139
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
129
140
  # enable retries and extended timeouts. Instance profile credential
130
141
  # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
131
142
  # to true.
@@ -144,6 +155,8 @@ module Aws::SSO
144
155
  #
145
156
  # @option options [String] :access_key_id
146
157
  #
158
+ # @option options [String] :account_id
159
+ #
147
160
  # @option options [Boolean] :active_endpoint_cache (false)
148
161
  # When set to `true`, a thread polling for endpoints will be running in
149
162
  # the background every 60 secs (default). Defaults to `false`.
@@ -187,13 +200,22 @@ module Aws::SSO
187
200
  # accepted modes and the configuration defaults that are included.
188
201
  #
189
202
  # @option options [Boolean] :disable_host_prefix_injection (false)
190
- # Set to true to disable SDK automatically adding host prefix
191
- # to default service endpoint when available.
203
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
204
+ #
205
+ # @option options [Boolean] :disable_request_compression (false)
206
+ # When set to 'true' the request body will not be compressed
207
+ # for supported operations.
208
+ #
209
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
210
+ # Normally you should not configure the `:endpoint` option
211
+ # directly. This is normally constructed from the `:region`
212
+ # option. Configuring `:endpoint` is normally reserved for
213
+ # connecting to test or custom endpoints. The endpoint should
214
+ # be a URI formatted like:
192
215
  #
193
- # @option options [String] :endpoint
194
- # The client endpoint is normally constructed from the `:region`
195
- # option. You should only configure an `:endpoint` when connecting
196
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
216
+ # 'http://example.com'
217
+ # 'https://example.com'
218
+ # 'http://example.com:123'
197
219
  #
198
220
  # @option options [Integer] :endpoint_cache_max_entries (1000)
199
221
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -210,6 +232,10 @@ module Aws::SSO
210
232
  # @option options [Boolean] :endpoint_discovery (false)
211
233
  # When set to `true`, endpoint discovery will be enabled for operations when available.
212
234
  #
235
+ # @option options [Boolean] :ignore_configured_endpoint_urls
236
+ # Setting to true disables use of endpoint URLs provided via environment
237
+ # variables and the shared configuration file.
238
+ #
213
239
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
214
240
  # The log formatter.
215
241
  #
@@ -230,6 +256,34 @@ module Aws::SSO
230
256
  # Used when loading credentials from the shared credentials file
231
257
  # at HOME/.aws/credentials. When not specified, 'default' is used.
232
258
  #
259
+ # @option options [String] :request_checksum_calculation ("when_supported")
260
+ # Determines when a checksum will be calculated for request payloads. Values are:
261
+ #
262
+ # * `when_supported` - (default) When set, a checksum will be
263
+ # calculated for all request payloads of operations modeled with the
264
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
265
+ # `requestAlgorithmMember` is modeled.
266
+ # * `when_required` - When set, a checksum will only be calculated for
267
+ # request payloads of operations modeled with the `httpChecksum` trait where
268
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
269
+ # is modeled and supplied.
270
+ #
271
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
272
+ # The minimum size in bytes that triggers compression for request
273
+ # bodies. The value must be non-negative integer value between 0
274
+ # and 10485780 bytes inclusive.
275
+ #
276
+ # @option options [String] :response_checksum_validation ("when_supported")
277
+ # Determines when checksum validation will be performed on response payloads. Values are:
278
+ #
279
+ # * `when_supported` - (default) When set, checksum validation is performed on all
280
+ # response payloads of operations modeled with the `httpChecksum` trait where
281
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
282
+ # are supported.
283
+ # * `when_required` - When set, checksum validation is not performed on
284
+ # response payloads of operations unless the checksum algorithm is supported and
285
+ # the `requestValidationModeMember` member is set to `ENABLED`.
286
+ #
233
287
  # @option options [Proc] :retry_backoff
234
288
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
235
289
  # This option is only used in the `legacy` retry mode.
@@ -274,11 +328,25 @@ module Aws::SSO
274
328
  # throttling. This is a provisional mode that may change behavior
275
329
  # in the future.
276
330
  #
331
+ # @option options [String] :sdk_ua_app_id
332
+ # A unique and opaque application ID that is appended to the
333
+ # User-Agent header as app/sdk_ua_app_id. It should have a
334
+ # maximum length of 50. This variable is sourced from environment
335
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
277
336
  #
278
337
  # @option options [String] :secret_access_key
279
338
  #
280
339
  # @option options [String] :session_token
281
340
  #
341
+ # @option options [Array] :sigv4a_signing_region_set
342
+ # A list of regions that should be signed with SigV4a signing. When
343
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
344
+ # in the following locations:
345
+ #
346
+ # * `Aws.config[:sigv4a_signing_region_set]`
347
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
348
+ # * `~/.aws/config`
349
+ #
282
350
  # @option options [Boolean] :stub_responses (false)
283
351
  # Causes the client to return stubbed responses. By default
284
352
  # fake responses are generated and returned. You can specify
@@ -288,6 +356,16 @@ module Aws::SSO
288
356
  # ** Please note ** When response stubbing is enabled, no HTTP
289
357
  # requests are made, and retries are disabled.
290
358
  #
359
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
360
+ # Allows you to provide a telemetry provider, which is used to
361
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
362
+ # will not record or emit any telemetry data. The SDK supports the
363
+ # following telemetry providers:
364
+ #
365
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
366
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
367
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
368
+ #
291
369
  # @option options [Aws::TokenProvider] :token_provider
292
370
  # A Bearer Token Provider. This can be an instance of any one of the
293
371
  # following classes:
@@ -315,52 +393,75 @@ module Aws::SSO
315
393
  # sending the request.
316
394
  #
317
395
  # @option options [Aws::SSO::EndpointProvider] :endpoint_provider
318
- # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::SSO::EndpointParameters`
319
- #
320
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
321
- # requests through. Formatted like 'http://proxy.com:123'.
322
- #
323
- # @option options [Float] :http_open_timeout (15) The number of
324
- # seconds to wait when opening a HTTP session before raising a
325
- # `Timeout::Error`.
326
- #
327
- # @option options [Float] :http_read_timeout (60) The default
328
- # number of seconds to wait for response data. This value can
329
- # safely be set per-request on the session.
330
- #
331
- # @option options [Float] :http_idle_timeout (5) The number of
332
- # seconds a connection is allowed to sit idle before it is
333
- # considered stale. Stale connections are closed and removed
334
- # from the pool before making a request.
396
+ # The endpoint provider used to resolve endpoints. Any object that responds to
397
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
398
+ # `Aws::SSO::EndpointParameters`.
399
+ #
400
+ # @option options [Float] :http_continue_timeout (1)
401
+ # The number of seconds to wait for a 100-continue response before sending the
402
+ # request body. This option has no effect unless the request has "Expect"
403
+ # header set to "100-continue". Defaults to `nil` which disables this
404
+ # behaviour. This value can safely be set per request on the session.
405
+ #
406
+ # @option options [Float] :http_idle_timeout (5)
407
+ # The number of seconds a connection is allowed to sit idle before it
408
+ # is considered stale. Stale connections are closed and removed from the
409
+ # pool before making a request.
410
+ #
411
+ # @option options [Float] :http_open_timeout (15)
412
+ # The default number of seconds to wait for response data.
413
+ # This value can safely be set per-request on the session.
414
+ #
415
+ # @option options [URI::HTTP,String] :http_proxy
416
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
417
+ #
418
+ # @option options [Float] :http_read_timeout (60)
419
+ # The default number of seconds to wait for response data.
420
+ # This value can safely be set per-request on the session.
421
+ #
422
+ # @option options [Boolean] :http_wire_trace (false)
423
+ # When `true`, HTTP debug output will be sent to the `:logger`.
424
+ #
425
+ # @option options [Proc] :on_chunk_received
426
+ # When a Proc object is provided, it will be used as callback when each chunk
427
+ # of the response body is received. It provides three arguments: the chunk,
428
+ # the number of bytes received, and the total number of
429
+ # bytes in the response (or nil if the server did not send a `content-length`).
430
+ #
431
+ # @option options [Proc] :on_chunk_sent
432
+ # When a Proc object is provided, it will be used as callback when each chunk
433
+ # of the request body is sent. It provides three arguments: the chunk,
434
+ # the number of bytes read from the body, and the total number of
435
+ # bytes in the body.
436
+ #
437
+ # @option options [Boolean] :raise_response_errors (true)
438
+ # When `true`, response errors are raised.
439
+ #
440
+ # @option options [String] :ssl_ca_bundle
441
+ # Full path to the SSL certificate authority bundle file that should be used when
442
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
443
+ # `:ssl_ca_directory` the the system default will be used if available.
444
+ #
445
+ # @option options [String] :ssl_ca_directory
446
+ # Full path of the directory that contains the unbundled SSL certificate
447
+ # authority files for verifying peer certificates. If you do
448
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
449
+ # default will be used if available.
335
450
  #
336
- # @option options [Float] :http_continue_timeout (1) The number of
337
- # seconds to wait for a 100-continue response before sending the
338
- # request body. This option has no effect unless the request has
339
- # "Expect" header set to "100-continue". Defaults to `nil` which
340
- # disables this behaviour. This value can safely be set per
341
- # request on the session.
451
+ # @option options [String] :ssl_ca_store
452
+ # Sets the X509::Store to verify peer certificate.
342
453
  #
343
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
344
- # in seconds.
454
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
455
+ # Sets a client certificate when creating http connections.
345
456
  #
346
- # @option options [Boolean] :http_wire_trace (false) When `true`,
347
- # HTTP debug output will be sent to the `:logger`.
457
+ # @option options [OpenSSL::PKey] :ssl_key
458
+ # Sets a client key when creating http connections.
348
459
  #
349
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
350
- # SSL peer certificates are verified when establishing a
351
- # connection.
460
+ # @option options [Float] :ssl_timeout
461
+ # Sets the SSL timeout in seconds
352
462
  #
353
- # @option options [String] :ssl_ca_bundle Full path to the SSL
354
- # certificate authority bundle file that should be used when
355
- # verifying peer certificates. If you do not pass
356
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
357
- # will be used if available.
358
- #
359
- # @option options [String] :ssl_ca_directory Full path of the
360
- # directory that contains the unbundled SSL certificate
361
- # authority files for verifying peer certificates. If you do
362
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
363
- # system default will be used if available.
463
+ # @option options [Boolean] :ssl_verify_peer (true)
464
+ # When `true`, SSL peer certificates are verified when establishing a connection.
364
465
  #
365
466
  def initialize(*args)
366
467
  super
@@ -578,14 +679,19 @@ module Aws::SSO
578
679
  # @api private
579
680
  def build_request(operation_name, params = {})
580
681
  handlers = @handlers.for(operation_name)
682
+ tracer = config.telemetry_provider.tracer_provider.tracer(
683
+ Aws::Telemetry.module_to_tracer_name('Aws::SSO')
684
+ )
581
685
  context = Seahorse::Client::RequestContext.new(
582
686
  operation_name: operation_name,
583
687
  operation: config.api.operation(operation_name),
584
688
  client: self,
585
689
  params: params,
586
- config: config)
690
+ config: config,
691
+ tracer: tracer
692
+ )
587
693
  context[:gem_name] = 'aws-sdk-core'
588
- context[:gem_version] = '3.168.4'
694
+ context[:gem_version] = '3.224.1'
589
695
  Seahorse::Client::Request.new(handlers, context)
590
696
  end
591
697
 
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  module Aws::SSO
11
12
  # @api private
12
13
  module ClientApi
@@ -111,9 +112,11 @@ module Aws::SSO
111
112
 
112
113
  api.metadata = {
113
114
  "apiVersion" => "2019-06-10",
115
+ "auth" => ["aws.auth#sigv4"],
114
116
  "endpointPrefix" => "portal.sso",
115
117
  "jsonVersion" => "1.1",
116
118
  "protocol" => "rest-json",
119
+ "protocols" => ["rest-json"],
117
120
  "serviceAbbreviation" => "SSO",
118
121
  "serviceFullName" => "AWS Single Sign-On",
119
122
  "serviceId" => "SSO",
@@ -127,6 +130,7 @@ module Aws::SSO
127
130
  o.http_method = "GET"
128
131
  o.http_request_uri = "/federation/credentials"
129
132
  o['authtype'] = "none"
133
+ o['auth'] = ["smithy.api#noAuth"]
130
134
  o.input = Shapes::ShapeRef.new(shape: GetRoleCredentialsRequest)
131
135
  o.output = Shapes::ShapeRef.new(shape: GetRoleCredentialsResponse)
132
136
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
@@ -140,6 +144,7 @@ module Aws::SSO
140
144
  o.http_method = "GET"
141
145
  o.http_request_uri = "/assignment/roles"
142
146
  o['authtype'] = "none"
147
+ o['auth'] = ["smithy.api#noAuth"]
143
148
  o.input = Shapes::ShapeRef.new(shape: ListAccountRolesRequest)
144
149
  o.output = Shapes::ShapeRef.new(shape: ListAccountRolesResponse)
145
150
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
@@ -159,6 +164,7 @@ module Aws::SSO
159
164
  o.http_method = "GET"
160
165
  o.http_request_uri = "/assignment/accounts"
161
166
  o['authtype'] = "none"
167
+ o['auth'] = ["smithy.api#noAuth"]
162
168
  o.input = Shapes::ShapeRef.new(shape: ListAccountsRequest)
163
169
  o.output = Shapes::ShapeRef.new(shape: ListAccountsResponse)
164
170
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
@@ -178,6 +184,7 @@ module Aws::SSO
178
184
  o.http_method = "POST"
179
185
  o.http_request_uri = "/logout"
180
186
  o['authtype'] = "none"
187
+ o['auth'] = ["smithy.api#noAuth"]
181
188
  o.input = Shapes::ShapeRef.new(shape: LogoutRequest)
182
189
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
183
190
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
@@ -52,15 +52,18 @@ module Aws::SSO
52
52
  self[:region] = options[:region]
53
53
  self[:use_dual_stack] = options[:use_dual_stack]
54
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
55
  self[:use_fips] = options[:use_fips]
59
56
  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
57
  self[:endpoint] = options[:endpoint]
64
58
  end
59
+
60
+ def self.create(config, options={})
61
+ new({
62
+ region: config.region,
63
+ use_dual_stack: config.use_dualstack_endpoint,
64
+ use_fips: config.use_fips_endpoint,
65
+ endpoint: (config.endpoint.to_s unless config.regional_endpoint),
66
+ }.merge(options))
67
+ end
65
68
  end
66
69
  end