aws-sdk-core 3.193.0 → 3.196.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 695fd9bb743f174c2d95150bbd990e4918a7ed369f302e76f8da7d280fc3f67a
4
- data.tar.gz: 1cde2df63d79f4a15723b62420c0e97b70e6cb42dff41e9116704c73a9793454
3
+ metadata.gz: b77f2eeb94a52526e385b422b59703e582c75af70402ab009b66d542694259c8
4
+ data.tar.gz: e97d33313f38d3b6dd565a02b3c1ccdc34d5960cd076ace3449fe50f7f75f2b6
5
5
  SHA512:
6
- metadata.gz: f468ab811c2a74ab4dd844258ba6f8b5e515771c4409cd03018c5fd1a33b11cf50f03d43ea2efb5201fdf8cf4ffee83fc1cc7bec6016206a05e6b05b5dbdd160
7
- data.tar.gz: 44a637e590341dec00e23586c0c0d8881ad863aa94b73ddd75686fa08f2491e2c1d15fc8d409896cddee00e7eef0c585a98bf689249a9ae5839131f38e6d2ac9
6
+ metadata.gz: 2efdc811c495c91558cf5144599eff67f2e828a94d90d4fd31d49575a9bff4456e7f237aa79853cdb6f8fba016b9011cc8f6d8677596c85a9e6179f606431961
7
+ data.tar.gz: e933ae0dc9b2d77e0455a1af5f5c635833b394ec2f70f90133af52993992134b56481952124d5a2448182a6c180c4cb1483114667ea5d2437891e22a739e3f44
data/CHANGELOG.md CHANGED
@@ -1,6 +1,42 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 3.196.1 (2024-05-14)
5
+ ------------------
6
+
7
+ * Issue - Fix `ConnectionPool` for `.empty!` and `.clear!` since it prevented adding a new key from being added to the pool (#3020).
8
+
9
+ 3.196.0 (2024-05-13)
10
+ ------------------
11
+
12
+ * Feature - Updated Aws::STS::Client with the latest API changes.
13
+
14
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
15
+
16
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
17
+
18
+ 3.195.0 (2024-05-10)
19
+ ------------------
20
+
21
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
22
+
23
+ * Feature - Updated request parameters for PKCE support.
24
+
25
+ 3.194.2 (2024-05-07)
26
+ ------------------
27
+
28
+ * Issue - Fix issue where `ConnectionPool` size iteration would prevent a new key from being added to the pool.
29
+
30
+ 3.194.1 (2024-05-03)
31
+ ------------------
32
+
33
+ * Issue - Update EC2 protocol to not serialize empty lists.
34
+
35
+ 3.194.0 (2024-04-30)
36
+ ------------------
37
+
38
+ * Feature - Add an API private cache for S3 Express and Access Grants.
39
+
4
40
  3.193.0 (2024-04-25)
5
41
  ------------------
6
42
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.193.0
1
+ 3.196.1
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Aws
4
+ # @api private
5
+ # A simple thread safe LRU cache
6
+ class LRUCache
7
+ # @param [Hash] options
8
+ # @option options [Integer] :max_entries (100) Maximum number of entries
9
+ # @option options [Integer] :expiration (nil) Expiration time in seconds
10
+ def initialize(options = {})
11
+ @max_entries = options[:max_entries] || 100
12
+ @expiration = options[:expiration]
13
+ @entries = {}
14
+ @mutex = Mutex.new
15
+ end
16
+
17
+ # @param [String] key
18
+ # @return [Object]
19
+ def [](key)
20
+ @mutex.synchronize do
21
+ value = @entries[key]
22
+ if value
23
+ @entries.delete(key)
24
+ @entries[key] = value unless value.expired?
25
+ end
26
+ @entries[key]&.value
27
+ end
28
+ end
29
+
30
+ # @param [String] key
31
+ # @param [Object] value
32
+ def []=(key, value)
33
+ @mutex.synchronize do
34
+ @entries.shift unless @entries.size < @max_entries
35
+ # delete old value if exists
36
+ @entries.delete(key)
37
+ @entries[key] = Entry.new(value: value, expiration: @expiration)
38
+ @entries[key].value
39
+ end
40
+ end
41
+
42
+ # @param [String] key
43
+ # @return [Boolean]
44
+ def key?(key)
45
+ @mutex.synchronize do
46
+ @entries.delete(key) if @entries.key?(key) && @entries[key].expired?
47
+ @entries.key?(key)
48
+ end
49
+ end
50
+
51
+ def clear
52
+ @mutex.synchronize do
53
+ @entries.clear
54
+ end
55
+ end
56
+
57
+ # @api private
58
+ class Entry
59
+ def initialize(options = {})
60
+ @value = options[:value]
61
+ @expiration = options[:expiration]
62
+ @created_time = Time.now
63
+ end
64
+
65
+ # @return [Object]
66
+ attr_reader :value
67
+
68
+ def expired?
69
+ return false unless @expiration
70
+
71
+ Time.now - @created_time > @expiration
72
+ end
73
+ end
74
+ end
75
+ end
@@ -14,8 +14,9 @@ module Aws
14
14
  doc_type: 'String',
15
15
  docstring: <<-DOCS) do |cfg|
