aws-sdk-core 3.171.1 → 3.199.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 (143) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +363 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +4 -4
  5. data/lib/aws-sdk-core/binary/decode_handler.rb +3 -9
  6. data/lib/aws-sdk-core/binary/encode_handler.rb +1 -1
  7. data/lib/aws-sdk-core/binary/event_builder.rb +34 -37
  8. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +1 -0
  9. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +4 -3
  10. data/lib/aws-sdk-core/cbor/cbor_engine.rb +19 -0
  11. data/lib/aws-sdk-core/cbor/decoder.rb +310 -0
  12. data/lib/aws-sdk-core/cbor/encoder.rb +243 -0
  13. data/lib/aws-sdk-core/cbor.rb +106 -0
  14. data/lib/aws-sdk-core/client_stubs.rb +18 -14
  15. data/lib/aws-sdk-core/credential_provider.rb +4 -1
  16. data/lib/aws-sdk-core/ec2_metadata.rb +1 -1
  17. data/lib/aws-sdk-core/ecs_credentials.rb +78 -11
  18. data/lib/aws-sdk-core/endpoints/matchers.rb +18 -10
  19. data/lib/aws-sdk-core/endpoints.rb +6 -2
  20. data/lib/aws-sdk-core/error_handler.rb +41 -0
  21. data/lib/aws-sdk-core/errors.rb +3 -3
  22. data/lib/aws-sdk-core/event_emitter.rb +0 -16
  23. data/lib/aws-sdk-core/ini_parser.rb +7 -0
  24. data/lib/aws-sdk-core/instance_profile_credentials.rb +55 -32
  25. data/lib/aws-sdk-core/json/builder.rb +8 -1
  26. data/lib/aws-sdk-core/json/error_handler.rb +15 -10
  27. data/lib/aws-sdk-core/json/handler.rb +12 -6
  28. data/lib/aws-sdk-core/json/json_engine.rb +3 -1
  29. data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
  30. data/lib/aws-sdk-core/json/parser.rb +33 -3
  31. data/lib/aws-sdk-core/json.rb +43 -14
  32. data/lib/aws-sdk-core/log/formatter.rb +6 -0
  33. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  34. data/lib/aws-sdk-core/pageable_response.rb +3 -1
  35. data/lib/aws-sdk-core/param_validator.rb +9 -4
  36. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +5 -3
  37. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -0
  38. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  39. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +2 -0
  40. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  41. data/lib/aws-sdk-core/plugins/http_checksum.rb +2 -1
  42. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  43. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  44. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  45. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  46. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  47. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  48. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  49. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  50. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  51. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +109 -33
  52. data/lib/aws-sdk-core/plugins/request_compression.rb +226 -0
  53. data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
  54. data/lib/aws-sdk-core/plugins/sign.rb +24 -13
  55. data/lib/aws-sdk-core/plugins/stub_responses.rb +1 -0
  56. data/lib/aws-sdk-core/plugins/user_agent.rb +152 -14
  57. data/lib/aws-sdk-core/process_credentials.rb +45 -27
  58. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  59. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  60. data/lib/aws-sdk-core/query/handler.rb +4 -4
  61. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  62. data/lib/aws-sdk-core/query.rb +2 -1
  63. data/lib/aws-sdk-core/refreshing_credentials.rb +12 -12
  64. data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
  65. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  66. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  67. data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
  68. data/lib/aws-sdk-core/rest/request/headers.rb +15 -7
  69. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +62 -36
  70. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  71. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  72. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  73. data/lib/aws-sdk-core/rest.rb +1 -0
  74. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  75. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +45 -0
  76. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +84 -0
  77. data/lib/aws-sdk-core/rpc_v2/handler.rb +74 -0
  78. data/lib/aws-sdk-core/rpc_v2/parser.rb +90 -0
  79. data/lib/aws-sdk-core/rpc_v2.rb +6 -0
  80. data/lib/aws-sdk-core/shared_config.rb +48 -18
  81. data/lib/aws-sdk-core/sso_credentials.rb +1 -1
  82. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +41 -0
  83. data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
  84. data/lib/aws-sdk-core/util.rb +39 -0
  85. data/lib/aws-sdk-core/waiters/poller.rb +4 -2
  86. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  87. data/lib/aws-sdk-core/xml/error_handler.rb +32 -42
  88. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  89. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  90. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  91. data/lib/aws-sdk-core.rb +7 -2
  92. data/lib/aws-sdk-sso/client.rb +94 -46
  93. data/lib/aws-sdk-sso/endpoint_provider.rb +30 -24
  94. data/lib/aws-sdk-sso/endpoints.rb +1 -0
  95. data/lib/aws-sdk-sso/plugins/endpoints.rb +4 -2
  96. data/lib/aws-sdk-sso.rb +1 -1
  97. data/lib/aws-sdk-ssooidc/client.rb +479 -74
  98. data/lib/aws-sdk-ssooidc/client_api.rb +78 -1
  99. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +30 -24
  100. data/lib/aws-sdk-ssooidc/endpoints.rb +15 -0
  101. data/lib/aws-sdk-ssooidc/errors.rb +52 -0
  102. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +6 -2
  103. data/lib/aws-sdk-ssooidc/types.rb +372 -51
  104. data/lib/aws-sdk-ssooidc.rb +1 -1
  105. data/lib/aws-sdk-sts/client.rb +219 -157
  106. data/lib/aws-sdk-sts/client_api.rb +20 -9
  107. data/lib/aws-sdk-sts/endpoint_provider.rb +81 -78
  108. data/lib/aws-sdk-sts/endpoints.rb +1 -0
  109. data/lib/aws-sdk-sts/plugins/endpoints.rb +4 -2
  110. data/lib/aws-sdk-sts/presigner.rb +1 -1
  111. data/lib/aws-sdk-sts/types.rb +49 -11
  112. data/lib/aws-sdk-sts.rb +1 -1
  113. data/lib/seahorse/client/async_base.rb +1 -1
  114. data/lib/seahorse/client/async_response.rb +19 -0
  115. data/lib/seahorse/client/base.rb +18 -7
  116. data/lib/seahorse/client/configuration.rb +0 -4
  117. data/lib/seahorse/client/h2/handler.rb +1 -0
  118. data/lib/seahorse/client/handler.rb +1 -1
  119. data/lib/seahorse/client/net_http/connection_pool.rb +3 -9
  120. data/lib/seahorse/client/net_http/patches.rb +1 -4
  121. data/lib/seahorse/client/plugin.rb +9 -0
  122. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  123. data/lib/seahorse/client/plugins/h2.rb +3 -3
  124. data/lib/seahorse/client/plugins/net_http.rb +48 -16
  125. data/lib/seahorse/client/plugins/request_callback.rb +31 -0
  126. data/lib/seahorse/client/response.rb +6 -0
  127. data/lib/seahorse/model/operation.rb +3 -0
  128. data/lib/seahorse/model/shapes.rb +2 -2
  129. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  130. data/sig/aws-sdk-core/errors.rbs +22 -0
  131. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  132. data/sig/aws-sdk-core/structure.rbs +4 -0
  133. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  134. data/sig/aws-sdk-core.rbs +7 -0
  135. data/sig/seahorse/client/base.rbs +25 -0
  136. data/sig/seahorse/client/handler_builder.rbs +16 -0
  137. data/sig/seahorse/client/response.rbs +61 -0
  138. metadata +44 -17
  139. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  140. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  141. /data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +0 -0
  142. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  143. /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
