aws-sdk-core 3.201.2 → 3.226.2

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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +324 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +1 -2
  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/cbor/decoder.rb +0 -2
  10. data/lib/aws-sdk-core/cbor/encoder.rb +2 -2
  11. data/lib/aws-sdk-core/cbor.rb +3 -56
  12. data/lib/aws-sdk-core/client_side_monitoring.rb +9 -0
  13. data/lib/aws-sdk-core/client_stubs.rb +29 -55
  14. data/lib/aws-sdk-core/credential_provider.rb +4 -0
  15. data/lib/aws-sdk-core/credential_provider_chain.rb +35 -8
  16. data/lib/aws-sdk-core/credentials.rb +19 -6
  17. data/lib/aws-sdk-core/ecs_credentials.rb +1 -0
  18. data/lib/aws-sdk-core/endpoints/endpoint.rb +3 -1
  19. data/lib/aws-sdk-core/endpoints/matchers.rb +3 -9
  20. data/lib/aws-sdk-core/endpoints.rb +13 -3
  21. data/lib/aws-sdk-core/error_handler.rb +5 -0
  22. data/lib/aws-sdk-core/errors.rb +2 -2
  23. data/lib/aws-sdk-core/event_emitter.rb +1 -1
  24. data/lib/aws-sdk-core/instance_profile_credentials.rb +1 -0
  25. data/lib/aws-sdk-core/json/error_handler.rb +14 -3
  26. data/lib/aws-sdk-core/json/handler.rb +1 -0
  27. data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
  28. data/lib/aws-sdk-core/log.rb +10 -0
  29. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +332 -170
  30. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +0 -1
  31. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +7 -3
  32. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
  33. data/lib/aws-sdk-core/plugins/http_checksum.rb +2 -8
  34. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +44 -24
  35. data/lib/aws-sdk-core/plugins/sign.rb +18 -5
  36. data/lib/aws-sdk-core/plugins/stub_responses.rb +52 -9
  37. data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
  38. data/lib/aws-sdk-core/plugins/user_agent.rb +48 -9
  39. data/lib/aws-sdk-core/plugins.rb +39 -0
  40. data/lib/aws-sdk-core/process_credentials.rb +3 -2
  41. data/lib/aws-sdk-core/resources.rb +8 -0
  42. data/lib/aws-sdk-core/rest/request/headers.rb +3 -3
  43. data/lib/aws-sdk-core/rpc_v2/builder.rb +1 -1
  44. data/lib/aws-sdk-core/{cbor → rpc_v2}/cbor_engine.rb +4 -5
  45. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +3 -1
  46. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +27 -16
  47. data/lib/aws-sdk-core/rpc_v2/handler.rb +7 -2
  48. data/lib/aws-sdk-core/rpc_v2/parser.rb +9 -1
  49. data/lib/aws-sdk-core/rpc_v2.rb +65 -2
  50. data/lib/aws-sdk-core/shared_config.rb +77 -22
  51. data/lib/aws-sdk-core/shared_credentials.rb +1 -7
  52. data/lib/aws-sdk-core/sso_credentials.rb +4 -1
  53. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  54. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  55. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  56. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  57. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  58. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  59. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +13 -15
  60. data/lib/aws-sdk-core/stubbing.rb +22 -0
  61. data/lib/aws-sdk-core/telemetry/base.rb +177 -0
  62. data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
  63. data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
  64. data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
  65. data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
  66. data/lib/aws-sdk-core/telemetry.rb +78 -0
  67. data/lib/aws-sdk-core/util.rb +2 -1
  68. data/lib/aws-sdk-core/waiters/poller.rb +9 -4
  69. data/lib/aws-sdk-core/xml/error_handler.rb +3 -1
  70. data/lib/aws-sdk-core.rb +82 -112
  71. data/lib/aws-sdk-sso/client.rb +86 -37
  72. data/lib/aws-sdk-sso/client_api.rb +1 -0
  73. data/lib/aws-sdk-sso/endpoint_parameters.rb +9 -6
  74. data/lib/aws-sdk-sso/endpoint_provider.rb +14 -18
  75. data/lib/aws-sdk-sso/endpoints.rb +2 -54
  76. data/lib/aws-sdk-sso/plugins/endpoints.rb +19 -20
  77. data/lib/aws-sdk-sso/types.rb +1 -0
  78. data/lib/aws-sdk-sso.rb +15 -11
  79. data/lib/aws-sdk-ssooidc/client.rb +123 -57
  80. data/lib/aws-sdk-ssooidc/client_api.rb +7 -0
  81. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +9 -6
  82. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +14 -18
  83. data/lib/aws-sdk-ssooidc/endpoints.rb +2 -54
  84. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +19 -20
  85. data/lib/aws-sdk-ssooidc/types.rb +49 -16
  86. data/lib/aws-sdk-ssooidc.rb +15 -11
  87. data/lib/aws-sdk-sts/client.rb +294 -89
  88. data/lib/aws-sdk-sts/client_api.rb +34 -8
  89. data/lib/aws-sdk-sts/customizations.rb +5 -1
  90. data/lib/aws-sdk-sts/endpoint_parameters.rb +10 -9
  91. data/lib/aws-sdk-sts/endpoint_provider.rb +50 -55
  92. data/lib/aws-sdk-sts/endpoints.rb +2 -118
  93. data/lib/aws-sdk-sts/errors.rb +15 -0
  94. data/lib/aws-sdk-sts/plugins/endpoints.rb +19 -28
  95. data/lib/aws-sdk-sts/types.rb +171 -28
  96. data/lib/aws-sdk-sts.rb +15 -11
  97. data/lib/seahorse/client/async_base.rb +4 -5
  98. data/lib/seahorse/client/base.rb +0 -14
  99. data/lib/seahorse/client/h2/connection.rb +18 -28
  100. data/lib/seahorse/client/h2/handler.rb +13 -3
  101. data/lib/seahorse/client/http/response.rb +1 -1
  102. data/lib/seahorse/client/net_http/connection_pool.rb +12 -3
  103. data/lib/seahorse/client/net_http/handler.rb +21 -9
  104. data/lib/seahorse/client/networking_error.rb +1 -1
  105. data/lib/seahorse/client/plugins/h2.rb +4 -4
  106. data/lib/seahorse/client/plugins/net_http.rb +9 -0
  107. data/lib/seahorse/client/request_context.rb +8 -1
  108. data/lib/seahorse/client/response.rb +2 -0
  109. data/lib/seahorse/util.rb +2 -1
  110. data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
  111. data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
  112. data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
  113. data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
  114. data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
  115. data/sig/seahorse/client/async_base.rbs +18 -0
  116. metadata +61 -19
