aws-sdk-globalaccelerator 1.22.0 → 1.27.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.
@@ -33,8 +33,11 @@ module Aws::GlobalAccelerator
33
33
  # * {AssociatedEndpointGroupFoundException}
34
34
  # * {AssociatedListenerFoundException}
35
35
  # * {ByoipCidrNotFoundException}
36
+ # * {ConflictException}
37
+ # * {EndpointAlreadyExistsException}
36
38
  # * {EndpointGroupAlreadyExistsException}
37
39
  # * {EndpointGroupNotFoundException}
40
+ # * {EndpointNotFoundException}
38
41
  # * {IncorrectCidrStateException}
39
42
  # * {InternalServiceErrorException}
40
43
  # * {InvalidArgumentException}
@@ -139,6 +142,36 @@ module Aws::GlobalAccelerator
139
142
  end
140
143
  end
141
144
 
145
+ class ConflictException < ServiceError
146
+
147
+ # @param [Seahorse::Client::RequestContext] context
148
+ # @param [String] message
149
+ # @param [Aws::GlobalAccelerator::Types::ConflictException] data
150
+ def initialize(context, message, data = Aws::EmptyStructure.new)
151
+ super(context, message, data)
152
+ end
153
+
154
+ # @return [String]
155
+ def message
156
+ @message || @data[:message]
157
+ end
158
+ end
159
+
160
+ class EndpointAlreadyExistsException < ServiceError
161
+
162
+ # @param [Seahorse::Client::RequestContext] context
163
+ # @param [String] message
164
+ # @param [Aws::GlobalAccelerator::Types::EndpointAlreadyExistsException] data
165
+ def initialize(context, message, data = Aws::EmptyStructure.new)
166
+ super(context, message, data)
167
+ end
168
+
169
+ # @return [String]
170
+ def message
171
+ @message || @data[:message]
172
+ end
173
+ end
174
+
142
175
  class EndpointGroupAlreadyExistsException < ServiceError
143
176
 
144
177
  # @param [Seahorse::Client::RequestContext] context
@@ -169,6 +202,21 @@ module Aws::GlobalAccelerator
169
202
  end
170
203
  end
171
204
 
205
+ class EndpointNotFoundException < ServiceError
206
+
207
+ # @param [Seahorse::Client::RequestContext] context
208
+ # @param [String] message
209
+ # @param [Aws::GlobalAccelerator::Types::EndpointNotFoundException] data
210
+ def initialize(context, message, data = Aws::EmptyStructure.new)
211
+ super(context, message, data)
212
+ end
213
+
214
+ # @return [String]
215
+ def message
216
+ @message || @data[:message]
217
+ end
218
+ end
219
+
172
220
  class IncorrectCidrStateException < ServiceError
173
221
 
174
222
  # @param [Seahorse::Client::RequestContext] context
@@ -170,6 +170,54 @@ module Aws::GlobalAccelerator
170
170
  include Aws::Structure
171
171
  end
172
172
 
173
+ # @note When making an API call, you may pass AddCustomRoutingEndpointsRequest
174
+ # data as a hash:
175
+ #
176
+ # {
177
+ # endpoint_configurations: [ # required
178
+ # {
179
+ # endpoint_id: "GenericString",
180
+ # },
181
+ # ],
182
+ # endpoint_group_arn: "GenericString", # required
183
+ # }
184
+ #
185
+ # @!attribute [rw] endpoint_configurations
186
+ # The list of endpoint objects to add to a custom routing accelerator.
187
+ # @return [Array<Types::CustomRoutingEndpointConfiguration>]
188
+ #
189
+ # @!attribute [rw] endpoint_group_arn
190
+ # The Amazon Resource Name (ARN) of the endpoint group for the custom
191
+ # routing endpoint.
192
+ # @return [String]
193
+ #
194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AddCustomRoutingEndpointsRequest AWS API Documentation
195
+ #
196
+ class AddCustomRoutingEndpointsRequest < Struct.new(
197
+ :endpoint_configurations,
198
+ :endpoint_group_arn)
199
+ SENSITIVE = []
200
+ include Aws::Structure
201
+ end
202
+
203
+ # @!attribute [rw] endpoint_descriptions
204
+ # The endpoint objects added to the custom routing accelerator.
205
+ # @return [Array<Types::CustomRoutingEndpointDescription>]
206
+ #
207
+ # @!attribute [rw] endpoint_group_arn
208
+ # The Amazon Resource Name (ARN) of the endpoint group for the custom
209
+ # routing endpoint.
210
+ # @return [String]
211
+ #
212
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AddCustomRoutingEndpointsResponse AWS API Documentation
213
+ #
214
+ class AddCustomRoutingEndpointsResponse < Struct.new(
215
+ :endpoint_descriptions,
216
+ :endpoint_group_arn)
217
+ SENSITIVE = []
218
+ include Aws::Structure
219
+ end
220
+
173
221
  # @note When making an API call, you may pass AdvertiseByoipCidrRequest
174
222
  # data as a hash:
175
223
  #
@@ -203,6 +251,71 @@ module Aws::GlobalAccelerator
203
251
  include Aws::Structure
204
252
  end
205
253
 
254
+ # @note When making an API call, you may pass AllowCustomRoutingTrafficRequest
255
+ # data as a hash:
256
+ #
257
+ # {
258
+ # endpoint_group_arn: "GenericString", # required
259
+ # endpoint_id: "GenericString", # required
260
+ # destination_addresses: ["IpAddress"],
261
+ # destination_ports: [1],
262
+ # allow_all_traffic_to_endpoint: false,
263
+ # }
264
+ #
265
+ # @!attribute [rw] endpoint_group_arn
266
+ # The Amazon Resource Name (ARN) of the endpoint group.
267
+ # @return [String]
268
+ #
269
+ # @!attribute [rw] endpoint_id
270
+ # An ID for the endpoint. For custom routing accelerators, this is the
271
+ # virtual private cloud (VPC) subnet ID.
272
+ # @return [String]
273
+ #
274
+ # @!attribute [rw] destination_addresses
275
+ # A list of specific Amazon EC2 instance IP addresses (destination
276
+ # addresses) in a subnet that you want to allow to receive traffic.
277
+ # The IP addresses must be a subset of the IP addresses that you
278
+ # specified for the endpoint group.
279
+ #
280
+ # `DestinationAddresses` is required if `AllowAllTrafficToEndpoint` is
281
+ # `FALSE` or is not specified.
282
+ # @return [Array<String>]
283
+ #
284
+ # @!attribute [rw] destination_ports
285
+ # A list of specific Amazon EC2 instance ports (destination ports)
286
+ # that you want to allow to receive traffic.
287
+ # @return [Array<Integer>]
288
+ #
289
+ # @!attribute [rw] allow_all_traffic_to_endpoint
290
+ # Indicates whether all destination IP addresses and ports for a
291
+ # specified VPC subnet endpoint can receive traffic from a custom
292
+ # routing accelerator. The value is TRUE or FALSE.
293
+ #
294
+ # When set to TRUE, *all* destinations in the custom routing VPC
295
+ # subnet can receive traffic. Note that you cannot specify destination
296
+ # IP addresses and ports when the value is set to TRUE.
297
+ #
298
+ # When set to FALSE (or not specified), you *must* specify a list of
299
+ # destination IP addresses that are allowed to receive traffic. A list
300
+ # of ports is optional. If you don't specify a list of ports, the
301
+ # ports that can accept traffic is the same as the ports configured
302
+ # for the endpoint group.
303
+ #
304
+ # The default value is FALSE.
305
+ # @return [Boolean]
306
+ #
307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AllowCustomRoutingTrafficRequest AWS API Documentation
308
+ #
309
+ class AllowCustomRoutingTrafficRequest < Struct.new(
310
+ :endpoint_group_arn,
311
+ :endpoint_id,
312
+ :destination_addresses,
313
+ :destination_ports,
314
+ :allow_all_traffic_to_endpoint)
315
+ SENSITIVE = []
316
+ include Aws::Structure
317
+ end
318
+
206
319
  # The listener that you specified has an endpoint group associated with
207
320
  # it. You must remove all dependent resources from a listener before you
208
321
  # can delete it.
@@ -294,9 +407,8 @@ module Aws::GlobalAccelerator
294
407
  # @return [String]
295
408
  #
296
409
  # @!attribute [rw] events
297
- # A history of status changes for an IP address range that that you
298
- # bring to AWS Global Accelerator through bring your own IP address
299
- # (BYOIP).
410
+ # A history of status changes for an IP address range that you bring
411
+ # to AWS Global Accelerator through bring your own IP address (BYOIP).
300
412
  # @return [Array<Types::ByoipCidrEvent>]
301
413
  #
302
414
  # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ByoipCidr AWS API Documentation
@@ -382,6 +494,19 @@ module Aws::GlobalAccelerator
382
494
  include Aws::Structure
383
495
  end
384
496
 
497
+ # You can't use both of those options.
498
+ #
499
+ # @!attribute [rw] message
500
+ # @return [String]
501
+ #
502
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ConflictException AWS API Documentation
503
+ #
504
+ class ConflictException < Struct.new(
505
+ :message)
506
+ SENSITIVE = []
507
+ include Aws::Structure
508
+ end
509
+
385
510
  # @note When making an API call, you may pass CreateAcceleratorRequest
386
511
  # data as a hash:
387
512
  #
@@ -411,13 +536,19 @@ module Aws::GlobalAccelerator
411
536
  #
412
537
  # @!attribute [rw] ip_addresses
413
538
  # Optionally, if you've added your own IP address pool to Global
414
- # Accelerator, you can choose IP addresses from your own pool to use
415
- # for the accelerator's static IP addresses. You can specify one or
416
- # two addresses, separated by a comma. Do not include the /32 suffix.
539
+ # Accelerator (BYOIP), you can choose IP addresses from your own pool
540
+ # to use for the accelerator's static IP addresses when you create an
541
+ # accelerator. You can specify one or two addresses, separated by a
542
+ # comma. Do not include the /32 suffix.
543
+ #
544
+ # Only one IP address from each of your IP address ranges can be used
545
+ # for each accelerator. If you specify only one IP address from your
546
+ # IP address range, Global Accelerator assigns a second static IP
547
+ # address for the accelerator from the AWS IP address pool.
417
548
  #
418
- # If you specify only one IP address from your IP address range,
419
- # Global Accelerator assigns a second static IP address for the
420
- # accelerator from the AWS IP address pool.
549
+ # Note that you can't update IP addresses for an existing
550
+ # accelerator. To change them, you must create a new accelerator with
551
+ # the new addresses.
421
552
  #
422
553
  # For more information, see [Bring Your Own IP Addresses (BYOIP)][1]
423
554
  # in the *AWS Global Accelerator Developer Guide*.
@@ -480,6 +611,208 @@ module Aws::GlobalAccelerator
480
611
  include Aws::Structure