@@ -15,30 +15,41 @@ module Aws::SSOOIDC
15
15
 
16
16
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
17
  AccessToken = Shapes::StringShape.new(name: 'AccessToken')
18
+ ArnType = Shapes::StringShape.new(name: 'ArnType')
19
+ Assertion = Shapes::StringShape.new(name: 'Assertion')
18
20
  AuthCode = Shapes::StringShape.new(name: 'AuthCode')
19
21
  AuthorizationPendingException = Shapes::StructureShape.new(name: 'AuthorizationPendingException')
20
22
  ClientId = Shapes::StringShape.new(name: 'ClientId')
21
23
  ClientName = Shapes::StringShape.new(name: 'ClientName')
22
24
  ClientSecret = Shapes::StringShape.new(name: 'ClientSecret')
23
25
  ClientType = Shapes::StringShape.new(name: 'ClientType')
26
+ CodeVerifier = Shapes::StringShape.new(name: 'CodeVerifier')
24
27
  CreateTokenRequest = Shapes::StructureShape.new(name: 'CreateTokenRequest')
25
28
  CreateTokenResponse = Shapes::StructureShape.new(name: 'CreateTokenResponse')
29
+ CreateTokenWithIAMRequest = Shapes::StructureShape.new(name: 'CreateTokenWithIAMRequest')
30
+ CreateTokenWithIAMResponse = Shapes::StructureShape.new(name: 'CreateTokenWithIAMResponse')
26
31
  DeviceCode = Shapes::StringShape.new(name: 'DeviceCode')
