aws-sdk-globalaccelerator 1.40.0 → 1.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0fc851ea3192808b15ecde042d8f37ec0ba71fd71cb0afc0c3b7e872228858cc
4
- data.tar.gz: fe793782c6f80db5258035c9e5c4f447a63e78370db2e71888e2e63faf33ac6f
3
+ metadata.gz: eab95de133dc13a40243709842f694407ab48cd97fb018d0f5bdf4efe40a4678
4
+ data.tar.gz: 321eb698aebc7eb0c9b545f15439815939ea0191013c4b26c16d2541b81e7eb0
5
5
  SHA512:
6
- metadata.gz: 69cebe1c8edca2c312bb39fee855e76c866ae664b1172326716434bc01e9c221ece703aea6ace6d7c0d4879b39a77e2c6964fbf6356ceefdb5a6e1d7905e0dc0
7
- data.tar.gz: 282f554443d873a91138f5b947a72a251a006987d9aa5672e83468ba9273f44c2943fbdab688a45fa708962b783998b28e8116b82caea7760943a755f000c649
6
+ metadata.gz: 157433e8eae9dd5392b53c83d7ae6b934ec5c9f8819c19680add06bbff98c2825ffe73b0e01e8d59a11760f3acb007781e122befd1a701fd4b94f4b2f3f7e828
7
+ data.tar.gz: 8df8128678e864af421cbf7bbc9d9d944259906091c6579ed188ba7066e8647634deb9a08e17e926b9ca6749fd53c42c3845c5a0e3c0999a241871ee2f934d71
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.42.0 (2022-10-25)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.41.0 (2022-10-20)
10
+ ------------------
11
+
12
+ * Feature - Global Accelerator now supports AddEndpoints and RemoveEndpoints operations for standard endpoint groups.
13
+
4
14
  1.40.0 (2022-07-27)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.40.0