481
612
  end
482
613
 
614
+ # @note When making an API call, you may pass CreateCustomRoutingAcceleratorRequest
615
+ # data as a hash:
616
+ #
617
+ # {
618
+ # name: "GenericString", # required
619
+ # ip_address_type: "IPV4", # accepts IPV4
620
+ # enabled: false,
621
+ # idempotency_token: "IdempotencyToken", # required
622
+ # tags: [
623
+ # {
624
+ # key: "TagKey", # required
625
+ # value: "TagValue", # required
626
+ # },
627
+ # ],
628
+ # }
629
+ #
630
+ # @!attribute [rw] name
631
+ # The name of a custom routing accelerator. The name can have a
632
+ # maximum of 64 characters, must contain only alphanumeric characters
633
+ # or hyphens (-), and must not begin or end with a hyphen.
634
+ # @return [String]
635
+ #
636
+ # @!attribute [rw] ip_address_type
637
+ # The value for the address type must be IPv4.
638
+ # @return [String]
639
+ #
640
+ # @!attribute [rw] enabled
641
+ # Indicates whether an accelerator is enabled. The value is true or
642
+ # false. The default value is true.
643
+ #
644
+ # If the value is set to true, an accelerator cannot be deleted. If
645
+ # set to false, the accelerator can be deleted.
646
+ # @return [Boolean]
647
+ #
648
+ # @!attribute [rw] idempotency_token
649
+ # A unique, case-sensitive identifier that you provide to ensure the
650
+ # idempotency—that is, the uniqueness—of the request.
651
+ #
652
+ # **A suitable default value is auto-generated.** You should normally
653
+ # not need to pass this option.
654
+ # @return [String]
655
+ #
656
+ # @!attribute [rw] tags
657
+ # Create tags for an accelerator.
658
+ #
659
+ # For more information, see [Tagging in AWS Global Accelerator][1] in
660
+ # the *AWS Global Accelerator Developer Guide*.
661
+ #
662
+ #
663
+ #
664
+ # [1]: https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html
665
+ # @return [Array<Types::Tag>]
666
+ #
667
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingAcceleratorRequest AWS API Documentation
668
+ #
669
+ class CreateCustomRoutingAcceleratorRequest < Struct.new(
670
+ :name,
671
+ :ip_address_type,
672
+ :enabled,
673
+ :idempotency_token,
674
+ :tags)
675
+ SENSITIVE = []
676
+ include Aws::Structure
677
+ end
678
+
679
+ # @!attribute [rw] accelerator
680
+ # The accelerator that is created.
681
+ # @return [Types::CustomRoutingAccelerator]
682
+ #
683
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingAcceleratorResponse AWS API Documentation
684
+ #
685
+ class CreateCustomRoutingAcceleratorResponse < Struct.new(
686
+ :accelerator)
687
+ SENSITIVE = []
688
+ include Aws::Structure
689
+ end
690
+
691
+ # @note When making an API call, you may pass CreateCustomRoutingEndpointGroupRequest
692
+ # data as a hash:
693
+ #
694
+ # {
695
+ # listener_arn: "GenericString", # required
696
+ # endpoint_group_region: "GenericString", # required
697
+ # destination_configurations: [ # required
698
+ # {
699
+ # from_port: 1, # required
700
+ # to_port: 1, # required
701
+ # protocols: ["TCP"], # required, accepts TCP, UDP
702
+ # },
703
+ # ],
704
+ # idempotency_token: "IdempotencyToken", # required
705
+ # }
706
+ #
707
+ # @!attribute [rw] listener_arn
708
+ # The Amazon Resource Name (ARN) of the listener for a custom routing
709
+ # endpoint.
710
+ # @return [String]
711
+ #
712
+ # @!attribute [rw] endpoint_group_region
713
+ # The AWS Region where the endpoint group is located. A listener can
714
+ # have only one endpoint group in a specific Region.
715
+ # @return [String]
716
+ #
717
+ # @!attribute [rw] destination_configurations
718
+ # Sets the port range and protocol for all endpoints (virtual private
719
+ # cloud subnets) in a custom routing endpoint group to accept client
720
+ # traffic on.
721
+ # @return [Array<Types::CustomRoutingDestinationConfiguration>]
722
+ #
723
+ # @!attribute [rw] idempotency_token
724
+ # A unique, case-sensitive identifier that you provide to ensure the
725
+ # idempotency—that is, the uniqueness—of the request.
726
+ #
727
+ # **A suitable default value is auto-generated.** You should normally
728
+ # not need to pass this option.
729
+ # @return [String]
730
+ #
731
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingEndpointGroupRequest AWS API Documentation
732
+ #
733
+ class CreateCustomRoutingEndpointGroupRequest < Struct.new(
734
+ :listener_arn,
735
+ :endpoint_group_region,
736
+ :destination_configurations,
737
+ :idempotency_token)
738
+ SENSITIVE = []
739
+ include Aws::Structure
740
+ end
741
+
742
+ # @!attribute [rw] endpoint_group
743
+ # The information about the endpoint group created for a custom
744
+ # routing accelerator.
745
+ # @return [Types::CustomRoutingEndpointGroup]
746
+ #
747
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingEndpointGroupResponse AWS API Documentation
748
+ #
749
+ class CreateCustomRoutingEndpointGroupResponse < Struct.new(
750
+ :endpoint_group)
751
+ SENSITIVE = []
752
+ include Aws::Structure
753
+ end
754
+
755
+ # @note When making an API call, you may pass CreateCustomRoutingListenerRequest
756
+ # data as a hash:
757
+ #
758
+ # {
759
+ # accelerator_arn: "GenericString", # required
760
+ # port_ranges: [ # required
761
+ # {
762
+ # from_port: 1,
763
+ # to_port: 1,
764
+ # },
765
+ # ],
766
+ # idempotency_token: "IdempotencyToken", # required
767
+ # }
768
+ #
769
+ # @!attribute [rw] accelerator_arn
770
+ # The Amazon Resource Name (ARN) of the accelerator for a custom
771
+ # routing listener.
772
+ # @return [String]
773
+ #
774
+ # @!attribute [rw] port_ranges
775
+ # The port range to support for connections from clients to your
776
+ # accelerator.
777
+ #
778
+ # Separately, you set port ranges for endpoints. For more information,
779
+ # see [About endpoints for custom routing accelerators][1].
780
+ #
781
+ #
782
+ #
783
+ # [1]: https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-endpoints.html
784
+ # @return [Array<Types::PortRange>]
785
+ #
786
+ # @!attribute [rw] idempotency_token
787
+ # A unique, case-sensitive identifier that you provide to ensure the
788
+ # idempotency—that is, the uniqueness—of the request.
789
+ #
790
+ # **A suitable default value is auto-generated.** You should normally
791
+ # not need to pass this option.
792
+ # @return [String]
793
+ #
794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingListenerRequest AWS API Documentation
795
+ #
796
+ class CreateCustomRoutingListenerRequest < Struct.new(
797
+ :accelerator_arn,
798
+ :port_ranges,
799
+ :idempotency_token)
800
+ SENSITIVE = []
801
+ include Aws::Structure
802
+ end
803
+
804
+ # @!attribute [rw] listener
805
+ # The listener that you've created for a custom routing accelerator.
806
+ # @return [Types::CustomRoutingListener]
807
+ #
808
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingListenerResponse AWS API Documentation
809
+ #
810
+ class CreateCustomRoutingListenerResponse < Struct.new(
811
+ :listener)
812
+ SENSITIVE = []
813
+ include Aws::Structure
814
+ end
815
+
483
816
  # @note When making an API call, you may pass CreateEndpointGroupRequest
484
817
  # data as a hash:
485
818
  #
@@ -496,10 +829,16 @@ module Aws::GlobalAccelerator
496
829
  # traffic_dial_percentage: 1.0,
497
830
  # health_check_port: 1,
498
831
  # health_check_protocol: "TCP", # accepts TCP, HTTP, HTTPS
499
- # health_check_path: "GenericString",
832
+ # health_check_path: "HealthCheckPath",
500
833
  # health_check_interval_seconds: 1,
501
834
  # threshold_count: 1,
502
835
  # idempotency_token: "IdempotencyToken", # required
836
+ # port_overrides: [
837
+ # {
838
+ # listener_port: 1,
839
+ # endpoint_port: 1,
840
+ # },
841
+ # ],
503
842
  # }
504
843
  #
505
844
  # @!attribute [rw] listener_arn
@@ -507,8 +846,8 @@ module Aws::GlobalAccelerator
507
846
  # @return [String]
508
847
  #
509
848
  # @!attribute [rw] endpoint_group_region
510
- # The name of the AWS Region where the endpoint group is located. A
511
- # listener can have only one endpoint group in a specific Region.
849
+ # The AWS Region where the endpoint group is located. A listener can
850
+ # have only one endpoint group in a specific Region.
512
851
  # @return [String]
513
852
  #
514
853
  # @!attribute [rw] endpoint_configurations
@@ -566,6 +905,21 @@ module Aws::GlobalAccelerator
566
905
  # not need to pass this option.
567
906
  # @return [String]
568
907
  #
908
+ # @!attribute [rw] port_overrides
909
+ # Override specific listener ports used to route traffic to endpoints
910
+ # that are part of this endpoint group. For example, you can create a
911
+ # port override in which the listener receives user traffic on ports
912
+ # 80 and 443, but your accelerator routes that traffic to ports 1080
913
+ # and 1443, respectively, on the endpoints.
914
+ #
915
+ # For more information, see [ Port overrides][1] in the *AWS Global
916
+ # Accelerator Developer Guide*.
917
+ #
918
+ #
919
+ #
920
+ # [1]: https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoint-groups-port-override.html
921
+ # @return [Array<Types::PortOverride>]
922
+ #
569
923
  # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateEndpointGroupRequest AWS API Documentation
570
924
  #
571
925
  class CreateEndpointGroupRequest < Struct.new(
@@ -578,7 +932,8 @@ module Aws::GlobalAccelerator
578
932
  :health_check_path,
579
933
  :health_check_interval_seconds,
580
934
  :threshold_count,
581
- :idempotency_token)
935
+ :idempotency_token,
936
+ :port_overrides)
582
937
  SENSITIVE = []
583
938
  include Aws::Structure
584
939
  end
@@ -627,7 +982,7 @@ module Aws::GlobalAccelerator
627
982
  # @!attribute [rw] client_affinity
628
983
  # Client affinity lets you direct all requests from a user to the same
629
984
  # endpoint, if you have stateful applications, regardless of the port
630
- # and protocol of the client request. Clienty affinity gives you
985
+ # and protocol of the client request. Client affinity gives you
631
986
  # control over whether to always route each client to the same
632
987
  # specific endpoint.
633
988
  #