27
32
  Error = Shapes::StringShape.new(name: 'Error')
28
33
  ErrorDescription = Shapes::StringShape.new(name: 'ErrorDescription')
29
34
  ExpirationInSeconds = Shapes::IntegerShape.new(name: 'ExpirationInSeconds')
30
35
  ExpiredTokenException = Shapes::StructureShape.new(name: 'ExpiredTokenException')
31
36
  GrantType = Shapes::StringShape.new(name: 'GrantType')
37
+ GrantTypes = Shapes::ListShape.new(name: 'GrantTypes')
32
38
  IdToken = Shapes::StringShape.new(name: 'IdToken')
33
39
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
34
40
  IntervalInSeconds = Shapes::IntegerShape.new(name: 'IntervalInSeconds')
35
41
  InvalidClientException = Shapes::StructureShape.new(name: 'InvalidClientException')
36
42
  InvalidClientMetadataException = Shapes::StructureShape.new(name: 'InvalidClientMetadataException')
37
43
  InvalidGrantException = Shapes::StructureShape.new(name: 'InvalidGrantException')
44
+ InvalidRedirectUriException = Shapes::StructureShape.new(name: 'InvalidRedirectUriException')
38
45
  InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
46
+ InvalidRequestRegionException = Shapes::StructureShape.new(name: 'InvalidRequestRegionException')
39
47
  InvalidScopeException = Shapes::StructureShape.new(name: 'InvalidScopeException')
48
+ Location = Shapes::StringShape.new(name: 'Location')
40
49
  LongTimeStampType = Shapes::IntegerShape.new(name: 'LongTimeStampType')
50
+ RedirectUris = Shapes::ListShape.new(name: 'RedirectUris')
41
51
  RefreshToken = Shapes::StringShape.new(name: 'RefreshToken')
52
+ Region = Shapes::StringShape.new(name: 'Region')
42
53
  RegisterClientRequest = Shapes::StructureShape.new(name: 'RegisterClientRequest')
43
54
  RegisterClientResponse = Shapes::StructureShape.new(name: 'RegisterClientResponse')
44
55
  Scope = Shapes::StringShape.new(name: 'Scope')
@@ -46,7 +57,9 @@ module Aws::SSOOIDC
46
57
  SlowDownException = Shapes::StructureShape.new(name: 'SlowDownException')
47
58
  StartDeviceAuthorizationRequest = Shapes::StructureShape.new(name: 'StartDeviceAuthorizationRequest')
48
59
  StartDeviceAuthorizationResponse = Shapes::StructureShape.new(name: 'StartDeviceAuthorizationResponse')
60
+ SubjectToken = Shapes::StringShape.new(name: 'SubjectToken')
49
61
  TokenType = Shapes::StringShape.new(name: 'TokenType')
62
+ TokenTypeURI = Shapes::StringShape.new(name: 'TokenTypeURI')
50
63
  URI = Shapes::StringShape.new(name: 'URI')
51
64
  UnauthorizedClientException = Shapes::StructureShape.new(name: 'UnauthorizedClientException')