@@ -10,43 +10,39 @@
10
10
  module Aws::SSOOIDC
11
11
  class EndpointProvider
12
12
  def resolve_endpoint(parameters)
13
- region = parameters.region
14
- use_dual_stack = parameters.use_dual_stack
15
- use_fips = parameters.use_fips
16
- endpoint = parameters.endpoint
17
- if Aws::Endpoints::Matchers.set?(endpoint)
18
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
13
+ if Aws::Endpoints::Matchers.set?(parameters.endpoint)
14
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
19
15
  raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
20
16
  end
21
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
17
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
22
18
  raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
19
  end
24
- return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
20
+ return Aws::Endpoints::Endpoint.new(url: parameters.endpoint, headers: {}, properties: {})
25
21
  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)
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)
29
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"))
30
- return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
26
+ return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
27
  end
32
28
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
29
  end
34
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
30
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
35
31
  if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
32
  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: {})
33
+ return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{parameters.region}.amazonaws.com", headers: {}, properties: {})
38
34
  end
39
- return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
35
+ return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
40
36
  end
41
37
  raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
42
38
  end
43
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
39
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
44
40
  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: {})
41
+ return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
46
42
  end
47
43
  raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
48
44
  end
49
- return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
45
+ return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
50
46
  end
51
47
  end
52
48
  raise ArgumentError, "Invalid Configuration: Missing Region"
@@ -12,61 +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 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
15
 
43
- class RegisterClient
44
- def self.build(context)
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
- class StartDeviceAuthorization
58
- def self.build(context)
59
- unless context.config.regional_endpoint
60
- endpoint = context.config.endpoint.to_s
61
- end
62
- Aws::SSOOIDC::EndpointParameters.new(
63
- region: context.config.region,
64
- use_dual_stack: context.config.use_dualstack_endpoint,
65
- use_fips: context.config.use_fips_endpoint,
66
- endpoint: endpoint,
67
- )
68
- end
69
- end
70
-
71
19
  end
72
20
  end
@@ -15,11 +15,11 @@ module Aws::SSOOIDC
15
15
  :endpoint_provider,
16
16
  doc_type: 'Aws::SSOOIDC::EndpointProvider',
17
17
  rbs_type: 'untyped',
18
- docstring: 'The endpoint provider used to resolve endpoints. Any '\
19
- 'object that responds to `#resolve_endpoint(parameters)` '\
20
- 'where `parameters` is a Struct similar to '\
21
- '`Aws::SSOOIDC::EndpointParameters`'
22
- ) do |cfg|
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
23
23
  Aws::SSOOIDC::EndpointProvider.new
24
24
  end
25
25
 
@@ -27,7 +27,7 @@ module Aws::SSOOIDC
27
27
  class Handler < Seahorse::Client::Handler