16
16
  A unique and opaque application ID that is appended to the
17
- User-Agent header as app/<sdk_ua_app_id>. It should have a
18
- maximum length of 50.
17
+ User-Agent header as app/sdk_ua_app_id. It should have a
18
+ maximum length of 50. This variable is sourced from environment
19
+ variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
19
20
  DOCS
20
21
  app_id = ENV['AWS_SDK_UA_APP_ID']
21
22
  app_id ||= Aws.shared_config.sdk_ua_app_id(profile: cfg.profile)
@@ -31,13 +31,11 @@ module Aws
31
31
  end
32
32
 
33
33
  def list(ref, values, prefix)
34
- if values.empty?
35
- set(prefix, '')
36
- else
37
- member_ref = ref.shape.member
38
- values.each.with_index do |value, n|
39
- format(member_ref, value, "#{prefix}.#{n+1}")
40
- end
34
+ return if values.empty?
35
+
36
+ member_ref = ref.shape.member
37
+ values.each.with_index do |value, n|
38
+ format(member_ref, value, "#{prefix}.#{n + 1}")
41
39
  end
42
40
  end
43
41
 
data/lib/aws-sdk-core.rb CHANGED
@@ -96,6 +96,7 @@ require_relative 'aws-sdk-core/client_side_monitoring/publisher'
96
96
  require_relative 'aws-sdk-core/arn'
97
97
  require_relative 'aws-sdk-core/arn_parser'
98
98
  require_relative 'aws-sdk-core/ec2_metadata'
99
+ require_relative 'aws-sdk-core/lru_cache'
99
100
 
100
101
  # dynamic endpoints
101
102
  require_relative 'aws-sdk-core/endpoints'
@@ -301,8 +301,9 @@ module Aws::SSO
301
301
  #
302
302
  # @option options [String] :sdk_ua_app_id
303
303
  # A unique and opaque application ID that is appended to the
304
- # User-Agent header as app/<sdk_ua_app_id>. It should have a
305
- # maximum length of 50.
304
+ # User-Agent header as app/sdk_ua_app_id. It should have a
305
+ # maximum length of 50. This variable is sourced from environment
306
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
306
307
  #
307
308
  # @option options [String] :secret_access_key
308
309
  #
@@ -629,7 +630,7 @@ module Aws::SSO
629
630
  params: params,
630
631
  config: config)
631
632
  context[:gem_name] = 'aws-sdk-core'
632
- context[:gem_version] = '3.193.0'
633
+ context[:gem_version] = '3.196.1'
633
634
  Seahorse::Client::Request.new(handlers, context)
634
635
  end
635
636
 
data/lib/aws-sdk-sso.rb CHANGED
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-sso/customizations'
54
54
  # @!group service
55
55
  module Aws::SSO
56
56
 
57
- GEM_VERSION = '3.193.0'
57
+ GEM_VERSION = '3.196.1'
58
58
 
59
59
  end
@@ -301,8 +301,9 @@ module Aws::SSOOIDC
301
301
  #
302
302
  # @option options [String] :sdk_ua_app_id
303
303
  # A unique and opaque application ID that is appended to the
304
- # User-Agent header as app/<sdk_ua_app_id>. It should have a
305
- # maximum length of 50.
304
+ # User-Agent header as app/sdk_ua_app_id. It should have a
305
+ # maximum length of 50. This variable is sourced from environment
306
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
306
307
  #
307
308
  # @option options [String] :secret_access_key
308
309
  #
@@ -471,6 +472,11 @@ module Aws::SSOOIDC
471
472
  # This value specifies the location of the client or application that