52
65
  UnsupportedGrantTypeException = Shapes::StructureShape.new(name: 'UnsupportedGrantTypeException')
@@ -68,6 +81,7 @@ module Aws::SSOOIDC
68
81
  CreateTokenRequest.add_member(:refresh_token, Shapes::ShapeRef.new(shape: RefreshToken, location_name: "refreshToken"))
69
82
  CreateTokenRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scopes, location_name: "scope"))
70
83
  CreateTokenRequest.add_member(:redirect_uri, Shapes::ShapeRef.new(shape: URI, location_name: "redirectUri"))
84
+ CreateTokenRequest.add_member(:code_verifier, Shapes::ShapeRef.new(shape: CodeVerifier, location_name: "codeVerifier"))
71
85
  CreateTokenRequest.struct_class = Types::CreateTokenRequest
72
86
 
73
87
  CreateTokenResponse.add_member(:access_token, Shapes::ShapeRef.new(shape: AccessToken, location_name: "accessToken"))
@@ -77,10 +91,34 @@ module Aws::SSOOIDC
77
91
  CreateTokenResponse.add_member(:id_token, Shapes::ShapeRef.new(shape: IdToken, location_name: "idToken"))
78
92
  CreateTokenResponse.struct_class = Types::CreateTokenResponse
79
93
 
94
+ CreateTokenWithIAMRequest.add_member(:client_id, Shapes::ShapeRef.new(shape: ClientId, required: true, location_name: "clientId"))
95
+ CreateTokenWithIAMRequest.add_member(:grant_type, Shapes::ShapeRef.new(shape: GrantType, required: true, location_name: "grantType"))
96
+ CreateTokenWithIAMRequest.add_member(:code, Shapes::ShapeRef.new(shape: AuthCode, location_name: "code"))
97
+ CreateTokenWithIAMRequest.add_member(:refresh_token, Shapes::ShapeRef.new(shape: RefreshToken, location_name: "refreshToken"))
98
+ CreateTokenWithIAMRequest.add_member(:assertion, Shapes::ShapeRef.new(shape: Assertion, location_name: "assertion"))
99
+ CreateTokenWithIAMRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scopes, location_name: "scope"))
100
+ CreateTokenWithIAMRequest.add_member(:redirect_uri, Shapes::ShapeRef.new(shape: URI, location_name: "redirectUri"))
101
+ CreateTokenWithIAMRequest.add_member(:subject_token, Shapes::ShapeRef.new(shape: SubjectToken, location_name: "subjectToken"))
102
+ CreateTokenWithIAMRequest.add_member(:subject_token_type, Shapes::ShapeRef.new(shape: TokenTypeURI, location_name: "subjectTokenType"))
103
+ CreateTokenWithIAMRequest.add_member(:requested_token_type, Shapes::ShapeRef.new(shape: TokenTypeURI, location_name: "requestedTokenType"))
104
+ CreateTokenWithIAMRequest.add_member(:code_verifier, Shapes::ShapeRef.new(shape: CodeVerifier, location_name: "codeVerifier"))
105
+ CreateTokenWithIAMRequest.struct_class = Types::CreateTokenWithIAMRequest
106
+
107
+ CreateTokenWithIAMResponse.add_member(:access_token, Shapes::ShapeRef.new(shape: AccessToken, location_name: "accessToken"))
108
+ CreateTokenWithIAMResponse.add_member(:token_type, Shapes::ShapeRef.new(shape: TokenType, location_name: "tokenType"))
109
+ CreateTokenWithIAMResponse.add_member(:expires_in, Shapes::ShapeRef.new(shape: ExpirationInSeconds, location_name: "expiresIn"))
110
+ CreateTokenWithIAMResponse.add_member(:refresh_token, Shapes::ShapeRef.new(shape: RefreshToken, location_name: "refreshToken"))
111
+ CreateTokenWithIAMResponse.add_member(:id_token, Shapes::ShapeRef.new(shape: IdToken, location_name: "idToken"))
112
+ CreateTokenWithIAMResponse.add_member(:issued_token_type, Shapes::ShapeRef.new(shape: TokenTypeURI, location_name: "issuedTokenType"))
113
+ CreateTokenWithIAMResponse.add_member(:scope, Shapes::ShapeRef.new(shape: Scopes, location_name: "scope"))
114
+ CreateTokenWithIAMResponse.struct_class = Types::CreateTokenWithIAMResponse
115
+
80
116
  ExpiredTokenException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
