aws-sdk-core 3.178.0 → 3.233.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +709 -0
- data/VERSION +1 -1
- data/lib/aws-defaults/default_configuration.rb +1 -2
- data/lib/aws-defaults.rb +4 -1
- data/lib/aws-sdk-core/arn.rb +1 -3
- data/lib/aws-sdk-core/assume_role_credentials.rb +13 -5
- data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +14 -7
- data/lib/aws-sdk-core/binary/decode_handler.rb +3 -9
- data/lib/aws-sdk-core/binary/encode_handler.rb +1 -1
- data/lib/aws-sdk-core/binary/event_builder.rb +34 -37
- data/lib/aws-sdk-core/binary/event_stream_decoder.rb +1 -0
- data/lib/aws-sdk-core/binary/event_stream_encoder.rb +4 -3
- data/lib/aws-sdk-core/cbor/decoder.rb +308 -0
- data/lib/aws-sdk-core/cbor/encoder.rb +243 -0
- data/lib/aws-sdk-core/cbor.rb +53 -0
- data/lib/aws-sdk-core/client_side_monitoring.rb +9 -0
- data/lib/aws-sdk-core/client_stubs.rb +33 -55
- data/lib/aws-sdk-core/credential_provider.rb +5 -1
- data/lib/aws-sdk-core/credential_provider_chain.rb +38 -11
- data/lib/aws-sdk-core/credentials.rb +19 -6
- data/lib/aws-sdk-core/ec2_metadata.rb +1 -1
- data/lib/aws-sdk-core/ecs_credentials.rb +79 -11
- data/lib/aws-sdk-core/endpoints/endpoint.rb +3 -1
- data/lib/aws-sdk-core/endpoints/matchers.rb +21 -19
- data/lib/aws-sdk-core/endpoints.rb +101 -21
- data/lib/aws-sdk-core/error_handler.rb +46 -0
- data/lib/aws-sdk-core/errors.rb +14 -5
- data/lib/aws-sdk-core/event_emitter.rb +1 -17
- data/lib/aws-sdk-core/ini_parser.rb +8 -1
- data/lib/aws-sdk-core/instance_profile_credentials.rb +168 -155
- data/lib/aws-sdk-core/json/builder.rb +8 -1
- data/lib/aws-sdk-core/json/error_handler.rb +29 -13
- data/lib/aws-sdk-core/json/handler.rb +13 -6
- data/lib/aws-sdk-core/json/json_engine.rb +3 -1
- data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
- data/lib/aws-sdk-core/json/parser.rb +33 -3
- data/lib/aws-sdk-core/json.rb +43 -14
- data/lib/aws-sdk-core/log/param_filter.rb +2 -2
- data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
- data/lib/aws-sdk-core/log.rb +10 -0
- data/lib/aws-sdk-core/lru_cache.rb +75 -0
- data/lib/aws-sdk-core/pageable_response.rb +1 -1
- data/lib/aws-sdk-core/param_validator.rb +9 -4
- data/lib/aws-sdk-core/plugins/bearer_authorization.rb +2 -0
- data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +332 -167
- data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -1
- data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
- data/lib/aws-sdk-core/plugins/credentials_configuration.rb +78 -56
- data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
- data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
- data/lib/aws-sdk-core/plugins/http_checksum.rb +3 -8
- data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
- data/lib/aws-sdk-core/plugins/logging.rb +2 -0
- data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
- data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
- data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
- data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
- data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
- data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
- data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
- data/lib/aws-sdk-core/plugins/regional_endpoint.rb +74 -25
- data/lib/aws-sdk-core/plugins/request_compression.rb +11 -2
- data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
- data/lib/aws-sdk-core/plugins/sign.rb +55 -34
- data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -1
- data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -1
- data/lib/aws-sdk-core/plugins/stub_responses.rb +59 -9
- data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
- data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
- data/lib/aws-sdk-core/plugins/user_agent.rb +101 -26
- data/lib/aws-sdk-core/plugins.rb +39 -0
- data/lib/aws-sdk-core/process_credentials.rb +48 -29
- data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
- data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
- data/lib/aws-sdk-core/query/handler.rb +4 -4
- data/lib/aws-sdk-core/query/param_builder.rb +2 -2
- data/lib/aws-sdk-core/query.rb +2 -1
- data/lib/aws-sdk-core/refreshing_credentials.rb +12 -6
- data/lib/aws-sdk-core/resources.rb +8 -0
- data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
- data/lib/aws-sdk-core/rest/handler.rb +3 -4
- data/lib/aws-sdk-core/rest/request/body.rb +32 -5
- data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
- data/lib/aws-sdk-core/rest/request/headers.rb +15 -7
- data/lib/aws-sdk-core/rest/request/querystring_builder.rb +62 -36
- data/lib/aws-sdk-core/rest/response/body.rb +15 -1
- data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
- data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
- data/lib/aws-sdk-core/rest.rb +1 -0
- data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
- data/lib/aws-sdk-core/rpc_v2/cbor_engine.rb +18 -0
- data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +47 -0
- data/lib/aws-sdk-core/rpc_v2/error_handler.rb +95 -0
- data/lib/aws-sdk-core/rpc_v2/handler.rb +79 -0
- data/lib/aws-sdk-core/rpc_v2/parser.rb +98 -0
- data/lib/aws-sdk-core/rpc_v2.rb +69 -0
- data/lib/aws-sdk-core/shared_config.rb +113 -41
- data/lib/aws-sdk-core/shared_credentials.rb +1 -7
- data/lib/aws-sdk-core/sso_credentials.rb +4 -1
- data/lib/aws-sdk-core/static_token_provider.rb +1 -2
- data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
- data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
- data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
- data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
- data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
- data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
- data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +39 -0
- data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
- data/lib/aws-sdk-core/stubbing.rb +22 -0
- data/lib/aws-sdk-core/telemetry/base.rb +177 -0
- data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
- data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
- data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
- data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
- data/lib/aws-sdk-core/telemetry.rb +78 -0
- data/lib/aws-sdk-core/token.rb +3 -3
- data/lib/aws-sdk-core/token_provider.rb +4 -0
- data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
- data/lib/aws-sdk-core/util.rb +41 -1
- data/lib/aws-sdk-core/waiters/poller.rb +10 -5
- data/lib/aws-sdk-core/xml/builder.rb +17 -9
- data/lib/aws-sdk-core/xml/error_handler.rb +35 -43
- data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
- data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
- data/lib/aws-sdk-core/xml/parser.rb +2 -6
- data/lib/aws-sdk-core.rb +82 -107
- data/lib/aws-sdk-sso/client.rb +189 -96
- data/lib/aws-sdk-sso/client_api.rb +7 -0
- data/lib/aws-sdk-sso/endpoint_parameters.rb +9 -6
- data/lib/aws-sdk-sso/endpoint_provider.rb +30 -28
- data/lib/aws-sdk-sso/endpoints.rb +2 -54
- data/lib/aws-sdk-sso/plugins/endpoints.rb +23 -22
- data/lib/aws-sdk-sso/types.rb +1 -0
- data/lib/aws-sdk-sso.rb +15 -11
- data/lib/aws-sdk-ssooidc/client.rb +609 -129
- data/lib/aws-sdk-ssooidc/client_api.rb +94 -1
- data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +9 -6
- data/lib/aws-sdk-ssooidc/endpoint_provider.rb +30 -28
- data/lib/aws-sdk-ssooidc/endpoints.rb +2 -40
- data/lib/aws-sdk-ssooidc/errors.rb +62 -0
- data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +23 -20
- data/lib/aws-sdk-ssooidc/types.rb +419 -53
- data/lib/aws-sdk-ssooidc.rb +15 -11
- data/lib/aws-sdk-sts/client.rb +414 -147
- data/lib/aws-sdk-sts/client_api.rb +48 -9
- data/lib/aws-sdk-sts/customizations.rb +5 -2
- data/lib/aws-sdk-sts/endpoint_parameters.rb +10 -9
- data/lib/aws-sdk-sts/endpoint_provider.rb +52 -57
- data/lib/aws-sdk-sts/endpoints.rb +2 -118
- data/lib/aws-sdk-sts/errors.rb +15 -0
- data/lib/aws-sdk-sts/plugins/endpoints.rb +23 -30
- data/lib/aws-sdk-sts/presigner.rb +3 -7
- data/lib/aws-sdk-sts/types.rb +209 -27
- data/lib/aws-sdk-sts.rb +15 -11
- data/lib/seahorse/client/async_base.rb +4 -5
- data/lib/seahorse/client/async_response.rb +19 -0
- data/lib/seahorse/client/base.rb +18 -21
- data/lib/seahorse/client/h2/connection.rb +18 -28
- data/lib/seahorse/client/h2/handler.rb +14 -3
- data/lib/seahorse/client/handler.rb +1 -1
- data/lib/seahorse/client/http/response.rb +1 -1
- data/lib/seahorse/client/net_http/connection_pool.rb +15 -12
- data/lib/seahorse/client/net_http/handler.rb +21 -9
- data/lib/seahorse/client/net_http/patches.rb +1 -4
- data/lib/seahorse/client/networking_error.rb +1 -1
- data/lib/seahorse/client/plugin.rb +9 -0
- data/lib/seahorse/client/plugins/endpoint.rb +0 -1
- data/lib/seahorse/client/plugins/h2.rb +4 -4
- data/lib/seahorse/client/plugins/net_http.rb +57 -16
- data/lib/seahorse/client/plugins/request_callback.rb +31 -0
- data/lib/seahorse/client/request_context.rb +9 -2
- data/lib/seahorse/client/response.rb +8 -0
- data/lib/seahorse/model/shapes.rb +2 -2
- data/lib/seahorse/util.rb +2 -1
- data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
- data/sig/aws-sdk-core/client_stubs.rbs +10 -0
- data/sig/aws-sdk-core/errors.rbs +22 -0
- data/sig/aws-sdk-core/resources/collection.rbs +21 -0
- data/sig/aws-sdk-core/structure.rbs +4 -0
- data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
- data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
- data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
- data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
- data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
- data/sig/aws-sdk-core.rbs +7 -0
- data/sig/seahorse/client/async_base.rbs +18 -0
- data/sig/seahorse/client/base.rbs +25 -0
- data/sig/seahorse/client/handler_builder.rbs +16 -0
- data/sig/seahorse/client/response.rbs +61 -0
- metadata +105 -23
- /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
- /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
- /data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +0 -0
- /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
- /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
@@ -7,6 +7,7 @@
|
|
7
7
|
#
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
9
9
|
|
10
|
+
|
10
11
|
module Aws::SSOOIDC
|
11
12
|
# @api private
|
12
13
|
module ClientApi
|
@@ -14,31 +15,46 @@ module Aws::SSOOIDC
|
|
14
15
|
include Seahorse::Model
|
15
16
|
|
16
17
|
AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
|
18
|
+
AccessDeniedExceptionReason = Shapes::StringShape.new(name: 'AccessDeniedExceptionReason')
|
17
19
|
AccessToken = Shapes::StringShape.new(name: 'AccessToken')
|
20
|
+
ArnType = Shapes::StringShape.new(name: 'ArnType')
|
21
|
+
Assertion = Shapes::StringShape.new(name: 'Assertion')
|
18
22
|
AuthCode = Shapes::StringShape.new(name: 'AuthCode')
|
19
23
|
AuthorizationPendingException = Shapes::StructureShape.new(name: 'AuthorizationPendingException')
|
24
|
+
AwsAdditionalDetails = Shapes::StructureShape.new(name: 'AwsAdditionalDetails')
|
20
25
|
ClientId = Shapes::StringShape.new(name: 'ClientId')
|
21
26
|
ClientName = Shapes::StringShape.new(name: 'ClientName')
|
22
27
|
ClientSecret = Shapes::StringShape.new(name: 'ClientSecret')
|
23
28
|
ClientType = Shapes::StringShape.new(name: 'ClientType')
|
29
|
+
CodeVerifier = Shapes::StringShape.new(name: 'CodeVerifier')
|
24
30
|
CreateTokenRequest = Shapes::StructureShape.new(name: 'CreateTokenRequest')
|
25
31
|
CreateTokenResponse = Shapes::StructureShape.new(name: 'CreateTokenResponse')
|
32
|
+
CreateTokenWithIAMRequest = Shapes::StructureShape.new(name: 'CreateTokenWithIAMRequest')
|
33
|
+
CreateTokenWithIAMResponse = Shapes::StructureShape.new(name: 'CreateTokenWithIAMResponse')
|
26
34
|
DeviceCode = Shapes::StringShape.new(name: 'DeviceCode')
|
27
35
|
Error = Shapes::StringShape.new(name: 'Error')
|
28
36
|
ErrorDescription = Shapes::StringShape.new(name: 'ErrorDescription')
|
29
37
|
ExpirationInSeconds = Shapes::IntegerShape.new(name: 'ExpirationInSeconds')
|
30
38
|
ExpiredTokenException = Shapes::StructureShape.new(name: 'ExpiredTokenException')
|
31
39
|
GrantType = Shapes::StringShape.new(name: 'GrantType')
|
40
|
+
GrantTypes = Shapes::ListShape.new(name: 'GrantTypes')
|
32
41
|
IdToken = Shapes::StringShape.new(name: 'IdToken')
|
42
|
+
IdentityContext = Shapes::StringShape.new(name: 'IdentityContext')
|
33
43
|
InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
|
34
44
|
IntervalInSeconds = Shapes::IntegerShape.new(name: 'IntervalInSeconds')
|
35
45
|
InvalidClientException = Shapes::StructureShape.new(name: 'InvalidClientException')
|
36
46
|
InvalidClientMetadataException = Shapes::StructureShape.new(name: 'InvalidClientMetadataException')
|
37
47
|
InvalidGrantException = Shapes::StructureShape.new(name: 'InvalidGrantException')
|
48
|
+
InvalidRedirectUriException = Shapes::StructureShape.new(name: 'InvalidRedirectUriException')
|
38
49
|
InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
|
50
|
+
InvalidRequestExceptionReason = Shapes::StringShape.new(name: 'InvalidRequestExceptionReason')
|
51
|
+
InvalidRequestRegionException = Shapes::StructureShape.new(name: 'InvalidRequestRegionException')
|
39
52
|
InvalidScopeException = Shapes::StructureShape.new(name: 'InvalidScopeException')
|
53
|
+
Location = Shapes::StringShape.new(name: 'Location')
|
40
54
|
LongTimeStampType = Shapes::IntegerShape.new(name: 'LongTimeStampType')
|
55
|
+
RedirectUris = Shapes::ListShape.new(name: 'RedirectUris')
|
41
56
|
RefreshToken = Shapes::StringShape.new(name: 'RefreshToken')
|
57
|
+
Region = Shapes::StringShape.new(name: 'Region')
|
42
58
|
RegisterClientRequest = Shapes::StructureShape.new(name: 'RegisterClientRequest')
|
43
59
|
RegisterClientResponse = Shapes::StructureShape.new(name: 'RegisterClientResponse')
|
44
60
|
Scope = Shapes::StringShape.new(name: 'Scope')
|
@@ -46,13 +62,16 @@ module Aws::SSOOIDC
|
|
46
62
|
SlowDownException = Shapes::StructureShape.new(name: 'SlowDownException')
|
47
63
|
StartDeviceAuthorizationRequest = Shapes::StructureShape.new(name: 'StartDeviceAuthorizationRequest')
|
48
64
|
StartDeviceAuthorizationResponse = Shapes::StructureShape.new(name: 'StartDeviceAuthorizationResponse')
|
65
|
+
SubjectToken = Shapes::StringShape.new(name: 'SubjectToken')
|
49
66
|
TokenType = Shapes::StringShape.new(name: 'TokenType')
|
67
|
+
TokenTypeURI = Shapes::StringShape.new(name: 'TokenTypeURI')
|
50
68
|
URI = Shapes::StringShape.new(name: 'URI')
|
51
69
|
UnauthorizedClientException = Shapes::StructureShape.new(name: 'UnauthorizedClientException')
|
52
70
|
UnsupportedGrantTypeException = Shapes::StructureShape.new(name: 'UnsupportedGrantTypeException')
|
53
71
|
UserCode = Shapes::StringShape.new(name: 'UserCode')
|
54
72
|
|
55
73
|
AccessDeniedException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
|
74
|
+
AccessDeniedException.add_member(:reason, Shapes::ShapeRef.new(shape: AccessDeniedExceptionReason, location_name: "reason"))
|
56
75
|
AccessDeniedException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
|
57
76
|
AccessDeniedException.struct_class = Types::AccessDeniedException
|
58
77
|
|
@@ -60,6 +79,9 @@ module Aws::SSOOIDC
|
|
60
79
|
AuthorizationPendingException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
|
61
80
|
AuthorizationPendingException.struct_class = Types::AuthorizationPendingException
|
62
81
|
|
82
|
+
AwsAdditionalDetails.add_member(:identity_context, Shapes::ShapeRef.new(shape: IdentityContext, location_name: "identityContext"))
|
83
|
+
AwsAdditionalDetails.struct_class = Types::AwsAdditionalDetails
|
84
|
+
|
63
85
|
CreateTokenRequest.add_member(:client_id, Shapes::ShapeRef.new(shape: ClientId, required: true, location_name: "clientId"))
|
64
86
|
CreateTokenRequest.add_member(:client_secret, Shapes::ShapeRef.new(shape: ClientSecret, required: true, location_name: "clientSecret"))
|
65
87
|
CreateTokenRequest.add_member(:grant_type, Shapes::ShapeRef.new(shape: GrantType, required: true, location_name: "grantType"))
|
@@ -68,6 +90,7 @@ module Aws::SSOOIDC
|
|
68
90
|
CreateTokenRequest.add_member(:refresh_token, Shapes::ShapeRef.new(shape: RefreshToken, location_name: "refreshToken"))
|
69
91
|
CreateTokenRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scopes, location_name: "scope"))
|
70
92
|
CreateTokenRequest.add_member(:redirect_uri, Shapes::ShapeRef.new(shape: URI, location_name: "redirectUri"))
|
93
|
+
CreateTokenRequest.add_member(:code_verifier, Shapes::ShapeRef.new(shape: CodeVerifier, location_name: "codeVerifier"))
|
71
94
|
CreateTokenRequest.struct_class = Types::CreateTokenRequest
|
72
95
|
|
73
96
|
CreateTokenResponse.add_member(:access_token, Shapes::ShapeRef.new(shape: AccessToken, location_name: "accessToken"))
|
@@ -77,10 +100,35 @@ module Aws::SSOOIDC
|
|
77
100
|
CreateTokenResponse.add_member(:id_token, Shapes::ShapeRef.new(shape: IdToken, location_name: "idToken"))
|
78
101
|
CreateTokenResponse.struct_class = Types::CreateTokenResponse
|
79
102
|
|
103
|
+
CreateTokenWithIAMRequest.add_member(:client_id, Shapes::ShapeRef.new(shape: ClientId, required: true, location_name: "clientId"))
|
104
|
+
CreateTokenWithIAMRequest.add_member(:grant_type, Shapes::ShapeRef.new(shape: GrantType, required: true, location_name: "grantType"))
|
105
|
+
CreateTokenWithIAMRequest.add_member(:code, Shapes::ShapeRef.new(shape: AuthCode, location_name: "code"))
|
106
|
+
CreateTokenWithIAMRequest.add_member(:refresh_token, Shapes::ShapeRef.new(shape: RefreshToken, location_name: "refreshToken"))
|
107
|
+
CreateTokenWithIAMRequest.add_member(:assertion, Shapes::ShapeRef.new(shape: Assertion, location_name: "assertion"))
|
108
|
+
CreateTokenWithIAMRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scopes, location_name: "scope"))
|
109
|
+
CreateTokenWithIAMRequest.add_member(:redirect_uri, Shapes::ShapeRef.new(shape: URI, location_name: "redirectUri"))
|
110
|
+
CreateTokenWithIAMRequest.add_member(:subject_token, Shapes::ShapeRef.new(shape: SubjectToken, location_name: "subjectToken"))
|
111
|
+
CreateTokenWithIAMRequest.add_member(:subject_token_type, Shapes::ShapeRef.new(shape: TokenTypeURI, location_name: "subjectTokenType"))
|
112
|
+
CreateTokenWithIAMRequest.add_member(:requested_token_type, Shapes::ShapeRef.new(shape: TokenTypeURI, location_name: "requestedTokenType"))
|
113
|
+
CreateTokenWithIAMRequest.add_member(:code_verifier, Shapes::ShapeRef.new(shape: CodeVerifier, location_name: "codeVerifier"))
|
114
|
+
CreateTokenWithIAMRequest.struct_class = Types::CreateTokenWithIAMRequest
|
115
|
+
|
116
|
+
CreateTokenWithIAMResponse.add_member(:access_token, Shapes::ShapeRef.new(shape: AccessToken, location_name: "accessToken"))
|
117
|
+
CreateTokenWithIAMResponse.add_member(:token_type, Shapes::ShapeRef.new(shape: TokenType, location_name: "tokenType"))
|
118
|
+
CreateTokenWithIAMResponse.add_member(:expires_in, Shapes::ShapeRef.new(shape: ExpirationInSeconds, location_name: "expiresIn"))
|
119
|
+
CreateTokenWithIAMResponse.add_member(:refresh_token, Shapes::ShapeRef.new(shape: RefreshToken, location_name: "refreshToken"))
|
120
|
+
CreateTokenWithIAMResponse.add_member(:id_token, Shapes::ShapeRef.new(shape: IdToken, location_name: "idToken"))
|
121
|
+
CreateTokenWithIAMResponse.add_member(:issued_token_type, Shapes::ShapeRef.new(shape: TokenTypeURI, location_name: "issuedTokenType"))
|
122
|
+
CreateTokenWithIAMResponse.add_member(:scope, Shapes::ShapeRef.new(shape: Scopes, location_name: "scope"))
|
123
|
+
CreateTokenWithIAMResponse.add_member(:aws_additional_details, Shapes::ShapeRef.new(shape: AwsAdditionalDetails, location_name: "awsAdditionalDetails"))
|
124
|
+
CreateTokenWithIAMResponse.struct_class = Types::CreateTokenWithIAMResponse
|
125
|
+
|
80
126
|
ExpiredTokenException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
|
81
127
|
ExpiredTokenException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
|
82
128
|
ExpiredTokenException.struct_class = Types::ExpiredTokenException
|
83
129
|
|
130
|
+
GrantTypes.member = Shapes::ShapeRef.new(shape: GrantType)
|
131
|
+
|
84
132
|
InternalServerException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
|
85
133
|
InternalServerException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
|
86
134
|
InternalServerException.struct_class = Types::InternalServerException
|
@@ -97,17 +145,34 @@ module Aws::SSOOIDC
|
|
97
145
|
InvalidGrantException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
|
98
146
|
InvalidGrantException.struct_class = Types::InvalidGrantException
|
99
147
|
|
148
|
+
InvalidRedirectUriException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
|
149
|
+
InvalidRedirectUriException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
|
150
|
+
InvalidRedirectUriException.struct_class = Types::InvalidRedirectUriException
|
151
|
+
|
100
152
|
InvalidRequestException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
|
153
|
+
InvalidRequestException.add_member(:reason, Shapes::ShapeRef.new(shape: InvalidRequestExceptionReason, location_name: "reason"))
|
101
154
|
InvalidRequestException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
|
102
155
|
InvalidRequestException.struct_class = Types::InvalidRequestException
|
103
156
|
|
157
|
+
InvalidRequestRegionException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
|
158
|
+
InvalidRequestRegionException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
|
159
|
+
InvalidRequestRegionException.add_member(:endpoint, Shapes::ShapeRef.new(shape: Location, location_name: "endpoint"))
|
160
|
+
InvalidRequestRegionException.add_member(:region, Shapes::ShapeRef.new(shape: Region, location_name: "region"))
|
161
|
+
InvalidRequestRegionException.struct_class = Types::InvalidRequestRegionException
|
162
|
+
|
104
163
|
InvalidScopeException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
|
105
164
|
InvalidScopeException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
|
106
165
|
InvalidScopeException.struct_class = Types::InvalidScopeException
|
107
166
|
|
167
|
+
RedirectUris.member = Shapes::ShapeRef.new(shape: URI)
|
168
|
+
|
108
169
|
RegisterClientRequest.add_member(:client_name, Shapes::ShapeRef.new(shape: ClientName, required: true, location_name: "clientName"))
|
109
170
|
RegisterClientRequest.add_member(:client_type, Shapes::ShapeRef.new(shape: ClientType, required: true, location_name: "clientType"))
|
110
171
|
RegisterClientRequest.add_member(:scopes, Shapes::ShapeRef.new(shape: Scopes, location_name: "scopes"))
|
172
|
+
RegisterClientRequest.add_member(:redirect_uris, Shapes::ShapeRef.new(shape: RedirectUris, location_name: "redirectUris"))
|
173
|
+
RegisterClientRequest.add_member(:grant_types, Shapes::ShapeRef.new(shape: GrantTypes, location_name: "grantTypes"))
|
174
|
+
RegisterClientRequest.add_member(:issuer_url, Shapes::ShapeRef.new(shape: URI, location_name: "issuerUrl"))
|
175
|
+
RegisterClientRequest.add_member(:entitled_application_arn, Shapes::ShapeRef.new(shape: ArnType, location_name: "entitledApplicationArn"))
|
111
176
|
RegisterClientRequest.struct_class = Types::RegisterClientRequest
|
112
177
|
|
113
178
|
RegisterClientResponse.add_member(:client_id, Shapes::ShapeRef.new(shape: ClientId, location_name: "clientId"))
|
@@ -153,14 +218,16 @@ module Aws::SSOOIDC
|
|
153
218
|
|
154
219
|
api.metadata = {
|
155
220
|
"apiVersion" => "2019-06-10",
|
221
|
+
"auth" => ["aws.auth#sigv4"],
|
156
222
|
"endpointPrefix" => "oidc",
|
157
223
|
"jsonVersion" => "1.1",
|
158
224
|
"protocol" => "rest-json",
|
225
|
+
"protocols" => ["rest-json"],
|
159
226
|
"serviceAbbreviation" => "SSO OIDC",
|
160
227
|
"serviceFullName" => "AWS SSO OIDC",
|
161
228
|
"serviceId" => "SSO OIDC",
|
162
229
|
"signatureVersion" => "v4",
|
163
|
-
"signingName" => "
|
230
|
+
"signingName" => "sso-oauth",
|
164
231
|
"uid" => "sso-oidc-2019-06-10",
|
165
232
|
}
|
166
233
|
|
@@ -169,6 +236,7 @@ module Aws::SSOOIDC
|
|
169
236
|
o.http_method = "POST"
|
170
237
|
o.http_request_uri = "/token"
|
171
238
|
o['authtype'] = "none"
|
239
|
+
o['auth'] = ["smithy.api#noAuth"]
|
172
240
|
o.input = Shapes::ShapeRef.new(shape: CreateTokenRequest)
|
173
241
|
o.output = Shapes::ShapeRef.new(shape: CreateTokenResponse)
|
174
242
|
o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
|
@@ -184,17 +252,41 @@ module Aws::SSOOIDC
|
|
184
252
|
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
185
253
|
end)
|
186
254
|
|
255
|
+
api.add_operation(:create_token_with_iam, Seahorse::Model::Operation.new.tap do |o|
|
256
|
+
o.name = "CreateTokenWithIAM"
|
257
|
+
o.http_method = "POST"
|
258
|
+
o.http_request_uri = "/token?aws_iam=t"
|
259
|
+
o.input = Shapes::ShapeRef.new(shape: CreateTokenWithIAMRequest)
|
260
|
+
o.output = Shapes::ShapeRef.new(shape: CreateTokenWithIAMResponse)
|
261
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
|
262
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidClientException)
|
263
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidGrantException)
|
264
|
+
o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
|
265
|
+
o.errors << Shapes::ShapeRef.new(shape: UnsupportedGrantTypeException)
|
266
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidScopeException)
|
267
|
+
o.errors << Shapes::ShapeRef.new(shape: AuthorizationPendingException)
|
268
|
+
o.errors << Shapes::ShapeRef.new(shape: SlowDownException)
|
269
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
270
|
+
o.errors << Shapes::ShapeRef.new(shape: ExpiredTokenException)
|
271
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
272
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidRequestRegionException)
|
273
|
+
end)
|
274
|
+
|
187
275
|
api.add_operation(:register_client, Seahorse::Model::Operation.new.tap do |o|
|
188
276
|
o.name = "RegisterClient"
|
189
277
|
o.http_method = "POST"
|
190
278
|
o.http_request_uri = "/client/register"
|
191
279
|
o['authtype'] = "none"
|
280
|
+
o['auth'] = ["smithy.api#noAuth"]
|
192
281
|
o.input = Shapes::ShapeRef.new(shape: RegisterClientRequest)
|
193
282
|
o.output = Shapes::ShapeRef.new(shape: RegisterClientResponse)
|
194
283
|
o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
|
195
284
|
o.errors << Shapes::ShapeRef.new(shape: InvalidScopeException)
|
196
285
|
o.errors << Shapes::ShapeRef.new(shape: InvalidClientMetadataException)
|
197
286
|
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
287
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidRedirectUriException)
|
288
|
+
o.errors << Shapes::ShapeRef.new(shape: UnsupportedGrantTypeException)
|
289
|
+
o.errors << Shapes::ShapeRef.new(shape: SlowDownException)
|
198
290
|
end)
|
199
291
|
|
200
292
|
api.add_operation(:start_device_authorization, Seahorse::Model::Operation.new.tap do |o|
|
@@ -202,6 +294,7 @@ module Aws::SSOOIDC
|
|
202
294
|
o.http_method = "POST"
|
203
295
|
o.http_request_uri = "/device_authorization"
|
204
296
|
o['authtype'] = "none"
|
297
|
+
o['auth'] = ["smithy.api#noAuth"]
|
205
298
|
o.input = Shapes::ShapeRef.new(shape: StartDeviceAuthorizationRequest)
|
206
299
|
o.output = Shapes::ShapeRef.new(shape: StartDeviceAuthorizationResponse)
|
207
300
|
o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
|
@@ -52,15 +52,18 @@ module Aws::SSOOIDC
|
|
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
|
@@ -10,40 +10,42 @@
|
|
10
10
|
module Aws::SSOOIDC
|
11
11
|
class EndpointProvider
|
12
12
|
def resolve_endpoint(parameters)
|
13
|
-
|
14
|
-
|
15
|
-
|
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: {})
|
13
|
+
if Aws::Endpoints::Matchers.set?(parameters.endpoint)
|
14
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
|
15
|
+
raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
|
26
16
|
end
|
27
|
-
if Aws::Endpoints::Matchers.boolean_equals?(
|
28
|
-
|
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"
|
17
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
|
18
|
+
raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
|
32
19
|
end
|
33
|
-
|
34
|
-
|
35
|
-
|
20
|
+
return Aws::Endpoints::Endpoint.new(url: parameters.endpoint, headers: {}, properties: {})
|
21
|
+
end
|
22
|
+
if Aws::Endpoints::Matchers.set?(parameters.region)
|
23
|
+
if (partition_result = Aws::Endpoints::Matchers.aws_partition(parameters.region))
|
24
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
|
25
|
+
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"))
|
26
|
+
return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
27
|
+
end
|
28
|
+
raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
|
36
29
|
end
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
30
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
|
31
|
+
if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
|
32
|
+
if Aws::Endpoints::Matchers.string_equals?(Aws::Endpoints::Matchers.attr(partition_result, "name"), "aws-us-gov")
|
33
|
+
return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{parameters.region}.amazonaws.com", headers: {}, properties: {})
|
34
|
+
end
|
35
|
+
return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{parameters.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?(parameters.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.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
42
|
+
end
|
43
|
+
raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
|
42
44
|
end
|
43
|
-
|
45
|
+
return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
44
46
|
end
|
45
|
-
return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
46
47
|
end
|
48
|
+
raise ArgumentError, "Invalid Configuration: Missing Region"
|
47
49
|
raise ArgumentError, 'No endpoint could be resolved'
|
48
50
|
|
49
51
|
end
|
@@ -12,47 +12,9 @@ module Aws::SSOOIDC
|
|
12
12
|
# @api private
|
13
13
|
module Endpoints
|
14
14
|
|
15
|
-
class CreateToken
|
16
|
-
def self.build(context)
|
17
|
-
unless context.config.regional_endpoint
|
18
|
-
endpoint = context.config.endpoint.to_s
|
19
|
-
end
|
20
|
-
Aws::SSOOIDC::EndpointParameters.new(
|
21
|
-
region: context.config.region,
|
22
|
-
use_dual_stack: context.config.use_dualstack_endpoint,
|
23
|
-
use_fips: context.config.use_fips_endpoint,
|
24
|
-
endpoint: endpoint,
|
25
|
-
)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
class RegisterClient
|
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
15
|
|
43
|
-
|
44
|
-
|
45
|
-
unless context.config.regional_endpoint
|
46
|
-
endpoint = context.config.endpoint.to_s
|
47
|
-
end
|
48
|
-
Aws::SSOOIDC::EndpointParameters.new(
|
49
|
-
region: context.config.region,
|
50
|
-
use_dual_stack: context.config.use_dualstack_endpoint,
|
51
|
-
use_fips: context.config.use_fips_endpoint,
|
52
|
-
endpoint: endpoint,
|
53
|
-
)
|
54
|
-
end
|
16
|
+
def self.parameters_for_operation(context)
|
17
|
+
Aws::SSOOIDC::EndpointParameters.create(context.config)
|
55
18
|
end
|
56
|
-
|
57
19
|
end
|
58
20
|
end
|
@@ -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}
|
@@ -60,6 +62,11 @@ module Aws::SSOOIDC
|
|
60
62
|
@data[:error]
|
61
63
|
end
|
62
64
|
|
65
|
+
# @return [String]
|
66
|
+
def reason
|
67
|
+
@data[:reason]
|
68
|
+
end
|
69
|
+
|
63
70
|
# @return [String]
|
64
71
|
def error_description
|
65
72
|
@data[:error_description]
|
@@ -186,6 +193,26 @@ module Aws::SSOOIDC
|
|
186
193
|
end
|
187
194
|
end
|
188
195
|
|
196
|
+
class InvalidRedirectUriException < ServiceError
|
197
|
+
|
198
|
+
# @param [Seahorse::Client::RequestContext] context
|
199
|
+
# @param [String] message
|
200
|
+
# @param [Aws::SSOOIDC::Types::InvalidRedirectUriException] data
|
201
|
+
def initialize(context, message, data = Aws::EmptyStructure.new)
|
202
|
+
super(context, message, data)
|
203
|
+
end
|
204
|
+
|
205
|
+
# @return [String]
|
206
|
+
def error
|
207
|
+
@data[:error]
|
208
|
+
end
|
209
|
+
|
210
|
+
# @return [String]
|
211
|
+
def error_description
|
212
|
+
@data[:error_description]
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
189
216
|
class InvalidRequestException < ServiceError
|
190
217
|
|
191
218
|
# @param [Seahorse::Client::RequestContext] context
|
@@ -200,10 +227,45 @@ module Aws::SSOOIDC
|
|
200
227
|
@data[:error]
|
201
228
|
end
|
202
229
|
|
230
|
+
# @return [String]
|
231
|
+
def reason
|
232
|
+
@data[:reason]
|
233
|
+
end
|
234
|
+
|
235
|
+
# @return [String]
|
236
|
+
def error_description
|
237
|
+
@data[:error_description]
|
238
|
+
end
|
239
|
+
end
|
240
|
+
|
241
|
+
class InvalidRequestRegionException < ServiceError
|
242
|
+
|
243
|
+
# @param [Seahorse::Client::RequestContext] context
|
244
|
+
# @param [String] message
|
245
|
+
# @param [Aws::SSOOIDC::Types::InvalidRequestRegionException] data
|
246
|
+
def initialize(context, message, data = Aws::EmptyStructure.new)
|
247
|
+
super(context, message, data)
|
248
|
+
end
|
249
|
+
|
250
|
+
# @return [String]
|
251
|
+
def error
|
252
|
+
@data[:error]
|
253
|
+
end
|
254
|
+
|
203
255
|
# @return [String]
|
204
256
|
def error_description
|
205
257
|
@data[:error_description]
|
206
258
|
end
|
259
|
+
|
260
|
+
# @return [String]
|
261
|
+
def endpoint
|
262
|
+
@data[:endpoint]
|
263
|
+
end
|
264
|
+
|
265
|
+
# @return [String]
|
266
|
+
def region
|
267
|
+
@data[:region]
|
268
|
+
end
|
207
269
|
end
|
208
270
|
|
209
271
|
class InvalidScopeException < ServiceError
|
@@ -14,35 +14,49 @@ module Aws::SSOOIDC
|
|
14
14
|
option(
|
15
15
|
:endpoint_provider,
|
16
16
|
doc_type: 'Aws::SSOOIDC::EndpointProvider',
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
rbs_type: 'untyped',
|
18
|
+
docstring: <<~DOCS) do |_cfg|
|
19
|
+
The endpoint provider used to resolve endpoints. Any object that responds to
|
20
|
+
`#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
|
21
|
+
`Aws::SSOOIDC::EndpointParameters`.
|
22
|
+
DOCS
|
22
23
|
Aws::SSOOIDC::EndpointProvider.new
|
23
24
|
end
|
24
25
|
|
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
|
-
params = parameters_for_operation(context)
|
30
|
+
params = Aws::SSOOIDC::Endpoints.parameters_for_operation(context)
|
31
31
|
endpoint = context.config.endpoint_provider.resolve_endpoint(params)
|
32
32
|
|
33
33
|
context.http_request.endpoint = endpoint.url
|
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
|
|
41
|
-
@handler.call(context)
|
43
|
+
with_metrics(context) { @handler.call(context) }
|
42
44
|
end
|
43
45
|
|
44
46
|
private
|
45
47
|
|
48
|
+
def with_metrics(context, &block)
|
49
|
+
metrics = []
|
50
|
+
metrics << 'ENDPOINT_OVERRIDE' unless context.config.regional_endpoint
|
51
|
+
if context[:auth_scheme] && context[:auth_scheme]['name'] == 'sigv4a'
|
52
|
+
metrics << 'SIGV4A_SIGNING'
|
53
|
+
end
|
54
|
+
if context.config.credentials&.credentials&.account_id
|
55
|
+
metrics << 'RESOLVED_ACCOUNT_ID'
|
56
|
+
end
|
57
|
+
Aws::Plugins::UserAgent.metric(*metrics, &block)
|
58
|
+
end
|
59
|
+
|
46
60
|
def apply_endpoint_headers(context, headers)
|
47
61
|
headers.each do |key, values|
|
48
62
|
value = values
|
@@ -53,17 +67,6 @@ module Aws::SSOOIDC
|
|
53
67
|
context.http_request.headers[key] = value
|
54
68
|
end
|
55
69
|
end
|
56
|
-
|
57
|
-
def parameters_for_operation(context)
|
58
|
-
case context.operation_name
|
59
|
-
when :create_token
|
60
|
-
Aws::SSOOIDC::Endpoints::CreateToken.build(context)
|
61
|
-
when :register_client
|
62
|
-
Aws::SSOOIDC::Endpoints::RegisterClient.build(context)
|
63
|
-
when :start_device_authorization
|
64
|
-
Aws::SSOOIDC::Endpoints::StartDeviceAuthorization.build(context)
|
65
|
-
end
|
66
|
-
end
|
67
70
|
end
|
68
71
|
|
69
72
|
def add_handlers(handlers, _config)
|