28
28
  def call(context)
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
@@ -40,11 +40,23 @@ module Aws::SSOOIDC
40
40
  context[:auth_scheme] =
41
41
  Aws::Endpoints.resolve_auth_scheme(context, endpoint)
42
42
 
43
- @handler.call(context)
43
+ with_metrics(context) { @handler.call(context) }
44
44
  end
45
45
 
46
46
  private
47
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
+
48
60
  def apply_endpoint_headers(context, headers)
49
61
  headers.each do |key, values|
50
62
  value = values
@@ -55,19 +67,6 @@ module Aws::SSOOIDC
55
67
  context.http_request.headers[key] = value
56
68
  end
57
69
  end
58
-
59
- def parameters_for_operation(context)
60
- case context.operation_name
61
- when :create_token
62
- Aws::SSOOIDC::Endpoints::CreateToken.build(context)
63
- when :create_token_with_iam
64
- Aws::SSOOIDC::Endpoints::CreateTokenWithIAM.build(context)
65
- when :register_client
66
- Aws::SSOOIDC::Endpoints::RegisterClient.build(context)
67
- when :start_device_authorization
68
- Aws::SSOOIDC::Endpoints::StartDeviceAuthorization.build(context)
69
- end
70
- end
71
70
  end
72
71
 
73
72
  def add_handlers(handlers, _config)
@@ -53,6 +53,25 @@ module Aws::SSOOIDC
53
53
  include Aws::Structure
54
54
  end
55
55
 
56
+ # This structure contains Amazon Web Services-specific parameter
57
+ # extensions for the token endpoint responses and includes the identity
58
+ # context.
59
+ #
60
+ # @!attribute [rw] identity_context
61
+ # STS context assertion that carries a user identifier to the Amazon
62
+ # Web Services service that it calls and can be used to obtain an
63
+ # identity-enhanced IAM role session. This value corresponds to the
64
+ # `sts:identity_context` claim in the ID token.
65
+ # @return [String]
66
+ #
67
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/AwsAdditionalDetails AWS API Documentation
68
+ #
69
+ class AwsAdditionalDetails < Struct.new(
70
+ :identity_context)
71
+ SENSITIVE = []
72
+ include Aws::Structure
73
+ end
74
+
56
75
  # @!attribute [rw] client_id
57
76
  # The unique identifier string for the client or application. This
58
77
  # value comes from the result of the RegisterClient API.
@@ -64,34 +83,32 @@ module Aws::SSOOIDC
64
83
  # @return [String]
65
84
  #
66
85
  # @!attribute [rw] grant_type
67
- # Supports the following OAuth grant types: Device Code and Refresh
68
- # Token. Specify either of the following values, depending on the
69
- # grant type that you want:
86
+ # Supports the following OAuth grant types: Authorization Code, Device
87
+ # Code, and Refresh Token. Specify one of the following values,
88
+ # depending on the grant type that you want:
89
+ #
90
+ # * Authorization Code - `authorization_code`
70
91
  #
71
92
  # * Device Code - `urn:ietf:params:oauth:grant-type:device_code`
72
93
  #
73
94
  # * Refresh Token - `refresh_token`
74
- #
75
- # For information about how to obtain the device code, see the
76
- # StartDeviceAuthorization topic.
77
95
  # @return [String]
78
96
  #
79
97
  # @!attribute [rw] device_code
80
98
  # Used only when calling this API for the Device Code grant type. This
81
- # short-term code is used to identify this authorization request. This
82
- # comes from the result of the StartDeviceAuthorization API.
99
+ # short-lived code is used to identify this authorization request.
100
+ # This comes from the result of the StartDeviceAuthorization API.
83
101
  # @return [String]
84
102
  #
85
103
  # @!attribute [rw] code
86
104
  # Used only when calling this API for the Authorization Code grant
87
- # type. The short-term code is used to identify this authorization
88
- # request. This grant type is currently unsupported for the
89
- # CreateToken API.
105
+ # type. The short-lived code is used to identify this authorization
106
+ # request.
90
107
  # @return [String]
91
108
  #
92
109
  # @!attribute [rw] refresh_token
93
110
  # Used only when calling this API for the Refresh Token grant type.
94
- # This token is used to refresh short-term tokens, such as the access
111
+ # This token is used to refresh short-lived tokens, such as the access
95
112
  # token, that might expire.
96
113
  #
97
114
  # For more information about the features and limitations of the
@@ -217,7 +234,7 @@ module Aws::SSOOIDC
217
234
  #
218
235
  # @!attribute [rw] code
219
236
  # Used only when calling this API for the Authorization Code grant
220
- # type. This short-term code is used to identify this authorization
237
+ # type. This short-lived code is used to identify this authorization
221
238
  # request. The code is obtained through a redirect from IAM Identity
222
239
  # Center to a redirect URI persisted in the Authorization Code
