aws-sdk-core 3.217.1 → 3.224.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +88 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-core/assume_role_credentials.rb +1 -0
- data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +1 -0
- data/lib/aws-sdk-core/client_stubs.rb +22 -48
- data/lib/aws-sdk-core/credential_provider.rb +4 -0
- data/lib/aws-sdk-core/credential_provider_chain.rb +27 -7
- data/lib/aws-sdk-core/credentials.rb +6 -0
- data/lib/aws-sdk-core/ecs_credentials.rb +1 -0
- data/lib/aws-sdk-core/errors.rb +2 -2
- data/lib/aws-sdk-core/instance_profile_credentials.rb +1 -0
- data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +0 -1
- data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
- data/lib/aws-sdk-core/plugins/sign.rb +15 -1
- data/lib/aws-sdk-core/plugins/stub_responses.rb +24 -8
- data/lib/aws-sdk-core/plugins/user_agent.rb +23 -2
- data/lib/aws-sdk-core/process_credentials.rb +1 -1
- data/lib/aws-sdk-core/rest/request/headers.rb +1 -1
- data/lib/aws-sdk-core/shared_config.rb +72 -21
- data/lib/aws-sdk-core/shared_credentials.rb +1 -0
- data/lib/aws-sdk-core/sso_credentials.rb +2 -0
- data/lib/aws-sdk-sso/client.rb +30 -31
- data/lib/aws-sdk-sso/endpoint_provider.rb +14 -18
- data/lib/aws-sdk-sso.rb +1 -1
- data/lib/aws-sdk-ssooidc/client.rb +43 -33
- data/lib/aws-sdk-ssooidc/client_api.rb +6 -0
- data/lib/aws-sdk-ssooidc/endpoint_provider.rb +14 -18
- data/lib/aws-sdk-ssooidc/types.rb +28 -1
- data/lib/aws-sdk-ssooidc.rb +1 -1
- data/lib/aws-sdk-sts/client.rb +31 -32
- data/lib/aws-sdk-sts/client_api.rb +8 -8
- data/lib/aws-sdk-sts/endpoint_provider.rb +50 -55
- data/lib/aws-sdk-sts/errors.rb +16 -0
- data/lib/aws-sdk-sts.rb +1 -1
- data/lib/seahorse/client/async_base.rb +4 -5
- data/lib/seahorse/client/base.rb +0 -14
- data/lib/seahorse/client/h2/connection.rb +18 -28
- data/lib/seahorse/client/http/response.rb +1 -1
- data/lib/seahorse/client/net_http/connection_pool.rb +2 -0
- data/lib/seahorse/client/networking_error.rb +1 -1
- data/lib/seahorse/client/plugins/h2.rb +4 -4
- data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
- data/sig/seahorse/client/async_base.rbs +18 -0
- metadata +39 -13
@@ -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.
|
@@ -356,6 +375,13 @@ module Aws::SSOOIDC
|
|
356
375
|
# token that is issued is limited to the scopes that are granted.
|
357
376
|
# @return [Array<String>]
|
358
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
|
+
#
|
359
385
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAMResponse AWS API Documentation
|
360
386
|
#
|
361
387
|
class CreateTokenWithIAMResponse < Struct.new(
|
@@ -365,7 +391,8 @@ module Aws::SSOOIDC
|
|
365
391
|
:refresh_token,
|
366
392
|
:id_token,
|
367
393
|
:issued_token_type,
|
368
|
-
:scope
|
394
|
+
:scope,
|
395
|
+
:aws_additional_details)
|
369
396
|
SENSITIVE = [:access_token, :refresh_token, :id_token]
|
370
397
|
include Aws::Structure
|
371
398
|
end
|
data/lib/aws-sdk-ssooidc.rb
CHANGED
data/lib/aws-sdk-sts/client.rb
CHANGED
@@ -7,35 +7,35 @@
|
|
7
7
|
#
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
9
9
|
|
10
|
-
require 'seahorse/client/plugins/content_length
|
11
|
-
require 'aws-sdk-core/plugins/credentials_configuration
|
12
|
-
require 'aws-sdk-core/plugins/logging
|
13
|
-
require 'aws-sdk-core/plugins/param_converter
|
14
|
-
require 'aws-sdk-core/plugins/param_validator
|
15
|
-
require 'aws-sdk-core/plugins/user_agent
|
16
|
-
require 'aws-sdk-core/plugins/helpful_socket_errors
|
17
|
-
require 'aws-sdk-core/plugins/retry_errors
|
18
|
-
require 'aws-sdk-core/plugins/global_configuration
|
19
|
-
require 'aws-sdk-core/plugins/regional_endpoint
|
20
|
-
require 'aws-sdk-core/plugins/endpoint_discovery
|
21
|
-
require 'aws-sdk-core/plugins/endpoint_pattern
|
22
|
-
require 'aws-sdk-core/plugins/response_paging
|
23
|
-
require 'aws-sdk-core/plugins/stub_responses
|
24
|
-
require 'aws-sdk-core/plugins/idempotency_token
|
25
|
-
require 'aws-sdk-core/plugins/invocation_id
|
26
|
-
require 'aws-sdk-core/plugins/jsonvalue_converter
|
27
|
-
require 'aws-sdk-core/plugins/client_metrics_plugin
|
28
|
-
require 'aws-sdk-core/plugins/client_metrics_send_plugin
|
29
|
-
require 'aws-sdk-core/plugins/transfer_encoding
|
30
|
-
require 'aws-sdk-core/plugins/http_checksum
|
31
|
-
require 'aws-sdk-core/plugins/checksum_algorithm
|
32
|
-
require 'aws-sdk-core/plugins/request_compression
|
33
|
-
require 'aws-sdk-core/plugins/defaults_mode
|
34
|
-
require 'aws-sdk-core/plugins/recursion_detection
|
35
|
-
require 'aws-sdk-core/plugins/telemetry
|
36
|
-
require 'aws-sdk-core/plugins/sign
|
37
|
-
require 'aws-sdk-core/plugins/protocols/query
|
38
|
-
require 'aws-sdk-sts/plugins/sts_regional_endpoints
|
10
|
+
require 'seahorse/client/plugins/content_length'
|
11
|
+
require 'aws-sdk-core/plugins/credentials_configuration'
|
12
|
+
require 'aws-sdk-core/plugins/logging'
|
13
|
+
require 'aws-sdk-core/plugins/param_converter'
|
14
|
+
require 'aws-sdk-core/plugins/param_validator'
|
15
|
+
require 'aws-sdk-core/plugins/user_agent'
|
16
|
+
require 'aws-sdk-core/plugins/helpful_socket_errors'
|
17
|
+
require 'aws-sdk-core/plugins/retry_errors'
|
18
|
+
require 'aws-sdk-core/plugins/global_configuration'
|
19
|
+
require 'aws-sdk-core/plugins/regional_endpoint'
|
20
|
+
require 'aws-sdk-core/plugins/endpoint_discovery'
|
21
|
+
require 'aws-sdk-core/plugins/endpoint_pattern'
|
22
|
+
require 'aws-sdk-core/plugins/response_paging'
|
23
|
+
require 'aws-sdk-core/plugins/stub_responses'
|
24
|
+
require 'aws-sdk-core/plugins/idempotency_token'
|
25
|
+
require 'aws-sdk-core/plugins/invocation_id'
|
26
|
+
require 'aws-sdk-core/plugins/jsonvalue_converter'
|
27
|
+
require 'aws-sdk-core/plugins/client_metrics_plugin'
|
28
|
+
require 'aws-sdk-core/plugins/client_metrics_send_plugin'
|
29
|
+
require 'aws-sdk-core/plugins/transfer_encoding'
|
30
|
+
require 'aws-sdk-core/plugins/http_checksum'
|
31
|
+
require 'aws-sdk-core/plugins/checksum_algorithm'
|
32
|
+
require 'aws-sdk-core/plugins/request_compression'
|
33
|
+
require 'aws-sdk-core/plugins/defaults_mode'
|
34
|
+
require 'aws-sdk-core/plugins/recursion_detection'
|
35
|
+
require 'aws-sdk-core/plugins/telemetry'
|
36
|
+
require 'aws-sdk-core/plugins/sign'
|
37
|
+
require 'aws-sdk-core/plugins/protocols/query'
|
38
|
+
require 'aws-sdk-sts/plugins/sts_regional_endpoints'
|
39
39
|
|
40
40
|
module Aws::STS
|
41
41
|
# An API client for STS. To construct a client, you need to configure a `:region` and `:credentials`.
|
@@ -202,8 +202,7 @@ module Aws::STS
|
|
202
202
|
# accepted modes and the configuration defaults that are included.
|
203
203
|
#
|
204
204
|
# @option options [Boolean] :disable_host_prefix_injection (false)
|
205
|
-
#
|
206
|
-
# to default service endpoint when available.
|
205
|
+
# When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
|
207
206
|
#
|
208
207
|
# @option options [Boolean] :disable_request_compression (false)
|
209
208
|
# When set to 'true' the request body will not be compressed
|
@@ -2595,7 +2594,7 @@ module Aws::STS
|
|
2595
2594
|
tracer: tracer
|
2596
2595
|
)
|
2597
2596
|
context[:gem_name] = 'aws-sdk-core'
|
2598
|
-
context[:gem_version] = '3.
|
2597
|
+
context[:gem_version] = '3.224.1'
|
2599
2598
|
Seahorse::Client::Request.new(handlers, context)
|
2600
2599
|
end
|
2601
2600
|
|
@@ -27,7 +27,7 @@ module Aws::STS
|
|
27
27
|
Credentials = Shapes::StructureShape.new(name: 'Credentials')
|
28
28
|
DecodeAuthorizationMessageRequest = Shapes::StructureShape.new(name: 'DecodeAuthorizationMessageRequest')
|
29
29
|
DecodeAuthorizationMessageResponse = Shapes::StructureShape.new(name: 'DecodeAuthorizationMessageResponse')
|
30
|
-
ExpiredTokenException = Shapes::StructureShape.new(name: 'ExpiredTokenException', error: {"code"=>"ExpiredTokenException", "httpStatusCode"=>400, "senderFault"=>true})
|
30
|
+
ExpiredTokenException = Shapes::StructureShape.new(name: 'ExpiredTokenException', error: {"code" => "ExpiredTokenException", "httpStatusCode" => 400, "senderFault" => true})
|
31
31
|
FederatedUser = Shapes::StructureShape.new(name: 'FederatedUser')
|
32
32
|
GetAccessKeyInfoRequest = Shapes::StructureShape.new(name: 'GetAccessKeyInfoRequest')
|
33
33
|
GetAccessKeyInfoResponse = Shapes::StructureShape.new(name: 'GetAccessKeyInfoResponse')
|
@@ -37,18 +37,18 @@ module Aws::STS
|
|
37
37
|
GetFederationTokenResponse = Shapes::StructureShape.new(name: 'GetFederationTokenResponse')
|
38
38
|
GetSessionTokenRequest = Shapes::StructureShape.new(name: 'GetSessionTokenRequest')
|
39
39
|
GetSessionTokenResponse = Shapes::StructureShape.new(name: 'GetSessionTokenResponse')
|
40
|
-
IDPCommunicationErrorException = Shapes::StructureShape.new(name: 'IDPCommunicationErrorException', error: {"code"=>"IDPCommunicationError", "httpStatusCode"=>400, "senderFault"=>true})
|
41
|
-
IDPRejectedClaimException = Shapes::StructureShape.new(name: 'IDPRejectedClaimException', error: {"code"=>"IDPRejectedClaim", "httpStatusCode"=>403, "senderFault"=>true})
|
42
|
-
InvalidAuthorizationMessageException = Shapes::StructureShape.new(name: 'InvalidAuthorizationMessageException', error: {"code"=>"InvalidAuthorizationMessageException", "httpStatusCode"=>400, "senderFault"=>true})
|
43
|
-
InvalidIdentityTokenException = Shapes::StructureShape.new(name: 'InvalidIdentityTokenException', error: {"code"=>"InvalidIdentityToken", "httpStatusCode"=>400, "senderFault"=>true})
|
40
|
+
IDPCommunicationErrorException = Shapes::StructureShape.new(name: 'IDPCommunicationErrorException', error: {"code" => "IDPCommunicationError", "httpStatusCode" => 400, "senderFault" => true})
|
41
|
+
IDPRejectedClaimException = Shapes::StructureShape.new(name: 'IDPRejectedClaimException', error: {"code" => "IDPRejectedClaim", "httpStatusCode" => 403, "senderFault" => true})
|
42
|
+
InvalidAuthorizationMessageException = Shapes::StructureShape.new(name: 'InvalidAuthorizationMessageException', error: {"code" => "InvalidAuthorizationMessageException", "httpStatusCode" => 400, "senderFault" => true})
|
43
|
+
InvalidIdentityTokenException = Shapes::StructureShape.new(name: 'InvalidIdentityTokenException', error: {"code" => "InvalidIdentityToken", "httpStatusCode" => 400, "senderFault" => true})
|
44
44
|
Issuer = Shapes::StringShape.new(name: 'Issuer')
|
45
|
-
MalformedPolicyDocumentException = Shapes::StructureShape.new(name: 'MalformedPolicyDocumentException', error: {"code"=>"MalformedPolicyDocument", "httpStatusCode"=>400, "senderFault"=>true})
|
45
|
+
MalformedPolicyDocumentException = Shapes::StructureShape.new(name: 'MalformedPolicyDocumentException', error: {"code" => "MalformedPolicyDocument", "httpStatusCode" => 400, "senderFault" => true})
|
46
46
|
NameQualifier = Shapes::StringShape.new(name: 'NameQualifier')
|
47
|
-
PackedPolicyTooLargeException = Shapes::StructureShape.new(name: 'PackedPolicyTooLargeException', error: {"code"=>"PackedPolicyTooLarge", "httpStatusCode"=>400, "senderFault"=>true})
|
47
|
+
PackedPolicyTooLargeException = Shapes::StructureShape.new(name: 'PackedPolicyTooLargeException', error: {"code" => "PackedPolicyTooLarge", "httpStatusCode" => 400, "senderFault" => true})
|
48
48
|
PolicyDescriptorType = Shapes::StructureShape.new(name: 'PolicyDescriptorType')
|
49
49
|
ProvidedContext = Shapes::StructureShape.new(name: 'ProvidedContext')
|
50
50
|
ProvidedContextsListType = Shapes::ListShape.new(name: 'ProvidedContextsListType')
|
51
|
-
RegionDisabledException = Shapes::StructureShape.new(name: 'RegionDisabledException', error: {"code"=>"RegionDisabledException", "httpStatusCode"=>403, "senderFault"=>true})
|
51
|
+
RegionDisabledException = Shapes::StructureShape.new(name: 'RegionDisabledException', error: {"code" => "RegionDisabledException", "httpStatusCode" => 403, "senderFault" => true})
|
52
52
|
RootDurationSecondsType = Shapes::IntegerShape.new(name: 'RootDurationSecondsType')
|
53
53
|
SAMLAssertionType = Shapes::StringShape.new(name: 'SAMLAssertionType')
|
54
54
|
Subject = Shapes::StringShape.new(name: 'Subject')
|
@@ -10,98 +10,93 @@
|
|
10
10
|
module Aws::STS
|
11
11
|
class EndpointProvider
|
12
12
|
def resolve_endpoint(parameters)
|
13
|
-
region = parameters.region
|
14
|
-
|
15
|
-
|
16
|
-
endpoint = parameters.endpoint
|
17
|
-
use_global_endpoint = parameters.use_global_endpoint
|
18
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_global_endpoint, true) && Aws::Endpoints::Matchers.not(Aws::Endpoints::Matchers.set?(endpoint)) && Aws::Endpoints::Matchers.set?(region) && (partition_result = Aws::Endpoints::Matchers.aws_partition(region)) && Aws::Endpoints::Matchers.boolean_equals?(use_fips, false) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, false)
|
19
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "ap-northeast-1")
|
20
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
13
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_global_endpoint, true) && Aws::Endpoints::Matchers.not(Aws::Endpoints::Matchers.set?(parameters.endpoint)) && Aws::Endpoints::Matchers.set?(parameters.region) && (partition_result = Aws::Endpoints::Matchers.aws_partition(parameters.region)) && Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, false) && Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, false)
|
14
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "ap-northeast-1")
|
15
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
21
16
|
end
|
22
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "ap-south-1")
|
23
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
17
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "ap-south-1")
|
18
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
24
19
|
end
|
25
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "ap-southeast-1")
|
26
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
20
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "ap-southeast-1")
|
21
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
27
22
|
end
|
28
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "ap-southeast-2")
|
29
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
23
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "ap-southeast-2")
|
24
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
30
25
|
end
|
31
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "aws-global")
|
32
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
26
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "aws-global")
|
27
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
33
28
|
end
|
34
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "ca-central-1")
|
35
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
29
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "ca-central-1")
|
30
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
36
31
|
end
|
37
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "eu-central-1")
|
38
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
32
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "eu-central-1")
|
33
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
39
34
|
end
|
40
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "eu-north-1")
|
41
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
35
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "eu-north-1")
|
36
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
42
37
|
end
|
43
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-1")
|
44
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
38
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "eu-west-1")
|
39
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
45
40
|
end
|
46
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-2")
|
47
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
41
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "eu-west-2")
|
42
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
48
43
|
end
|
49
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-3")
|
50
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
44
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "eu-west-3")
|
45
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
51
46
|
end
|
52
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "sa-east-1")
|
53
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
47
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "sa-east-1")
|
48
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
54
49
|
end
|
55
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "us-east-1")
|
56
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
50
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "us-east-1")
|
51
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
57
52
|
end
|
58
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "us-east-2")
|
59
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
53
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "us-east-2")
|
54
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
60
55
|
end
|
61
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "us-west-1")
|
62
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
56
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "us-west-1")
|
57
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
63
58
|
end
|
64
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "us-west-2")
|
65
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
59
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "us-west-2")
|
60
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
66
61
|
end
|
67
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"#{region}"}]})
|
62
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "#{parameters.region}"}]})
|
68
63
|
end
|
69
|
-
if Aws::Endpoints::Matchers.set?(endpoint)
|
70
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
64
|
+
if Aws::Endpoints::Matchers.set?(parameters.endpoint)
|
65
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
|
71
66
|
raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
|
72
67
|
end
|
73
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
68
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
|
74
69
|
raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
|
75
70
|
end
|
76
|
-
return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
|
71
|
+
return Aws::Endpoints::Endpoint.new(url: parameters.endpoint, headers: {}, properties: {})
|
77
72
|
end
|
78
|
-
if Aws::Endpoints::Matchers.set?(region)
|
79
|
-
if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
|
80
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
73
|
+
if Aws::Endpoints::Matchers.set?(parameters.region)
|
74
|
+
if (partition_result = Aws::Endpoints::Matchers.aws_partition(parameters.region))
|
75
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
|
81
76
|
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"))
|
82
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
77
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts-fips.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
83
78
|
end
|
84
79
|
raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
|
85
80
|
end
|
86
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
81
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
|
87
82
|
if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
|
88
83
|
if Aws::Endpoints::Matchers.string_equals?(Aws::Endpoints::Matchers.attr(partition_result, "name"), "aws-us-gov")
|
89
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.amazonaws.com", headers: {}, properties: {})
|
84
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.#{parameters.region}.amazonaws.com", headers: {}, properties: {})
|
90
85
|
end
|
91
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
86
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts-fips.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
92
87
|
end
|
93
88
|
raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
|
94
89
|
end
|
95
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
90
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
|
96
91
|
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
|
97
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
92
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
98
93
|
end
|
99
94
|
raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
|
100
95
|
end
|
101
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "aws-global")
|
102
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"sts", "signingRegion"=>"us-east-1"}]})
|
96
|
+
if Aws::Endpoints::Matchers.string_equals?(parameters.region, "aws-global")
|
97
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.amazonaws.com", headers: {}, properties: {"authSchemes" => [{"name" => "sigv4", "signingName" => "sts", "signingRegion" => "us-east-1"}]})
|
103
98
|
end
|
104
|
-
return Aws::Endpoints::Endpoint.new(url: "https://sts.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
99
|
+
return Aws::Endpoints::Endpoint.new(url: "https://sts.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
105
100
|
end
|
106
101
|
end
|
107
102
|
raise ArgumentError, "Invalid Configuration: Missing Region"
|
data/lib/aws-sdk-sts/errors.rb
CHANGED
@@ -29,15 +29,21 @@ module Aws::STS
|
|
29
29
|
# ## Error Classes
|
30
30
|
# * {ExpiredTokenException}
|
31
31
|
# * {IDPCommunicationErrorException}
|
32
|
+
# * This error class is not used. `IDPCommunicationError` is used during parsing instead.
|
32
33
|
# * {IDPRejectedClaimException}
|
34
|
+
# * This error class is not used. `IDPRejectedClaim` is used during parsing instead.
|
33
35
|
# * {InvalidAuthorizationMessageException}
|
34
36
|
# * {InvalidIdentityTokenException}
|
37
|
+
# * This error class is not used. `InvalidIdentityToken` is used during parsing instead.
|
35
38
|
# * {MalformedPolicyDocumentException}
|
39
|
+
# * This error class is not used. `MalformedPolicyDocument` is used during parsing instead.
|
36
40
|
# * {PackedPolicyTooLargeException}
|
41
|
+
# * This error class is not used. `PackedPolicyTooLarge` is used during parsing instead.
|
37
42
|
# * {RegionDisabledException}
|
38
43
|
#
|
39
44
|
# Additionally, error classes are dynamically generated for service errors based on the error code
|
40
45
|
# if they are not defined above.
|
46
|
+
# Some existing error classes may use a different class name than the one documented.
|
41
47
|
module Errors
|
42
48
|
|
43
49
|
extend Aws::Errors::DynamicErrors
|
@@ -57,6 +63,8 @@ module Aws::STS
|
|
57
63
|
end
|
58
64
|
end
|
59
65
|
|
66
|
+
# @deprecated This error class is not used during parsing.
|
67
|
+
# Please use `IDPCommunicationError` instead.
|
60
68
|
class IDPCommunicationErrorException < ServiceError
|
61
69
|
|
62
70
|
# @param [Seahorse::Client::RequestContext] context
|
@@ -72,6 +80,8 @@ module Aws::STS
|
|
72
80
|
end
|
73
81
|
end
|
74
82
|
|
83
|
+
# @deprecated This error class is not used during parsing.
|
84
|
+
# Please use `IDPRejectedClaim` instead.
|
75
85
|
class IDPRejectedClaimException < ServiceError
|
76
86
|
|
77
87
|
# @param [Seahorse::Client::RequestContext] context
|
@@ -102,6 +112,8 @@ module Aws::STS
|
|
102
112
|
end
|
103
113
|
end
|
104
114
|
|
115
|
+
# @deprecated This error class is not used during parsing.
|
116
|
+
# Please use `InvalidIdentityToken` instead.
|
105
117
|
class InvalidIdentityTokenException < ServiceError
|
106
118
|
|
107
119
|
# @param [Seahorse::Client::RequestContext] context
|
@@ -117,6 +129,8 @@ module Aws::STS
|
|
117
129
|
end
|
118
130
|
end
|
119
131
|
|
132
|
+
# @deprecated This error class is not used during parsing.
|
133
|
+
# Please use `MalformedPolicyDocument` instead.
|
120
134
|
class MalformedPolicyDocumentException < ServiceError
|
121
135
|
|
122
136
|
# @param [Seahorse::Client::RequestContext] context
|
@@ -132,6 +146,8 @@ module Aws::STS
|
|
132
146
|
end
|
133
147
|
end
|
134
148
|
|
149
|
+
# @deprecated This error class is not used during parsing.
|
150
|
+
# Please use `PackedPolicyTooLarge` instead.
|
135
151
|
class PackedPolicyTooLargeException < ServiceError
|
136
152
|
|
137
153
|
# @param [Seahorse::Client::RequestContext] context
|
data/lib/aws-sdk-sts.rb
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
module Seahorse
|
4
4
|
module Client
|
5
5
|
class AsyncBase < Seahorse::Client::Base
|
6
|
-
|
7
6
|
# default H2 plugins
|
8
7
|
# @api private
|
9
8
|
@plugins = PluginList.new([
|
@@ -11,10 +10,10 @@ module Seahorse
|
|
11
10
|
Plugins::H2,
|
12
11
|
Plugins::ResponseTarget
|
13
12
|
])
|
13
|
+
|
14
14
|
def initialize(plugins, options)
|
15
|
-
super
|
16
|
-
@connection = H2::Connection.new(
|
17
|
-
@options = options
|
15
|
+
super(plugins, options)
|
16
|
+
@connection = H2::Connection.new(@config)
|
18
17
|
end
|
19
18
|
|
20
19
|
# @return [H2::Connection]
|
@@ -36,7 +35,7 @@ module Seahorse
|
|
36
35
|
# @return [Seahorse::Client::H2::Connection]
|
37
36
|
def new_connection
|
38
37
|
if @connection.closed?
|
39
|
-
@connection = H2::Connection.new(@
|
38
|
+
@connection = H2::Connection.new(@config)
|
40
39
|
else
|
41
40
|
@connection
|
42
41
|
end
|
data/lib/seahorse/client/base.rb
CHANGED
@@ -176,8 +176,6 @@ module Seahorse
|
|
176
176
|
# @return [Model::Api]
|
177
177
|
def set_api(api)
|
178
178
|
@api = api
|
179
|
-
define_operation_methods
|
180
|
-
@api
|
181
179
|
end
|
182
180
|
|
183
181
|
# @option options [Model::Api, Hash] :api ({})
|
@@ -196,18 +194,6 @@ module Seahorse
|
|
196
194
|
|
197
195
|
private
|
198
196
|
|
199
|
-
def define_operation_methods
|
200
|
-
operations_module = Module.new
|
201
|
-
@api.operation_names.each do |method_name|
|
202
|
-
operations_module.send(:define_method, method_name) do |*args, &block|
|
203
|
-
params = args[0] || {}
|
204
|
-
options = args[1] || {}
|
205
|
-
build_request(method_name, params).send_request(options, &block)
|
206
|
-
end
|
207
|
-
end
|
208
|
-
include(operations_module)
|
209
|
-
end
|
210
|
-
|
211
197
|
def build_plugins(plugins)
|
212
198
|
plugins.map { |plugin| plugin.is_a?(Class) ? plugin.new : plugin }
|
213
199
|
end
|
@@ -10,13 +10,8 @@ module Seahorse
|
|
10
10
|
module Client
|
11
11
|
# @api private
|
12
12
|
module H2
|
13
|
-
|
14
13
|
# H2 Connection build on top of `http/2` gem
|
15
|
-
# (requires Ruby >= 2.1)
|
16
|
-
# with TLS layer plus ALPN, requires:
|
17
|
-
# Ruby >= 2.3 and OpenSSL >= 1.0.2
|
18
14
|
class Connection
|
19
|
-
|
20
15
|
OPTIONS = {
|
21
16
|
max_concurrent_streams: 100,
|
22
17
|
connection_timeout: 60,
|
@@ -27,7 +22,7 @@ module Seahorse
|
|
27
22
|
ssl_ca_bundle: nil,
|
28
23
|
ssl_ca_directory: nil,
|
29
24
|
ssl_ca_store: nil,
|
30
|
-
enable_alpn:
|
25
|
+
enable_alpn: true
|
31
26
|
}
|
32
27
|
|
33
28
|
# chunk read size at socket
|
@@ -41,25 +36,23 @@ module Seahorse
|
|
41
36
|
instance_variable_set("@#{opt_name}", value)
|
42
37
|
end
|
43
38
|
@h2_client = HTTP2::Client.new(
|
44
|
-
settings_max_concurrent_streams: max_concurrent_streams
|
39
|
+
settings_max_concurrent_streams: @max_concurrent_streams
|
45
40
|
)
|
46
|
-
@logger
|
47
|
-
options[:logger] || Logger.new($stdout)
|
48
|
-
end
|
41
|
+
@logger ||= Logger.new($stdout) if @http_wire_trace
|
49
42
|
@chunk_size = options[:read_chunk_size] || CHUNKSIZE
|
43
|
+
|
50
44
|
@errors = []
|
51
45
|
@status = :ready
|
46
|
+
|
52
47
|
@mutex = Mutex.new # connection can be shared across requests
|
53
48
|
@socket = nil
|
54
49
|
@socket_thread = nil
|
55
50
|
end
|
56
51
|
|
57
52
|
OPTIONS.keys.each do |attr_name|
|
58
|
-
attr_reader
|
53
|
+
attr_reader attr_name
|
59
54
|
end
|
60
55
|
|
61
|
-
alias ssl_verify_peer? ssl_verify_peer
|
62
|
-
|
63
56
|
attr_reader :errors
|
64
57
|
|
65
58
|
attr_accessor :input_signal_thread
|
@@ -112,7 +105,7 @@ module Seahorse
|
|
112
105
|
@h2_client << data
|
113
106
|
rescue IO::WaitReadable
|
114
107
|
begin
|
115
|
-
unless IO.select([@socket], nil, nil, connection_read_timeout)
|
108
|
+
unless IO.select([@socket], nil, nil, @connection_read_timeout)
|
116
109
|
self.debug_output('socket connection read time out')
|
117
110
|
self.close!
|
118
111
|
else
|
@@ -154,11 +147,11 @@ module Seahorse
|
|
154
147
|
end
|
155
148
|
|
156
149
|
def debug_output(msg, type = nil)
|
157
|
-
prefix =
|
150
|
+
prefix =
|
151
|
+
case type
|
158
152
|
when :send then '-> '
|
159
153
|
when :receive then '<- '
|
160
|
-
else
|
161
|
-
''
|
154
|
+
else ''
|
162
155
|
end
|
163
156
|
return unless @logger
|
164
157
|
_debug_entry(prefix + msg)
|
@@ -206,7 +199,7 @@ module Seahorse
|
|
206
199
|
begin
|
207
200
|
tcp.connect_nonblock(addr)
|
208
201
|
rescue IO::WaitWritable
|
209
|
-
unless IO.select(nil, [tcp], nil, connection_timeout)
|
202
|
+
unless IO.select(nil, [tcp], nil, @connection_timeout)
|
210
203
|
tcp.close
|
211
204
|
raise
|
212
205
|
end
|
@@ -220,15 +213,15 @@ module Seahorse
|
|
220
213
|
|
221
214
|
def _tls_context
|
222
215
|
ssl_ctx = OpenSSL::SSL::SSLContext.new(:TLSv1_2)
|
223
|
-
if ssl_verify_peer
|
216
|
+
if @ssl_verify_peer
|
224
217
|
ssl_ctx.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
225
|
-
ssl_ctx.ca_file = ssl_ca_bundle
|
226
|
-
ssl_ctx.ca_path = ssl_ca_directory
|
227
|
-
ssl_ctx.cert_store = ssl_ca_store if ssl_ca_store
|
218
|
+
ssl_ctx.ca_file = @ssl_ca_bundle || _default_ca_bundle
|
219
|
+
ssl_ctx.ca_path = @ssl_ca_directory || _default_ca_directory
|
220
|
+
ssl_ctx.cert_store = @ssl_ca_store if @ssl_ca_store
|
228
221
|
else
|
229
222
|
ssl_ctx.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
230
223
|
end
|
231
|
-
if enable_alpn
|
224
|
+
if @enable_alpn
|
232
225
|
debug_output('enabling ALPN for TLS ...')
|
233
226
|
ssl_ctx.alpn_protocols = ['h2']
|
234
227
|
end
|
@@ -236,15 +229,12 @@ module Seahorse
|
|
236
229
|
end
|
237
230
|
|
238
231
|
def _default_ca_bundle
|
239
|
-
File.exist?(OpenSSL::X509::DEFAULT_CERT_FILE)
|
240
|
-
OpenSSL::X509::DEFAULT_CERT_FILE : nil
|
232
|
+
OpenSSL::X509::DEFAULT_CERT_FILE if File.exist?(OpenSSL::X509::DEFAULT_CERT_FILE)
|
241
233
|
end
|
242
234
|
|
243
235
|
def _default_ca_directory
|
244
|
-
Dir.exist?(OpenSSL::X509::DEFAULT_CERT_DIR)
|
245
|
-
OpenSSL::X509::DEFAULT_CERT_DIR : nil
|
236
|
+
OpenSSL::X509::DEFAULT_CERT_DIR if Dir.exist?(OpenSSL::X509::DEFAULT_CERT_DIR)
|
246
237
|
end
|
247
|
-
|
248
238
|
end
|
249
239
|
end
|
250
240
|
end
|