1
+ 1.42.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:globalaccelerator)
@@ -79,8 +79,9 @@ module Aws::GlobalAccelerator
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
84
+ add_plugin(Aws::GlobalAccelerator::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -297,6 +298,19 @@ module Aws::GlobalAccelerator
297
298
  # ** Please note ** When response stubbing is enabled, no HTTP
298
299
  # requests are made, and retries are disabled.
299
300
  #
301
+ # @option options [Aws::TokenProvider] :token_provider
302
+ # A Bearer Token Provider. This can be an instance of any one of the
303
+ # following classes:
304
+ #
305
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
306
+ # tokens.
307
+ #
308
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
309
+ # access token generated from `aws login`.
310
+ #
311
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
312
+ # will be used to search for tokens configured for your profile in shared configuration files.
313
+ #
300
314
  # @option options [Boolean] :use_dualstack_endpoint
301
315
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
302
316
  # will be used if available.
@@ -310,6 +324,9 @@ module Aws::GlobalAccelerator
310
324
  # When `true`, request parameters are validated before
311
325
  # sending the request.
312
326
  #
327
+ # @option options [Aws::GlobalAccelerator::EndpointProvider] :endpoint_provider
328
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::GlobalAccelerator::EndpointParameters`
329
+ #
313
330
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
331
  # requests through. Formatted like 'http://proxy.com:123'.
315
332
  #
@@ -421,6 +438,69 @@ module Aws::GlobalAccelerator
421
438
  req.send_request(options)
422
439
  end
423
440
 
441
+ # Add endpoints to an endpoint group. The `AddEndpoints` API operation
442
+ # is the recommended option for adding endpoints. The alternative
443
+ # options are to add endpoints when you create an endpoint group (with
444
+ # the [CreateEndpointGroup][1] API) or when you update an endpoint group
445
+ # (with the [UpdateEndpointGroup][2] API).
446
+ #
447
+ # There are two advantages to using `AddEndpoints` to add endpoints:
448
+ #
449
+ # * It's faster, because Global Accelerator only has to resolve the new
450
+ # endpoints that you're adding.
451
+ #
452
+ # * It's more convenient, because you don't need to specify all of the
453
+ # current endpoints that are already in the endpoint group in addition
454
+ # to the new endpoints that you want to add.
455
+ #
456
+ #
457
+ #
458
+ # [1]: https://docs.aws.amazon.com/global-accelerator/latest/api/API_CreateEndpointGroup.html
459
+ # [2]: https://docs.aws.amazon.com/global-accelerator/latest/api/API_UpdateEndpointGroup.html
460
+ #
461
+ # @option params [required, Array<Types::EndpointConfiguration>] :endpoint_configurations
462
+ # The list of endpoint objects.
463
+ #
464
+ # @option params [required, String] :endpoint_group_arn
465
+ # The Amazon Resource Name (ARN) of the endpoint group.
466
+ #
467
+ # @return [Types::AddEndpointsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
468
+ #
469
+ # * {Types::AddEndpointsResponse#endpoint_descriptions #endpoint_descriptions} => Array&lt;Types::EndpointDescription&gt;
470
+ # * {Types::AddEndpointsResponse#endpoint_group_arn #endpoint_group_arn} => String
471
+ #
472
+ # @example Request syntax with placeholder values
473
+ #
474
+ # resp = client.add_endpoints({
475
+ # endpoint_configurations: [ # required
476
+ # {
477
+ # endpoint_id: "GenericString",
478
+ # weight: 1,
479
+ # client_ip_preservation_enabled: false,
480
+ # },
481
+ # ],
482
+ # endpoint_group_arn: "GenericString", # required
483
+ # })
484
+ #
485
+ # @example Response structure
486
+ #
487
+ # resp.endpoint_descriptions #=> Array
488
+ # resp.endpoint_descriptions[0].endpoint_id #=> String
489
+ # resp.endpoint_descriptions[0].weight #=> Integer
490
+ # resp.endpoint_descriptions[0].health_state #=> String, one of "INITIAL", "HEALTHY", "UNHEALTHY"
491
+ # resp.endpoint_descriptions[0].health_reason #=> String
492
+ # resp.endpoint_descriptions[0].client_ip_preservation_enabled #=> Boolean
493
+ # resp.endpoint_group_arn #=> String
494
+ #
495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AddEndpoints AWS API Documentation
496
+ #
497
+ # @overload add_endpoints(params = {})
498
+ # @param [Hash] params ({})
499
+ def add_endpoints(params = {}, options = {})
500
+ req = build_request(:add_endpoints, params)
501
+ req.send_request(options)
502
+ end
503
+
424
504
  # Advertises an IPv4 address range that is provisioned for use with your
425
505
  # Amazon Web Services resources through bring your own IP addresses
426
506
  # (BYOIP). It can take a few minutes before traffic to the specified
@@ -2325,6 +2405,57 @@ module Aws::GlobalAccelerator
2325
2405
  req.send_request(options)
2326
2406
  end
2327
2407
 
2408
+ # Remove endpoints from an endpoint group.
2409
+ #
2410
+ # The `RemoveEndpoints` API operation is the recommended option for
2411
+ # removing endpoints. The alternative is to remove endpoints by updating
2412
+ # an endpoint group by using the [UpdateEndpointGroup][1] API operation.
2413
+ # There are two advantages to using `AddEndpoints` to remove endpoints
2414
+ # instead:
2415
+ #
2416
+ # * It's more convenient, because you only need to specify the
2417
+ # endpoints that you want to remove. With the `UpdateEndpointGroup`
2418
+ # API operation, you must specify all of the endpoints in the endpoint
2419
+ # group except the ones that you want to remove from the group.
2420
+ #
2421
+ # * It's faster, because Global Accelerator doesn't need to resolve
2422
+ # any endpoints. With the `UpdateEndpointGroup` API operation, Global
2423
+ # Accelerator must resolve all of the endpoints that remain in the
2424
+ # group.
2425
+ #
2426
+ #
2427
+ #
2428
+ # [1]: https://docs.aws.amazon.com/global-accelerator/latest/api/API_UpdateEndpointGroup.html
2429
+ #
2430
+ # @option params [required, Array<Types::EndpointIdentifier>] :endpoint_identifiers
2431
+ # The identifiers of the endpoints that you want to remove.
2432
+ #
2433
+ # @option params [required, String] :endpoint_group_arn
2434
+ # The Amazon Resource Name (ARN) of the endpoint group.
2435
+ #
2436
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2437
+ #
2438
+ # @example Request syntax with placeholder values
2439
+ #
2440
+ # resp = client.remove_endpoints({
2441
+ # endpoint_identifiers: [ # required
2442
+ # {
2443
+ # endpoint_id: "GenericString", # required
2444
+ # client_ip_preservation_enabled: false,
2445
+ # },
2446
+ # ],
2447
+ # endpoint_group_arn: "GenericString", # required
2448
+ # })
2449
+ #
2450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/RemoveEndpoints AWS API Documentation
2451
+ #
2452
+ # @overload remove_endpoints(params = {})
2453
+ # @param [Hash] params ({})
2454
+ def remove_endpoints(params = {}, options = {})
2455
+ req = build_request(:remove_endpoints, params)
2456
+ req.send_request(options)
2457
+ end
2458
+
2328
2459
  # Add tags to an accelerator resource.
2329
2460
  #
2330
2461
  # For more information, see [Tagging in Global Accelerator][1] in the
@@ -2953,7 +3084,7 @@ module Aws::GlobalAccelerator
2953
3084
  params: params,
2954
3085
  config: config)
2955
3086
  context[:gem_name] = 'aws-sdk-globalaccelerator'
2956
- context[:gem_version] = '1.40.0'
3087
+ context[:gem_version] = '1.42.0'
2957
3088
  Seahorse::Client::Request.new(handlers, context)
2958
3089
  end
2959
3090
 
@@ -24,6 +24,8 @@ module Aws::GlobalAccelerator
24
24
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
25
25
  AddCustomRoutingEndpointsRequest = Shapes::StructureShape.new(name: 'AddCustomRoutingEndpointsRequest')
26
26
  AddCustomRoutingEndpointsResponse = Shapes::StructureShape.new(name: 'AddCustomRoutingEndpointsResponse')
27
+ AddEndpointsRequest = Shapes::StructureShape.new(name: 'AddEndpointsRequest')
28
+ AddEndpointsResponse = Shapes::StructureShape.new(name: 'AddEndpointsResponse')
27
29
  AdvertiseByoipCidrRequest = Shapes::StructureShape.new(name: 'AdvertiseByoipCidrRequest')
28
30
  AdvertiseByoipCidrResponse = Shapes::StructureShape.new(name: 'AdvertiseByoipCidrResponse')
29
31
  AllowCustomRoutingTrafficRequest = Shapes::StructureShape.new(name: 'AllowCustomRoutingTrafficRequest')
@@ -107,6 +109,8 @@ module Aws::GlobalAccelerator
107
109
  EndpointGroupAlreadyExistsException = Shapes::StructureShape.new(name: 'EndpointGroupAlreadyExistsException')
108
110
  EndpointGroupNotFoundException = Shapes::StructureShape.new(name: 'EndpointGroupNotFoundException')
109
111
  EndpointGroups = Shapes::ListShape.new(name: 'EndpointGroups')
112
+ EndpointIdentifier = Shapes::StructureShape.new(name: 'EndpointIdentifier')
113
+ EndpointIdentifiers = Shapes::ListShape.new(name: 'EndpointIdentifiers')
110
114
  EndpointIds = Shapes::ListShape.new(name: 'EndpointIds')
111
115
  EndpointNotFoundException = Shapes::StructureShape.new(name: 'EndpointNotFoundException')
112
116
  EndpointWeight = Shapes::IntegerShape.new(name: 'EndpointWeight')
@@ -168,6 +172,7 @@ module Aws::GlobalAccelerator
168
172
  ProvisionByoipCidrRequest = Shapes::StructureShape.new(name: 'ProvisionByoipCidrRequest')
169
173
  ProvisionByoipCidrResponse = Shapes::StructureShape.new(name: 'ProvisionByoipCidrResponse')
170
174
  RemoveCustomRoutingEndpointsRequest = Shapes::StructureShape.new(name: 'RemoveCustomRoutingEndpointsRequest')
175
+ RemoveEndpointsRequest = Shapes::StructureShape.new(name: 'RemoveEndpointsRequest')
171
176
  ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
172
177
  SocketAddress = Shapes::StructureShape.new(name: 'SocketAddress')
173
178
  SocketAddresses = Shapes::ListShape.new(name: 'SocketAddresses')
@@ -181,6 +186,7 @@ module Aws::GlobalAccelerator
181
186
  ThresholdCount = Shapes::IntegerShape.new(name: 'ThresholdCount')
182
187
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
183
188
  TrafficDialPercentage = Shapes::FloatShape.new(name: 'TrafficDialPercentage')
189
+ TransactionInProgressException = Shapes::StructureShape.new(name: 'TransactionInProgressException')
184
190
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
185
191
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
186
192
  UpdateAcceleratorAttributesRequest = Shapes::StructureShape.new(name: 'UpdateAcceleratorAttributesRequest')
@@ -243,6 +249,14 @@ module Aws::GlobalAccelerator
243
249
  AddCustomRoutingEndpointsResponse.add_member(:endpoint_group_arn, Shapes::ShapeRef.new(shape: GenericString, location_name: "EndpointGroupArn"))
244
250
  AddCustomRoutingEndpointsResponse.struct_class = Types::AddCustomRoutingEndpointsResponse
245
251
 
252
+ AddEndpointsRequest.add_member(:endpoint_configurations, Shapes::ShapeRef.new(shape: EndpointConfigurations, required: true, location_name: "EndpointConfigurations"))
253
+ AddEndpointsRequest.add_member(:endpoint_group_arn, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "EndpointGroupArn"))
254
+ AddEndpointsRequest.struct_class = Types::AddEndpointsRequest
255
+
256
+ AddEndpointsResponse.add_member(:endpoint_descriptions, Shapes::ShapeRef.new(shape: EndpointDescriptions, location_name: "EndpointDescriptions"))
257
+ AddEndpointsResponse.add_member(:endpoint_group_arn, Shapes::ShapeRef.new(shape: GenericString, location_name: "EndpointGroupArn"))
258
+ AddEndpointsResponse.struct_class = Types::AddEndpointsResponse
259
+
246
260
  AdvertiseByoipCidrRequest.add_member(:cidr, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "Cidr"))
247
261
  AdvertiseByoipCidrRequest.struct_class = Types::AdvertiseByoipCidrRequest
248
262
 
@@ -542,6 +556,12 @@ module Aws::GlobalAccelerator
542
556
 
543
557
  EndpointGroups.member = Shapes::ShapeRef.new(shape: EndpointGroup)
544
558
 
559
+ EndpointIdentifier.add_member(:endpoint_id, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "EndpointId"))
560
+ EndpointIdentifier.add_member(:client_ip_preservation_enabled, Shapes::ShapeRef.new(shape: GenericBoolean, location_name: "ClientIPPreservationEnabled"))
561
+ EndpointIdentifier.struct_class = Types::EndpointIdentifier
562
+
563
+ EndpointIdentifiers.member = Shapes::ShapeRef.new(shape: EndpointIdentifier)
564
+
545
565
  EndpointIds.member = Shapes::ShapeRef.new(shape: GenericString)
546
566
 
547
567
  EndpointNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
@@ -706,6 +726,10 @@ module Aws::GlobalAccelerator
706
726
  RemoveCustomRoutingEndpointsRequest.add_member(:endpoint_group_arn, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "EndpointGroupArn"))
707
727
  RemoveCustomRoutingEndpointsRequest.struct_class = Types::RemoveCustomRoutingEndpointsRequest
708
728
 
729
+ RemoveEndpointsRequest.add_member(:endpoint_identifiers, Shapes::ShapeRef.new(shape: EndpointIdentifiers, required: true, location_name: "EndpointIdentifiers"))
730
+ RemoveEndpointsRequest.add_member(:endpoint_group_arn, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "EndpointGroupArn"))
731
+ RemoveEndpointsRequest.struct_class = Types::RemoveEndpointsRequest
732
+
709
733
  SocketAddress.add_member(:ip_address, Shapes::ShapeRef.new(shape: GenericString, location_name: "IpAddress"))
710
734
  SocketAddress.add_member(:port, Shapes::ShapeRef.new(shape: PortNumber, location_name: "Port"))
711
735
  SocketAddress.struct_class = Types::SocketAddress
@@ -726,6 +750,9 @@ module Aws::GlobalAccelerator
726
750
 
727
751
  Tags.member = Shapes::ShapeRef.new(shape: Tag)
728
752
 
753
+ TransactionInProgressException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
754
+ TransactionInProgressException.struct_class = Types::TransactionInProgressException
755
+
729
756
  UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
730
757
  UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeys, required: true, location_name: "TagKeys"))
731
758
  UntagResourceRequest.struct_class = Types::UntagResourceRequest
@@ -838,6 +865,20 @@ module Aws::GlobalAccelerator
838
865
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
839
866
  end)
840
867
 
868
+ api.add_operation(:add_endpoints, Seahorse::Model::Operation.new.tap do |o|
869
+ o.name = "AddEndpoints"
870
+ o.http_method = "POST"
871
+ o.http_request_uri = "/"
872
+ o.input = Shapes::ShapeRef.new(shape: AddEndpointsRequest)
873
+ o.output = Shapes::ShapeRef.new(shape: AddEndpointsResponse)
874
+ o.errors << Shapes::ShapeRef.new(shape: TransactionInProgressException)
875
+ o.errors << Shapes::ShapeRef.new(shape: EndpointGroupNotFoundException)
876
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceErrorException)
877
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
878
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
879
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
880
+ end)
881
+
841
882
  api.add_operation(:advertise_byoip_cidr, Seahorse::Model::Operation.new.tap do |o|
842
883
  o.name = "AdvertiseByoipCidr"
843
884
  o.http_method = "POST"
@@ -1325,6 +1366,19 @@ module Aws::GlobalAccelerator
1325
1366
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1326
1367
  end)
1327
1368
 
1369
+ api.add_operation(:remove_endpoints, Seahorse::Model::Operation.new.tap do |o|
1370
+ o.name = "RemoveEndpoints"
1371
+ o.http_method = "POST"
1372
+ o.http_request_uri = "/"
1373
+ o.input = Shapes::ShapeRef.new(shape: RemoveEndpointsRequest)
1374
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1375
+ o.errors << Shapes::ShapeRef.new(shape: EndpointGroupNotFoundException)
1376
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceErrorException)
1377
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
1378
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1379
+ o.errors << Shapes::ShapeRef.new(shape: TransactionInProgressException)
1380
+ end)
1381
+
1328
1382
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
1329
1383
  o.name = "TagResource"
1330
1384
  o.http_method = "POST"
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::GlobalAccelerator
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,111 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::GlobalAccelerator
11
+ class EndpointProvider
12
+ def initialize(rule_set = nil)
13
+ @@rule_set ||= begin
14
+ endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
+ Aws::Endpoints::RuleSet.new(
16
+ version: endpoint_rules['version'],
17
+ service_id: endpoint_rules['serviceId'],
18
+ parameters: endpoint_rules['parameters'],
19
+ rules: endpoint_rules['rules']
20
+ )
21
+ end
22
+ @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
+ end
24
+
25
+ def resolve_endpoint(parameters)
26
+ @provider.resolve_endpoint(parameters)
27
+ end
28
+
29
+ # @api private
30
+ RULES = <<-JSON
31
+ eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
+ dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
+ cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
+ dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
+ ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
+ ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
+ ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
+ aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
+ OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
+ UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
+ dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
+ UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
+ dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
+ ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
+ IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
+ aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
+ bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
+ ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
+ Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
+ cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
+ InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
+ aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
+ cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
+ InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
+ W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
+ UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
+ SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
+ eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
+ InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
+ b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
+ fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
+ RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
+ ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
+ ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
+ ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
+ dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
+ dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
+ Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
+ In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
+ YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
+ YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
+ cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
+ dCI6eyJ1cmwiOiJodHRwczovL2dsb2JhbGFjY2VsZXJhdG9yLWZpcHMue1Jl
77
+ Z2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9Iiwi
78
+ cHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50
79
+ In1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxT
80
+ dGFjayBhcmUgZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90
81
+ IHN1cHBvcnQgb25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29u
82
+ ZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVm
83
+ IjoiVXNlRklQUyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7
84
+ ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0
85
+ cnVlLHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9u
86
+ UmVzdWx0In0sInN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJy
87
+ dWxlcyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0
88
+ dHBzOi8vZ2xvYmFsYWNjZWxlcmF0b3ItZmlwcy57UmVnaW9ufS57UGFydGl0
89
+ aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVy
90
+ cyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29uZGl0aW9ucyI6W10s
91
+ ImVycm9yIjoiRklQUyBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBk
92
+ b2VzIG5vdCBzdXBwb3J0IEZJUFMiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29u
93
+ ZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVm
94
+ IjoiVXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxl
95
+ cyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJn
96
+ diI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0
97
+ aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5cGUi
98
+ OiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6
99
+ eyJ1cmwiOiJodHRwczovL2dsb2JhbGFjY2VsZXJhdG9yLntSZWdpb259LntQ
100
+ YXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRp
101
+ ZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJj
102
+ b25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBi
103
+ dXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2si
104
+ LCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50
105
+ Ijp7InVybCI6Imh0dHBzOi8vZ2xvYmFsYWNjZWxlcmF0b3Iue1JlZ2lvbn0u
106
+ e1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30s
107
+ ImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
108
+
109
+ JSON
110
+ end
111
+ end