472
473
  # has registered to receive the authorization code.
473
474
  #
475
+ # @option params [String] :code_verifier
476
+ # Used only when calling this API for the Authorization Code grant type.
477
+ # This value is generated by the client and presented to validate the
478
+ # original code challenge value the client passed at authorization time.
479
+ #
474
480
  # @return [Types::CreateTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
475
481
  #
476
482
  # * {Types::CreateTokenResponse#access_token #access_token} => String
@@ -528,6 +534,7 @@ module Aws::SSOOIDC
528
534
  # refresh_token: "RefreshToken",
529
535
  # scope: ["Scope"],
530
536
  # redirect_uri: "URI",
537
+ # code_verifier: "CodeVerifier",
531
538
  # })
532
539
  #
533
540
  # @example Response structure
@@ -549,8 +556,9 @@ module Aws::SSOOIDC
549
556
 
550
557
  # Creates and returns access and refresh tokens for clients and
551
558
  # applications that are authenticated using IAM entities. The access
552
- # token can be used to fetch short-term credentials for the assigned AWS
553
- # accounts or to access application APIs using `bearer` authentication.
559
+ # token can be used to fetch short-term credentials for the assigned
560
+ # Amazon Web Services accounts or to access application APIs using
561
+ # `bearer` authentication.
554
562
  #
555
563
  # @option params [required, String] :client_id
556
564
  # The unique identifier string for the client or application. This value
@@ -631,6 +639,11 @@ module Aws::SSOOIDC
631
639
  #
632
640
  # * Refresh Token - `urn:ietf:params:oauth:token-type:refresh_token`
633
641
  #
642
+ # @option params [String] :code_verifier
643
+ # Used only when calling this API for the Authorization Code grant type.
644
+ # This value is generated by the client and presented to validate the
645
+ # original code challenge value the client passed at authorization time.
646
+ #
634
647
  # @return [Types::CreateTokenWithIAMResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
635
648
  #
636
649
  # * {Types::CreateTokenWithIAMResponse#access_token #access_token} => String
@@ -753,6 +766,7 @@ module Aws::SSOOIDC
753
766
  # subject_token: "SubjectToken",
754
767
  # subject_token_type: "TokenTypeURI",
755
768
  # requested_token_type: "TokenTypeURI",
769
+ # code_verifier: "CodeVerifier",
756
770
  # })
757
771
  #
758
772
  # @example Response structure
@@ -791,6 +805,28 @@ module Aws::SSOOIDC
791
805
  # this list is used to restrict permissions when granting an access
792
806
  # token.
793
807
  #
808
+ # @option params [Array<String>] :redirect_uris
809
+ # The list of redirect URI that are defined by the client. At completion
810
+ # of authorization, this list is used to restrict what locations the
811
+ # user agent can be redirected back to.
812
+ #
813
+ # @option params [Array<String>] :grant_types
814
+ # The list of OAuth 2.0 grant types that are defined by the client. This
815
+ # list is used to restrict the token granting flows available to the
816
+ # client.
817
+ #
818
+ # @option params [String] :issuer_url
819
+ # The IAM Identity Center Issuer URL associated with an instance of IAM
820
+ # Identity Center. This value is needed for user access to resources
821
+ # through the client.
822
+ #
823
+ # @option params [String] :entitled_application_arn
824
+ # This IAM Identity Center application ARN is used to define
825
+ # administrator-managed configuration for public client access to
826
+ # resources. At authorization, the scopes, grants, and redirect URI
827
+ # available to this client will be restricted by this application
828
+ # resource.
829
+ #
794
830
  # @return [Types::RegisterClientResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
795
831
  #
796
832
  # * {Types::RegisterClientResponse#client_id #client_id} => String
@@ -806,6 +842,15 @@ module Aws::SSOOIDC
806
842
  # resp = client.register_client({
807
843
  # client_name: "My IDE Plugin",
808
844
  # client_type: "public",
845
+ # entitled_application_arn: "arn:aws:sso::ACCOUNTID:application/ssoins-1111111111111111/apl-1111111111111111",
846
+ # grant_types: [
847
+ # "authorization_code",
848
+ # "refresh_token",
849
+ # ],
850
+ # issuer_url: "https://identitycenter.amazonaws.com/ssoins-1111111111111111",
851
+ # redirect_uris: [
852
+ # "127.0.0.1:PORT/oauth/callback",
853
+ # ],
809
854
  # scopes: [