@@ -682,21 +1037,366 @@ module Aws::GlobalAccelerator
682
1037
  include Aws::Structure
683
1038
  end
684
1039
 
685
- # @note When making an API call, you may pass DeleteAcceleratorRequest
686
- # data as a hash:
687
- #
688
- # {
689
- # accelerator_arn: "GenericString", # required
690
- # }
1040
+ # Attributes of a custom routing accelerator.
691
1041
  #
692
1042
  # @!attribute [rw] accelerator_arn
693
- # The Amazon Resource Name (ARN) of an accelerator.
1043
+ # The Amazon Resource Name (ARN) of the custom routing accelerator.
694
1044
  # @return [String]
695
1045
  #
696
- # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteAcceleratorRequest AWS API Documentation
1046
+ # @!attribute [rw] name
1047
+ # The name of the accelerator. The name must contain only alphanumeric
1048
+ # characters or hyphens (-), and must not begin or end with a hyphen.
1049
+ # @return [String]
697
1050
  #
698
- class DeleteAcceleratorRequest < Struct.new(
699
- :accelerator_arn)
1051
+ # @!attribute [rw] ip_address_type
1052
+ # The value for the address type must be IPv4.
1053
+ # @return [String]
1054
+ #
1055
+ # @!attribute [rw] enabled
1056
+ # Indicates whether the accelerator is enabled. The value is true or
1057
+ # false. The default value is true.
1058
+ #
1059
+ # If the value is set to true, the accelerator cannot be deleted. If
1060
+ # set to false, accelerator can be deleted.
1061
+ # @return [Boolean]
1062
+ #
1063
+ # @!attribute [rw] ip_sets
1064
+ # The static IP addresses that Global Accelerator associates with the
1065
+ # accelerator.
1066
+ # @return [Array<Types::IpSet>]
1067
+ #
1068
+ # @!attribute [rw] dns_name
1069
+ # The Domain Name System (DNS) name that Global Accelerator creates
1070
+ # that points to your accelerator's static IP addresses.
1071
+ #
1072
+ # The naming convention for the DNS name is the following: A lowercase
1073
+ # letter a, followed by a 16-bit random hex string, followed by
1074
+ # .awsglobalaccelerator.com. For example:
1075
+ # a1234567890abcdef.awsglobalaccelerator.com.
1076
+ #
1077
+ # For more information about the default DNS name, see [ Support for
1078
+ # DNS Addressing in Global Accelerator][1] in the *AWS Global
1079
+ # Accelerator Developer Guide*.
1080
+ #
1081
+ #
1082
+ #
1083
+ # [1]: https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing
1084
+ # @return [String]
1085
+ #
1086
+ # @!attribute [rw] status
1087
+ # Describes the deployment status of the accelerator.
1088
+ # @return [String]
1089
+ #
1090
+ # @!attribute [rw] created_time
1091
+ # The date and time that the accelerator was created.
1092
+ # @return [Time]
1093
+ #
1094
+ # @!attribute [rw] last_modified_time
1095
+ # The date and time that the accelerator was last modified.
1096
+ # @return [Time]
1097
+ #
1098
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CustomRoutingAccelerator AWS API Documentation
1099
+ #
1100
+ class CustomRoutingAccelerator < Struct.new(
1101
+ :accelerator_arn,
1102
+ :name,
1103
+ :ip_address_type,
1104
+ :enabled,
1105
+ :ip_sets,
1106
+ :dns_name,
1107
+ :status,
1108
+ :created_time,
1109
+ :last_modified_time)
1110
+ SENSITIVE = []
1111
+ include Aws::Structure
1112
+ end
1113
+
1114
+ # Attributes of a custom routing accelerator.
1115
+ #
1116
+ # @!attribute [rw] flow_logs_enabled
1117
+ # Indicates whether flow logs are enabled. The default value is false.
1118
+ # If the value is true, `FlowLogsS3Bucket` and `FlowLogsS3Prefix` must
1119
+ # be specified.
1120
+ #
1121
+ # For more information, see [Flow Logs][1] in the *AWS Global
1122
+ # Accelerator Developer Guide*.
1123
+ #
1124
+ #
1125
+ #
1126
+ # [1]: https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html
1127
+ # @return [Boolean]
1128
+ #
1129
+ # @!attribute [rw] flow_logs_s3_bucket
1130
+ # The name of the Amazon S3 bucket for the flow logs. Attribute is
1131
+ # required if `FlowLogsEnabled` is `true`. The bucket must exist and
1132
+ # have a bucket policy that grants AWS Global Accelerator permission
1133
+ # to write to the bucket.
1134
+ # @return [String]
1135
+ #
1136
+ # @!attribute [rw] flow_logs_s3_prefix
1137
+ # The prefix for the location in the Amazon S3 bucket for the flow
1138
+ # logs. Attribute is required if `FlowLogsEnabled` is `true`.
1139
+ #
1140
+ # If you don’t specify a prefix, the flow logs are stored in the root
1141
+ # of the bucket. If you specify slash (/) for the S3 bucket prefix,
1142
+ # the log file bucket folder structure will include a double slash
1143
+ # (//), like the following:
1144
+ #
1145
+ # DOC-EXAMPLE-BUCKET//AWSLogs/aws\_account\_id
1146
+ # @return [String]
1147
+ #
1148
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CustomRoutingAcceleratorAttributes AWS API Documentation
1149
+ #
1150
+ class CustomRoutingAcceleratorAttributes < Struct.new(
1151
+ :flow_logs_enabled,
1152
+ :flow_logs_s3_bucket,
1153
+ :flow_logs_s3_prefix)
1154
+ SENSITIVE = []
1155
+ include Aws::Structure
1156
+ end
1157
+
1158
+ # For a custom routing accelerator, sets the port range and protocol for
1159
+ # all endpoints (virtual private cloud subnets) in an endpoint group to
1160
+ # accept client traffic on.
1161
+ #
1162
+ # @note When making an API call, you may pass CustomRoutingDestinationConfiguration
1163
+ # data as a hash:
1164
+ #
1165
+ # {
1166
+ # from_port: 1, # required
1167
+ # to_port: 1, # required
1168
+ # protocols: ["TCP"], # required, accepts TCP, UDP
1169
+ # }
1170
+ #
1171
+ # @!attribute [rw] from_port
1172
+ # The first port, inclusive, in the range of ports for the endpoint
1173
+ # group that is associated with a custom routing accelerator.
1174
+ # @return [Integer]
1175
+ #
1176
+ # @!attribute [rw] to_port
1177
+ # The last port, inclusive, in the range of ports for the endpoint
1178
+ # group that is associated with a custom routing accelerator.
1179
+ # @return [Integer]
1180
+ #
1181
+ # @!attribute [rw] protocols
1182
+ # The protocol for the endpoint group that is associated with a custom
1183
+ # routing accelerator. The protocol can be either TCP or UDP.
1184
+ # @return [Array<String>]
1185
+ #
1186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CustomRoutingDestinationConfiguration AWS API Documentation
1187
+ #
1188
+ class CustomRoutingDestinationConfiguration < Struct.new(
1189
+ :from_port,
1190
+ :to_port,
1191
+ :protocols)
1192
+ SENSITIVE = []
1193
+ include Aws::Structure
1194
+ end
1195
+
1196
+ # For a custom routing accelerator, describes the port range and
1197
+ # protocol for all endpoints (virtual private cloud subnets) in an
1198
+ # endpoint group to accept client traffic on.
1199
+ #
1200
+ # @!attribute [rw] from_port
1201
+ # The first port, inclusive, in the range of ports for the endpoint
1202
+ # group that is associated with a custom routing accelerator.
1203
+ # @return [Integer]
1204
+ #
1205
+ # @!attribute [rw] to_port
1206
+ # The last port, inclusive, in the range of ports for the endpoint
1207
+ # group that is associated with a custom routing accelerator.
1208
+ # @return [Integer]
1209
+ #
1210
+ # @!attribute [rw] protocols
1211
+ # The protocol for the endpoint group that is associated with a custom
1212
+ # routing accelerator. The protocol can be either TCP or UDP.
1213
+ # @return [Array<String>]
1214
+ #
1215
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CustomRoutingDestinationDescription AWS API Documentation
1216
+ #
1217
+ class CustomRoutingDestinationDescription < Struct.new(
1218
+ :from_port,
1219
+ :to_port,
1220
+ :protocols)
1221
+ SENSITIVE = []
1222
+ include Aws::Structure
1223
+ end
1224
+
1225
+ # The list of endpoint objects. For custom routing, this is a list of
1226
+ # virtual private cloud (VPC) subnet IDs.
1227
+ #
1228
+ # @note When making an API call, you may pass CustomRoutingEndpointConfiguration
1229
+ # data as a hash:
1230
+ #
1231
+ # {
1232
+ # endpoint_id: "GenericString",
1233
+ # }
1234
+ #
1235
+ # @!attribute [rw] endpoint_id
1236
+ # An ID for the endpoint. For custom routing accelerators, this is the
1237
+ # virtual private cloud (VPC) subnet ID.
1238
+ # @return [String]
1239
+ #
1240
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CustomRoutingEndpointConfiguration AWS API Documentation
1241
+ #
1242
+ class CustomRoutingEndpointConfiguration < Struct.new(
1243
+ :endpoint_id)
1244
+ SENSITIVE = []
1245
+ include Aws::Structure
1246
+ end
1247
+
1248
+ # A complex type for an endpoint for a custom routing accelerator. Each
1249
+ # endpoint group can include one or more endpoints, which are virtual
1250
+ # private cloud (VPC) subnets.
1251
+ #
1252
+ # @!attribute [rw] endpoint_id
1253
+ # An ID for the endpoint. For custom routing accelerators, this is the
1254
+ # virtual private cloud (VPC) subnet ID.
1255
+ # @return [String]
1256
+ #
1257
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CustomRoutingEndpointDescription AWS API Documentation
1258
+ #
1259
+ class CustomRoutingEndpointDescription < Struct.new(
1260
+ :endpoint_id)
1261
+ SENSITIVE = []
1262
+ include Aws::Structure
1263
+ end
1264
+
1265
+ # A complex type for the endpoint group for a custom routing
1266
+ # accelerator. An AWS Region can have only one endpoint group for a
1267
+ # specific listener.
1268
+ #
1269
+ # @!attribute [rw] endpoint_group_arn
1270
+ # The Amazon Resource Name (ARN) of the endpoint group.
1271
+ # @return [String]
1272
+ #
1273
+ # @!attribute [rw] endpoint_group_region
1274
+ # The AWS Region where the endpoint group is located.
1275
+ # @return [String]
1276
+ #
1277
+ # @!attribute [rw] destination_descriptions
1278
+ # For a custom routing accelerator, describes the port range and
1279
+ # protocol for all endpoints (virtual private cloud subnets) in an
1280
+ # endpoint group to accept client traffic on.
1281
+ # @return [Array<Types::CustomRoutingDestinationDescription>]
1282
+ #
1283
+ # @!attribute [rw] endpoint_descriptions
1284
+ # For a custom routing accelerator, describes the endpoints (virtual
1285
+ # private cloud subnets) in an endpoint group to accept client traffic
1286
+ # on.
1287
+ # @return [Array<Types::CustomRoutingEndpointDescription>]
1288
+ #
1289
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CustomRoutingEndpointGroup AWS API Documentation
1290
+ #
1291
+ class CustomRoutingEndpointGroup < Struct.new(
1292
+ :endpoint_group_arn,
1293
+ :endpoint_group_region,
1294
+ :destination_descriptions,
1295
+ :endpoint_descriptions)
1296
+ SENSITIVE = []
1297
+ include Aws::Structure
1298
+ end
1299
+
1300
+ # A complex type for a listener for a custom routing accelerator.
1301
+ #
1302
+ # @!attribute [rw] listener_arn
1303
+ # The Amazon Resource Name (ARN) of the listener.
1304
+ # @return [String]
1305
+ #
1306
+ # @!attribute [rw] port_ranges
1307
+ # The port range to support for connections from clients to your
1308
+ # accelerator.
1309
+ #
1310
+ # Separately, you set port ranges for endpoints. For more information,
1311
+ # see [About endpoints for custom routing accelerators][1].
1312
+ #
1313
+ #
1314
+ #
1315
+ # [1]: https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-endpoints.html
1316
+ # @return [Array<Types::PortRange>]
1317
+ #
1318
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CustomRoutingListener AWS API Documentation
1319
+ #
1320
+ class CustomRoutingListener < Struct.new(
1321
+ :listener_arn,
1322
+ :port_ranges)
1323
+ SENSITIVE = []
1324
+ include Aws::Structure
1325
+ end
1326
+
1327
+ # @note When making an API call, you may pass DeleteAcceleratorRequest
1328
+ # data as a hash:
1329
+ #
1330
+ # {
1331
+ # accelerator_arn: "GenericString", # required
1332
+ # }
1333
+ #
1334
+ # @!attribute [rw] accelerator_arn
1335
+ # The Amazon Resource Name (ARN) of an accelerator.
1336
+ # @return [String]
1337
+ #
1338
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteAcceleratorRequest AWS API Documentation
1339
+ #
1340
+ class DeleteAcceleratorRequest < Struct.new(
1341
+ :accelerator_arn)
1342
+ SENSITIVE = []
1343
+ include Aws::Structure
1344
+ end
1345
+
1346
+ # @note When making an API call, you may pass DeleteCustomRoutingAcceleratorRequest
1347
+ # data as a hash:
1348
+ #
1349
+ # {
1350
+ # accelerator_arn: "GenericString", # required
1351
+ # }
1352
+ #
1353
+ # @!attribute [rw] accelerator_arn
1354
+ # The Amazon Resource Name (ARN) of the custom routing accelerator to
1355
+ # delete.
1356
+ # @return [String]
1357
+ #
1358
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCustomRoutingAcceleratorRequest AWS API Documentation
1359
+ #
1360
+ class DeleteCustomRoutingAcceleratorRequest < Struct.new(
1361
+ :accelerator_arn)
1362
+ SENSITIVE = []
1363
+ include Aws::Structure
1364
+ end
1365
+
1366
+ # @note When making an API call, you may pass DeleteCustomRoutingEndpointGroupRequest
1367
+ # data as a hash:
1368
+ #
1369
+ # {
1370
+ # endpoint_group_arn: "GenericString", # required
1371
+ # }
1372
+ #
1373
+ # @!attribute [rw] endpoint_group_arn
1374
+ # The Amazon Resource Name (ARN) of the endpoint group to delete.
1375
+ # @return [String]
1376
+ #
1377
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCustomRoutingEndpointGroupRequest AWS API Documentation
1378
+ #
1379
+ class DeleteCustomRoutingEndpointGroupRequest < Struct.new(
1380
+ :endpoint_group_arn)
1381
+ SENSITIVE = []
1382
+ include Aws::Structure
1383
+ end
1384
+
1385
+ # @note When making an API call, you may pass DeleteCustomRoutingListenerRequest
1386
+ # data as a hash:
1387
+ #
1388
+ # {
1389
+ # listener_arn: "GenericString", # required
1390
+ # }
1391
+ #
1392
+ # @!attribute [rw] listener_arn
1393
+ # The Amazon Resource Name (ARN) of the listener to delete.
1394
+ # @return [String]
1395
+ #
1396
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCustomRoutingListenerRequest AWS API Documentation
1397
+ #
1398
+ class DeleteCustomRoutingListenerRequest < Struct.new(
1399
+ :listener_arn)
700
1400
  SENSITIVE = []