223
240
  # GrantOptions for the application.
@@ -225,7 +242,7 @@ module Aws::SSOOIDC
225
242
  #
226
243
  # @!attribute [rw] refresh_token
227
244
  # Used only when calling this API for the Refresh Token grant type.
228
- # This token is used to refresh short-term tokens, such as the access
245
+ # This token is used to refresh short-lived tokens, such as the access
229
246
  # token, that might expire.
230
247
  #
231
248
  # For more information about the features and limitations of the
@@ -358,6 +375,13 @@ module Aws::SSOOIDC
358
375
  # token that is issued is limited to the scopes that are granted.
359
376
  # @return [Array<String>]
360
377
  #
378
+ # @!attribute [rw] aws_additional_details
379
+ # A structure containing information from the `idToken`. Only the
380
+ # `identityContext` is in it, which is a value extracted from the
381
+ # `idToken`. This provides direct access to identity information
382
+ # without requiring JWT parsing.
383
+ # @return [Types::AwsAdditionalDetails]
384
+ #
361
385
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAMResponse AWS API Documentation
362
386
  #
363
387
  class CreateTokenWithIAMResponse < Struct.new(
@@ -367,7 +391,8 @@ module Aws::SSOOIDC
367
391
  :refresh_token,
368
392
  :id_token,
369
393
  :issued_token_type,
370
- :scope)
394
+ :scope,
395
+ :aws_additional_details)
371
396
  SENSITIVE = [:access_token, :refresh_token, :id_token]
372
397
  include Aws::Structure
373
398
  end
@@ -606,7 +631,14 @@ module Aws::SSOOIDC
606
631
  # @!attribute [rw] grant_types
607
632
  # The list of OAuth 2.0 grant types that are defined by the client.
608
633
  # This list is used to restrict the token granting flows available to
609
- # the client.
634
+ # the client. Supports the following OAuth 2.0 grant types:
635
+ # Authorization Code, Device Code, and Refresh Token.
636
+ #
637
+ # * Authorization Code - `authorization_code`
638
+ #
639
+ # * Device Code - `urn:ietf:params:oauth:grant-type:device_code`
640
+ #
641
+ # * Refresh Token - `refresh_token`
610
642
  # @return [Array<String>]
611
643
  #
612
644
  # @!attribute [rw] issuer_url
@@ -821,3 +853,4 @@ module Aws::SSOOIDC
821
853
 
822
854
  end
823
855
  end
856
+
@@ -13,16 +13,7 @@ unless Module.const_defined?(:Aws)
13
13
  require 'aws-sigv4'
14
14
  end
15
15
 
16
- require_relative 'aws-sdk-ssooidc/types'
17
- require_relative 'aws-sdk-ssooidc/client_api'
18
- require_relative 'aws-sdk-ssooidc/plugins/endpoints.rb'
19
- require_relative 'aws-sdk-ssooidc/client'
20
- require_relative 'aws-sdk-ssooidc/errors'
21
- require_relative 'aws-sdk-ssooidc/resource'
22
- require_relative 'aws-sdk-ssooidc/endpoint_parameters'
23
- require_relative 'aws-sdk-ssooidc/endpoint_provider'
24
- require_relative 'aws-sdk-ssooidc/endpoints'
25
- require_relative 'aws-sdk-ssooidc/customizations'
16
+ Aws::Plugins::GlobalConfiguration.add_identifier(:ssooidc)
26
17
 
27
18
  # This module provides support for AWS SSO OIDC. This module is available in the
28
19
  # `aws-sdk-core` gem.
@@ -53,7 +44,20 @@ require_relative 'aws-sdk-ssooidc/customizations'
53
44
  #
54
45
  # @!group service
55
46
  module Aws::SSOOIDC
47
+ autoload :Types, 'aws-sdk-ssooidc/types'
48
+ autoload :ClientApi, 'aws-sdk-ssooidc/client_api'
49
+ module Plugins
50
+ autoload :Endpoints, 'aws-sdk-ssooidc/plugins/endpoints.rb'
51
+ end
52
+ autoload :Client, 'aws-sdk-ssooidc/client'
53
+ autoload :Errors, 'aws-sdk-ssooidc/errors'
54
+ autoload :Resource, 'aws-sdk-ssooidc/resource'
55
+ autoload :EndpointParameters, 'aws-sdk-ssooidc/endpoint_parameters'
56
+ autoload :EndpointProvider, 'aws-sdk-ssooidc/endpoint_provider'
57
+ autoload :Endpoints, 'aws-sdk-ssooidc/endpoints'
56
58
 
57
- GEM_VERSION = '3.201.2'
59
+ GEM_VERSION = '3.226.2'
58
60
 
59
61
  end
62
+
63
+ require_relative 'aws-sdk-ssooidc/customizations'