810
855
  # "sso:account:access",
811
856
  # "codewhisperer:completions",
@@ -826,6 +871,10 @@ module Aws::SSOOIDC
826
871
  # client_name: "ClientName", # required
827
872
  # client_type: "ClientType", # required
828
873
  # scopes: ["Scope"],
874
+ # redirect_uris: ["URI"],
875
+ # grant_types: ["GrantType"],
876
+ # issuer_url: "URI",
877
+ # entitled_application_arn: "ArnType",
829
878
  # })
830
879
  #
831
880
  # @example Response structure
@@ -934,7 +983,7 @@ module Aws::SSOOIDC
934
983
  params: params,
935
984
  config: config)
936
985
  context[:gem_name] = 'aws-sdk-core'
937
- context[:gem_version] = '3.193.0'
986
+ context[:gem_version] = '3.196.1'
938
987
  Seahorse::Client::Request.new(handlers, context)
939
988
  end
940
989
 
@@ -15,6 +15,7 @@ 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')
18
19
  Assertion = Shapes::StringShape.new(name: 'Assertion')
19
20
  AuthCode = Shapes::StringShape.new(name: 'AuthCode')
20
21
  AuthorizationPendingException = Shapes::StructureShape.new(name: 'AuthorizationPendingException')
@@ -22,6 +23,7 @@ module Aws::SSOOIDC
22
23
  ClientName = Shapes::StringShape.new(name: 'ClientName')
23
24
  ClientSecret = Shapes::StringShape.new(name: 'ClientSecret')
24
25
  ClientType = Shapes::StringShape.new(name: 'ClientType')
26
+ CodeVerifier = Shapes::StringShape.new(name: 'CodeVerifier')
25
27
  CreateTokenRequest = Shapes::StructureShape.new(name: 'CreateTokenRequest')
26
28
  CreateTokenResponse = Shapes::StructureShape.new(name: 'CreateTokenResponse')
27
29
  CreateTokenWithIAMRequest = Shapes::StructureShape.new(name: 'CreateTokenWithIAMRequest')
@@ -32,17 +34,20 @@ module Aws::SSOOIDC
32
34
  ExpirationInSeconds = Shapes::IntegerShape.new(name: 'ExpirationInSeconds')
33
35
  ExpiredTokenException = Shapes::StructureShape.new(name: 'ExpiredTokenException')
34
36
  GrantType = Shapes::StringShape.new(name: 'GrantType')
37
+ GrantTypes = Shapes::ListShape.new(name: 'GrantTypes')
35
38
  IdToken = Shapes::StringShape.new(name: 'IdToken')
36
39
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
37
40
  IntervalInSeconds = Shapes::IntegerShape.new(name: 'IntervalInSeconds')
38
41
  InvalidClientException = Shapes::StructureShape.new(name: 'InvalidClientException')
39
42
  InvalidClientMetadataException = Shapes::StructureShape.new(name: 'InvalidClientMetadataException')
40
43
  InvalidGrantException = Shapes::StructureShape.new(name: 'InvalidGrantException')
44
+ InvalidRedirectUriException = Shapes::StructureShape.new(name: 'InvalidRedirectUriException')
41
45
  InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
42
46
  InvalidRequestRegionException = Shapes::StructureShape.new(name: 'InvalidRequestRegionException')
43
47
  InvalidScopeException = Shapes::StructureShape.new(name: 'InvalidScopeException')
44
48
  Location = Shapes::StringShape.new(name: 'Location')
45
49
  LongTimeStampType = Shapes::IntegerShape.new(name: 'LongTimeStampType')
50
+ RedirectUris = Shapes::ListShape.new(name: 'RedirectUris')
46
51
  RefreshToken = Shapes::StringShape.new(name: 'RefreshToken')
47
52
  Region = Shapes::StringShape.new(name: 'Region')
48
53
  RegisterClientRequest = Shapes::StructureShape.new(name: 'RegisterClientRequest')
@@ -76,6 +81,7 @@ module Aws::SSOOIDC
76
81
  CreateTokenRequest.add_member(:refresh_token, Shapes::ShapeRef.new(shape: RefreshToken, location_name: "refreshToken"))
77
82
  CreateTokenRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scopes, location_name: "scope"))
78
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"))
79
85
  CreateTokenRequest.struct_class = Types::CreateTokenRequest
80
86
 