701
1401
  include Aws::Structure
702
1402
  end
@@ -739,6 +1439,68 @@ module Aws::GlobalAccelerator
739
1439
  include Aws::Structure
740
1440
  end
741
1441
 
1442
+ # @note When making an API call, you may pass DenyCustomRoutingTrafficRequest
1443
+ # data as a hash:
1444
+ #
1445
+ # {
1446
+ # endpoint_group_arn: "GenericString", # required
1447
+ # endpoint_id: "GenericString", # required
1448
+ # destination_addresses: ["IpAddress"],
1449
+ # destination_ports: [1],
1450
+ # deny_all_traffic_to_endpoint: false,
1451
+ # }
1452
+ #
1453
+ # @!attribute [rw] endpoint_group_arn
1454
+ # The Amazon Resource Name (ARN) of the endpoint group.
1455
+ # @return [String]
1456
+ #
1457
+ # @!attribute [rw] endpoint_id
1458
+ # An ID for the endpoint. For custom routing accelerators, this is the
1459
+ # virtual private cloud (VPC) subnet ID.
1460
+ # @return [String]
1461
+ #
1462
+ # @!attribute [rw] destination_addresses
1463
+ # A list of specific Amazon EC2 instance IP addresses (destination
1464
+ # addresses) in a subnet that you want to prevent from receiving
1465
+ # traffic. The IP addresses must be a subset of the IP addresses
1466
+ # allowed for the VPC subnet associated with the endpoint group.
1467
+ # @return [Array<String>]
1468
+ #
1469
+ # @!attribute [rw] destination_ports
1470
+ # A list of specific Amazon EC2 instance ports (destination ports) in
1471
+ # a subnet endpoint that you want to prevent from receiving traffic.
1472
+ # @return [Array<Integer>]
1473
+ #
1474
+ # @!attribute [rw] deny_all_traffic_to_endpoint
1475
+ # Indicates whether all destination IP addresses and ports for a
1476
+ # specified VPC subnet endpoint *cannot* receive traffic from a custom
1477
+ # routing accelerator. The value is TRUE or FALSE.
1478
+ #
1479
+ # When set to TRUE, *no* destinations in the custom routing VPC subnet
1480
+ # can receive traffic. Note that you cannot specify destination IP
1481
+ # addresses and ports when the value is set to TRUE.
1482
+ #
1483
+ # When set to FALSE (or not specified), you *must* specify a list of
1484
+ # destination IP addresses that cannot receive traffic. A list of
1485
+ # ports is optional. If you don't specify a list of ports, the ports
1486
+ # that can accept traffic is the same as the ports configured for the
1487
+ # endpoint group.
1488
+ #
1489
+ # The default value is FALSE.
1490
+ # @return [Boolean]
1491
+ #
1492
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DenyCustomRoutingTrafficRequest AWS API Documentation
1493
+ #
1494
+ class DenyCustomRoutingTrafficRequest < Struct.new(
1495
+ :endpoint_group_arn,
1496
+ :endpoint_id,
1497
+ :destination_addresses,
1498
+ :destination_ports,
1499
+ :deny_all_traffic_to_endpoint)
1500
+ SENSITIVE = []
1501
+ include Aws::Structure
1502
+ end
1503
+
742
1504
  # @note When making an API call, you may pass DeprovisionByoipCidrRequest
743
1505
  # data as a hash:
744
1506
  #
@@ -834,6 +1596,132 @@ module Aws::GlobalAccelerator
834
1596
  include Aws::Structure
835
1597
  end
836
1598
 
1599
+ # @note When making an API call, you may pass DescribeCustomRoutingAcceleratorAttributesRequest
1600
+ # data as a hash:
1601
+ #
1602
+ # {
1603
+ # accelerator_arn: "GenericString", # required
1604
+ # }
1605
+ #
1606
+ # @!attribute [rw] accelerator_arn
1607
+ # The Amazon Resource Name (ARN) of the custom routing accelerator to
1608
+ # describe the attributes for.
1609
+ # @return [String]
1610
+ #
1611
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingAcceleratorAttributesRequest AWS API Documentation
1612
+ #
1613
+ class DescribeCustomRoutingAcceleratorAttributesRequest < Struct.new(
1614
+ :accelerator_arn)
1615
+ SENSITIVE = []
1616
+ include Aws::Structure
1617
+ end
1618
+
1619
+ # @!attribute [rw] accelerator_attributes
1620
+ # The attributes of the custom routing accelerator.
1621
+ # @return [Types::CustomRoutingAcceleratorAttributes]
1622
+ #
1623
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingAcceleratorAttributesResponse AWS API Documentation
1624
+ #
1625
+ class DescribeCustomRoutingAcceleratorAttributesResponse < Struct.new(
1626
+ :accelerator_attributes)
1627
+ SENSITIVE = []
1628
+ include Aws::Structure
1629
+ end
1630
+
1631
+ # @note When making an API call, you may pass DescribeCustomRoutingAcceleratorRequest
1632
+ # data as a hash:
1633
+ #
1634
+ # {
1635
+ # accelerator_arn: "GenericString", # required
1636
+ # }
1637
+ #
1638
+ # @!attribute [rw] accelerator_arn
1639
+ # The Amazon Resource Name (ARN) of the accelerator to describe.
1640
+ # @return [String]
1641
+ #
1642
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingAcceleratorRequest AWS API Documentation
1643
+ #
1644
+ class DescribeCustomRoutingAcceleratorRequest < Struct.new(
1645
+ :accelerator_arn)
1646
+ SENSITIVE = []
1647
+ include Aws::Structure
1648
+ end
1649
+
1650
+ # @!attribute [rw] accelerator
1651
+ # The description of the custom routing accelerator.
1652
+ # @return [Types::CustomRoutingAccelerator]
1653
+ #
1654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingAcceleratorResponse AWS API Documentation
1655
+ #
1656
+ class DescribeCustomRoutingAcceleratorResponse < Struct.new(
1657
+ :accelerator)
1658
+ SENSITIVE = []
1659
+ include Aws::Structure
1660
+ end
1661
+
1662
+ # @note When making an API call, you may pass DescribeCustomRoutingEndpointGroupRequest
1663
+ # data as a hash:
1664
+ #
1665
+ # {
1666
+ # endpoint_group_arn: "GenericString", # required
1667
+ # }
1668
+ #
1669
+ # @!attribute [rw] endpoint_group_arn
1670
+ # The Amazon Resource Name (ARN) of the endpoint group to describe.
1671
+ # @return [String]
1672
+ #
1673
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingEndpointGroupRequest AWS API Documentation
1674
+ #
1675
+ class DescribeCustomRoutingEndpointGroupRequest < Struct.new(
1676
+ :endpoint_group_arn)
1677
+ SENSITIVE = []
1678
+ include Aws::Structure
1679
+ end
1680
+
1681
+ # @!attribute [rw] endpoint_group
1682
+ # The description of an endpoint group for a custom routing
1683
+ # accelerator.
1684
+ # @return [Types::CustomRoutingEndpointGroup]
1685
+ #
1686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingEndpointGroupResponse AWS API Documentation
1687
+ #
1688
+ class DescribeCustomRoutingEndpointGroupResponse < Struct.new(
1689
+ :endpoint_group)
1690
+ SENSITIVE = []
1691
+ include Aws::Structure
1692
+ end
1693
+
1694
+ # @note When making an API call, you may pass DescribeCustomRoutingListenerRequest
1695
+ # data as a hash:
1696
+ #
1697
+ # {
1698
+ # listener_arn: "GenericString", # required
1699
+ # }
1700
+ #
1701
+ # @!attribute [rw] listener_arn
1702
+ # The Amazon Resource Name (ARN) of the listener to describe.
1703
+ # @return [String]
1704
+ #
1705
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingListenerRequest AWS API Documentation
1706
+ #
1707
+ class DescribeCustomRoutingListenerRequest < Struct.new(
1708
+ :listener_arn)
1709
+ SENSITIVE = []
1710
+ include Aws::Structure
1711
+ end
1712
+
1713
+ # @!attribute [rw] listener
1714
+ # The description of a listener for a custom routing accelerator.
1715
+ # @return [Types::CustomRoutingListener]
1716
+ #
1717
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingListenerResponse AWS API Documentation
1718
+ #
1719
+ class DescribeCustomRoutingListenerResponse < Struct.new(
1720
+ :listener)
1721
+ SENSITIVE = []
1722
+ include Aws::Structure
1723
+ end
1724
+
837
1725
  # @note When making an API call, you may pass DescribeEndpointGroupRequest