81
117
  ExpiredTokenException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
82
118
  ExpiredTokenException.struct_class = Types::ExpiredTokenException
83
119
 
120
+ GrantTypes.member = Shapes::ShapeRef.new(shape: GrantType)
121
+
84
122
  InternalServerException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
85
123
  InternalServerException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
86
124
  InternalServerException.struct_class = Types::InternalServerException
@@ -97,17 +135,33 @@ module Aws::SSOOIDC
97
135
  InvalidGrantException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
98
136
  InvalidGrantException.struct_class = Types::InvalidGrantException
99
137
 
138
+ InvalidRedirectUriException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
139
+ InvalidRedirectUriException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
140
+ InvalidRedirectUriException.struct_class = Types::InvalidRedirectUriException
141
+
100
142
  InvalidRequestException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
101
143
  InvalidRequestException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
102
144
  InvalidRequestException.struct_class = Types::InvalidRequestException
103
145
 
146
+ InvalidRequestRegionException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
147
+ InvalidRequestRegionException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
148
+ InvalidRequestRegionException.add_member(:endpoint, Shapes::ShapeRef.new(shape: Location, location_name: "endpoint"))
149
+ InvalidRequestRegionException.add_member(:region, Shapes::ShapeRef.new(shape: Region, location_name: "region"))
150
+ InvalidRequestRegionException.struct_class = Types::InvalidRequestRegionException
151
+
104
152
  InvalidScopeException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
105
153
  InvalidScopeException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
106
154
  InvalidScopeException.struct_class = Types::InvalidScopeException
107
155
 
156
+ RedirectUris.member = Shapes::ShapeRef.new(shape: URI)
157
+
108
158
  RegisterClientRequest.add_member(:client_name, Shapes::ShapeRef.new(shape: ClientName, required: true, location_name: "clientName"))
109
159
  RegisterClientRequest.add_member(:client_type, Shapes::ShapeRef.new(shape: ClientType, required: true, location_name: "clientType"))
110
160
  RegisterClientRequest.add_member(:scopes, Shapes::ShapeRef.new(shape: Scopes, location_name: "scopes"))
161
+ RegisterClientRequest.add_member(:redirect_uris, Shapes::ShapeRef.new(shape: RedirectUris, location_name: "redirectUris"))
162
+ RegisterClientRequest.add_member(:grant_types, Shapes::ShapeRef.new(shape: GrantTypes, location_name: "grantTypes"))
163
+ RegisterClientRequest.add_member(:issuer_url, Shapes::ShapeRef.new(shape: URI, location_name: "issuerUrl"))
164
+ RegisterClientRequest.add_member(:entitled_application_arn, Shapes::ShapeRef.new(shape: ArnType, location_name: "entitledApplicationArn"))
111
165
  RegisterClientRequest.struct_class = Types::RegisterClientRequest
112
166
 
113
167
  RegisterClientResponse.add_member(:client_id, Shapes::ShapeRef.new(shape: ClientId, location_name: "clientId"))
@@ -156,11 +210,12 @@ module Aws::SSOOIDC
156
210
  "endpointPrefix" => "oidc",
157
211
  "jsonVersion" => "1.1",
158
212
  "protocol" => "rest-json",
213
+ "protocols" => ["rest-json"],
159
214
  "serviceAbbreviation" => "SSO OIDC",
160
215
  "serviceFullName" => "AWS SSO OIDC",
161
216
  "serviceId" => "SSO OIDC",
162
217
  "signatureVersion" => "v4",
163
- "signingName" => "awsssooidc",
218
+ "signingName" => "sso-oauth",
164
219
  "uid" => "sso-oidc-2019-06-10",