81
87
  CreateTokenResponse.add_member(:access_token, Shapes::ShapeRef.new(shape: AccessToken, location_name: "accessToken"))
@@ -95,6 +101,7 @@ module Aws::SSOOIDC
95
101
  CreateTokenWithIAMRequest.add_member(:subject_token, Shapes::ShapeRef.new(shape: SubjectToken, location_name: "subjectToken"))
96
102
  CreateTokenWithIAMRequest.add_member(:subject_token_type, Shapes::ShapeRef.new(shape: TokenTypeURI, location_name: "subjectTokenType"))
97
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"))
98
105
  CreateTokenWithIAMRequest.struct_class = Types::CreateTokenWithIAMRequest
99
106
 
100
107
  CreateTokenWithIAMResponse.add_member(:access_token, Shapes::ShapeRef.new(shape: AccessToken, location_name: "accessToken"))
@@ -110,6 +117,8 @@ module Aws::SSOOIDC
110
117
  ExpiredTokenException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
111
118
  ExpiredTokenException.struct_class = Types::ExpiredTokenException
112
119
 
120
+ GrantTypes.member = Shapes::ShapeRef.new(shape: GrantType)
121
+
113
122
  InternalServerException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
114
123
  InternalServerException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
115
124
  InternalServerException.struct_class = Types::InternalServerException
@@ -126,6 +135,10 @@ module Aws::SSOOIDC
126
135
  InvalidGrantException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
127
136
  InvalidGrantException.struct_class = Types::InvalidGrantException
128
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
+
129
142
  InvalidRequestException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
130
143
  InvalidRequestException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
131
144
  InvalidRequestException.struct_class = Types::InvalidRequestException
@@ -140,9 +153,15 @@ module Aws::SSOOIDC
140
153
  InvalidScopeException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
141
154
  InvalidScopeException.struct_class = Types::InvalidScopeException
142
155
 
156
+ RedirectUris.member = Shapes::ShapeRef.new(shape: URI)
157
+
143
158
  RegisterClientRequest.add_member(:client_name, Shapes::ShapeRef.new(shape: ClientName, required: true, location_name: "clientName"))
144
159
  RegisterClientRequest.add_member(:client_type, Shapes::ShapeRef.new(shape: ClientType, required: true, location_name: "clientType"))
145
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"))
146
165
  RegisterClientRequest.struct_class = Types::RegisterClientRequest
147
166
 
148
167
  RegisterClientResponse.add_member(:client_id, Shapes::ShapeRef.new(shape: ClientId, location_name: "clientId"))
@@ -191,6 +210,7 @@ module Aws::SSOOIDC
191
210
  "endpointPrefix" => "oidc",
192
211
  "jsonVersion" => "1.1",
193
212
  "protocol" => "rest-json",
213
+ "protocols" => ["rest-json"],
194
214
  "serviceAbbreviation" => "SSO OIDC",
195
215
  "serviceFullName" => "AWS SSO OIDC",
196
216
  "serviceId" => "SSO OIDC",
@@ -250,6 +270,8 @@ module Aws::SSOOIDC
250
270
  o.errors << Shapes::ShapeRef.new(shape: InvalidScopeException)
251
271
  o.errors << Shapes::ShapeRef.new(shape: InvalidClientMetadataException)
252
272
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
273
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRedirectUriException)
274
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedGrantTypeException)
253
275
  end)
254
276
 
255
277
  api.add_operation(:start_device_authorization, Seahorse::Model::Operation.new.tap do |o|
@@ -34,6 +34,7 @@ module Aws::SSOOIDC
34
34
  # * {InvalidClientException}
35
35
  # * {InvalidClientMetadataException}
36
36
  # * {InvalidGrantException}
37
+ # * {InvalidRedirectUriException}
37
38
  # * {InvalidRequestException}
38
39
  # * {InvalidRequestRegionException}
39
40
  # * {InvalidScopeException}
@@ -187,6 +188,26 @@ module Aws::SSOOIDC
187
188
  end
188
189
  end
189
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
+
190
211
  class InvalidRequestException < ServiceError
191
212
 
192
213
  # @param [Seahorse::Client::RequestContext] context
@@ -118,6 +118,13 @@ module Aws::SSOOIDC
118
118
  # that has registered to receive the authorization code.
119
119
  # @return [String]
120
120
  #
121
+ # @!attribute [rw] code_verifier
122
+ # Used only when calling this API for the Authorization Code grant
123
+ # type. This value is generated by the client and presented to
124
+ # validate the original code challenge value the client passed at
125
+ # authorization time.
126
+ # @return [String]
127
+ #
121
128
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenRequest AWS API Documentation
122
129
  #
123
130
  class CreateTokenRequest < Struct.new(
@@ -128,14 +135,15 @@ module Aws::SSOOIDC
128
135
  :code,
129
136
  :refresh_token,
130
137
  :scope,
131
- :redirect_uri)
132
- SENSITIVE = [:client_secret, :refresh_token]
138
+ :redirect_uri,
139
+ :code_verifier)
140
+ SENSITIVE = [:client_secret, :refresh_token, :code_verifier]
133
141
  include Aws::Structure