838
1726
  # data as a hash:
839
1727
  #
@@ -868,35 +1756,103 @@ module Aws::GlobalAccelerator
868
1756
  # @note When making an API call, you may pass DescribeListenerRequest
869
1757
  # data as a hash:
870
1758
  #
871
- # {
872
- # listener_arn: "GenericString", # required
873
- # }
1759
+ # {
1760
+ # listener_arn: "GenericString", # required
1761
+ # }
1762
+ #
1763
+ # @!attribute [rw] listener_arn
1764
+ # The Amazon Resource Name (ARN) of the listener to describe.
1765
+ # @return [String]
1766
+ #
1767
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeListenerRequest AWS API Documentation
1768
+ #
1769
+ class DescribeListenerRequest < Struct.new(
1770
+ :listener_arn)
1771
+ SENSITIVE = []
1772
+ include Aws::Structure
1773
+ end
1774
+
1775
+ # @!attribute [rw] listener
1776
+ # The description of a listener.
1777
+ # @return [Types::Listener]
1778
+ #
1779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeListenerResponse AWS API Documentation
1780
+ #
1781
+ class DescribeListenerResponse < Struct.new(
1782
+ :listener)
1783
+ SENSITIVE = []
1784
+ include Aws::Structure
1785
+ end
1786
+
1787
+ # The port mappings for a specified endpoint IP address (destination).
1788
+ #
1789
+ # @!attribute [rw] accelerator_arn
1790
+ # The Amazon Resource Name (ARN) of the custom routing accelerator
1791
+ # that you have port mappings for.
1792
+ # @return [String]
1793
+ #
1794
+ # @!attribute [rw] accelerator_socket_addresses
1795
+ # The IP address/port combinations (sockets) that map to a given
1796
+ # destination socket address.
1797
+ # @return [Array<Types::SocketAddress>]
1798
+ #
1799
+ # @!attribute [rw] endpoint_group_arn
1800
+ # The Amazon Resource Name (ARN) of the endpoint group.
1801
+ # @return [String]
1802
+ #
1803
+ # @!attribute [rw] endpoint_id
1804
+ # The ID for the virtual private cloud (VPC) subnet.
1805
+ # @return [String]
1806
+ #
1807
+ # @!attribute [rw] endpoint_group_region
1808
+ # The AWS Region for the endpoint group.
1809
+ # @return [String]
874
1810
  #
875
- # @!attribute [rw] listener_arn
876
- # The Amazon Resource Name (ARN) of the listener to describe.
1811
+ # @!attribute [rw] destination_socket_address
1812
+ # The endpoint IP address/port combination for traffic received on the
1813
+ # accelerator socket address.
1814
+ # @return [Types::SocketAddress]
1815
+ #
1816
+ # @!attribute [rw] ip_address_type
1817
+ # The IP address type, which must be IPv4.
877
1818
  # @return [String]
878
1819
  #
879
- # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeListenerRequest AWS API Documentation
1820
+ # @!attribute [rw] destination_traffic_state
1821
+ # Indicates whether or not a port mapping destination can receive
1822
+ # traffic. The value is either ALLOW, if traffic is allowed to the
1823
+ # destination, or DENY, if traffic is not allowed to the destination.
1824
+ # @return [String]
880
1825
  #
881
- class DescribeListenerRequest < Struct.new(
882
- :listener_arn)
1826
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DestinationPortMapping AWS API Documentation
1827
+ #
1828
+ class DestinationPortMapping < Struct.new(
1829
+ :accelerator_arn,
1830
+ :accelerator_socket_addresses,
1831
+ :endpoint_group_arn,
1832
+ :endpoint_id,
1833
+ :endpoint_group_region,
1834
+ :destination_socket_address,
1835
+ :ip_address_type,
1836
+ :destination_traffic_state)
883
1837
  SENSITIVE = []
884
1838
  include Aws::Structure
885
1839
  end
886
1840
 
887
- # @!attribute [rw] listener
888
- # The description of a listener.
889
- # @return [Types::Listener]
1841
+ # The endpoint that you specified doesn't exist.
890
1842
  #
891
- # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeListenerResponse AWS API Documentation
1843
+ # @!attribute [rw] message
1844
+ # @return [String]
892
1845
  #
893
- class DescribeListenerResponse < Struct.new(
894
- :listener)
1846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/EndpointAlreadyExistsException AWS API Documentation
1847
+ #
1848
+ class EndpointAlreadyExistsException < Struct.new(
1849
+ :message)
895
1850
  SENSITIVE = []
896
1851
  include Aws::Structure
897
1852
  end
898
1853
 
899
- # A complex type for endpoints.
1854
+ # A complex type for endpoints. A resource must be valid and active when
1855
+ # you add it as an endpoint.
900
1856
  #
901
1857
  # @note When making an API call, you may pass EndpointConfiguration
902
1858
  # data as a hash:
@@ -911,8 +1867,9 @@ module Aws::GlobalAccelerator
911
1867
  # An ID for the endpoint. If the endpoint is a Network Load Balancer
912
1868
  # or Application Load Balancer, this is the Amazon Resource Name (ARN)
913
1869
  # of the resource. If the endpoint is an Elastic IP address, this is
914
- # the Elastic IP address allocation ID. For EC2 instances, this is the
915
- # EC2 instance ID.
1870
+ # the Elastic IP address allocation ID. For Amazon EC2 instances, this
1871
+ # is the EC2 instance ID. A resource must be valid and active when you
1872
+ # add it as an endpoint.
916
1873
  #
917
1874
  # An Application Load Balancer can be either internal or
918
1875
  # internet-facing.
@@ -970,8 +1927,8 @@ module Aws::GlobalAccelerator
970
1927
  # An ID for the endpoint. If the endpoint is a Network Load Balancer
971
1928
  # or Application Load Balancer, this is the Amazon Resource Name (ARN)
972
1929
  # of the resource. If the endpoint is an Elastic IP address, this is
973
- # the Elastic IP address allocation ID. For EC2 instances, this is the
974
- # EC2 instance ID.
1930
+ # the Elastic IP address allocation ID. For Amazon EC2 instances, this
1931
+ # is the EC2 instance ID.
975
1932
  #
976
1933
  # An Application Load Balancer can be either internal or
977
1934
  # internet-facing.
@@ -998,27 +1955,7 @@ module Aws::GlobalAccelerator
998
1955
  # @return [String]
999
1956
  #
1000
1957
  # @!attribute [rw] health_reason
1001
- # The reason code associated with why the endpoint is not healthy. If
1002
- # the endpoint state is healthy, a reason code is not provided.
1003
- #
1004
- # If the endpoint state is **unhealthy**, the reason code can be one
1005
- # of the following values:
1006
- #
1007
- # * **Timeout**\: The health check requests to the endpoint are timing
1008
- # out before returning a status.
1009
- #
1010
- # * **Failed**\: The health check failed, for example because the
1011
- # endpoint response was invalid (malformed).
1012
- #
1013
- # If the endpoint state is **initial**, the reason code can be one of
1014
- # the following values:
1015
- #
1016
- # * **ProvisioningInProgress**\: The endpoint is in the process of
1017
- # being provisioned.
1018
- #
1019
- # * **InitialHealthChecking**\: Global Accelerator is still setting up
1020
- # the minimum number of health checks for the endpoint that are
1021
- # required to determine its health status.
1958
+ # Returns a null result.
1022
1959
  # @return [String]
1023
1960
  #
1024
1961
  # @!attribute [rw] client_ip_preservation_enabled
@@ -1060,7 +1997,7 @@ module Aws::GlobalAccelerator
1060
1997
  # @return [String]
1061
1998
  #
1062
1999
  # @!attribute [rw] endpoint_group_region
1063
- # The AWS Region that this endpoint group belongs.
2000
+ # The AWS Region where the endpoint group is located.
1064
2001
  # @return [String]
1065
2002
  #
1066
2003
  # @!attribute [rw] endpoint_descriptions
@@ -1111,6 +2048,14 @@ module Aws::GlobalAccelerator
1111
2048
  # healthy. The default value is 3.
1112
2049
  # @return [Integer]
1113
2050
  #
2051
+ # @!attribute [rw] port_overrides
2052
+ # Allows you to override the destination ports used to route traffic
2053
+ # to an endpoint. Using a port override lets you to map a list of
2054
+ # external destination ports (that your users send traffic to) to a
2055
+ # list of internal destination ports that you want an application
2056
+ # endpoint to receive traffic on.
2057
+ # @return [Array<Types::PortOverride>]
2058
+ #
1114
2059
  # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/EndpointGroup AWS API Documentation