165
220
  }
166
221
 
@@ -184,6 +239,26 @@ module Aws::SSOOIDC
184
239
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
185
240
  end)
186
241
 
242
+ api.add_operation(:create_token_with_iam, Seahorse::Model::Operation.new.tap do |o|
243
+ o.name = "CreateTokenWithIAM"
244
+ o.http_method = "POST"
245
+ o.http_request_uri = "/token?aws_iam=t"
246
+ o.input = Shapes::ShapeRef.new(shape: CreateTokenWithIAMRequest)
247
+ o.output = Shapes::ShapeRef.new(shape: CreateTokenWithIAMResponse)
248
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
249
+ o.errors << Shapes::ShapeRef.new(shape: InvalidClientException)
250
+ o.errors << Shapes::ShapeRef.new(shape: InvalidGrantException)
251
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
252
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedGrantTypeException)
253
+ o.errors << Shapes::ShapeRef.new(shape: InvalidScopeException)
254
+ o.errors << Shapes::ShapeRef.new(shape: AuthorizationPendingException)
255
+ o.errors << Shapes::ShapeRef.new(shape: SlowDownException)
256
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
257
+ o.errors << Shapes::ShapeRef.new(shape: ExpiredTokenException)
258
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
259
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestRegionException)
260
+ end)
261
+
187
262
  api.add_operation(:register_client, Seahorse::Model::Operation.new.tap do |o|
188
263
  o.name = "RegisterClient"
189
264
  o.http_method = "POST"
@@ -195,6 +270,8 @@ module Aws::SSOOIDC
195
270
  o.errors << Shapes::ShapeRef.new(shape: InvalidScopeException)
196
271
  o.errors << Shapes::ShapeRef.new(shape: InvalidClientMetadataException)
197
272
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
273
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRedirectUriException)
274
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedGrantTypeException)
198
275
  end)
199
276
 