134
142
  end
135
143
 
136
144
  # @!attribute [rw] access_token
137
- # A bearer token to access AWS accounts and applications assigned to a
138
- # user.
145
+ # A bearer token to access Amazon Web Services accounts and
146
+ # applications assigned to a user.
139
147
  # @return [String]
140
148
  #
141
149
  # @!attribute [rw] token_type
@@ -278,6 +286,13 @@ module Aws::SSOOIDC
278
286
  # * Refresh Token - `urn:ietf:params:oauth:token-type:refresh_token`
279
287
  # @return [String]
280
288
  #
289
+ # @!attribute [rw] code_verifier
290
+ # Used only when calling this API for the Authorization Code grant
291
+ # type. This value is generated by the client and presented to
292
+ # validate the original code challenge value the client passed at
293
+ # authorization time.
294
+ # @return [String]
295
+ #
281
296
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAMRequest AWS API Documentation
282
297
  #
283
298
  class CreateTokenWithIAMRequest < Struct.new(
@@ -290,14 +305,15 @@ module Aws::SSOOIDC
290
305
  :redirect_uri,
291
306
  :subject_token,
292
307
  :subject_token_type,
293
- :requested_token_type)
294
- SENSITIVE = [:refresh_token, :assertion, :subject_token]
308
+ :requested_token_type,
309
+ :code_verifier)
310
+ SENSITIVE = [:refresh_token, :assertion, :subject_token, :code_verifier]
295
311
  include Aws::Structure
296
312
  end
297
313
 
298
314
  # @!attribute [rw] access_token
299
- # A bearer token to access AWS accounts and applications assigned to a
300
- # user.
315
+ # A bearer token to access Amazon Web Services accounts and
316
+ # applications assigned to a user.
301
317
  # @return [String]
302
318
  #
303
319
  # @!attribute [rw] token_type
@@ -467,6 +483,28 @@ module Aws::SSOOIDC
467
483
  include Aws::Structure
468
484
  end
469
485
 
486
+ # Indicates that one or more redirect URI in the request is not
487
+ # supported for this operation.
488
+ #
489
+ # @!attribute [rw] error
490
+ # Single error code. For this exception the value will be
491
+ # `invalid_redirect_uri`.
492
+ # @return [String]
493
+ #
494
+ # @!attribute [rw] error_description
495
+ # Human-readable text providing additional information, used to assist
496
+ # the client developer in understanding the error that occurred.
497
+ # @return [String]
498
+ #
499
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidRedirectUriException AWS API Documentation
500
+ #
501
+ class InvalidRedirectUriException < Struct.new(
502
+ :error,
503
+ :error_description)
504
+ SENSITIVE = []
505
+ include Aws::Structure
506
+ end
507
+
470
508
  # Indicates that something is wrong with the input to the request. For
471
509
  # example, a required parameter might be missing or out of range.
472
510
  #
@@ -559,12 +597,42 @@ module Aws::SSOOIDC
559
597
  # granting an access token.
560
598
  # @return [Array<String>]
561
599
  #
600
+ # @!attribute [rw] redirect_uris
601
+ # The list of redirect URI that are defined by the client. At
602
+ # completion of authorization, this list is used to restrict what
603
+ # locations the user agent can be redirected back to.
604
+ # @return [Array<String>]
605
+ #
606
+ # @!attribute [rw] grant_types
607
+ # The list of OAuth 2.0 grant types that are defined by the client.
608
+ # This list is used to restrict the token granting flows available to
609
+ # the client.
610
+ # @return [Array<String>]
611
+ #
612
+ # @!attribute [rw] issuer_url
613
+ # The IAM Identity Center Issuer URL associated with an instance of
614
+ # IAM Identity Center. This value is needed for user access to
615
+ # resources through the client.
616
+ # @return [String]
617
+ #
618
+ # @!attribute [rw] entitled_application_arn
619
+ # This IAM Identity Center application ARN is used to define
620
+ # administrator-managed configuration for public client access to
621
+ # resources. At authorization, the scopes, grants, and redirect URI
622
+ # available to this client will be restricted by this application
623
+ # resource.
624
+ # @return [String]
625
+ #
562
626
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/RegisterClientRequest AWS API Documentation
563
627
  #