1115
2060
  #
1116
2061
  class EndpointGroup < Struct.new(
@@ -1122,7 +2067,8 @@ module Aws::GlobalAccelerator
1122
2067
  :health_check_protocol,
1123
2068
  :health_check_path,
1124
2069
  :health_check_interval_seconds,
1125
- :threshold_count)
2070
+ :threshold_count,
2071
+ :port_overrides)
1126
2072
  SENSITIVE = []
1127
2073
  include Aws::Structure
1128
2074
  end
@@ -1153,6 +2099,19 @@ module Aws::GlobalAccelerator
1153
2099
  include Aws::Structure
1154
2100
  end
1155
2101
 
2102
+ # The endpoint that you specified doesn't exist.
2103
+ #
2104
+ # @!attribute [rw] message
2105
+ # @return [String]
2106
+ #
2107
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/EndpointNotFoundException AWS API Documentation
2108
+ #
2109
+ class EndpointNotFoundException < Struct.new(
2110
+ :message)
2111
+ SENSITIVE = []
2112
+ include Aws::Structure
2113
+ end
2114
+
1156
2115
  # The CIDR that you specified is not valid for this action. For example,
1157
2116
  # the state of the CIDR might be incorrect for this action.
1158
2117
  #
@@ -1292,52 +2251,320 @@ module Aws::GlobalAccelerator
1292
2251
  #
1293
2252
  # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListAcceleratorsResponse AWS API Documentation
1294
2253
  #