200
277
  api.add_operation(:start_device_authorization, Seahorse::Model::Operation.new.tap do |o|
@@ -14,36 +14,42 @@ module Aws::SSOOIDC
14
14
  use_dual_stack = parameters.use_dual_stack
15
15
  use_fips = parameters.use_fips
16
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://oidc-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
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
33
18
  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://oidc-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
36
- end
37
- raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
38
20
  end
39
21
  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://oidc.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
25
+ end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ 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"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
+ if Aws::Endpoints::Matchers.string_equals?(Aws::Endpoints::Matchers.attr(partition_result, "name"), "aws-us-gov")
37
+ return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{region}.amazonaws.com", headers: {}, properties: {})
38
+ end
39
+ return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
40
+ end
41
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
42
+ end
43
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
44
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
45
+ return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
46
+ end
47
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
42
48
  end
43
- raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
49
+ return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
44
50
  end
45
- return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
46
51
  end
52
+ raise ArgumentError, "Invalid Configuration: Missing Region"
47
53
  raise ArgumentError, 'No endpoint could be resolved'
48
54
 
49
55
  end
@@ -9,6 +9,7 @@
9
9
 
10
10
 
11
11
  module Aws::SSOOIDC
12
+ # @api private
12
13
  module Endpoints
13
14
 
14
15
  class CreateToken
@@ -25,6 +26,20 @@ module Aws::SSOOIDC
25
26
  end
26
27
  end
27
28
 
29
+ class CreateTokenWithIAM
30
+ def self.build(context)
31
+ unless context.config.regional_endpoint
32
+ endpoint = context.config.endpoint.to_s
33
+ end
34
+ Aws::SSOOIDC::EndpointParameters.new(
35
+ region: context.config.region,
36
+ use_dual_stack: context.config.use_dualstack_endpoint,
37
+ use_fips: context.config.use_fips_endpoint,
38
+ endpoint: endpoint,
39
+ )
40
+ end
41
+ end
42
+
28
43
  class RegisterClient
29
44
  def self.build(context)
30
45
  unless context.config.regional_endpoint
@@ -34,7 +34,9 @@ module Aws::SSOOIDC
34
34
  # * {InvalidClientException}
35
35
  # * {InvalidClientMetadataException}
36
36
  # * {InvalidGrantException}
37
+ # * {InvalidRedirectUriException}
37
38
  # * {InvalidRequestException}
39
+ # * {InvalidRequestRegionException}
38
40
  # * {InvalidScopeException}
39
41
  # * {SlowDownException}
40
42
  # * {UnauthorizedClientException}
@@ -186,6 +188,26 @@ module Aws::SSOOIDC
186
188
  end
187
189
  end
188
190
 
191
+ class InvalidRedirectUriException < ServiceError
192
+
193
+ # @param [Seahorse::Client::RequestContext] context
194
+ # @param [String] message
195
+ # @param [Aws::SSOOIDC::Types::InvalidRedirectUriException] data
196
+ def initialize(context, message, data = Aws::EmptyStructure.new)
197
+ super(context, message, data)
198
+ end
199
+
200
+ # @return [String]
201
+ def error
202
+ @data[:error]
203
+ end
204
+
205
+ # @return [String]
206
+ def error_description
207
+ @data[:error_description]
208
+ end
209
+ end
210
+
189
211
  class InvalidRequestException < ServiceError
190
212
 
191
213
  # @param [Seahorse::Client::RequestContext] context
@@ -206,6 +228,36 @@ module Aws::SSOOIDC
206
228
  end
207
229
  end
208
230
 
231
+ class InvalidRequestRegionException < ServiceError
232
+
233
+ # @param [Seahorse::Client::RequestContext] context
234
+ # @param [String] message
235
+ # @param [Aws::SSOOIDC::Types::InvalidRequestRegionException] data
236
+ def initialize(context, message, data = Aws::EmptyStructure.new)
237
+ super(context, message, data)
238
+ end
239
+
240
+ # @return [String]
241
+ def error
242
+ @data[:error]
243
+ end
244
+
245
+ # @return [String]
246
+ def error_description
247
+ @data[:error_description]
248
+ end
249
+
250
+ # @return [String]
251
+ def endpoint
252
+ @data[:endpoint]
253
+ end
254
+
255
+ # @return [String]
256
+ def region
257
+ @data[:region]
258
+ end
259
+ end
260
+
209
261
  class InvalidScopeException < ServiceError
210
262
 
211
263
  # @param [Seahorse::Client::RequestContext] context
@@ -14,6 +14,7 @@ module Aws::SSOOIDC
14
14
  option(
15
15
  :endpoint_provider,
16
16
  doc_type: 'Aws::SSOOIDC::EndpointProvider',
17
+ rbs_type: 'untyped',
17
18
  docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
19
  'object that responds to `#resolve_endpoint(parameters)` '\
19
20
  'where `parameters` is a Struct similar to '\
@@ -25,16 +26,17 @@ module Aws::SSOOIDC
25
26
  # @api private
26
27
  class Handler < Seahorse::Client::Handler
27
28
  def call(context)
28
- # If endpoint was discovered, do not resolve or apply the endpoint.
29
29
  unless context[:discovered_endpoint]
30
30
  params = parameters_for_operation(context)
31
31
  endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
32
 
33
33
  context.http_request.endpoint = endpoint.url
34
34
  apply_endpoint_headers(context, endpoint.headers)
35
+
36
+ context[:endpoint_params] = params
37
+ context[:endpoint_properties] = endpoint.properties
35
38
  end
36
39
 
37
- context[:endpoint_params] = params
38
40
  context[:auth_scheme] =
39
41
  Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
42
 
@@ -58,6 +60,8 @@ module Aws::SSOOIDC
58
60
  case context.operation_name
59
61
  when :create_token
60
62
  Aws::SSOOIDC::Endpoints::CreateToken.build(context)
63
+ when :create_token_with_iam
64
+ Aws::SSOOIDC::Endpoints::CreateTokenWithIAM.build(context)
61
65
  when :register_client
62
66
  Aws::SSOOIDC::Endpoints::RegisterClient.build(context)
63
67
  when :start_device_authorization