564
628
  class RegisterClientRequest < Struct.new(
565
629
  :client_name,
566
630
  :client_type,
567
- :scopes)
631
+ :scopes,
632
+ :redirect_uris,
633
+ :grant_types,
634
+ :issuer_url,
635
+ :entitled_application_arn)
568
636
  SENSITIVE = []
569
637
  include Aws::Structure
570
638
  end
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-ssooidc/customizations'
54
54
  # @!group service
55
55
  module Aws::SSOOIDC
56
56
 
57
- GEM_VERSION = '3.193.0'
57
+ GEM_VERSION = '3.196.1'
58
58
 
59
59
  end
@@ -303,8 +303,9 @@ module Aws::STS
303
303
  #
304
304
  # @option options [String] :sdk_ua_app_id
305
305
  # A unique and opaque application ID that is appended to the
306
- # User-Agent header as app/<sdk_ua_app_id>. It should have a
307
- # maximum length of 50.
306
+ # User-Agent header as app/sdk_ua_app_id. It should have a
307
+ # maximum length of 50. This variable is sourced from environment
308
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
308
309
  #
309
310
  # @option options [String] :secret_access_key
310
311
  #
@@ -2376,7 +2377,7 @@ module Aws::STS
2376
2377
  params: params,
2377
2378
  config: config)
2378
2379
  context[:gem_name] = 'aws-sdk-core'
2379
- context[:gem_version] = '3.193.0'
2380
+ context[:gem_version] = '3.196.1'
2380
2381
  Seahorse::Client::Request.new(handlers, context)
2381
2382
  end
2382
2383
 
data/lib/aws-sdk-sts.rb CHANGED
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-sts/customizations'
54
54
  # @!group service
55
55
  module Aws::STS
56
56
 
57
- GEM_VERSION = '3.193.0'
57
+ GEM_VERSION = '3.196.1'
58
58
 
59
59
  end
@@ -119,11 +119,7 @@ module Seahorse
119
119
  # pool, not counting those currently in use.
120
120
  def size
121
121
  @pool_mutex.synchronize do
122
- size = 0
123
- @pool.each_pair do |endpoint,sessions|
124
- size += sessions.size
125
- end
126
- size
122
+ @pool.values.flatten.size
127
123
  end
128
124
  end
129
125
 
@@ -142,9 +138,7 @@ module Seahorse
142
138
  # @return [nil]
143
139
  def empty!
144
140
  @pool_mutex.synchronize do
145
- @pool.each_pair do |endpoint,sessions|
146
- sessions.each(&:finish)
147
- end
141
+ @pool.values.flatten.map(&:finish)
148
142
  @pool.clear
149
143
  end
150
144
  nil
@@ -312,7 +306,7 @@ module Seahorse
312
306
  # @note **Must** be called behind a `@pool_mutex` synchronize block.
313
307
  def _clean
314
308
  now = Aws::Util.monotonic_milliseconds
315
- @pool.each_pair do |endpoint,sessions|
309
+ @pool.values.each do |sessions|
316
310
  sessions.delete_if do |session|
317
311
  if session.last_used.nil? or now - session.last_used > http_idle_timeout * 1000
318
312
  session.finish
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.193.0
4
+ version: 3.196.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-25 00:00:00.000000000 Z
11
+ date: 2024-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jmespath
@@ -151,6 +151,7 @@ files:
151
151
  - lib/aws-sdk-core/log/handler.rb
152
152
  - lib/aws-sdk-core/log/param_filter.rb
153
153
  - lib/aws-sdk-core/log/param_formatter.rb
154
+ - lib/aws-sdk-core/lru_cache.rb
154
155
  - lib/aws-sdk-core/pageable_response.rb
155
156
  - lib/aws-sdk-core/pager.rb
156
157
  - lib/aws-sdk-core/param_converter.rb