1295
- class ListAcceleratorsResponse < Struct.new(
1296
- :accelerators,
2254
+ class ListAcceleratorsResponse < Struct.new(
2255
+ :accelerators,
2256
+ :next_token)
2257
+ SENSITIVE = []
2258
+ include Aws::Structure
2259
+ end
2260
+
2261
+ # @note When making an API call, you may pass ListByoipCidrsRequest
2262
+ # data as a hash:
2263
+ #
2264
+ # {
2265
+ # max_results: 1,
2266
+ # next_token: "GenericString",
2267
+ # }
2268
+ #
2269
+ # @!attribute [rw] max_results
2270
+ # The maximum number of results to return with a single call. To
2271
+ # retrieve the remaining results, make another call with the returned
2272
+ # `nextToken` value.
2273
+ # @return [Integer]
2274
+ #
2275
+ # @!attribute [rw] next_token
2276
+ # The token for the next page of results.
2277
+ # @return [String]
2278
+ #
2279
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListByoipCidrsRequest AWS API Documentation
2280
+ #
2281
+ class ListByoipCidrsRequest < Struct.new(
2282
+ :max_results,
2283
+ :next_token)
2284
+ SENSITIVE = []
2285
+ include Aws::Structure
2286
+ end
2287
+
2288
+ # @!attribute [rw] byoip_cidrs
2289
+ # Information about your address ranges.
2290
+ # @return [Array<Types::ByoipCidr>]
2291
+ #
2292
+ # @!attribute [rw] next_token
2293
+ # The token for the next page of results.
2294
+ # @return [String]
2295
+ #
2296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListByoipCidrsResponse AWS API Documentation
2297
+ #
2298
+ class ListByoipCidrsResponse < Struct.new(
2299
+ :byoip_cidrs,
2300
+ :next_token)
2301
+ SENSITIVE = []
2302
+ include Aws::Structure
2303
+ end
2304
+
2305
+ # @note When making an API call, you may pass ListCustomRoutingAcceleratorsRequest
2306
+ # data as a hash:
2307
+ #
2308
+ # {
2309
+ # max_results: 1,
2310
+ # next_token: "GenericString",
2311
+ # }
2312
+ #
2313
+ # @!attribute [rw] max_results
2314
+ # The number of custom routing Global Accelerator objects that you
2315
+ # want to return with this call. The default value is 10.
2316
+ # @return [Integer]
2317
+ #
2318
+ # @!attribute [rw] next_token
2319
+ # The token for the next set of results. You receive this token from a
2320
+ # previous call.
2321
+ # @return [String]
2322
+ #
2323
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingAcceleratorsRequest AWS API Documentation
2324
+ #
2325
+ class ListCustomRoutingAcceleratorsRequest < Struct.new(
2326
+ :max_results,
2327
+ :next_token)
2328
+ SENSITIVE = []
2329
+ include Aws::Structure
2330
+ end
2331
+
2332
+ # @!attribute [rw] accelerators
2333
+ # The list of custom routing accelerators for a customer account.
2334
+ # @return [Array<Types::CustomRoutingAccelerator>]
2335
+ #
2336
+ # @!attribute [rw] next_token
2337
+ # The token for the next set of results. You receive this token from a
2338
+ # previous call.
2339
+ # @return [String]
2340
+ #
2341
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingAcceleratorsResponse AWS API Documentation
2342
+ #
2343
+ class ListCustomRoutingAcceleratorsResponse < Struct.new(
2344
+ :accelerators,
2345
+ :next_token)
2346
+ SENSITIVE = []
2347
+ include Aws::Structure
2348
+ end
2349
+
2350
+ # @note When making an API call, you may pass ListCustomRoutingEndpointGroupsRequest
2351
+ # data as a hash:
2352
+ #
2353
+ # {
2354
+ # listener_arn: "GenericString", # required
2355
+ # max_results: 1,
2356
+ # next_token: "GenericString",
2357
+ # }
2358
+ #
2359
+ # @!attribute [rw] listener_arn
2360
+ # The Amazon Resource Name (ARN) of the listener to list endpoint
2361
+ # groups for.
2362
+ # @return [String]
2363
+ #
2364
+ # @!attribute [rw] max_results
2365
+ # The number of endpoint group objects that you want to return with
2366
+ # this call. The default value is 10.
2367
+ # @return [Integer]
2368
+ #
2369
+ # @!attribute [rw] next_token
2370
+ # The token for the next set of results. You receive this token from a
2371
+ # previous call.
2372
+ # @return [String]
2373
+ #
2374
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingEndpointGroupsRequest AWS API Documentation
2375
+ #
2376
+ class ListCustomRoutingEndpointGroupsRequest < Struct.new(
2377
+ :listener_arn,
2378
+ :max_results,
2379
+ :next_token)
2380
+ SENSITIVE = []
2381
+ include Aws::Structure
2382
+ end
2383
+
2384
+ # @!attribute [rw] endpoint_groups
2385
+ # The list of the endpoint groups associated with a listener for a
2386
+ # custom routing accelerator.
2387
+ # @return [Array<Types::CustomRoutingEndpointGroup>]
2388
+ #
2389
+ # @!attribute [rw] next_token
2390
+ # The token for the next set of results. You receive this token from a
2391
+ # previous call.
2392
+ # @return [String]
2393
+ #
2394
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingEndpointGroupsResponse AWS API Documentation
2395
+ #
2396
+ class ListCustomRoutingEndpointGroupsResponse < Struct.new(
2397
+ :endpoint_groups,
2398
+ :next_token)
2399
+ SENSITIVE = []
2400
+ include Aws::Structure
2401
+ end
2402
+
2403
+ # @note When making an API call, you may pass ListCustomRoutingListenersRequest
2404
+ # data as a hash:
2405
+ #
2406
+ # {
2407
+ # accelerator_arn: "GenericString", # required
2408
+ # max_results: 1,
2409
+ # next_token: "GenericString",
2410
+ # }
2411
+ #
2412
+ # @!attribute [rw] accelerator_arn
2413
+ # The Amazon Resource Name (ARN) of the accelerator to list listeners
2414
+ # for.
2415
+ # @return [String]
2416
+ #
2417
+ # @!attribute [rw] max_results
2418
+ # The number of listener objects that you want to return with this
2419
+ # call. The default value is 10.
2420
+ # @return [Integer]
2421
+ #
2422
+ # @!attribute [rw] next_token
2423
+ # The token for the next set of results. You receive this token from a
2424
+ # previous call.
2425
+ # @return [String]
2426
+ #
2427
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingListenersRequest AWS API Documentation
2428
+ #
2429
+ class ListCustomRoutingListenersRequest < Struct.new(
2430
+ :accelerator_arn,
2431
+ :max_results,
2432
+ :next_token)
2433
+ SENSITIVE = []
2434
+ include Aws::Structure
2435
+ end
2436
+
2437
+ # @!attribute [rw] listeners
2438
+ # The list of listeners for a custom routing accelerator.
2439
+ # @return [Array<Types::CustomRoutingListener>]
2440
+ #
2441
+ # @!attribute [rw] next_token
2442
+ # The token for the next set of results. You receive this token from a
2443
+ # previous call.
2444
+ # @return [String]
2445
+ #
2446
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingListenersResponse AWS API Documentation
2447
+ #
2448
+ class ListCustomRoutingListenersResponse < Struct.new(
2449
+ :listeners,
2450
+ :next_token)
2451
+ SENSITIVE = []
2452
+ include Aws::Structure
2453
+ end
2454
+
2455
+ # @note When making an API call, you may pass ListCustomRoutingPortMappingsByDestinationRequest
2456
+ # data as a hash:
2457
+ #
2458
+ # {
2459
+ # endpoint_id: "GenericString", # required
2460
+ # destination_address: "GenericString", # required
2461
+ # max_results: 1,
2462
+ # next_token: "GenericString",
2463
+ # }
2464
+ #
2465
+ # @!attribute [rw] endpoint_id
2466
+ # The ID for the virtual private cloud (VPC) subnet.
2467
+ # @return [String]
2468
+ #
2469
+ # @!attribute [rw] destination_address
2470
+ # The endpoint IP address in a virtual private cloud (VPC) subnet for
2471
+ # which you want to receive back port mappings.
2472
+ # @return [String]
2473
+ #
2474
+ # @!attribute [rw] max_results
2475
+ # The number of destination port mappings that you want to return with
2476
+ # this call. The default value is 10.
2477
+ # @return [Integer]
2478
+ #
2479
+ # @!attribute [rw] next_token
2480
+ # The token for the next set of results. You receive this token from a
2481
+ # previous call.
2482
+ # @return [String]
2483
+ #
2484
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingPortMappingsByDestinationRequest AWS API Documentation
2485
+ #
2486
+ class ListCustomRoutingPortMappingsByDestinationRequest < Struct.new(
2487
+ :endpoint_id,
2488
+ :destination_address,
2489
+ :max_results,
2490
+ :next_token)
2491
+ SENSITIVE = []
2492
+ include Aws::Structure
2493
+ end
2494
+
2495
+ # @!attribute [rw] destination_port_mappings
2496
+ # The port mappings for the endpoint IP address that you specified in
2497
+ # the request.
2498
+ # @return [Array<Types::DestinationPortMapping>]
2499
+ #
2500
+ # @!attribute [rw] next_token
2501
+ # The token for the next set of results. You receive this token from a
2502
+ # previous call.
2503
+ # @return [String]
2504
+ #
2505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingPortMappingsByDestinationResponse AWS API Documentation
2506
+ #
2507
+ class ListCustomRoutingPortMappingsByDestinationResponse < Struct.new(
2508
+ :destination_port_mappings,
1297
2509
  :next_token)
1298
2510
  SENSITIVE = []
1299
2511
  include Aws::Structure
1300
2512
  end
1301
2513
 
1302
- # @note When making an API call, you may pass ListByoipCidrsRequest
2514
+ # @note When making an API call, you may pass ListCustomRoutingPortMappingsRequest
1303
2515
  # data as a hash:
1304
2516
  #
1305
2517
  # {
2518
+ # accelerator_arn: "GenericString", # required
2519
+ # endpoint_group_arn: "GenericString",
1306
2520
  # max_results: 1,
1307
2521
  # next_token: "GenericString",
1308
2522
  # }
1309
2523
  #
2524
+ # @!attribute [rw] accelerator_arn
2525
+ # The Amazon Resource Name (ARN) of the accelerator to list the custom
2526
+ # routing port mappings for.
2527
+ # @return [String]
2528
+ #
2529
+ # @!attribute [rw] endpoint_group_arn
2530
+ # The Amazon Resource Name (ARN) of the endpoint group to list the
2531
+ # custom routing port mappings for.
2532
+ # @return [String]
2533
+ #
1310
2534
  # @!attribute [rw] max_results
1311
- # The maximum number of results to return with a single call. To
1312
- # retrieve the remaining results, make another call with the returned
1313
- # `nextToken` value.
2535
+ # The number of destination port mappings that you want to return with
2536
+ # this call. The default value is 10.
1314
2537
  # @return [Integer]
1315
2538
  #
1316
2539
  # @!attribute [rw] next_token
1317
- # The token for the next page of results.
2540
+ # The token for the next set of results. You receive this token from a
2541
+ # previous call.
1318
2542
  # @return [String]
1319
2543
  #
1320
- # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListByoipCidrsRequest AWS API Documentation
2544
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingPortMappingsRequest AWS API Documentation
1321
2545
  #
1322
- class ListByoipCidrsRequest < Struct.new(
2546
+ class ListCustomRoutingPortMappingsRequest < Struct.new(
2547
+ :accelerator_arn,
2548
+ :endpoint_group_arn,
1323
2549
  :max_results,
1324
2550
  :next_token)
1325
2551
  SENSITIVE = []
1326
2552
  include Aws::Structure
1327
2553
  end
1328
2554
 
1329
- # @!attribute [rw] byoip_cidrs
1330
- # Information about your address ranges.
1331
- # @return [Array<Types::ByoipCidr>]
2555
+ # @!attribute [rw] port_mappings
2556
+ # The port mappings for a custom routing accelerator.
2557
+ # @return [Array<Types::PortMapping>]
1332
2558
  #
1333
2559
  # @!attribute [rw] next_token
1334
- # The token for the next page of results.
2560
+ # The token for the next set of results. You receive this token from a
2561
+ # previous call.
1335
2562
  # @return [String]
1336
2563
  #
1337
- # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListByoipCidrsResponse AWS API Documentation
2564
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingPortMappingsResponse AWS API Documentation
1338
2565
  #
1339
- class ListByoipCidrsResponse < Struct.new(
1340
- :byoip_cidrs,
2566
+ class ListCustomRoutingPortMappingsResponse < Struct.new(
2567
+ :port_mappings,
1341
2568
  :next_token)
1342
2569
  SENSITIVE = []
1343
2570
  include Aws::Structure
@@ -1496,7 +2723,7 @@ module Aws::GlobalAccelerator
1496
2723
  # @!attribute [rw] client_affinity
1497
2724
  # Client affinity lets you direct all requests from a user to the same
1498
2725
  # endpoint, if you have stateful applications, regardless of the port
1499
- # and protocol of the client request. Clienty affinity gives you
2726
+ # and protocol of the client request. Client affinity gives you
1500
2727
  # control over whether to always route each client to the same
1501
2728
  # specific endpoint.
1502
2729
  #
@@ -1543,6 +2770,95 @@ module Aws::GlobalAccelerator
1543
2770
  include Aws::Structure
1544
2771
  end
1545
2772
 
2773
+ # Returns the ports and associated IP addresses and ports of Amazon EC2
2774
+ # instances in your virtual private cloud (VPC) subnets. Custom routing
2775
+ # is a port mapping protocol in AWS Global Accelerator that statically
2776
+ # associates port ranges with VPC subnets, which allows Global
2777
+ # Accelerator to route to specific instances and ports within one or
2778
+ # more subnets.
2779
+ #
2780
+ # @!attribute [rw] accelerator_port
2781
+ # The accelerator port.
2782
+ # @return [Integer]
2783
+ #
2784
+ # @!attribute [rw] endpoint_group_arn
2785
+ # The Amazon Resource Name (ARN) of the endpoint group.
2786
+ # @return [String]
2787
+ #
2788
+ # @!attribute [rw] endpoint_id
2789
+ # The IP address of the VPC subnet (the subnet ID).
2790
+ # @return [String]
2791
+ #
2792
+ # @!attribute [rw] destination_socket_address
2793
+ # The EC2 instance IP address and port number in the virtual private
2794
+ # cloud (VPC) subnet.
2795
+ # @return [Types::SocketAddress]
2796
+ #
2797
+ # @!attribute [rw] protocols
2798
+ # The protocols supported by the endpoint group.
2799
+ # @return [Array<String>]
2800
+ #
2801
+ # @!attribute [rw] destination_traffic_state
2802
+ # Indicates whether or not a port mapping destination can receive
2803
+ # traffic. The value is either ALLOW, if traffic is allowed to the
2804
+ # destination, or DENY, if traffic is not allowed to the destination.
2805
+ # @return [String]
2806
+ #
2807
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/PortMapping AWS API Documentation
2808
+ #
2809
+ class PortMapping < Struct.new(
2810
+ :accelerator_port,
2811
+ :endpoint_group_arn,
2812
+ :endpoint_id,
2813
+ :destination_socket_address,
2814
+ :protocols,
2815
+ :destination_traffic_state)
2816
+ SENSITIVE = []
2817
+ include Aws::Structure
2818
+ end
2819
+
2820
+ # Override specific listener ports used to route traffic to endpoints
2821
+ # that are part of an endpoint group. For example, you can create a port
2822
+ # override in which the listener receives user traffic on ports 80 and
2823
+ # 443, but your accelerator routes that traffic to ports 1080 and 1443,
2824
+ # respectively, on the endpoints.
2825
+ #
2826
+ # For more information, see [ Port overrides][1] in the *AWS Global
2827
+ # Accelerator Developer Guide*.
2828
+ #
2829
+ #
2830
+ #
2831
+ # [1]: https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoint-groups-port-override.html
2832
+ #
2833
+ # @note When making an API call, you may pass PortOverride
2834
+ # data as a hash:
2835
+ #
2836
+ # {
2837
+ # listener_port: 1,
2838
+ # endpoint_port: 1,
2839
+ # }
2840
+ #
2841
+ # @!attribute [rw] listener_port
2842
+ # The listener port that you want to map to a specific endpoint port.
2843
+ # This is the port that user traffic arrives to the Global Accelerator
2844
+ # on.
2845
+ # @return [Integer]
2846
+ #
2847
+ # @!attribute [rw] endpoint_port
2848
+ # The endpoint port that you want a listener port to be mapped to.
2849
+ # This is the port on the endpoint, such as the Application Load
2850
+ # Balancer or Amazon EC2 instance.
2851
+ # @return [Integer]
2852
+ #
2853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/PortOverride AWS API Documentation
2854
+ #
2855
+ class PortOverride < Struct.new(
2856
+ :listener_port,
2857
+ :endpoint_port)
2858
+ SENSITIVE = []
2859
+ include Aws::Structure
2860
+ end
2861
+
1546
2862
  # A complex type for a range of ports for a listener.
1547
2863
  #
1548
2864
  # @note When making an API call, you may pass PortRange
@@ -1614,6 +2930,52 @@ module Aws::GlobalAccelerator
1614
2930
  include Aws::Structure
1615
2931
  end
1616
2932
 
2933
+ # @note When making an API call, you may pass RemoveCustomRoutingEndpointsRequest
2934
+ # data as a hash:
2935
+ #
2936
+ # {
2937
+ # endpoint_ids: ["GenericString"], # required
2938
+ # endpoint_group_arn: "GenericString", # required
2939
+ # }
2940
+ #
2941
+ # @!attribute [rw] endpoint_ids
2942
+ # The IDs for the endpoints. For custom routing accelerators, endpoint
2943
+ # IDs are the virtual private cloud (VPC) subnet IDs.
2944
+ # @return [Array<String>]
2945
+ #
2946
+ # @!attribute [rw] endpoint_group_arn
2947
+ # The Amazon Resource Name (ARN) of the endpoint group to remove
2948
+ # endpoints from.
2949
+ # @return [String]
2950
+ #
2951
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/RemoveCustomRoutingEndpointsRequest AWS API Documentation
2952
+ #
2953
+ class RemoveCustomRoutingEndpointsRequest < Struct.new(
2954
+ :endpoint_ids,
2955
+ :endpoint_group_arn)
2956
+ SENSITIVE = []
2957
+ include Aws::Structure
2958
+ end
2959
+
2960
+ # An IP address/port combination.
2961
+ #
2962
+ # @!attribute [rw] ip_address
2963
+ # The IP address for the socket address.
2964
+ # @return [String]
2965
+ #
2966
+ # @!attribute [rw] port
2967
+ # The port for the socket address.
2968
+ # @return [Integer]
2969
+ #
2970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/SocketAddress AWS API Documentation
2971
+ #
2972
+ class SocketAddress < Struct.new(
2973
+ :ip_address,
2974
+ :port)
2975
+ SENSITIVE = []
2976
+ include Aws::Structure
2977
+ end
2978
+
1617
2979
  # A complex type that contains a `Tag` key and `Tag` value.
1618
2980
  #
1619
2981
  # @note When making an API call, you may pass Tag
@@ -1799,7 +3161,7 @@ module Aws::GlobalAccelerator
1799
3161
  # @return [String]
1800
3162
  #
1801
3163
  # @!attribute [rw] ip_address_type
1802
- # The value for the address type must be IPv4.
3164
+ # The IP address type, which must be IPv4.
1803
3165
  # @return [String]
1804
3166
  #
1805
3167
  # @!attribute [rw] enabled
@@ -1833,6 +3195,183 @@ module Aws::GlobalAccelerator
1833
3195
  include Aws::Structure
1834
3196
  end
1835
3197
 
3198
+ # @note When making an API call, you may pass UpdateCustomRoutingAcceleratorAttributesRequest
3199
+ # data as a hash:
3200
+ #
3201
+ # {
3202
+ # accelerator_arn: "GenericString", # required
3203
+ # flow_logs_enabled: false,
3204
+ # flow_logs_s3_bucket: "GenericString",
3205
+ # flow_logs_s3_prefix: "GenericString",
3206
+ # }
3207
+ #
3208
+ # @!attribute [rw] accelerator_arn
3209
+ # The Amazon Resource Name (ARN) of the custom routing accelerator to
3210
+ # update attributes for.
3211
+ # @return [String]
3212
+ #
3213
+ # @!attribute [rw] flow_logs_enabled
3214
+ # Update whether flow logs are enabled. The default value is false. If
3215
+ # the value is true, `FlowLogsS3Bucket` and `FlowLogsS3Prefix` must be
3216
+ # specified.
3217
+ #
3218
+ # For more information, see [Flow Logs][1] in the *AWS Global
3219
+ # Accelerator Developer Guide*.
3220
+ #
3221
+ #
3222
+ #
3223
+ # [1]: https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html
3224
+ # @return [Boolean]
3225
+ #
3226
+ # @!attribute [rw] flow_logs_s3_bucket
3227
+ # The name of the Amazon S3 bucket for the flow logs. Attribute is
3228
+ # required if `FlowLogsEnabled` is `true`. The bucket must exist and
3229
+ # have a bucket policy that grants AWS Global Accelerator permission
3230
+ # to write to the bucket.
3231
+ # @return [String]
3232
+ #
3233
+ # @!attribute [rw] flow_logs_s3_prefix
3234
+ # Update the prefix for the location in the Amazon S3 bucket for the
3235
+ # flow logs. Attribute is required if `FlowLogsEnabled` is `true`.
3236
+ #
3237
+ # If you don’t specify a prefix, the flow logs are stored in the root
3238
+ # of the bucket. If you specify slash (/) for the S3 bucket prefix,
3239
+ # the log file bucket folder structure will include a double slash
3240
+ # (//), like the following:
3241
+ #
3242
+ # DOC-EXAMPLE-BUCKET//AWSLogs/aws\_account\_id
3243
+ # @return [String]
3244
+ #
3245
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingAcceleratorAttributesRequest AWS API Documentation
3246
+ #
3247
+ class UpdateCustomRoutingAcceleratorAttributesRequest < Struct.new(
3248
+ :accelerator_arn,
3249
+ :flow_logs_enabled,
3250
+ :flow_logs_s3_bucket,
3251
+ :flow_logs_s3_prefix)
3252
+ SENSITIVE = []
3253
+ include Aws::Structure
3254
+ end
3255
+
3256
+ # @!attribute [rw] accelerator_attributes
3257
+ # Updated custom routing accelerator.
3258
+ # @return [Types::CustomRoutingAcceleratorAttributes]
3259
+ #
3260
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingAcceleratorAttributesResponse AWS API Documentation
3261
+ #
3262
+ class UpdateCustomRoutingAcceleratorAttributesResponse < Struct.new(
3263
+ :accelerator_attributes)
3264
+ SENSITIVE = []
3265
+ include Aws::Structure
3266
+ end
3267
+
3268
+ # @note When making an API call, you may pass UpdateCustomRoutingAcceleratorRequest
3269
+ # data as a hash:
3270
+ #
3271
+ # {
3272
+ # accelerator_arn: "GenericString", # required
3273
+ # name: "GenericString",
3274
+ # ip_address_type: "IPV4", # accepts IPV4
3275
+ # enabled: false,
3276
+ # }
3277
+ #
3278
+ # @!attribute [rw] accelerator_arn
3279
+ # The Amazon Resource Name (ARN) of the accelerator to update.
3280
+ # @return [String]
3281
+ #
3282
+ # @!attribute [rw] name
3283
+ # The name of the accelerator. The name can have a maximum of 32
3284
+ # characters, must contain only alphanumeric characters or hyphens
3285
+ # (-), and must not begin or end with a hyphen.
3286
+ # @return [String]
3287
+ #
3288
+ # @!attribute [rw] ip_address_type
3289
+ # The value for the address type must be IPv4.
3290
+ # @return [String]
3291
+ #
3292
+ # @!attribute [rw] enabled
3293
+ # Indicates whether an accelerator is enabled. The value is true or
3294
+ # false. The default value is true.
3295
+ #
3296
+ # If the value is set to true, the accelerator cannot be deleted. If
3297
+ # set to false, the accelerator can be deleted.
3298
+ # @return [Boolean]
3299
+ #
3300
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingAcceleratorRequest AWS API Documentation
3301
+ #
3302
+ class UpdateCustomRoutingAcceleratorRequest < Struct.new(
3303
+ :accelerator_arn,
3304
+ :name,
3305
+ :ip_address_type,
3306
+ :enabled)
3307
+ SENSITIVE = []
3308
+ include Aws::Structure
3309
+ end
3310
+
3311
+ # @!attribute [rw] accelerator
3312
+ # Information about the updated custom routing accelerator.
3313
+ # @return [Types::CustomRoutingAccelerator]
3314
+ #
3315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingAcceleratorResponse AWS API Documentation
3316
+ #
3317
+ class UpdateCustomRoutingAcceleratorResponse < Struct.new(
3318
+ :accelerator)
3319
+ SENSITIVE = []
3320
+ include Aws::Structure
3321
+ end
3322
+
3323
+ # @note When making an API call, you may pass UpdateCustomRoutingListenerRequest
3324
+ # data as a hash:
3325
+ #
3326
+ # {
3327
+ # listener_arn: "GenericString", # required
3328
+ # port_ranges: [ # required
3329
+ # {
3330
+ # from_port: 1,
3331
+ # to_port: 1,
3332
+ # },
3333
+ # ],
3334
+ # }
3335
+ #
3336
+ # @!attribute [rw] listener_arn
3337
+ # The Amazon Resource Name (ARN) of the listener to update.
3338
+ # @return [String]
3339
+ #
3340
+ # @!attribute [rw] port_ranges
3341
+ # The updated port range to support for connections from clients to
3342
+ # your accelerator. If you remove ports that are currently being used
3343
+ # by a subnet endpoint, the call fails.
3344
+ #
3345
+ # Separately, you set port ranges for endpoints. For more information,
3346
+ # see [About endpoints for custom routing accelerators][1].
3347
+ #
3348
+ #
3349
+ #
3350
+ # [1]: https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-endpoints.html
3351
+ # @return [Array<Types::PortRange>]
3352
+ #
3353
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingListenerRequest AWS API Documentation
3354
+ #
3355
+ class UpdateCustomRoutingListenerRequest < Struct.new(
3356
+ :listener_arn,
3357
+ :port_ranges)
3358
+ SENSITIVE = []
3359
+ include Aws::Structure
3360
+ end
3361
+
3362
+ # @!attribute [rw] listener
3363
+ # Information for the updated listener for a custom routing
3364
+ # accelerator.
3365
+ # @return [Types::CustomRoutingListener]
3366
+ #
3367
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingListenerResponse AWS API Documentation
3368
+ #
3369
+ class UpdateCustomRoutingListenerResponse < Struct.new(
3370
+ :listener)
3371
+ SENSITIVE = []
3372
+ include Aws::Structure
3373
+ end
3374
+
1836
3375
  # @note When making an API call, you may pass UpdateEndpointGroupRequest
1837
3376
  # data as a hash:
1838
3377
  #
@@ -1848,9 +3387,15 @@ module Aws::GlobalAccelerator
1848
3387
  # traffic_dial_percentage: 1.0,
1849
3388
  # health_check_port: 1,
1850
3389
  # health_check_protocol: "TCP", # accepts TCP, HTTP, HTTPS
1851
- # health_check_path: "GenericString",
3390
+ # health_check_path: "HealthCheckPath",
1852
3391
  # health_check_interval_seconds: 1,
1853
3392
  # threshold_count: 1,
3393
+ # port_overrides: [
3394
+ # {
3395
+ # listener_port: 1,
3396
+ # endpoint_port: 1,
3397
+ # },
3398
+ # ],
1854
3399
  # }
1855
3400
  #
1856
3401
  # @!attribute [rw] endpoint_group_arn
@@ -1858,7 +3403,8 @@ module Aws::GlobalAccelerator
1858
3403
  # @return [String]
1859
3404
  #
1860
3405
  # @!attribute [rw] endpoint_configurations
1861
- # The list of endpoint objects.
3406
+ # The list of endpoint objects. A resource must be valid and active
3407
+ # when you add it as an endpoint.
1862
3408
  # @return [Array<Types::EndpointConfiguration>]
1863
3409
  #
1864
3410
  # @!attribute [rw] traffic_dial_percentage
@@ -1904,6 +3450,21 @@ module Aws::GlobalAccelerator
1904
3450
  # healthy. The default value is 3.
1905
3451
  # @return [Integer]
1906
3452
  #
3453
+ # @!attribute [rw] port_overrides
3454
+ # Override specific listener ports used to route traffic to endpoints
3455
+ # that are part of this endpoint group. For example, you can create a
3456
+ # port override in which the listener receives user traffic on ports
3457
+ # 80 and 443, but your accelerator routes that traffic to ports 1080
3458
+ # and 1443, respectively, on the endpoints.
3459
+ #
3460
+ # For more information, see [ Port overrides][1] in the *AWS Global
3461
+ # Accelerator Developer Guide*.
3462
+ #
3463
+ #
3464
+ #
3465
+ # [1]: https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoint-groups-port-override.html
3466
+ # @return [Array<Types::PortOverride>]
3467
+ #
1907
3468
  # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateEndpointGroupRequest AWS API Documentation
1908
3469
  #
1909
3470
  class UpdateEndpointGroupRequest < Struct.new(
@@ -1914,7 +3475,8 @@ module Aws::GlobalAccelerator
1914
3475
  :health_check_protocol,
1915
3476
  :health_check_path,
1916
3477
  :health_check_interval_seconds,
1917
- :threshold_count)
3478
+ :threshold_count,
3479
+ :port_overrides)
1918
3480
  SENSITIVE = []
1919
3481
  include Aws::Structure
1920
3482
  end
@@ -1963,7 +3525,7 @@ module Aws::GlobalAccelerator
1963
3525
  # @!attribute [rw] client_affinity
1964
3526
  # Client affinity lets you direct all requests from a user to the same
1965
3527
  # endpoint, if you have stateful applications, regardless of the port
1966
- # and protocol of the client request. Clienty affinity gives you
3528
+ # and protocol of the client request. Client affinity gives you
1967
3529
  # control over whether to always route each client to the same
1968
3530
  # specific endpoint.
1969
3531
  #