aws-sdk-elasticloadbalancingv2 1.21.0 → 1.75.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,15 +1,27 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
4
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
7
  #
6
8
  # WARNING ABOUT GENERATED CODE
7
9
 
8
10
  module Aws::ElasticLoadBalancingV2
9
11
  module Types
10
12
 
13
+ # The specified ALPN policy is not supported.
14
+ #
15
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ALPNPolicyNotSupportedException AWS API Documentation
16
+ #
17
+ class ALPNPolicyNotSupportedException < Aws::EmptyStructure; end
18
+
11
19
  # Information about an action.
12
20
  #
21
+ # Each rule must include exactly one of the following types of actions:
22
+ # `forward`, `fixed-response`, or `redirect`, and it must be the last
23
+ # action to be performed.
24
+ #
13
25
  # @note When making an API call, you may pass Action
14
26
  # data as a hash:
15
27
  #
@@ -58,17 +70,29 @@ module Aws::ElasticLoadBalancingV2
58
70
  # status_code: "FixedResponseActionStatusCode", # required
59
71
  # content_type: "FixedResponseActionContentType",
60
72
  # },
73
+ # forward_config: {
74
+ # target_groups: [
75
+ # {
76
+ # target_group_arn: "TargetGroupArn",
77
+ # weight: 1,
78
+ # },
79
+ # ],
80
+ # target_group_stickiness_config: {
81
+ # enabled: false,
82
+ # duration_seconds: 1,
83
+ # },
84
+ # },
61
85
  # }
62
86
  #
63
87
  # @!attribute [rw] type
64
- # The type of action. Each rule must include exactly one of the
65
- # following types of actions: `forward`, `fixed-response`, or
66
- # `redirect`.
88
+ # The type of action.
67
89
  # @return [String]
68
90
  #
69
91
  # @!attribute [rw] target_group_arn
70
92
  # The Amazon Resource Name (ARN) of the target group. Specify only
71
- # when `Type` is `forward`.
93
+ # when `Type` is `forward` and you want to route to a single target
94
+ # group. To route to one or more target groups, use `ForwardConfig`
95
+ # instead.
72
96
  # @return [String]
73
97
  #
74
98
  # @!attribute [rw] authenticate_oidc_config
@@ -86,8 +110,7 @@ module Aws::ElasticLoadBalancingV2
86
110
  # @!attribute [rw] order
87
111
  # The order for the action. This value is required for rules with
88
112
  # multiple actions. The action with the lowest value for order is
89
- # performed first. The final action to be performed must be a
90
- # `forward` or a `fixed-response` action.
113
+ # performed first.
91
114
  # @return [Integer]
92
115
  #
93
116
  # @!attribute [rw] redirect_config
@@ -101,6 +124,15 @@ module Aws::ElasticLoadBalancingV2
101
124
  # `fixed-response`.
102
125
  # @return [Types::FixedResponseActionConfig]
103
126
  #
127
+ # @!attribute [rw] forward_config
128
+ # Information for creating an action that distributes requests among
129
+ # one or more target groups. For Network Load Balancers, you can
130
+ # specify a single target group. Specify only when `Type` is
131
+ # `forward`. If you specify both `ForwardConfig` and `TargetGroupArn`,
132
+ # you can specify only one target group using `ForwardConfig` and it
133
+ # must be the same target group specified in `TargetGroupArn`.
134
+ # @return [Types::ForwardActionConfig]
135
+ #
104
136
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/Action AWS API Documentation
105
137
  #
106
138
  class Action < Struct.new(
@@ -110,7 +142,9 @@ module Aws::ElasticLoadBalancingV2
110
142
  :authenticate_cognito_config,
111
143
  :order,
112
144
  :redirect_config,
113
- :fixed_response_config)
145
+ :fixed_response_config,
146
+ :forward_config)
147
+ SENSITIVE = []
114
148
  include Aws::Structure
115
149
  end
116
150
 
@@ -142,17 +176,19 @@ module Aws::ElasticLoadBalancingV2
142
176
  class AddListenerCertificatesInput < Struct.new(
143
177
  :listener_arn,
144
178
  :certificates)
179
+ SENSITIVE = []
145
180
  include Aws::Structure
146
181
  end
147
182
 
148
183
  # @!attribute [rw] certificates
149
- # Information about the certificates.
184
+ # Information about the certificates in the certificate list.
150
185
  # @return [Array<Types::Certificate>]
151
186
  #
152
187
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddListenerCertificatesOutput AWS API Documentation
153
188
  #
154
189
  class AddListenerCertificatesOutput < Struct.new(
155
190
  :certificates)
191
+ SENSITIVE = []
156
192
  include Aws::Structure
157
193
  end
158
194
 
@@ -174,7 +210,7 @@ module Aws::ElasticLoadBalancingV2
174
210
  # @return [Array<String>]
175
211
  #
176
212
  # @!attribute [rw] tags
177
- # The tags. Each resource can have a maximum of 10 tags.
213
+ # The tags.
178
214
  # @return [Array<Types::Tag>]
179
215
  #
180
216
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddTagsInput AWS API Documentation
@@ -182,6 +218,7 @@ module Aws::ElasticLoadBalancingV2
182
218
  class AddTagsInput < Struct.new(
183
219
  :resource_arns,
184
220
  :tags)
221
+ SENSITIVE = []
185
222
  include Aws::Structure
186
223
  end
187
224
 
@@ -189,6 +226,12 @@ module Aws::ElasticLoadBalancingV2
189
226
  #
190
227
  class AddTagsOutput < Aws::EmptyStructure; end
191
228
 
229
+ # The specified allocation ID does not exist.
230
+ #
231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AllocationIdNotFoundException AWS API Documentation
232
+ #
233
+ class AllocationIdNotFoundException < Aws::EmptyStructure; end
234
+
192
235
  # Request parameters to use when integrating with Amazon Cognito to
193
236
  # authenticate users.
194
237
  #
@@ -267,6 +310,7 @@ module Aws::ElasticLoadBalancingV2
267
310
  :session_timeout,
268
311
  :authentication_request_extra_params,
269
312
  :on_unauthenticated_request)
313
+ SENSITIVE = []
270
314
  include Aws::Structure
271
315
  end
272
316
 
@@ -379,6 +423,7 @@ module Aws::ElasticLoadBalancingV2
379
423
  :authentication_request_extra_params,
380
424
  :on_unauthenticated_request,
381
425
  :use_existing_client_secret)
426
+ SENSITIVE = []
382
427
  include Aws::Structure
383
428
  end
384
429
 
@@ -389,11 +434,20 @@ module Aws::ElasticLoadBalancingV2
389
434
  # @return [String]
390
435
  #
391
436
  # @!attribute [rw] subnet_id
392
- # The ID of the subnet.
437
+ # The ID of the subnet. You can specify one subnet per Availability
438
+ # Zone.
439
+ # @return [String]
440
+ #
441
+ # @!attribute [rw] outpost_id
442
+ # \[Application Load Balancers on Outposts\] The ID of the Outpost.
393
443
  # @return [String]
394
444
  #
395
445
  # @!attribute [rw] load_balancer_addresses
396
- # \[Network Load Balancers\] The static IP address.
446
+ # \[Network Load Balancers\] If you need static IP addresses for your
447
+ # load balancer, you can specify one Elastic IP address per
448
+ # Availability Zone when you create an internal-facing load balancer.
449
+ # For internal load balancers, you can specify a private IP address
450
+ # from the IPv4 range of the subnet.
397
451
  # @return [Array<Types::LoadBalancerAddress>]
398
452
  #
399
453
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AvailabilityZone AWS API Documentation
@@ -401,10 +455,18 @@ module Aws::ElasticLoadBalancingV2
401
455
  class AvailabilityZone < Struct.new(
402
456
  :zone_name,
403
457
  :subnet_id,
458
+ :outpost_id,
404
459
  :load_balancer_addresses)
460
+ SENSITIVE = []
405
461
  include Aws::Structure
406
462
  end
407
463
 
464
+ # The specified Availability Zone is not supported.
465
+ #
466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AvailabilityZoneNotSupportedException AWS API Documentation
467
+ #
468
+ class AvailabilityZoneNotSupportedException < Aws::EmptyStructure; end
469
+
408
470
  # Information about an SSL server certificate.
409
471
  #
410
472
  # @note When making an API call, you may pass Certificate
@@ -421,7 +483,9 @@ module Aws::ElasticLoadBalancingV2
421
483
  #
422
484
  # @!attribute [rw] is_default
423
485
  # Indicates whether the certificate is the default certificate. Do not
424
- # set `IsDefault` when specifying a certificate as an input parameter.
486
+ # set this value when specifying a certificate as an input. This value
487
+ # is not included in the output when describing a listener, but is
488
+ # included when describing listener certificates.
425
489
  # @return [Boolean]
426
490
  #
427
491
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/Certificate AWS API Documentation
@@ -429,9 +493,16 @@ module Aws::ElasticLoadBalancingV2
429
493
  class Certificate < Struct.new(
430
494
  :certificate_arn,
431
495
  :is_default)
496
+ SENSITIVE = []
432
497
  include Aws::Structure
433
498
  end
434
499
 
500
+ # The specified certificate does not exist.
501
+ #
502
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CertificateNotFoundException AWS API Documentation
503
+ #
504
+ class CertificateNotFoundException < Aws::EmptyStructure; end
505
+
435
506
  # Information about a cipher used in a policy.
436
507
  #
437
508
  # @!attribute [rw] name
@@ -447,6 +518,7 @@ module Aws::ElasticLoadBalancingV2
447
518
  class Cipher < Struct.new(
448
519
  :name,
449
520
  :priority)
521
+ SENSITIVE = []
450
522
  include Aws::Structure
451
523
  end
452
524
 
@@ -455,8 +527,8 @@ module Aws::ElasticLoadBalancingV2
455
527
  #
456
528
  # {
457
529
  # load_balancer_arn: "LoadBalancerArn", # required
458
- # protocol: "HTTP", # required, accepts HTTP, HTTPS, TCP, TLS
459
- # port: 1, # required
530
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
531
+ # port: 1,
460
532
  # ssl_policy: "SslPolicyName",
461
533
  # certificates: [
462
534
  # {
@@ -510,6 +582,25 @@ module Aws::ElasticLoadBalancingV2
510
582
  # status_code: "FixedResponseActionStatusCode", # required
511
583
  # content_type: "FixedResponseActionContentType",
512
584
  # },
585
+ # forward_config: {
586
+ # target_groups: [
587
+ # {
588
+ # target_group_arn: "TargetGroupArn",
589
+ # weight: 1,
590
+ # },
591
+ # ],
592
+ # target_group_stickiness_config: {
593
+ # enabled: false,
594
+ # duration_seconds: 1,
595
+ # },
596
+ # },
597
+ # },
598
+ # ],
599
+ # alpn_policy: ["AlpnPolicyValue"],
600
+ # tags: [
601
+ # {
602
+ # key: "TagKey", # required
603
+ # value: "TagValue",
513
604
  # },
514
605
  # ],
515
606
  # }
@@ -521,52 +612,67 @@ module Aws::ElasticLoadBalancingV2
521
612
  # @!attribute [rw] protocol
522
613
  # The protocol for connections from clients to the load balancer. For
523
614
  # Application Load Balancers, the supported protocols are HTTP and
524
- # HTTPS. For Network Load Balancers, the supported protocols are TCP
525
- # and TLS.
615
+ # HTTPS. For Network Load Balancers, the supported protocols are TCP,
616
+ # TLS, UDP, and TCP\_UDP. You can’t specify the UDP or TCP\_UDP
617
+ # protocol if dual-stack mode is enabled. You cannot specify a
618
+ # protocol for a Gateway Load Balancer.
526
619
  # @return [String]
527
620
  #
528
621
  # @!attribute [rw] port
529
- # The port on which the load balancer is listening.
622
+ # The port on which the load balancer is listening. You cannot specify
623
+ # a port for a Gateway Load Balancer.
530
624
  # @return [Integer]
531
625
  #
532
626
  # @!attribute [rw] ssl_policy
533
627
  # \[HTTPS and TLS listeners\] The security policy that defines which
534
- # ciphers and protocols are supported. The default is the current
535
- # predefined security policy.
628
+ # protocols and ciphers are supported.
629
+ #
630
+ # For more information, see [Security policies][1] in the *Application
631
+ # Load Balancers Guide* and [Security policies][2] in the *Network
632
+ # Load Balancers Guide*.
633
+ #
634
+ #
635
+ #
636
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies
637
+ # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies
536
638
  # @return [String]
537
639
  #
538
640
  # @!attribute [rw] certificates
539
- # \[HTTPS and TLS listeners\] The default SSL server certificate. You
540
- # must provide exactly one certificate. Set `CertificateArn` to the
541
- # certificate ARN but do not set `IsDefault`.
542
- #
543
- # To create a certificate list, use AddListenerCertificates.
641
+ # \[HTTPS and TLS listeners\] The default certificate for the
642
+ # listener. You must provide exactly one certificate. Set
643
+ # `CertificateArn` to the certificate ARN but do not set `IsDefault`.
544
644
  # @return [Array<Types::Certificate>]
545
645
  #
546
646
  # @!attribute [rw] default_actions
547
- # The actions for the default rule. The rule must include one forward
548
- # action or one or more fixed-response actions.
647
+ # The actions for the default rule.
648
+ # @return [Array<Types::Action>]
549
649
  #
550
- # If the action type is `forward`, you specify a target group. The
551
- # protocol of the target group must be HTTP or HTTPS for an
552
- # Application Load Balancer. The protocol of the target group must be
553
- # TCP or TLS for a Network Load Balancer.
650
+ # @!attribute [rw] alpn_policy
651
+ # \[TLS listeners\] The name of the Application-Layer Protocol
652
+ # Negotiation (ALPN) policy. You can specify one policy name. The
653
+ # following are the possible values:
554
654
  #
555
- # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
556
- # authenticate users through an identity provider that is OpenID
557
- # Connect (OIDC) compliant.
655
+ # * `HTTP1Only`
558
656
  #
559
- # \[HTTPS listeners\] If the action type is `authenticate-cognito`,
560
- # you authenticate users through the user pools supported by Amazon
561
- # Cognito.
657
+ # * `HTTP2Only`
562
658
  #
563
- # \[Application Load Balancer\] If the action type is `redirect`, you
564
- # redirect specified client requests from one URL to another.
659
+ # * `HTTP2Optional`
565
660
  #
566
- # \[Application Load Balancer\] If the action type is
567
- # `fixed-response`, you drop specified client requests and return a
568
- # custom HTTP response.
569
- # @return [Array<Types::Action>]
661
+ # * `HTTP2Preferred`
662
+ #
663
+ # * `None`
664
+ #
665
+ # For more information, see [ALPN policies][1] in the *Network Load
666
+ # Balancers Guide*.
667
+ #
668
+ #
669
+ #
670
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies
671
+ # @return [Array<String>]
672
+ #
673
+ # @!attribute [rw] tags
674
+ # The tags to assign to the listener.
675
+ # @return [Array<Types::Tag>]
570
676
  #
571
677
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListenerInput AWS API Documentation
572
678
  #
@@ -576,7 +682,10 @@ module Aws::ElasticLoadBalancingV2
576
682
  :port,
577
683
  :ssl_policy,
578
684
  :certificates,
579
- :default_actions)
685
+ :default_actions,
686
+ :alpn_policy,
687
+ :tags)
688
+ SENSITIVE = []
580
689
  include Aws::Structure
581
690
  end
582
691
 
@@ -588,6 +697,7 @@ module Aws::ElasticLoadBalancingV2
588
697
  #
589
698
  class CreateListenerOutput < Struct.new(
590
699
  :listeners)
700
+ SENSITIVE = []
591
701
  include Aws::Structure
592
702
  end
593
703
 
@@ -601,6 +711,8 @@ module Aws::ElasticLoadBalancingV2
601
711
  # {
602
712
  # subnet_id: "SubnetId",
603
713
  # allocation_id: "AllocationId",
714
+ # private_i_pv_4_address: "PrivateIPv4Address",
715
+ # i_pv_6_address: "IPv6Address",
604
716
  # },
605
717
  # ],
606
718
  # security_groups: ["SecurityGroupId"],
@@ -611,8 +723,9 @@ module Aws::ElasticLoadBalancingV2
611
723
  # value: "TagValue",
612
724
  # },
613
725
  # ],
614
- # type: "application", # accepts application, network
726
+ # type: "application", # accepts application, network, gateway
615
727
  # ip_address_type: "ipv4", # accepts ipv4, dualstack
728
+ # customer_owned_ipv_4_pool: "CustomerOwnedIpv4Pool",
616
729
  # }
617
730
  #
618
731
  # @!attribute [rw] name
@@ -632,8 +745,17 @@ module Aws::ElasticLoadBalancingV2
632
745
  # \[Application Load Balancers\] You must specify subnets from at
633
746
  # least two Availability Zones.
634
747
  #
748
+ # \[Application Load Balancers on Outposts\] You must specify one
749
+ # Outpost subnet.
750
+ #
751
+ # \[Application Load Balancers on Local Zones\] You can specify
752
+ # subnets from one or more Local Zones.
753
+ #
635
754
  # \[Network Load Balancers\] You can specify subnets from one or more
636
755
  # Availability Zones.
756
+ #
757
+ # \[Gateway Load Balancers\] You can specify subnets from one or more
758
+ # Availability Zones.
637
759
  # @return [Array<String>]
638
760
  #
639
761
  # @!attribute [rw] subnet_mappings
@@ -645,9 +767,23 @@ module Aws::ElasticLoadBalancingV2
645
767
  # least two Availability Zones. You cannot specify Elastic IP
646
768
  # addresses for your subnets.
647
769
  #
770
+ # \[Application Load Balancers on Outposts\] You must specify one
771
+ # Outpost subnet.
772
+ #
773
+ # \[Application Load Balancers on Local Zones\] You can specify
774
+ # subnets from one or more Local Zones.
775
+ #
648
776
  # \[Network Load Balancers\] You can specify subnets from one or more
649
777
  # Availability Zones. You can specify one Elastic IP address per
778
+ # subnet if you need static IP addresses for your internet-facing load
779
+ # balancer. For internal load balancers, you can specify one private
780
+ # IP address per subnet from the IPv4 range of the subnet. For
781
+ # internet-facing load balancer, you can specify one IPv6 address per
650
782
  # subnet.
783
+ #
784
+ # \[Gateway Load Balancers\] You can specify subnets from one or more
785
+ # Availability Zones. You cannot specify Elastic IP addresses for your
786
+ # subnets.
651
787
  # @return [Array<Types::SubnetMapping>]
652
788
  #
653
789
  # @!attribute [rw] security_groups
@@ -665,14 +801,16 @@ module Aws::ElasticLoadBalancingV2
665
801
  # The nodes of an internal load balancer have only private IP
666
802
  # addresses. The DNS name of an internal load balancer is publicly
667
803
  # resolvable to the private IP addresses of the nodes. Therefore,
668
- # internal load balancers can only route requests from clients with
804
+ # internal load balancers can route requests only from clients with
669
805
  # access to the VPC for the load balancer.
670
806
  #
671
807
  # The default is an Internet-facing load balancer.
808
+ #
809
+ # You cannot specify a scheme for a Gateway Load Balancer.
672
810
  # @return [String]
673
811
  #
674
812
  # @!attribute [rw] tags
675
- # One or more tags to assign to the load balancer.
813
+ # The tags to assign to the load balancer.
676
814
  # @return [Array<Types::Tag>]
677
815
  #
678
816
  # @!attribute [rw] type
@@ -680,10 +818,14 @@ module Aws::ElasticLoadBalancingV2
680
818
  # @return [String]
681
819
  #
682
820
  # @!attribute [rw] ip_address_type
683
- # \[Application Load Balancers\] The type of IP addresses used by the
684
- # subnets for your load balancer. The possible values are `ipv4` (for
685
- # IPv4 addresses) and `dualstack` (for IPv4 and IPv6 addresses).
686
- # Internal load balancers must use `ipv4`.
821
+ # The type of IP addresses used by the subnets for your load balancer.
822
+ # The possible values are `ipv4` (for IPv4 addresses) and `dualstack`
823
+ # (for IPv4 and IPv6 addresses).
824
+ # @return [String]
825
+ #
826
+ # @!attribute [rw] customer_owned_ipv_4_pool
827
+ # \[Application Load Balancers on Outposts\] The ID of the
828
+ # customer-owned address pool (CoIP pool).
687
829
  # @return [String]
688
830
  #
689
831
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateLoadBalancerInput AWS API Documentation
@@ -696,7 +838,9 @@ module Aws::ElasticLoadBalancingV2
696
838
  :scheme,
697
839
  :tags,
698
840
  :type,
699
- :ip_address_type)
841
+ :ip_address_type,
842
+ :customer_owned_ipv_4_pool)
843
+ SENSITIVE = []
700
844
  include Aws::Structure
701
845
  end
702
846
 
@@ -708,6 +852,7 @@ module Aws::ElasticLoadBalancingV2
708
852
  #
709
853
  class CreateLoadBalancerOutput < Struct.new(
710
854
  :load_balancers)
855
+ SENSITIVE = []
711
856
  include Aws::Structure
712
857
  end
713
858
 
@@ -720,6 +865,30 @@ module Aws::ElasticLoadBalancingV2
720
865
  # {
721
866
  # field: "ConditionFieldName",
722
867
  # values: ["StringValue"],
868
+ # host_header_config: {
869
+ # values: ["StringValue"],
870
+ # },
871
+ # path_pattern_config: {
872
+ # values: ["StringValue"],
873
+ # },
874
+ # http_header_config: {
875
+ # http_header_name: "HttpHeaderConditionName",
876
+ # values: ["StringValue"],
877
+ # },
878
+ # query_string_config: {
879
+ # values: [
880
+ # {
881
+ # key: "StringValue",
882
+ # value: "StringValue",
883
+ # },
884
+ # ],
885
+ # },
886
+ # http_request_method_config: {
887
+ # values: ["StringValue"],
888
+ # },
889
+ # source_ip_config: {
890
+ # values: ["StringValue"],
891
+ # },
723
892
  # },
724
893
  # ],
725
894
  # priority: 1, # required
@@ -769,6 +938,24 @@ module Aws::ElasticLoadBalancingV2
769
938
  # status_code: "FixedResponseActionStatusCode", # required
770
939
  # content_type: "FixedResponseActionContentType",
771
940
  # },
941
+ # forward_config: {
942
+ # target_groups: [
943
+ # {
944
+ # target_group_arn: "TargetGroupArn",
945
+ # weight: 1,
946
+ # },
947
+ # ],
948
+ # target_group_stickiness_config: {
949
+ # enabled: false,
950
+ # duration_seconds: 1,
951
+ # },
952
+ # },
953
+ # },
954
+ # ],
955
+ # tags: [
956
+ # {
957
+ # key: "TagKey", # required
958
+ # value: "TagValue",
772
959
  # },
773
960
  # ],
774
961
  # }
@@ -778,37 +965,7 @@ module Aws::ElasticLoadBalancingV2
778
965
  # @return [String]
779
966
  #
780
967
  # @!attribute [rw] conditions
781
- # The conditions. Each condition specifies a field name and a single
782
- # value.
783
- #
784
- # If the field name is `host-header`, you can specify a single host
785
- # name (for example, my.example.com). A host name is case insensitive,
786
- # can be up to 128 characters in length, and can contain any of the
787
- # following characters. You can include up to three wildcard
788
- # characters.
789
- #
790
- # * A-Z, a-z, 0-9
791
- #
792
- # * \- .
793
- #
794
- # * * (matches 0 or more characters)
795
- #
796
- # * ? (matches exactly 1 character)
797
- #
798
- # If the field name is `path-pattern`, you can specify a single path
799
- # pattern. A path pattern is case-sensitive, can be up to 128
800
- # characters in length, and can contain any of the following
801
- # characters. You can include up to three wildcard characters.
802
- #
803
- # * A-Z, a-z, 0-9
804
- #
805
- # * \_ - . $ / ~ " ' @ : +
806
- #
807
- # * &amp; (using &amp;amp;)
808
- #
809
- # * * (matches 0 or more characters)
810
- #
811
- # * ? (matches exactly 1 character)
968
+ # The conditions.
812
969
  # @return [Array<Types::RuleCondition>]
813
970
  #
814
971
  # @!attribute [rw] priority
@@ -817,37 +974,22 @@ module Aws::ElasticLoadBalancingV2
817
974
  # @return [Integer]
818
975
  #
819
976
  # @!attribute [rw] actions
820
- # The actions. Each rule must include exactly one of the following
821
- # types of actions: `forward`, `fixed-response`, or `redirect`.
822
- #
823
- # If the action type is `forward`, you specify a target group. The
824
- # protocol of the target group must be HTTP or HTTPS for an
825
- # Application Load Balancer. The protocol of the target group must be
826
- # TCP or TLS for a Network Load Balancer.
827
- #
828
- # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
829
- # authenticate users through an identity provider that is OpenID
830
- # Connect (OIDC) compliant.
831
- #
832
- # \[HTTPS listeners\] If the action type is `authenticate-cognito`,
833
- # you authenticate users through the user pools supported by Amazon
834
- # Cognito.
835
- #
836
- # \[Application Load Balancer\] If the action type is `redirect`, you
837
- # redirect specified client requests from one URL to another.
838
- #
839
- # \[Application Load Balancer\] If the action type is
840
- # `fixed-response`, you drop specified client requests and return a
841
- # custom HTTP response.
977
+ # The actions.
842
978
  # @return [Array<Types::Action>]
843
979
  #
980
+ # @!attribute [rw] tags
981
+ # The tags to assign to the rule.
982
+ # @return [Array<Types::Tag>]
983
+ #
844
984
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateRuleInput AWS API Documentation
845
985
  #
846
986
  class CreateRuleInput < Struct.new(
847
987
  :listener_arn,
848
988
  :conditions,
849
989
  :priority,
850
- :actions)
990
+ :actions,
991
+ :tags)
992
+ SENSITIVE = []
851
993
  include Aws::Structure
852
994
  end
853
995
 
@@ -859,6 +1001,7 @@ module Aws::ElasticLoadBalancingV2
859
1001
  #
860
1002
  class CreateRuleOutput < Struct.new(
861
1003
  :rules)
1004
+ SENSITIVE = []
862
1005
  include Aws::Structure
863
1006
  end
864
1007
 
@@ -867,10 +1010,11 @@ module Aws::ElasticLoadBalancingV2
867
1010
  #
868
1011
  # {
869
1012
  # name: "TargetGroupName", # required
870
- # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS
1013
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
1014
+ # protocol_version: "ProtocolVersion",
871
1015
  # port: 1,
872
1016
  # vpc_id: "VpcId",
873
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS
1017
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
874
1018
  # health_check_port: "HealthCheckPort",
875
1019
  # health_check_enabled: false,
876
1020
  # health_check_path: "Path",
@@ -879,9 +1023,17 @@ module Aws::ElasticLoadBalancingV2
879
1023
  # healthy_threshold_count: 1,
880
1024
  # unhealthy_threshold_count: 1,
881
1025
  # matcher: {
882
- # http_code: "HttpCode", # required
1026
+ # http_code: "HttpCode",
1027
+ # grpc_code: "GrpcCode",
883
1028
  # },
884
- # target_type: "instance", # accepts instance, ip, lambda
1029
+ # target_type: "instance", # accepts instance, ip, lambda, alb
1030
+ # tags: [
1031
+ # {
1032
+ # key: "TagKey", # required
1033
+ # value: "TagValue",
1034
+ # },
1035
+ # ],
1036
+ # ip_address_type: "ipv4", # accepts ipv4, ipv6
885
1037
  # }
886
1038
  #
887
1039
  # @!attribute [rw] name
@@ -895,82 +1047,107 @@ module Aws::ElasticLoadBalancingV2
895
1047
  # @!attribute [rw] protocol
896
1048
  # The protocol to use for routing traffic to the targets. For
897
1049
  # Application Load Balancers, the supported protocols are HTTP and
898
- # HTTPS. For Network Load Balancers, the supported protocols are TCP
899
- # and TLS. If the target is a Lambda function, this parameter does not
900
- # apply.
1050
+ # HTTPS. For Network Load Balancers, the supported protocols are TCP,
1051
+ # TLS, UDP, or TCP\_UDP. For Gateway Load Balancers, the supported
1052
+ # protocol is GENEVE. A TCP\_UDP listener must be associated with a
1053
+ # TCP\_UDP target group. If the target is a Lambda function, this
1054
+ # parameter does not apply.
1055
+ # @return [String]
1056
+ #
1057
+ # @!attribute [rw] protocol_version
1058
+ # \[HTTP/HTTPS protocol\] The protocol version. Specify `GRPC` to send
1059
+ # requests to targets using gRPC. Specify `HTTP2` to send requests to
1060
+ # targets using HTTP/2. The default is `HTTP1`, which sends requests
1061
+ # to targets using HTTP/1.1.
901
1062
  # @return [String]
902
1063
  #
903
1064
  # @!attribute [rw] port
904
1065
  # The port on which the targets receive traffic. This port is used
905
1066
  # unless you specify a port override when registering the target. If
906
- # the target is a Lambda function, this parameter does not apply.
1067
+ # the target is a Lambda function, this parameter does not apply. If
1068
+ # the protocol is GENEVE, the supported port is 6081.
907
1069
  # @return [Integer]
908
1070
  #
909
1071
  # @!attribute [rw] vpc_id
910
1072
  # The identifier of the virtual private cloud (VPC). If the target is
911
- # a Lambda function, this parameter does not apply.
1073
+ # a Lambda function, this parameter does not apply. Otherwise, this
1074
+ # parameter is required.
912
1075
  # @return [String]
913
1076
  #
914
1077
  # @!attribute [rw] health_check_protocol
915
1078
  # The protocol the load balancer uses when performing health checks on
916
1079
  # targets. For Application Load Balancers, the default is HTTP. For
917
- # Network Load Balancers, the default is TCP. The TCP protocol is
918
- # supported for health checks only if the protocol of the target group
919
- # is TCP or TLS. The TLS protocol is not supported for health checks.
1080
+ # Network Load Balancers and Gateway Load Balancers, the default is
1081
+ # TCP. The TCP protocol is not supported for health checks if the
1082
+ # protocol of the target group is HTTP or HTTPS. The GENEVE, TLS, UDP,
1083
+ # and TCP\_UDP protocols are not supported for health checks.
920
1084
  # @return [String]
921
1085
  #
922
1086
  # @!attribute [rw] health_check_port
923
1087
  # The port the load balancer uses when performing health checks on
924
- # targets. The default is `traffic-port`, which is the port on which
925
- # each target receives traffic from the load balancer.
1088
+ # targets. If the protocol is HTTP, HTTPS, TCP, TLS, UDP, or TCP\_UDP,
1089
+ # the default is `traffic-port`, which is the port on which each
1090
+ # target receives traffic from the load balancer. If the protocol is
1091
+ # GENEVE, the default is port 80.
926
1092
  # @return [String]
927
1093
  #
928
1094
  # @!attribute [rw] health_check_enabled
929
1095
  # Indicates whether health checks are enabled. If the target type is
930
- # `instance` or `ip`, the default is `true`. If the target type is
931
- # `lambda`, the default is `false`.
1096
+ # `lambda`, health checks are disabled by default but can be enabled.
1097
+ # If the target type is `instance`, `ip`, or `alb`, health checks are
1098
+ # always enabled and cannot be disabled.
932
1099
  # @return [Boolean]
933
1100
  #
934
1101
  # @!attribute [rw] health_check_path
935
- # \[HTTP/HTTPS health checks\] The ping path that is the destination
936
- # on the targets for health checks. The default is /.
1102
+ # \[HTTP/HTTPS health checks\] The destination for health checks on
1103
+ # the targets.
1104
+ #
1105
+ # \[HTTP1 or HTTP2 protocol version\] The ping path. The default is /.
1106
+ #
1107
+ # \[GRPC protocol version\] The path of a custom health check method
1108
+ # with the format /package.service/method. The default is /Amazon Web
1109
+ # Services.ALB/healthcheck.
937
1110
  # @return [String]
938
1111
  #
939
1112
  # @!attribute [rw] health_check_interval_seconds
940
1113
  # The approximate amount of time, in seconds, between health checks of
941
- # an individual target. For Application Load Balancers, the range is
942
- # 5–300 seconds. For Network Load Balancers, the supported values are
943
- # 10 or 30 seconds. If the target type is `instance` or `ip`, the
944
- # default is 30 seconds. If the target type is `lambda`, the default
945
- # is 35 seconds.
1114
+ # an individual target. If the target group protocol is TCP, TLS, UDP,
1115
+ # or TCP\_UDP, the supported values are 10 and 30 seconds. If the
1116
+ # target group protocol is HTTP or HTTPS, the default is 30 seconds.
1117
+ # If the target group protocol is GENEVE, the default is 10 seconds.
1118
+ # If the target type is `lambda`, the default is 35 seconds.
946
1119
  # @return [Integer]
947
1120
  #
948
1121
  # @!attribute [rw] health_check_timeout_seconds
949
1122
  # The amount of time, in seconds, during which no response from a
950
- # target means a failed health check. For Application Load Balancers,
951
- # the range is 2–120 seconds and the default is 5 seconds if the
952
- # target type is `instance` or `ip` and 30 seconds if the target type
953
- # is `lambda`. For Network Load Balancers, this is 10 seconds for TCP
954
- # and HTTPS health checks and 6 seconds for HTTP health checks.
1123
+ # target means a failed health check. For target groups with a
1124
+ # protocol of HTTP, HTTPS, or GENEVE, the default is 5 seconds. For
1125
+ # target groups with a protocol of TCP or TLS, this value must be 6
1126
+ # seconds for HTTP health checks and 10 seconds for TCP and HTTPS
1127
+ # health checks. If the target type is `lambda`, the default is 30
1128
+ # seconds.
955
1129
  # @return [Integer]
956
1130
  #
957
1131
  # @!attribute [rw] healthy_threshold_count
958
1132
  # The number of consecutive health checks successes required before
959
- # considering an unhealthy target healthy. For Application Load
960
- # Balancers, the default is 5. For Network Load Balancers, the default
961
- # is 3.
1133
+ # considering an unhealthy target healthy. For target groups with a
1134
+ # protocol of HTTP or HTTPS, the default is 5. For target groups with
1135
+ # a protocol of TCP, TLS, or GENEVE, the default is 3. If the target
1136
+ # type is `lambda`, the default is 5.
962
1137
  # @return [Integer]
963
1138
  #
964
1139
  # @!attribute [rw] unhealthy_threshold_count
965
1140
  # The number of consecutive health check failures required before
966
- # considering a target unhealthy. For Application Load Balancers, the
967
- # default is 2. For Network Load Balancers, this value must be the
968
- # same as the healthy threshold count.
1141
+ # considering a target unhealthy. If the target group protocol is HTTP
1142
+ # or HTTPS, the default is 2. If the target group protocol is TCP or
1143
+ # TLS, this value must be the same as the healthy threshold count. If
1144
+ # the target group protocol is GENEVE, the default is 3. If the target
1145
+ # type is `lambda`, the default is 2.
969
1146
  # @return [Integer]
970
1147
  #
971
1148
  # @!attribute [rw] matcher
972
- # \[HTTP/HTTPS health checks\] The HTTP codes to use when checking for
973
- # a successful response from a target.
1149
+ # \[HTTP/HTTPS health checks\] The HTTP or gRPC codes to use when
1150
+ # checking for a successful response from a target.
974
1151
  # @return [Types::Matcher]
975
1152
  #
976
1153
  # @!attribute [rw] target_type
@@ -978,16 +1155,28 @@ module Aws::ElasticLoadBalancingV2
978
1155
  # with this target group. You can't specify targets for a target
979
1156
  # group using more than one target type.
980
1157
  #
981
- # * `instance` - Targets are specified by instance ID. This is the
982
- # default value.
1158
+ # * `instance` - Register targets by instance ID. This is the default
1159
+ # value.
983
1160
  #
984
- # * `ip` - Targets are specified by IP address. You can specify IP
1161
+ # * `ip` - Register targets by IP address. You can specify IP
985
1162
  # addresses from the subnets of the virtual private cloud (VPC) for
986
1163
  # the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12,
987
1164
  # and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You
988
1165
  # can't specify publicly routable IP addresses.
989
1166
  #
990
- # * `lambda` - The target groups contains a single Lambda function.
1167
+ # * `lambda` - Register a single Lambda function as a target.
1168
+ #
1169
+ # * `alb` - Register a single Application Load Balancer as a target.
1170
+ # @return [String]
1171
+ #
1172
+ # @!attribute [rw] tags
1173
+ # The tags to assign to the target group.
1174
+ # @return [Array<Types::Tag>]
1175
+ #
1176
+ # @!attribute [rw] ip_address_type
1177
+ # The type of IP address used for this target group. The possible
1178
+ # values are `ipv4` and `ipv6`. This is an optional parameter. If not
1179
+ # specified, the IP address type defaults to `ipv4`.
991
1180
  # @return [String]
992
1181
  #
993
1182
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroupInput AWS API Documentation
@@ -995,6 +1184,7 @@ module Aws::ElasticLoadBalancingV2
995
1184
  class CreateTargetGroupInput < Struct.new(
996
1185
  :name,
997
1186
  :protocol,
1187
+ :protocol_version,
998
1188
  :port,
999
1189
  :vpc_id,
1000
1190
  :health_check_protocol,
@@ -1006,7 +1196,10 @@ module Aws::ElasticLoadBalancingV2
1006
1196
  :healthy_threshold_count,
1007
1197
  :unhealthy_threshold_count,
1008
1198
  :matcher,
1009
- :target_type)
1199
+ :target_type,
1200
+ :tags,
1201
+ :ip_address_type)
1202
+ SENSITIVE = []
1010
1203
  include Aws::Structure
1011
1204
  end
1012
1205
 
@@ -1018,6 +1211,7 @@ module Aws::ElasticLoadBalancingV2
1018
1211
  #
1019
1212
  class CreateTargetGroupOutput < Struct.new(
1020
1213
  :target_groups)
1214
+ SENSITIVE = []
1021
1215
  include Aws::Structure
1022
1216
  end
1023
1217
 
@@ -1036,6 +1230,7 @@ module Aws::ElasticLoadBalancingV2
1036
1230
  #
1037
1231
  class DeleteListenerInput < Struct.new(
1038
1232
  :listener_arn)
1233
+ SENSITIVE = []
1039
1234
  include Aws::Structure
1040
1235
  end
1041
1236
 
@@ -1058,6 +1253,7 @@ module Aws::ElasticLoadBalancingV2
1058
1253
  #
1059
1254
  class DeleteLoadBalancerInput < Struct.new(
1060
1255
  :load_balancer_arn)
1256
+ SENSITIVE = []
1061
1257
  include Aws::Structure
1062
1258
  end
1063
1259
 
@@ -1080,6 +1276,7 @@ module Aws::ElasticLoadBalancingV2
1080
1276
  #
1081
1277
  class DeleteRuleInput < Struct.new(
1082
1278
  :rule_arn)
1279
+ SENSITIVE = []
1083
1280
  include Aws::Structure
1084
1281
  end
1085
1282
 
@@ -1102,6 +1299,7 @@ module Aws::ElasticLoadBalancingV2
1102
1299
  #
1103
1300
  class DeleteTargetGroupInput < Struct.new(
1104
1301
  :target_group_arn)
1302
+ SENSITIVE = []
1105
1303
  include Aws::Structure
1106
1304
  end
1107
1305
 
@@ -1138,6 +1336,7 @@ module Aws::ElasticLoadBalancingV2
1138
1336
  class DeregisterTargetsInput < Struct.new(
1139
1337
  :target_group_arn,
1140
1338
  :targets)
1339
+ SENSITIVE = []
1141
1340
  include Aws::Structure
1142
1341
  end
1143
1342
 
@@ -1167,6 +1366,7 @@ module Aws::ElasticLoadBalancingV2
1167
1366
  class DescribeAccountLimitsInput < Struct.new(
1168
1367
  :marker,
1169
1368
  :page_size)
1369
+ SENSITIVE = []
1170
1370
  include Aws::Structure
1171
1371
  end
1172
1372
 
@@ -1175,8 +1375,8 @@ module Aws::ElasticLoadBalancingV2
1175
1375
  # @return [Array<Types::Limit>]
1176
1376
  #
1177
1377
  # @!attribute [rw] next_marker
1178
- # The marker to use when requesting the next set of results. If there
1179
- # are no additional results, the string is empty.
1378
+ # If there are additional results, this is the marker for the next set
1379
+ # of results. Otherwise, this is null.
1180
1380
  # @return [String]
1181
1381
  #
1182
1382
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeAccountLimitsOutput AWS API Documentation
@@ -1184,6 +1384,7 @@ module Aws::ElasticLoadBalancingV2
1184
1384
  class DescribeAccountLimitsOutput < Struct.new(
1185
1385
  :limits,
1186
1386
  :next_marker)
1387
+ SENSITIVE = []
1187
1388
  include Aws::Structure
1188
1389
  end
1189
1390
 
@@ -1215,6 +1416,7 @@ module Aws::ElasticLoadBalancingV2
1215
1416
  :listener_arn,
1216
1417
  :marker,
1217
1418
  :page_size)
1419
+ SENSITIVE = []
1218
1420
  include Aws::Structure
1219
1421
  end
1220
1422
 
@@ -1223,8 +1425,8 @@ module Aws::ElasticLoadBalancingV2
1223
1425
  # @return [Array<Types::Certificate>]
1224
1426
  #
1225
1427
  # @!attribute [rw] next_marker
1226
- # The marker to use when requesting the next set of results. If there
1227
- # are no additional results, the string is empty.
1428
+ # If there are additional results, this is the marker for the next set
1429
+ # of results. Otherwise, this is null.
1228
1430
  # @return [String]
1229
1431
  #
1230
1432
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListenerCertificatesOutput AWS API Documentation
@@ -1232,6 +1434,7 @@ module Aws::ElasticLoadBalancingV2
1232
1434
  class DescribeListenerCertificatesOutput < Struct.new(
1233
1435
  :certificates,
1234
1436
  :next_marker)
1437
+ SENSITIVE = []
1235
1438
  include Aws::Structure
1236
1439
  end
1237
1440
 
@@ -1269,6 +1472,7 @@ module Aws::ElasticLoadBalancingV2
1269
1472
  :listener_arns,
1270
1473
  :marker,
1271
1474
  :page_size)
1475
+ SENSITIVE = []
1272
1476
  include Aws::Structure
1273
1477
  end
1274
1478
 
@@ -1277,8 +1481,8 @@ module Aws::ElasticLoadBalancingV2
1277
1481
  # @return [Array<Types::Listener>]
1278
1482
  #
1279
1483
  # @!attribute [rw] next_marker
1280
- # The marker to use when requesting the next set of results. If there
1281
- # are no additional results, the string is empty.
1484
+ # If there are additional results, this is the marker for the next set
1485
+ # of results. Otherwise, this is null.
1282
1486
  # @return [String]
1283
1487
  #
1284
1488
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListenersOutput AWS API Documentation
@@ -1286,6 +1490,7 @@ module Aws::ElasticLoadBalancingV2
1286
1490
  class DescribeListenersOutput < Struct.new(
1287
1491
  :listeners,
1288
1492
  :next_marker)
1493
+ SENSITIVE = []
1289
1494
  include Aws::Structure
1290
1495
  end
1291
1496
 
@@ -1304,6 +1509,7 @@ module Aws::ElasticLoadBalancingV2
1304
1509
  #
1305
1510
  class DescribeLoadBalancerAttributesInput < Struct.new(
1306
1511
  :load_balancer_arn)
1512
+ SENSITIVE = []
1307
1513
  include Aws::Structure
1308
1514
  end
1309
1515
 
@@ -1315,6 +1521,7 @@ module Aws::ElasticLoadBalancingV2
1315
1521
  #
1316
1522
  class DescribeLoadBalancerAttributesOutput < Struct.new(
1317
1523
  :attributes)
1524
+ SENSITIVE = []
1318
1525
  include Aws::Structure
1319
1526
  end
1320
1527
 
@@ -1353,6 +1560,7 @@ module Aws::ElasticLoadBalancingV2
1353
1560
  :names,
1354
1561
  :marker,
1355
1562
  :page_size)
1563
+ SENSITIVE = []
1356
1564
  include Aws::Structure
1357
1565
  end
1358
1566
 
@@ -1361,8 +1569,8 @@ module Aws::ElasticLoadBalancingV2
1361
1569
  # @return [Array<Types::LoadBalancer>]
1362
1570
  #
1363
1571
  # @!attribute [rw] next_marker
1364
- # The marker to use when requesting the next set of results. If there
1365
- # are no additional results, the string is empty.
1572
+ # If there are additional results, this is the marker for the next set
1573
+ # of results. Otherwise, this is null.
1366
1574
  # @return [String]
1367
1575
  #
1368
1576
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancersOutput AWS API Documentation
@@ -1370,6 +1578,7 @@ module Aws::ElasticLoadBalancingV2
1370
1578
  class DescribeLoadBalancersOutput < Struct.new(
1371
1579
  :load_balancers,
1372
1580
  :next_marker)
1581
+ SENSITIVE = []
1373
1582
  include Aws::Structure
1374
1583
  end
1375
1584
 
@@ -1407,6 +1616,7 @@ module Aws::ElasticLoadBalancingV2
1407
1616
  :rule_arns,
1408
1617
  :marker,
1409
1618
  :page_size)
1619
+ SENSITIVE = []
1410
1620
  include Aws::Structure
1411
1621
  end
1412
1622
 
@@ -1415,8 +1625,8 @@ module Aws::ElasticLoadBalancingV2
1415
1625
  # @return [Array<Types::Rule>]
1416
1626
  #
1417
1627
  # @!attribute [rw] next_marker
1418
- # The marker to use when requesting the next set of results. If there
1419
- # are no additional results, the string is empty.
1628
+ # If there are additional results, this is the marker for the next set
1629
+ # of results. Otherwise, this is null.
1420
1630
  # @return [String]
1421
1631
  #
1422
1632
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeRulesOutput AWS API Documentation
@@ -1424,6 +1634,7 @@ module Aws::ElasticLoadBalancingV2
1424
1634
  class DescribeRulesOutput < Struct.new(
1425
1635
  :rules,
1426
1636
  :next_marker)
1637
+ SENSITIVE = []
1427
1638
  include Aws::Structure
1428
1639
  end
1429
1640
 
@@ -1434,6 +1645,7 @@ module Aws::ElasticLoadBalancingV2
1434
1645
  # names: ["SslPolicyName"],
1435
1646
  # marker: "Marker",
1436
1647
  # page_size: 1,
1648
+ # load_balancer_type: "application", # accepts application, network, gateway
1437
1649
  # }
1438
1650
  #
1439
1651
  # @!attribute [rw] names
@@ -1449,22 +1661,29 @@ module Aws::ElasticLoadBalancingV2
1449
1661
  # The maximum number of results to return with this call.
1450
1662
  # @return [Integer]
1451
1663
  #
1664
+ # @!attribute [rw] load_balancer_type
1665
+ # The type of load balancer. The default lists the SSL policies for
1666
+ # all load balancers.
1667
+ # @return [String]
1668
+ #
1452
1669
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeSSLPoliciesInput AWS API Documentation
1453
1670
  #
1454
1671
  class DescribeSSLPoliciesInput < Struct.new(
1455
1672
  :names,
1456
1673
  :marker,
1457
- :page_size)
1674
+ :page_size,
1675
+ :load_balancer_type)
1676
+ SENSITIVE = []
1458
1677
  include Aws::Structure
1459
1678
  end
1460
1679
 
1461
1680
  # @!attribute [rw] ssl_policies
1462
- # Information about the policies.
1681
+ # Information about the security policies.
1463
1682
  # @return [Array<Types::SslPolicy>]
1464
1683
  #
1465
1684
  # @!attribute [rw] next_marker
1466
- # The marker to use when requesting the next set of results. If there
1467
- # are no additional results, the string is empty.
1685
+ # If there are additional results, this is the marker for the next set
1686
+ # of results. Otherwise, this is null.
1468
1687
  # @return [String]
1469
1688
  #
1470
1689
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeSSLPoliciesOutput AWS API Documentation
@@ -1472,6 +1691,7 @@ module Aws::ElasticLoadBalancingV2
1472
1691
  class DescribeSSLPoliciesOutput < Struct.new(
1473
1692
  :ssl_policies,
1474
1693
  :next_marker)
1694
+ SENSITIVE = []
1475
1695
  include Aws::Structure
1476
1696
  end
1477
1697
 
@@ -1483,13 +1703,15 @@ module Aws::ElasticLoadBalancingV2
1483
1703
  # }
1484
1704
  #
1485
1705
  # @!attribute [rw] resource_arns
1486
- # The Amazon Resource Names (ARN) of the resources.
1706
+ # The Amazon Resource Names (ARN) of the resources. You can specify up
1707
+ # to 20 resources in a single call.
1487
1708
  # @return [Array<String>]
1488
1709
  #
1489
1710
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTagsInput AWS API Documentation
1490
1711
  #
1491
1712
  class DescribeTagsInput < Struct.new(
1492
1713
  :resource_arns)
1714
+ SENSITIVE = []
1493
1715
  include Aws::Structure
1494
1716
  end
1495
1717
 
@@ -1501,6 +1723,7 @@ module Aws::ElasticLoadBalancingV2
1501
1723
  #
1502
1724
  class DescribeTagsOutput < Struct.new(
1503
1725
  :tag_descriptions)
1726
+ SENSITIVE = []
1504
1727
  include Aws::Structure
1505
1728
  end
1506
1729
 
@@ -1519,6 +1742,7 @@ module Aws::ElasticLoadBalancingV2
1519
1742
  #
1520
1743
  class DescribeTargetGroupAttributesInput < Struct.new(
1521
1744
  :target_group_arn)
1745
+ SENSITIVE = []
1522
1746
  include Aws::Structure
1523
1747
  end
1524
1748
 
@@ -1530,6 +1754,7 @@ module Aws::ElasticLoadBalancingV2
1530
1754
  #
1531
1755
  class DescribeTargetGroupAttributesOutput < Struct.new(
1532
1756
  :attributes)
1757
+ SENSITIVE = []
1533
1758
  include Aws::Structure
1534
1759
  end
1535
1760
 
@@ -1573,6 +1798,7 @@ module Aws::ElasticLoadBalancingV2
1573
1798
  :names,
1574
1799
  :marker,
1575
1800
  :page_size)
1801
+ SENSITIVE = []
1576
1802
  include Aws::Structure
1577
1803
  end
1578
1804
 
@@ -1581,8 +1807,8 @@ module Aws::ElasticLoadBalancingV2
1581
1807
  # @return [Array<Types::TargetGroup>]
1582
1808
  #
1583
1809
  # @!attribute [rw] next_marker
1584
- # The marker to use when requesting the next set of results. If there
1585
- # are no additional results, the string is empty.
1810
+ # If there are additional results, this is the marker for the next set
1811
+ # of results. Otherwise, this is null.
1586
1812
  # @return [String]
1587
1813
  #
1588
1814
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroupsOutput AWS API Documentation
@@ -1590,6 +1816,7 @@ module Aws::ElasticLoadBalancingV2
1590
1816
  class DescribeTargetGroupsOutput < Struct.new(
1591
1817
  :target_groups,
1592
1818
  :next_marker)
1819
+ SENSITIVE = []
1593
1820
  include Aws::Structure
1594
1821
  end
1595
1822
 
@@ -1620,6 +1847,7 @@ module Aws::ElasticLoadBalancingV2
1620
1847
  class DescribeTargetHealthInput < Struct.new(
1621
1848
  :target_group_arn,
1622
1849
  :targets)
1850
+ SENSITIVE = []
1623
1851
  include Aws::Structure
1624
1852
  end
1625
1853
 
@@ -1631,9 +1859,34 @@ module Aws::ElasticLoadBalancingV2
1631
1859
  #
1632
1860
  class DescribeTargetHealthOutput < Struct.new(
1633
1861
  :target_health_descriptions)
1862
+ SENSITIVE = []
1634
1863
  include Aws::Structure
1635
1864
  end
1636
1865
 
1866
+ # A listener with the specified port already exists.
1867
+ #
1868
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DuplicateListenerException AWS API Documentation
1869
+ #
1870
+ class DuplicateListenerException < Aws::EmptyStructure; end
1871
+
1872
+ # A load balancer with the specified name already exists.
1873
+ #
1874
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DuplicateLoadBalancerNameException AWS API Documentation
1875
+ #
1876
+ class DuplicateLoadBalancerNameException < Aws::EmptyStructure; end
1877
+
1878
+ # A tag key was specified more than once.
1879
+ #
1880
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DuplicateTagKeysException AWS API Documentation
1881
+ #
1882
+ class DuplicateTagKeysException < Aws::EmptyStructure; end
1883
+
1884
+ # A target group with the specified name already exists.
1885
+ #
1886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DuplicateTargetGroupNameException AWS API Documentation
1887
+ #
1888
+ class DuplicateTargetGroupNameException < Aws::EmptyStructure; end
1889
+
1637
1890
  # Information about an action that returns a custom HTTP response.
1638
1891
  #
1639
1892
  # @note When making an API call, you may pass FixedResponseActionConfig
@@ -1666,17 +1919,224 @@ module Aws::ElasticLoadBalancingV2
1666
1919
  :message_body,
1667
1920
  :status_code,
1668
1921
  :content_type)
1922
+ SENSITIVE = []
1923
+ include Aws::Structure
1924
+ end
1925
+
1926
+ # Information about a forward action.
1927
+ #
1928
+ # @note When making an API call, you may pass ForwardActionConfig
1929
+ # data as a hash:
1930
+ #
1931
+ # {
1932
+ # target_groups: [
1933
+ # {
1934
+ # target_group_arn: "TargetGroupArn",
1935
+ # weight: 1,
1936
+ # },
1937
+ # ],
1938
+ # target_group_stickiness_config: {
1939
+ # enabled: false,
1940
+ # duration_seconds: 1,
1941
+ # },
1942
+ # }
1943
+ #
1944
+ # @!attribute [rw] target_groups
1945
+ # One or more target groups. For Network Load Balancers, you can
1946
+ # specify a single target group.
1947
+ # @return [Array<Types::TargetGroupTuple>]
1948
+ #
1949
+ # @!attribute [rw] target_group_stickiness_config
1950
+ # The target group stickiness for the rule.
1951
+ # @return [Types::TargetGroupStickinessConfig]
1952
+ #
1953
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ForwardActionConfig AWS API Documentation
1954
+ #
1955
+ class ForwardActionConfig < Struct.new(
1956
+ :target_groups,
1957
+ :target_group_stickiness_config)
1958
+ SENSITIVE = []
1959
+ include Aws::Structure
1960
+ end
1961
+
1962
+ # The health of the specified targets could not be retrieved due to an
1963
+ # internal error.
1964
+ #
1965
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/HealthUnavailableException AWS API Documentation
1966
+ #
1967
+ class HealthUnavailableException < Aws::EmptyStructure; end
1968
+
1969
+ # Information about a host header condition.
1970
+ #
1971
+ # @note When making an API call, you may pass HostHeaderConditionConfig
1972
+ # data as a hash:
1973
+ #
1974
+ # {
1975
+ # values: ["StringValue"],
1976
+ # }
1977
+ #
1978
+ # @!attribute [rw] values
1979
+ # One or more host names. The maximum size of each name is 128
1980
+ # characters. The comparison is case insensitive. The following
1981
+ # wildcard characters are supported: * (matches 0 or more characters)
1982
+ # and ? (matches exactly 1 character).
1983
+ #
1984
+ # If you specify multiple strings, the condition is satisfied if one
1985
+ # of the strings matches the host name.
1986
+ # @return [Array<String>]
1987
+ #
1988
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/HostHeaderConditionConfig AWS API Documentation
1989
+ #
1990
+ class HostHeaderConditionConfig < Struct.new(
1991
+ :values)
1992
+ SENSITIVE = []
1993
+ include Aws::Structure
1994
+ end
1995
+
1996
+ # Information about an HTTP header condition.
1997
+ #
1998
+ # There is a set of standard HTTP header fields. You can also define
1999
+ # custom HTTP header fields.
2000
+ #
2001
+ # @note When making an API call, you may pass HttpHeaderConditionConfig
2002
+ # data as a hash:
2003
+ #
2004
+ # {
2005
+ # http_header_name: "HttpHeaderConditionName",
2006
+ # values: ["StringValue"],
2007
+ # }
2008
+ #
2009
+ # @!attribute [rw] http_header_name
2010
+ # The name of the HTTP header field. The maximum size is 40
2011
+ # characters. The header name is case insensitive. The allowed
2012
+ # characters are specified by RFC 7230. Wildcards are not supported.
2013
+ #
2014
+ # You can't use an HTTP header condition to specify the host header.
2015
+ # Use HostHeaderConditionConfig to specify a host header condition.
2016
+ # @return [String]
2017
+ #
2018
+ # @!attribute [rw] values
2019
+ # One or more strings to compare against the value of the HTTP header.
2020
+ # The maximum size of each string is 128 characters. The comparison
2021
+ # strings are case insensitive. The following wildcard characters are
2022
+ # supported: * (matches 0 or more characters) and ? (matches exactly
2023
+ # 1 character).
2024
+ #
2025
+ # If the same header appears multiple times in the request, we search
2026
+ # them in order until a match is found.
2027
+ #
2028
+ # If you specify multiple strings, the condition is satisfied if one
2029
+ # of the strings matches the value of the HTTP header. To require that
2030
+ # all of the strings are a match, create one condition per string.
2031
+ # @return [Array<String>]
2032
+ #
2033
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/HttpHeaderConditionConfig AWS API Documentation
2034
+ #
2035
+ class HttpHeaderConditionConfig < Struct.new(
2036
+ :http_header_name,
2037
+ :values)
2038
+ SENSITIVE = []
2039
+ include Aws::Structure
2040
+ end
2041
+
2042
+ # Information about an HTTP method condition.
2043
+ #
2044
+ # HTTP defines a set of request methods, also referred to as HTTP verbs.
2045
+ # For more information, see the [HTTP Method Registry][1]. You can also
2046
+ # define custom HTTP methods.
2047
+ #
2048
+ #
2049
+ #
2050
+ # [1]: https://www.iana.org/assignments/http-methods/http-methods.xhtml
2051
+ #
2052
+ # @note When making an API call, you may pass HttpRequestMethodConditionConfig
2053
+ # data as a hash:
2054
+ #
2055
+ # {
2056
+ # values: ["StringValue"],
2057
+ # }
2058
+ #
2059
+ # @!attribute [rw] values
2060
+ # The name of the request method. The maximum size is 40 characters.
2061
+ # The allowed characters are A-Z, hyphen (-), and underscore (\_). The
2062
+ # comparison is case sensitive. Wildcards are not supported;
2063
+ # therefore, the method name must be an exact match.
2064
+ #
2065
+ # If you specify multiple strings, the condition is satisfied if one
2066
+ # of the strings matches the HTTP request method. We recommend that
2067
+ # you route GET and HEAD requests in the same way, because the
2068
+ # response to a HEAD request may be cached.
2069
+ # @return [Array<String>]
2070
+ #
2071
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/HttpRequestMethodConditionConfig AWS API Documentation
2072
+ #
2073
+ class HttpRequestMethodConditionConfig < Struct.new(
2074
+ :values)
2075
+ SENSITIVE = []
1669
2076
  include Aws::Structure
1670
2077
  end
1671
2078
 
2079
+ # The specified configuration is not valid with this protocol.
2080
+ #
2081
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/IncompatibleProtocolsException AWS API Documentation
2082
+ #
2083
+ class IncompatibleProtocolsException < Aws::EmptyStructure; end
2084
+
2085
+ # The requested configuration is not valid.
2086
+ #
2087
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/InvalidConfigurationRequestException AWS API Documentation
2088
+ #
2089
+ class InvalidConfigurationRequestException < Aws::EmptyStructure; end
2090
+
2091
+ # The requested action is not valid.
2092
+ #
2093
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/InvalidLoadBalancerActionException AWS API Documentation
2094
+ #
2095
+ class InvalidLoadBalancerActionException < Aws::EmptyStructure; end
2096
+
2097
+ # The requested scheme is not valid.
2098
+ #
2099
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/InvalidSchemeException AWS API Documentation
2100
+ #
2101
+ class InvalidSchemeException < Aws::EmptyStructure; end
2102
+
2103
+ # The specified security group does not exist.
2104
+ #
2105
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/InvalidSecurityGroupException AWS API Documentation
2106
+ #
2107
+ class InvalidSecurityGroupException < Aws::EmptyStructure; end
2108
+
2109
+ # The specified subnet is out of available addresses.
2110
+ #
2111
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/InvalidSubnetException AWS API Documentation
2112
+ #
2113
+ class InvalidSubnetException < Aws::EmptyStructure; end
2114
+
2115
+ # The specified target does not exist, is not in the same VPC as the
2116
+ # target group, or has an unsupported instance type.
2117
+ #
2118
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/InvalidTargetException AWS API Documentation
2119
+ #
2120
+ class InvalidTargetException < Aws::EmptyStructure; end
2121
+
1672
2122
  # Information about an Elastic Load Balancing resource limit for your
1673
- # AWS account.
2123
+ # Amazon Web Services account.
1674
2124
  #
1675
2125
  # @!attribute [rw] name
1676
2126
  # The name of the limit. The possible values are:
1677
2127
  #
1678
2128
  # * application-load-balancers
1679
2129
  #
2130
+ # * condition-values-per-alb-rule
2131
+ #
2132
+ # * condition-wildcards-per-alb-rule
2133
+ #
2134
+ # * gateway-load-balancers
2135
+ #
2136
+ # * gateway-load-balancers-per-vpc
2137
+ #
2138
+ # * geneve-target-groups
2139
+ #
1680
2140
  # * listeners-per-application-load-balancer
1681
2141
  #
1682
2142
  # * listeners-per-network-load-balancer
@@ -1687,8 +2147,16 @@ module Aws::ElasticLoadBalancingV2
1687
2147
  #
1688
2148
  # * target-groups
1689
2149
  #
2150
+ # * target-groups-per-action-on-application-load-balancer
2151
+ #
2152
+ # * target-groups-per-action-on-network-load-balancer
2153
+ #
2154
+ # * target-groups-per-application-load-balancer
2155
+ #
1690
2156
  # * targets-per-application-load-balancer
1691
2157
  #
2158
+ # * targets-per-availability-zone-per-gateway-load-balancer
2159
+ #
1692
2160
  # * targets-per-availability-zone-per-network-load-balancer
1693
2161
  #
1694
2162
  # * targets-per-network-load-balancer
@@ -1703,6 +2171,7 @@ module Aws::ElasticLoadBalancingV2
1703
2171
  class Limit < Struct.new(
1704
2172
  :name,
1705
2173
  :max)
2174
+ SENSITIVE = []
1706
2175
  include Aws::Structure
1707
2176
  end
1708
2177
 
@@ -1725,19 +2194,23 @@ module Aws::ElasticLoadBalancingV2
1725
2194
  # @return [String]
1726
2195
  #
1727
2196
  # @!attribute [rw] certificates
1728
- # The SSL server certificate. You must provide a certificate if the
1729
- # protocol is HTTPS or TLS.
2197
+ # \[HTTPS or TLS listener\] The default certificate for the listener.
1730
2198
  # @return [Array<Types::Certificate>]
1731
2199
  #
1732
2200
  # @!attribute [rw] ssl_policy
1733
- # The security policy that defines which ciphers and protocols are
1734
- # supported. The default is the current predefined security policy.
2201
+ # \[HTTPS or TLS listener\] The security policy that defines which
2202
+ # protocols and ciphers are supported.
1735
2203
  # @return [String]
1736
2204
  #
1737
2205
  # @!attribute [rw] default_actions
1738
2206
  # The default actions for the listener.
1739
2207
  # @return [Array<Types::Action>]
1740
2208
  #
2209
+ # @!attribute [rw] alpn_policy
2210
+ # \[TLS listener\] The name of the Application-Layer Protocol
2211
+ # Negotiation (ALPN) policy.
2212
+ # @return [Array<String>]
2213
+ #
1741
2214
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/Listener AWS API Documentation
1742
2215
  #
1743
2216
  class Listener < Struct.new(
@@ -1747,10 +2220,18 @@ module Aws::ElasticLoadBalancingV2
1747
2220
  :protocol,
1748
2221
  :certificates,
1749
2222
  :ssl_policy,
1750
- :default_actions)
2223
+ :default_actions,
2224
+ :alpn_policy)
2225
+ SENSITIVE = []
1751
2226
  include Aws::Structure
1752
2227
  end
1753
2228
 
2229
+ # The specified listener does not exist.
2230
+ #
2231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ListenerNotFoundException AWS API Documentation
2232
+ #
2233
+ class ListenerNotFoundException < Aws::EmptyStructure; end
2234
+
1754
2235
  # Information about a load balancer.
1755
2236
  #
1756
2237
  # @!attribute [rw] load_balancer_arn
@@ -1784,7 +2265,7 @@ module Aws::ElasticLoadBalancingV2
1784
2265
  # The nodes of an internal load balancer have only private IP
1785
2266
  # addresses. The DNS name of an internal load balancer is publicly
1786
2267
  # resolvable to the private IP addresses of the nodes. Therefore,
1787
- # internal load balancers can only route requests from clients with
2268
+ # internal load balancers can route requests only from clients with
1788
2269
  # access to the VPC for the load balancer.
1789
2270
  # @return [String]
1790
2271
  #
@@ -1801,7 +2282,7 @@ module Aws::ElasticLoadBalancingV2
1801
2282
  # @return [String]
1802
2283
  #
1803
2284
  # @!attribute [rw] availability_zones
1804
- # The Availability Zones for the load balancer.
2285
+ # The subnets for the load balancer.
1805
2286
  # @return [Array<Types::AvailabilityZone>]
1806
2287
  #
1807
2288
  # @!attribute [rw] security_groups
@@ -1814,6 +2295,11 @@ module Aws::ElasticLoadBalancingV2
1814
2295
  # (for IPv4 and IPv6 addresses).
1815
2296
  # @return [String]
1816
2297
  #
2298
+ # @!attribute [rw] customer_owned_ipv_4_pool
2299
+ # \[Application Load Balancers on Outposts\] The ID of the
2300
+ # customer-owned address pool.
2301
+ # @return [String]
2302
+ #
1817
2303
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/LoadBalancer AWS API Documentation
1818
2304
  #
1819
2305
  class LoadBalancer < Struct.new(
@@ -1828,7 +2314,9 @@ module Aws::ElasticLoadBalancingV2
1828
2314
  :type,
1829
2315
  :availability_zones,
1830
2316
  :security_groups,
1831
- :ip_address_type)
2317
+ :ip_address_type,
2318
+ :customer_owned_ipv_4_pool)
2319
+ SENSITIVE = []
1832
2320
  include Aws::Structure
1833
2321
  end
1834
2322
 
@@ -1840,14 +2328,26 @@ module Aws::ElasticLoadBalancingV2
1840
2328
  #
1841
2329
  # @!attribute [rw] allocation_id
1842
2330
  # \[Network Load Balancers\] The allocation ID of the Elastic IP
1843
- # address.
2331
+ # address for an internal-facing load balancer.
2332
+ # @return [String]
2333
+ #
2334
+ # @!attribute [rw] private_i_pv_4_address
2335
+ # \[Network Load Balancers\] The private IPv4 address for an internal
2336
+ # load balancer.
2337
+ # @return [String]
2338
+ #
2339
+ # @!attribute [rw] i_pv_6_address
2340
+ # \[Network Load Balancers\] The IPv6 address.
1844
2341
  # @return [String]
1845
2342
  #
1846
2343
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/LoadBalancerAddress AWS API Documentation
1847
2344
  #
1848
2345
  class LoadBalancerAddress < Struct.new(
1849
2346
  :ip_address,
1850
- :allocation_id)
2347
+ :allocation_id,
2348
+ :private_i_pv_4_address,
2349
+ :i_pv_6_address)
2350
+ SENSITIVE = []
1851
2351
  include Aws::Structure
1852
2352
  end
1853
2353
 
@@ -1864,6 +2364,14 @@ module Aws::ElasticLoadBalancingV2
1864
2364
  # @!attribute [rw] key
1865
2365
  # The name of the attribute.
1866
2366
  #
2367
+ # The following attribute is supported by all load balancers:
2368
+ #
2369
+ # * `deletion_protection.enabled` - Indicates whether deletion
2370
+ # protection is enabled. The value is `true` or `false`. The default
2371
+ # is `false`.
2372
+ #
2373
+ # ^
2374
+ #
1867
2375
  # The following attributes are supported by both Application Load
1868
2376
  # Balancers and Network Load Balancers:
1869
2377
  #
@@ -1879,9 +2387,11 @@ module Aws::ElasticLoadBalancingV2
1879
2387
  # * `access_logs.s3.prefix` - The prefix for the location in the S3
1880
2388
  # bucket for the access logs.
1881
2389
  #
1882
- # * `deletion_protection.enabled` - Indicates whether deletion
1883
- # protection is enabled. The value is `true` or `false`. The default
1884
- # is `false`.
2390
+ # * `ipv6.deny-all-igw-traffic` - Blocks internet gateway (IGW) access
2391
+ # to the load balancer. It is set to `false` for internet-facing
2392
+ # load balancers and `true` for internal load balancers, preventing
2393
+ # unintended access to your internal load balancer through an
2394
+ # internet gateway.
1885
2395
  #
1886
2396
  # The following attributes are supported by only Application Load
1887
2397
  # Balancers:
@@ -1890,15 +2400,48 @@ module Aws::ElasticLoadBalancingV2
1890
2400
  # seconds. The valid range is 1-4000 seconds. The default is 60
1891
2401
  # seconds.
1892
2402
  #
2403
+ # * `routing.http.desync_mitigation_mode` - Determines how the load
2404
+ # balancer handles requests that might pose a security risk to your
2405
+ # application. The possible values are `monitor`, `defensive`, and
2406
+ # `strictest`. The default is `defensive`.
2407
+ #
2408
+ # * `routing.http.drop_invalid_header_fields.enabled` - Indicates
2409
+ # whether HTTP headers with invalid header fields are removed by the
2410
+ # load balancer (`true`) or routed to targets (`false`). The default
2411
+ # is `false`.
2412
+ #
2413
+ # * `routing.http.x_amzn_tls_version_and_cipher_suite.enabled` -
2414
+ # Indicates whether the two headers (`x-amzn-tls-version` and
2415
+ # `x-amzn-tls-cipher-suite`), which contain information about the
2416
+ # negotiated TLS version and cipher suite, are added to the client
2417
+ # request before sending it to the target. The `x-amzn-tls-version`
2418
+ # header has information about the TLS protocol version negotiated
2419
+ # with the client, and the `x-amzn-tls-cipher-suite` header has
2420
+ # information about the cipher suite negotiated with the client.
2421
+ # Both headers are in OpenSSL format. The possible values for the
2422
+ # attribute are `true` and `false`. The default is `false`.
2423
+ #
2424
+ # * `routing.http.xff_client_port.enabled` - Indicates whether the
2425
+ # `X-Forwarded-For` header should preserve the source port that the
2426
+ # client used to connect to the load balancer. The possible values
2427
+ # are `true` and `false`. The default is `false`.
2428
+ #
1893
2429
  # * `routing.http2.enabled` - Indicates whether HTTP/2 is enabled. The
1894
- # value is `true` or `false`. The default is `true`.
2430
+ # possible values are `true` and `false`. The default is `true`.
2431
+ # Elastic Load Balancing requires that message header names contain
2432
+ # only alphanumeric characters and hyphens.
1895
2433
  #
1896
- # The following attributes are supported by only Network Load
1897
- # Balancers:
2434
+ # * `waf.fail_open.enabled` - Indicates whether to allow a WAF-enabled
2435
+ # load balancer to route requests to targets if it is unable to
2436
+ # forward the request to Amazon Web Services WAF. The possible
2437
+ # values are `true` and `false`. The default is `false`.
2438
+ #
2439
+ # The following attribute is supported by Network Load Balancers and
2440
+ # Gateway Load Balancers:
1898
2441
  #
1899
2442
  # * `load_balancing.cross_zone.enabled` - Indicates whether cross-zone
1900
- # load balancing is enabled. The value is `true` or `false`. The
1901
- # default is `false`.
2443
+ # load balancing is enabled. The possible values are `true` and
2444
+ # `false`. The default is `false`.
1902
2445
  #
1903
2446
  # ^
1904
2447
  # @return [String]
@@ -1912,16 +2455,25 @@ module Aws::ElasticLoadBalancingV2
1912
2455
  class LoadBalancerAttribute < Struct.new(
1913
2456
  :key,
1914
2457
  :value)
2458
+ SENSITIVE = []
1915
2459
  include Aws::Structure
1916
2460
  end
1917
2461
 
2462
+ # The specified load balancer does not exist.
2463
+ #
2464
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/LoadBalancerNotFoundException AWS API Documentation
2465
+ #
2466
+ class LoadBalancerNotFoundException < Aws::EmptyStructure; end
2467
+
1918
2468
  # Information about the state of the load balancer.
1919
2469
  #
1920
2470
  # @!attribute [rw] code
1921
2471
  # The state code. The initial state of the load balancer is
1922
2472
  # `provisioning`. After the load balancer is fully set up and ready to
1923
- # route traffic, its state is `active`. If the load balancer could not
1924
- # be set up, its state is `failed`.
2473
+ # route traffic, its state is `active`. If load balancer is routing
2474
+ # traffic but does not have the resources it needs to scale, its state
2475
+ # is`active_impaired`. If the load balancer could not be set up, its
2476
+ # state is `failed`.
1925
2477
  # @return [String]
1926
2478
  #
1927
2479
  # @!attribute [rw] reason
@@ -1933,34 +2485,47 @@ module Aws::ElasticLoadBalancingV2
1933
2485
  class LoadBalancerState < Struct.new(
1934
2486
  :code,
1935
2487
  :reason)
2488
+ SENSITIVE = []
1936
2489
  include Aws::Structure
1937
2490
  end
1938
2491
 
1939
- # Information to use when checking for a successful response from a
1940
- # target.
2492
+ # The codes to use when checking for a successful response from a
2493
+ # target. If the protocol version is gRPC, these are gRPC codes.
2494
+ # Otherwise, these are HTTP codes.
1941
2495
  #
1942
2496
  # @note When making an API call, you may pass Matcher
1943
2497
  # data as a hash:
1944
2498
  #
1945
2499
  # {
1946
- # http_code: "HttpCode", # required
2500
+ # http_code: "HttpCode",
2501
+ # grpc_code: "GrpcCode",
1947
2502
  # }
1948
2503
  #
1949
2504
  # @!attribute [rw] http_code
1950
- # The HTTP codes.
1951
- #
1952
2505
  # For Application Load Balancers, you can specify values between 200
1953
2506
  # and 499, and the default value is 200. You can specify multiple
1954
2507
  # values (for example, "200,202") or a range of values (for example,
1955
2508
  # "200-299").
1956
2509
  #
1957
- # For Network Load Balancers, this is 200–399.
2510
+ # For Network Load Balancers and Gateway Load Balancers, this must be
2511
+ # "200–399".
2512
+ #
2513
+ # Note that when using shorthand syntax, some values such as commas
2514
+ # need to be escaped.
2515
+ # @return [String]
2516
+ #
2517
+ # @!attribute [rw] grpc_code
2518
+ # You can specify values between 0 and 99. You can specify multiple
2519
+ # values (for example, "0,1") or a range of values (for example,
2520
+ # "0-5"). The default value is 12.
1958
2521
  # @return [String]
1959
2522
  #
1960
2523
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/Matcher AWS API Documentation
1961
2524
  #
1962
2525
  class Matcher < Struct.new(
1963
- :http_code)
2526
+ :http_code,
2527
+ :grpc_code)
2528
+ SENSITIVE = []
1964
2529
  include Aws::Structure
1965
2530
  end
1966
2531
 
@@ -1970,7 +2535,7 @@ module Aws::ElasticLoadBalancingV2
1970
2535
  # {
1971
2536
  # listener_arn: "ListenerArn", # required
1972
2537
  # port: 1,
1973
- # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS
2538
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
1974
2539
  # ssl_policy: "SslPolicyName",
1975
2540
  # certificates: [
1976
2541
  # {
@@ -2024,8 +2589,21 @@ module Aws::ElasticLoadBalancingV2
2024
2589
  # status_code: "FixedResponseActionStatusCode", # required
2025
2590
  # content_type: "FixedResponseActionContentType",
2026
2591
  # },
2592
+ # forward_config: {
2593
+ # target_groups: [
2594
+ # {
2595
+ # target_group_arn: "TargetGroupArn",
2596
+ # weight: 1,
2597
+ # },
2598
+ # ],
2599
+ # target_group_stickiness_config: {
2600
+ # enabled: false,
2601
+ # duration_seconds: 1,
2602
+ # },
2603
+ # },
2027
2604
  # },
2028
2605
  # ],
2606
+ # alpn_policy: ["AlpnPolicyValue"],
2029
2607
  # }
2030
2608
  #
2031
2609
  # @!attribute [rw] listener_arn
@@ -2033,57 +2611,65 @@ module Aws::ElasticLoadBalancingV2
2033
2611
  # @return [String]
2034
2612
  #
2035
2613
  # @!attribute [rw] port
2036
- # The port for connections from clients to the load balancer.
2614
+ # The port for connections from clients to the load balancer. You
2615
+ # cannot specify a port for a Gateway Load Balancer.
2037
2616
  # @return [Integer]
2038
2617
  #
2039
2618
  # @!attribute [rw] protocol
2040
2619
  # The protocol for connections from clients to the load balancer.
2041
2620
  # Application Load Balancers support the HTTP and HTTPS protocols.
2042
- # Network Load Balancers support the TCP and TLS protocols.
2621
+ # Network Load Balancers support the TCP, TLS, UDP, and TCP\_UDP
2622
+ # protocols. You can’t change the protocol to UDP or TCP\_UDP if
2623
+ # dual-stack mode is enabled. You cannot specify a protocol for a
2624
+ # Gateway Load Balancer.
2043
2625
  # @return [String]
2044
2626
  #
2045
2627
  # @!attribute [rw] ssl_policy
2046
2628
  # \[HTTPS and TLS listeners\] The security policy that defines which
2047
- # protocols and ciphers are supported. For more information, see
2048
- # [Security Policies][1] in the *Application Load Balancers Guide*.
2629
+ # protocols and ciphers are supported.
2630
+ #
2631
+ # For more information, see [Security policies][1] in the *Application
2632
+ # Load Balancers Guide* or [Security policies][2] in the *Network Load
2633
+ # Balancers Guide*.
2049
2634
  #
2050
2635
  #
2051
2636
  #
2052
2637
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies
2638
+ # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies
2053
2639
  # @return [String]
2054
2640
  #
2055
2641
  # @!attribute [rw] certificates
2056
- # \[HTTPS and TLS listeners\] The default SSL server certificate. You
2057
- # must provide exactly one certificate. Set `CertificateArn` to the
2058
- # certificate ARN but do not set `IsDefault`.
2059
- #
2060
- # To create a certificate list, use AddListenerCertificates.
2642
+ # \[HTTPS and TLS listeners\] The default certificate for the
2643
+ # listener. You must provide exactly one certificate. Set
2644
+ # `CertificateArn` to the certificate ARN but do not set `IsDefault`.
2061
2645
  # @return [Array<Types::Certificate>]
2062
2646
  #
2063
2647
  # @!attribute [rw] default_actions
2064
- # The actions for the default rule. The rule must include one forward
2065
- # action or one or more fixed-response actions.
2648
+ # The actions for the default rule.
2649
+ # @return [Array<Types::Action>]
2066
2650
  #
2067
- # If the action type is `forward`, you specify a target group. The
2068
- # protocol of the target group must be HTTP or HTTPS for an
2069
- # Application Load Balancer. The protocol of the target group must be
2070
- # TCP or TLS for a Network Load Balancer.
2651
+ # @!attribute [rw] alpn_policy
2652
+ # \[TLS listeners\] The name of the Application-Layer Protocol
2653
+ # Negotiation (ALPN) policy. You can specify one policy name. The
2654
+ # following are the possible values:
2071
2655
  #
2072
- # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
2073
- # authenticate users through an identity provider that is OpenID
2074
- # Connect (OIDC) compliant.
2656
+ # * `HTTP1Only`
2075
2657
  #
2076
- # \[HTTPS listeners\] If the action type is `authenticate-cognito`,
2077
- # you authenticate users through the user pools supported by Amazon
2078
- # Cognito.
2658
+ # * `HTTP2Only`
2079
2659
  #
2080
- # \[Application Load Balancer\] If the action type is `redirect`, you
2081
- # redirect specified client requests from one URL to another.
2660
+ # * `HTTP2Optional`
2082
2661
  #
2083
- # \[Application Load Balancer\] If the action type is
2084
- # `fixed-response`, you drop specified client requests and return a
2085
- # custom HTTP response.
2086
- # @return [Array<Types::Action>]
2662
+ # * `HTTP2Preferred`
2663
+ #
2664
+ # * `None`
2665
+ #
2666
+ # For more information, see [ALPN policies][1] in the *Network Load
2667
+ # Balancers Guide*.
2668
+ #
2669
+ #
2670
+ #
2671
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies
2672
+ # @return [Array<String>]
2087
2673
  #
2088
2674
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListenerInput AWS API Documentation
2089
2675
  #
@@ -2093,7 +2679,9 @@ module Aws::ElasticLoadBalancingV2
2093
2679
  :protocol,
2094
2680
  :ssl_policy,
2095
2681
  :certificates,
2096
- :default_actions)
2682
+ :default_actions,
2683
+ :alpn_policy)
2684
+ SENSITIVE = []
2097
2685
  include Aws::Structure
2098
2686
  end
2099
2687
 
@@ -2105,6 +2693,7 @@ module Aws::ElasticLoadBalancingV2
2105
2693
  #
2106
2694
  class ModifyListenerOutput < Struct.new(
2107
2695
  :listeners)
2696
+ SENSITIVE = []
2108
2697
  include Aws::Structure
2109
2698
  end
2110
2699
 
@@ -2134,6 +2723,7 @@ module Aws::ElasticLoadBalancingV2
2134
2723
  class ModifyLoadBalancerAttributesInput < Struct.new(
2135
2724
  :load_balancer_arn,
2136
2725
  :attributes)
2726
+ SENSITIVE = []
2137
2727
  include Aws::Structure
2138
2728
  end
2139
2729
 
@@ -2145,6 +2735,7 @@ module Aws::ElasticLoadBalancingV2
2145
2735
  #
2146
2736
  class ModifyLoadBalancerAttributesOutput < Struct.new(
2147
2737
  :attributes)
2738
+ SENSITIVE = []
2148
2739
  include Aws::Structure
2149
2740
  end
2150
2741
 
@@ -2157,6 +2748,30 @@ module Aws::ElasticLoadBalancingV2
2157
2748
  # {
2158
2749
  # field: "ConditionFieldName",
2159
2750
  # values: ["StringValue"],
2751
+ # host_header_config: {
2752
+ # values: ["StringValue"],
2753
+ # },
2754
+ # path_pattern_config: {
2755
+ # values: ["StringValue"],
2756
+ # },
2757
+ # http_header_config: {
2758
+ # http_header_name: "HttpHeaderConditionName",
2759
+ # values: ["StringValue"],
2760
+ # },
2761
+ # query_string_config: {
2762
+ # values: [
2763
+ # {
2764
+ # key: "StringValue",
2765
+ # value: "StringValue",
2766
+ # },
2767
+ # ],
2768
+ # },
2769
+ # http_request_method_config: {
2770
+ # values: ["StringValue"],
2771
+ # },
2772
+ # source_ip_config: {
2773
+ # values: ["StringValue"],
2774
+ # },
2160
2775
  # },
2161
2776
  # ],
2162
2777
  # actions: [
@@ -2205,6 +2820,18 @@ module Aws::ElasticLoadBalancingV2
2205
2820
  # status_code: "FixedResponseActionStatusCode", # required
2206
2821
  # content_type: "FixedResponseActionContentType",
2207
2822
  # },
2823
+ # forward_config: {
2824
+ # target_groups: [
2825
+ # {
2826
+ # target_group_arn: "TargetGroupArn",
2827
+ # weight: 1,
2828
+ # },
2829
+ # ],
2830
+ # target_group_stickiness_config: {
2831
+ # enabled: false,
2832
+ # duration_seconds: 1,
2833
+ # },
2834
+ # },
2208
2835
  # },
2209
2836
  # ],
2210
2837
  # }
@@ -2214,61 +2841,11 @@ module Aws::ElasticLoadBalancingV2
2214
2841
  # @return [String]
2215
2842
  #
2216
2843
  # @!attribute [rw] conditions
2217
- # The conditions. Each condition specifies a field name and a single
2218
- # value.
2219
- #
2220
- # If the field name is `host-header`, you can specify a single host
2221
- # name (for example, my.example.com). A host name is case insensitive,
2222
- # can be up to 128 characters in length, and can contain any of the
2223
- # following characters. You can include up to three wildcard
2224
- # characters.
2225
- #
2226
- # * A-Z, a-z, 0-9
2227
- #
2228
- # * \- .
2229
- #
2230
- # * * (matches 0 or more characters)
2231
- #
2232
- # * ? (matches exactly 1 character)
2233
- #
2234
- # If the field name is `path-pattern`, you can specify a single path
2235
- # pattern. A path pattern is case-sensitive, can be up to 128
2236
- # characters in length, and can contain any of the following
2237
- # characters. You can include up to three wildcard characters.
2238
- #
2239
- # * A-Z, a-z, 0-9
2240
- #
2241
- # * \_ - . $ / ~ " ' @ : +
2242
- #
2243
- # * &amp; (using &amp;amp;)
2244
- #
2245
- # * * (matches 0 or more characters)
2246
- #
2247
- # * ? (matches exactly 1 character)
2844
+ # The conditions.
2248
2845
  # @return [Array<Types::RuleCondition>]
2249
2846
  #
2250
2847
  # @!attribute [rw] actions
2251
2848
  # The actions.
2252
- #
2253
- # If the action type is `forward`, you specify a target group. The
2254
- # protocol of the target group must be HTTP or HTTPS for an
2255
- # Application Load Balancer. The protocol of the target group must be
2256
- # TCP or TLS for a Network Load Balancer.
2257
- #
2258
- # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
2259
- # authenticate users through an identity provider that is OpenID
2260
- # Connect (OIDC) compliant.
2261
- #
2262
- # \[HTTPS listeners\] If the action type is `authenticate-cognito`,
2263
- # you authenticate users through the user pools supported by Amazon
2264
- # Cognito.
2265
- #
2266
- # \[Application Load Balancer\] If the action type is `redirect`, you
2267
- # redirect specified client requests from one URL to another.
2268
- #
2269
- # \[Application Load Balancer\] If the action type is
2270
- # `fixed-response`, you drop specified client requests and return a
2271
- # custom HTTP response.
2272
2849
  # @return [Array<Types::Action>]
2273
2850
  #
2274
2851
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyRuleInput AWS API Documentation
@@ -2277,6 +2854,7 @@ module Aws::ElasticLoadBalancingV2
2277
2854
  :rule_arn,
2278
2855
  :conditions,
2279
2856
  :actions)
2857
+ SENSITIVE = []
2280
2858
  include Aws::Structure
2281
2859
  end
2282
2860
 
@@ -2288,6 +2866,7 @@ module Aws::ElasticLoadBalancingV2
2288
2866
  #
2289
2867
  class ModifyRuleOutput < Struct.new(
2290
2868
  :rules)
2869
+ SENSITIVE = []
2291
2870
  include Aws::Structure
2292
2871
  end
2293
2872
 
@@ -2317,6 +2896,7 @@ module Aws::ElasticLoadBalancingV2
2317
2896
  class ModifyTargetGroupAttributesInput < Struct.new(
2318
2897
  :target_group_arn,
2319
2898
  :attributes)
2899
+ SENSITIVE = []
2320
2900
  include Aws::Structure
2321
2901
  end
2322
2902
 
@@ -2328,6 +2908,7 @@ module Aws::ElasticLoadBalancingV2
2328
2908
  #
2329
2909
  class ModifyTargetGroupAttributesOutput < Struct.new(
2330
2910
  :attributes)
2911
+ SENSITIVE = []
2331
2912
  include Aws::Structure
2332
2913
  end
2333
2914
 
@@ -2336,7 +2917,7 @@ module Aws::ElasticLoadBalancingV2
2336
2917
  #
2337
2918
  # {
2338
2919
  # target_group_arn: "TargetGroupArn", # required
2339
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS
2920
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
2340
2921
  # health_check_port: "HealthCheckPort",
2341
2922
  # health_check_path: "Path",
2342
2923
  # health_check_enabled: false,
@@ -2345,7 +2926,8 @@ module Aws::ElasticLoadBalancingV2
2345
2926
  # healthy_threshold_count: 1,
2346
2927
  # unhealthy_threshold_count: 1,
2347
2928
  # matcher: {
2348
- # http_code: "HttpCode", # required
2929
+ # http_code: "HttpCode",
2930
+ # grpc_code: "GrpcCode",
2349
2931
  # },
2350
2932
  # }
2351
2933
  #
@@ -2355,12 +2937,15 @@ module Aws::ElasticLoadBalancingV2
2355
2937
  #
2356
2938
  # @!attribute [rw] health_check_protocol
2357
2939
  # The protocol the load balancer uses when performing health checks on
2358
- # targets. The TCP protocol is supported for health checks only if the
2359
- # protocol of the target group is TCP or TLS. The TLS protocol is not
2360
- # supported for health checks.
2940
+ # targets. For Application Load Balancers, the default is HTTP. For
2941
+ # Network Load Balancers and Gateway Load Balancers, the default is
2942
+ # TCP. The TCP protocol is not supported for health checks if the
2943
+ # protocol of the target group is HTTP or HTTPS. It is supported for
2944
+ # health checks only if the protocol of the target group is TCP, TLS,
2945
+ # UDP, or TCP\_UDP. The GENEVE, TLS, UDP, and TCP\_UDP protocols are
2946
+ # not supported for health checks.
2361
2947
  #
2362
- # If the protocol of the target group is TCP, you can't modify this
2363
- # setting.
2948
+ # With Network Load Balancers, you can't modify this setting.
2364
2949
  # @return [String]
2365
2950
  #
2366
2951
  # @!attribute [rw] health_check_port
@@ -2369,8 +2954,14 @@ module Aws::ElasticLoadBalancingV2
2369
2954
  # @return [String]
2370
2955
  #
2371
2956
  # @!attribute [rw] health_check_path
2372
- # \[HTTP/HTTPS health checks\] The ping path that is the destination
2373
- # for the health check request.
2957
+ # \[HTTP/HTTPS health checks\] The destination for health checks on
2958
+ # the targets.
2959
+ #
2960
+ # \[HTTP1 or HTTP2 protocol version\] The ping path. The default is /.
2961
+ #
2962
+ # \[GRPC protocol version\] The path of a custom health check method
2963
+ # with the format /package.service/method. The default is /Amazon Web
2964
+ # Services.ALB/healthcheck.
2374
2965
  # @return [String]
2375
2966
  #
2376
2967
  # @!attribute [rw] health_check_enabled
@@ -2379,20 +2970,17 @@ module Aws::ElasticLoadBalancingV2
2379
2970
  #
2380
2971
  # @!attribute [rw] health_check_interval_seconds
2381
2972
  # The approximate amount of time, in seconds, between health checks of
2382
- # an individual target. For Application Load Balancers, the range is
2383
- # 5–300 seconds. For Network Load Balancers, the supported values are
2384
- # 10 or 30 seconds.
2973
+ # an individual target. For TCP health checks, the supported values
2974
+ # are 10 or 30 seconds.
2385
2975
  #
2386
- # If the protocol of the target group is TCP, you can't modify this
2387
- # setting.
2976
+ # With Network Load Balancers, you can't modify this setting.
2388
2977
  # @return [Integer]
2389
2978
  #
2390
2979
  # @!attribute [rw] health_check_timeout_seconds
2391
2980
  # \[HTTP/HTTPS health checks\] The amount of time, in seconds, during
2392
2981
  # which no response means a failed health check.
2393
2982
  #
2394
- # If the protocol of the target group is TCP, you can't modify this
2395
- # setting.
2983
+ # With Network Load Balancers, you can't modify this setting.
2396
2984
  # @return [Integer]
2397
2985
  #
2398
2986
  # @!attribute [rw] healthy_threshold_count
@@ -2402,16 +2990,16 @@ module Aws::ElasticLoadBalancingV2
2402
2990
  #
2403
2991
  # @!attribute [rw] unhealthy_threshold_count
2404
2992
  # The number of consecutive health check failures required before
2405
- # considering the target unhealthy. For Network Load Balancers, this
2406
- # value must be the same as the healthy threshold count.
2993
+ # considering the target unhealthy. For target groups with a protocol
2994
+ # of TCP or TLS, this value must be the same as the healthy threshold
2995
+ # count.
2407
2996
  # @return [Integer]
2408
2997
  #
2409
2998
  # @!attribute [rw] matcher
2410
- # \[HTTP/HTTPS health checks\] The HTTP codes to use when checking for
2411
- # a successful response from a target.
2999
+ # \[HTTP/HTTPS health checks\] The HTTP or gRPC codes to use when
3000
+ # checking for a successful response from a target.
2412
3001
  #
2413
- # If the protocol of the target group is TCP, you can't modify this
2414
- # setting.
3002
+ # With Network Load Balancers, you can't modify this setting.
2415
3003
  # @return [Types::Matcher]
2416
3004
  #
2417
3005
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroupInput AWS API Documentation
@@ -2427,6 +3015,7 @@ module Aws::ElasticLoadBalancingV2
2427
3015
  :healthy_threshold_count,
2428
3016
  :unhealthy_threshold_count,
2429
3017
  :matcher)
3018
+ SENSITIVE = []
2430
3019
  include Aws::Structure
2431
3020
  end
2432
3021
 
@@ -2438,6 +3027,116 @@ module Aws::ElasticLoadBalancingV2
2438
3027
  #
2439
3028
  class ModifyTargetGroupOutput < Struct.new(
2440
3029
  :target_groups)
3030
+ SENSITIVE = []
3031
+ include Aws::Structure
3032
+ end
3033
+
3034
+ # This operation is not allowed.
3035
+ #
3036
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/OperationNotPermittedException AWS API Documentation
3037
+ #
3038
+ class OperationNotPermittedException < Aws::EmptyStructure; end
3039
+
3040
+ # Information about a path pattern condition.
3041
+ #
3042
+ # @note When making an API call, you may pass PathPatternConditionConfig
3043
+ # data as a hash:
3044
+ #
3045
+ # {
3046
+ # values: ["StringValue"],
3047
+ # }
3048
+ #
3049
+ # @!attribute [rw] values
3050
+ # One or more path patterns to compare against the request URL. The
3051
+ # maximum size of each string is 128 characters. The comparison is
3052
+ # case sensitive. The following wildcard characters are supported: *
3053
+ # (matches 0 or more characters) and ? (matches exactly 1 character).
3054
+ #
3055
+ # If you specify multiple strings, the condition is satisfied if one
3056
+ # of them matches the request URL. The path pattern is compared only
3057
+ # to the path of the URL, not to its query string. To compare against
3058
+ # the query string, use QueryStringConditionConfig.
3059
+ # @return [Array<String>]
3060
+ #
3061
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/PathPatternConditionConfig AWS API Documentation
3062
+ #
3063
+ class PathPatternConditionConfig < Struct.new(
3064
+ :values)
3065
+ SENSITIVE = []
3066
+ include Aws::Structure
3067
+ end
3068
+
3069
+ # The specified priority is in use.
3070
+ #
3071
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/PriorityInUseException AWS API Documentation
3072
+ #
3073
+ class PriorityInUseException < Aws::EmptyStructure; end
3074
+
3075
+ # Information about a query string condition.
3076
+ #
3077
+ # The query string component of a URI starts after the first '?'
3078
+ # character and is terminated by either a '#' character or the end of
3079
+ # the URI. A typical query string contains key/value pairs separated by
3080
+ # '&amp;' characters. The allowed characters are specified by RFC
3081
+ # 3986. Any character can be percentage encoded.
3082
+ #
3083
+ # @note When making an API call, you may pass QueryStringConditionConfig
3084
+ # data as a hash:
3085
+ #
3086
+ # {
3087
+ # values: [
3088
+ # {
3089
+ # key: "StringValue",
3090
+ # value: "StringValue",
3091
+ # },
3092
+ # ],
3093
+ # }
3094
+ #
3095
+ # @!attribute [rw] values
3096
+ # One or more key/value pairs or values to find in the query string.
3097
+ # The maximum size of each string is 128 characters. The comparison is
3098
+ # case insensitive. The following wildcard characters are supported:
3099
+ # * (matches 0 or more characters) and ? (matches exactly 1
3100
+ # character). To search for a literal '*' or '?' character in a
3101
+ # query string, you must escape these characters in `Values` using a
3102
+ # '\\' character.
3103
+ #
3104
+ # If you specify multiple key/value pairs or values, the condition is
3105
+ # satisfied if one of them is found in the query string.
3106
+ # @return [Array<Types::QueryStringKeyValuePair>]
3107
+ #
3108
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/QueryStringConditionConfig AWS API Documentation
3109
+ #
3110
+ class QueryStringConditionConfig < Struct.new(
3111
+ :values)
3112
+ SENSITIVE = []
3113
+ include Aws::Structure
3114
+ end
3115
+
3116
+ # Information about a key/value pair.
3117
+ #
3118
+ # @note When making an API call, you may pass QueryStringKeyValuePair
3119
+ # data as a hash:
3120
+ #
3121
+ # {
3122
+ # key: "StringValue",
3123
+ # value: "StringValue",
3124
+ # }
3125
+ #
3126
+ # @!attribute [rw] key
3127
+ # The key. You can omit the key.
3128
+ # @return [String]
3129
+ #
3130
+ # @!attribute [rw] value
3131
+ # The value.
3132
+ # @return [String]
3133
+ #
3134
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/QueryStringKeyValuePair AWS API Documentation
3135
+ #
3136
+ class QueryStringKeyValuePair < Struct.new(
3137
+ :key,
3138
+ :value)
3139
+ SENSITIVE = []
2441
3140
  include Aws::Structure
2442
3141
  end
2443
3142
 
@@ -2518,6 +3217,7 @@ module Aws::ElasticLoadBalancingV2
2518
3217
  :path,
2519
3218
  :query,
2520
3219
  :status_code)
3220
+ SENSITIVE = []
2521
3221
  include Aws::Structure
2522
3222
  end
2523
3223
 
@@ -2541,10 +3241,6 @@ module Aws::ElasticLoadBalancingV2
2541
3241
  #
2542
3242
  # @!attribute [rw] targets
2543
3243
  # The targets.
2544
- #
2545
- # To register a target by instance ID, specify the instance ID. To
2546
- # register a target by IP address, specify the IP address. To register
2547
- # a Lambda function, specify the ARN of the Lambda function.
2548
3244
  # @return [Array<Types::TargetDescription>]
2549
3245
  #
2550
3246
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RegisterTargetsInput AWS API Documentation
@@ -2552,6 +3248,7 @@ module Aws::ElasticLoadBalancingV2
2552
3248
  class RegisterTargetsInput < Struct.new(
2553
3249
  :target_group_arn,
2554
3250
  :targets)
3251
+ SENSITIVE = []
2555
3252
  include Aws::Structure
2556
3253
  end
2557
3254
 
@@ -2587,6 +3284,7 @@ module Aws::ElasticLoadBalancingV2
2587
3284
  class RemoveListenerCertificatesInput < Struct.new(
2588
3285
  :listener_arn,
2589
3286
  :certificates)
3287
+ SENSITIVE = []
2590
3288
  include Aws::Structure
2591
3289
  end
2592
3290
 
@@ -2615,6 +3313,7 @@ module Aws::ElasticLoadBalancingV2
2615
3313
  class RemoveTagsInput < Struct.new(
2616
3314
  :resource_arns,
2617
3315
  :tag_keys)
3316
+ SENSITIVE = []
2618
3317
  include Aws::Structure
2619
3318
  end
2620
3319
 
@@ -2622,6 +3321,12 @@ module Aws::ElasticLoadBalancingV2
2622
3321
  #
2623
3322
  class RemoveTagsOutput < Aws::EmptyStructure; end
2624
3323
 
3324
+ # A specified resource is in use.
3325
+ #
3326
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ResourceInUseException AWS API Documentation
3327
+ #
3328
+ class ResourceInUseException < Aws::EmptyStructure; end
3329
+
2625
3330
  # Information about a rule.
2626
3331
  #
2627
3332
  # @!attribute [rw] rule_arn
@@ -2633,11 +3338,16 @@ module Aws::ElasticLoadBalancingV2
2633
3338
  # @return [String]
2634
3339
  #
2635
3340
  # @!attribute [rw] conditions
2636
- # The conditions.
3341
+ # The conditions. Each rule can include zero or one of the following
3342
+ # conditions: `http-request-method`, `host-header`, `path-pattern`,
3343
+ # and `source-ip`, and zero or more of the following conditions:
3344
+ # `http-header` and `query-string`.
2637
3345
  # @return [Array<Types::RuleCondition>]
2638
3346
  #
2639
3347
  # @!attribute [rw] actions
2640
- # The actions.
3348
+ # The actions. Each rule must include exactly one of the following
3349
+ # types of actions: `forward`, `redirect`, or `fixed-response`, and it
3350
+ # must be the last action to be performed.
2641
3351
  # @return [Array<Types::Action>]
2642
3352
  #
2643
3353
  # @!attribute [rw] is_default
@@ -2652,31 +3362,76 @@ module Aws::ElasticLoadBalancingV2
2652
3362
  :conditions,
2653
3363
  :actions,
2654
3364
  :is_default)
3365
+ SENSITIVE = []
2655
3366
  include Aws::Structure
2656
3367
  end
2657
3368
 
2658
3369
  # Information about a condition for a rule.
2659
3370
  #
3371
+ # Each rule can optionally include up to one of each of the following
3372
+ # conditions: `http-request-method`, `host-header`, `path-pattern`, and
3373
+ # `source-ip`. Each rule can also optionally include one or more of each
3374
+ # of the following conditions: `http-header` and `query-string`.
3375
+ #
2660
3376
  # @note When making an API call, you may pass RuleCondition
2661
3377
  # data as a hash:
2662
3378
  #
2663
3379
  # {
2664
3380
  # field: "ConditionFieldName",
2665
3381
  # values: ["StringValue"],
3382
+ # host_header_config: {
3383
+ # values: ["StringValue"],
3384
+ # },
3385
+ # path_pattern_config: {
3386
+ # values: ["StringValue"],
3387
+ # },
3388
+ # http_header_config: {
3389
+ # http_header_name: "HttpHeaderConditionName",
3390
+ # values: ["StringValue"],
3391
+ # },
3392
+ # query_string_config: {
3393
+ # values: [
3394
+ # {
3395
+ # key: "StringValue",
3396
+ # value: "StringValue",
3397
+ # },
3398
+ # ],
3399
+ # },
3400
+ # http_request_method_config: {
3401
+ # values: ["StringValue"],
3402
+ # },
3403
+ # source_ip_config: {
3404
+ # values: ["StringValue"],
3405
+ # },
2666
3406
  # }
2667
3407
  #
2668
3408
  # @!attribute [rw] field
2669
- # The name of the field. The possible values are `host-header` and
2670
- # `path-pattern`.
3409
+ # The field in the HTTP request. The following are the possible
3410
+ # values:
3411
+ #
3412
+ # * `http-header`
3413
+ #
3414
+ # * `http-request-method`
3415
+ #
3416
+ # * `host-header`
3417
+ #
3418
+ # * `path-pattern`
3419
+ #
3420
+ # * `query-string`
3421
+ #
3422
+ # * `source-ip`
2671
3423
  # @return [String]
2672
3424
  #
2673
3425
  # @!attribute [rw] values
2674
- # The condition value.
2675
- #
2676
- # If the field name is `host-header`, you can specify a single host
2677
- # name (for example, my.example.com). A host name is case insensitive,
2678
- # can be up to 128 characters in length, and can contain any of the
2679
- # following characters. You can include up to three wildcard
3426
+ # The condition value. Specify only when `Field` is `host-header` or
3427
+ # `path-pattern`. Alternatively, to specify multiple host names or
3428
+ # multiple path patterns, use `HostHeaderConfig` or
3429
+ # `PathPatternConfig`.
3430
+ #
3431
+ # If `Field` is `host-header` and you are not using
3432
+ # `HostHeaderConfig`, you can specify a single host name (for example,
3433
+ # my.example.com) in `Values`. A host name is case insensitive, can be
3434
+ # up to 128 characters in length, and can contain any of the following
2680
3435
  # characters.
2681
3436
  #
2682
3437
  # * A-Z, a-z, 0-9
@@ -2687,11 +3442,11 @@ module Aws::ElasticLoadBalancingV2
2687
3442
  #
2688
3443
  # * ? (matches exactly 1 character)
2689
3444
  #
2690
- # If the field name is `path-pattern`, you can specify a single path
2691
- # pattern (for example, /img/*). A path pattern is case-sensitive,
2692
- # can be up to 128 characters in length, and can contain any of the
2693
- # following characters. You can include up to three wildcard
2694
- # characters.
3445
+ # If `Field` is `path-pattern` and you are not using
3446
+ # `PathPatternConfig`, you can specify a single path pattern (for
3447
+ # example, /img/*) in `Values`. A path pattern is case-sensitive, can
3448
+ # be up to 128 characters in length, and can contain any of the
3449
+ # following characters.
2695
3450
  #
2696
3451
  # * A-Z, a-z, 0-9
2697
3452
  #
@@ -2704,14 +3459,57 @@ module Aws::ElasticLoadBalancingV2
2704
3459
  # * ? (matches exactly 1 character)
2705
3460
  # @return [Array<String>]
2706
3461
  #
3462
+ # @!attribute [rw] host_header_config
3463
+ # Information for a host header condition. Specify only when `Field`
3464
+ # is `host-header`.
3465
+ # @return [Types::HostHeaderConditionConfig]
3466
+ #
3467
+ # @!attribute [rw] path_pattern_config
3468
+ # Information for a path pattern condition. Specify only when `Field`
3469
+ # is `path-pattern`.
3470
+ # @return [Types::PathPatternConditionConfig]
3471
+ #
3472
+ # @!attribute [rw] http_header_config
3473
+ # Information for an HTTP header condition. Specify only when `Field`
3474
+ # is `http-header`.
3475
+ # @return [Types::HttpHeaderConditionConfig]
3476
+ #
3477
+ # @!attribute [rw] query_string_config
3478
+ # Information for a query string condition. Specify only when `Field`
3479
+ # is `query-string`.
3480
+ # @return [Types::QueryStringConditionConfig]
3481
+ #
3482
+ # @!attribute [rw] http_request_method_config
3483
+ # Information for an HTTP method condition. Specify only when `Field`
3484
+ # is `http-request-method`.
3485
+ # @return [Types::HttpRequestMethodConditionConfig]
3486
+ #
3487
+ # @!attribute [rw] source_ip_config
3488
+ # Information for a source IP condition. Specify only when `Field` is
3489
+ # `source-ip`.
3490
+ # @return [Types::SourceIpConditionConfig]
3491
+ #
2707
3492
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RuleCondition AWS API Documentation
2708
3493
  #
2709
3494
  class RuleCondition < Struct.new(
2710
3495
  :field,
2711
- :values)
3496
+ :values,
3497
+ :host_header_config,
3498
+ :path_pattern_config,
3499
+ :http_header_config,
3500
+ :query_string_config,
3501
+ :http_request_method_config,
3502
+ :source_ip_config)
3503
+ SENSITIVE = []
2712
3504
  include Aws::Structure
2713
3505
  end
2714
3506
 
3507
+ # The specified rule does not exist.
3508
+ #
3509
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RuleNotFoundException AWS API Documentation
3510
+ #
3511
+ class RuleNotFoundException < Aws::EmptyStructure; end
3512
+
2715
3513
  # Information about the priorities for the rules for a listener.
2716
3514
  #
2717
3515
  # @note When making an API call, you may pass RulePriorityPair
@@ -2735,9 +3533,16 @@ module Aws::ElasticLoadBalancingV2
2735
3533
  class RulePriorityPair < Struct.new(
2736
3534
  :rule_arn,
2737
3535
  :priority)
3536
+ SENSITIVE = []
2738
3537
  include Aws::Structure
2739
3538
  end
2740
3539
 
3540
+ # The specified SSL policy does not exist.
3541
+ #
3542
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SSLPolicyNotFoundException AWS API Documentation
3543
+ #
3544
+ class SSLPolicyNotFoundException < Aws::EmptyStructure; end
3545
+
2741
3546
  # @note When making an API call, you may pass SetIpAddressTypeInput
2742
3547
  # data as a hash:
2743
3548
  #
@@ -2752,8 +3557,9 @@ module Aws::ElasticLoadBalancingV2
2752
3557
  #
2753
3558
  # @!attribute [rw] ip_address_type
2754
3559
  # The IP address type. The possible values are `ipv4` (for IPv4
2755
- # addresses) and `dualstack` (for IPv4 and IPv6 addresses). Internal
2756
- # load balancers must use `ipv4`.
3560
+ # addresses) and `dualstack` (for IPv4 and IPv6 addresses). You can’t
3561
+ # specify `dualstack` for a load balancer with a UDP or TCP\_UDP
3562
+ # listener.
2757
3563
  # @return [String]
2758
3564
  #
2759
3565
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetIpAddressTypeInput AWS API Documentation
@@ -2761,6 +3567,7 @@ module Aws::ElasticLoadBalancingV2
2761
3567
  class SetIpAddressTypeInput < Struct.new(
2762
3568
  :load_balancer_arn,
2763
3569
  :ip_address_type)
3570
+ SENSITIVE = []
2764
3571
  include Aws::Structure
2765
3572
  end
2766
3573
 
@@ -2772,6 +3579,7 @@ module Aws::ElasticLoadBalancingV2
2772
3579
  #
2773
3580
  class SetIpAddressTypeOutput < Struct.new(
2774
3581
  :ip_address_type)
3582
+ SENSITIVE = []
2775
3583
  include Aws::Structure
2776
3584
  end
2777
3585
 
@@ -2795,6 +3603,7 @@ module Aws::ElasticLoadBalancingV2
2795
3603
  #
2796
3604
  class SetRulePrioritiesInput < Struct.new(
2797
3605
  :rule_priorities)
3606
+ SENSITIVE = []
2798
3607
  include Aws::Structure
2799
3608
  end
2800
3609
 
@@ -2806,6 +3615,7 @@ module Aws::ElasticLoadBalancingV2
2806
3615
  #
2807
3616
  class SetRulePrioritiesOutput < Struct.new(
2808
3617
  :rules)
3618
+ SENSITIVE = []
2809
3619
  include Aws::Structure
2810
3620
  end
2811
3621
 
@@ -2830,6 +3640,7 @@ module Aws::ElasticLoadBalancingV2
2830
3640
  class SetSecurityGroupsInput < Struct.new(
2831
3641
  :load_balancer_arn,
2832
3642
  :security_groups)
3643
+ SENSITIVE = []
2833
3644
  include Aws::Structure
2834
3645
  end
2835
3646
 
@@ -2841,6 +3652,7 @@ module Aws::ElasticLoadBalancingV2
2841
3652
  #
2842
3653
  class SetSecurityGroupsOutput < Struct.new(
2843
3654
  :security_group_ids)
3655
+ SENSITIVE = []
2844
3656
  include Aws::Structure
2845
3657
  end
2846
3658
 
@@ -2854,8 +3666,11 @@ module Aws::ElasticLoadBalancingV2
2854
3666
  # {
2855
3667
  # subnet_id: "SubnetId",
2856
3668
  # allocation_id: "AllocationId",
3669
+ # private_i_pv_4_address: "PrivateIPv4Address",
3670
+ # i_pv_6_address: "IPv6Address",
2857
3671
  # },
2858
3672
  # ],
3673
+ # ip_address_type: "ipv4", # accepts ipv4, dualstack
2859
3674
  # }
2860
3675
  #
2861
3676
  # @!attribute [rw] load_balancer_arn
@@ -2863,38 +3678,113 @@ module Aws::ElasticLoadBalancingV2
2863
3678
  # @return [String]
2864
3679
  #
2865
3680
  # @!attribute [rw] subnets
2866
- # The IDs of the public subnets. You must specify subnets from at
2867
- # least two Availability Zones. You can specify only one subnet per
3681
+ # The IDs of the public subnets. You can specify only one subnet per
2868
3682
  # Availability Zone. You must specify either subnets or subnet
2869
3683
  # mappings.
3684
+ #
3685
+ # \[Application Load Balancers\] You must specify subnets from at
3686
+ # least two Availability Zones.
3687
+ #
3688
+ # \[Application Load Balancers on Outposts\] You must specify one
3689
+ # Outpost subnet.
3690
+ #
3691
+ # \[Application Load Balancers on Local Zones\] You can specify
3692
+ # subnets from one or more Local Zones.
3693
+ #
3694
+ # \[Network Load Balancers\] You can specify subnets from one or more
3695
+ # Availability Zones.
2870
3696
  # @return [Array<String>]
2871
3697
  #
2872
3698
  # @!attribute [rw] subnet_mappings
2873
- # The IDs of the public subnets. You must specify subnets from at
2874
- # least two Availability Zones. You can specify only one subnet per
3699
+ # The IDs of the public subnets. You can specify only one subnet per
2875
3700
  # Availability Zone. You must specify either subnets or subnet
2876
3701
  # mappings.
2877
3702
  #
2878
- # You cannot specify Elastic IP addresses for your subnets.
3703
+ # \[Application Load Balancers\] You must specify subnets from at
3704
+ # least two Availability Zones. You cannot specify Elastic IP
3705
+ # addresses for your subnets.
3706
+ #
3707
+ # \[Application Load Balancers on Outposts\] You must specify one
3708
+ # Outpost subnet.
3709
+ #
3710
+ # \[Application Load Balancers on Local Zones\] You can specify
3711
+ # subnets from one or more Local Zones.
3712
+ #
3713
+ # \[Network Load Balancers\] You can specify subnets from one or more
3714
+ # Availability Zones. You can specify one Elastic IP address per
3715
+ # subnet if you need static IP addresses for your internet-facing load
3716
+ # balancer. For internal load balancers, you can specify one private
3717
+ # IP address per subnet from the IPv4 range of the subnet. For
3718
+ # internet-facing load balancer, you can specify one IPv6 address per
3719
+ # subnet.
2879
3720
  # @return [Array<Types::SubnetMapping>]
2880
3721
  #
3722
+ # @!attribute [rw] ip_address_type
3723
+ # \[Network Load Balancers\] The type of IP addresses used by the
3724
+ # subnets for your load balancer. The possible values are `ipv4` (for
3725
+ # IPv4 addresses) and `dualstack` (for IPv4 and IPv6 addresses). You
3726
+ # can’t specify `dualstack` for a load balancer with a UDP or TCP\_UDP
3727
+ # listener. .
3728
+ # @return [String]
3729
+ #
2881
3730
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSubnetsInput AWS API Documentation
2882
3731
  #
2883
3732
  class SetSubnetsInput < Struct.new(
2884
3733
  :load_balancer_arn,
2885
3734
  :subnets,
2886
- :subnet_mappings)
3735
+ :subnet_mappings,
3736
+ :ip_address_type)
3737
+ SENSITIVE = []
2887
3738
  include Aws::Structure
2888
3739
  end
2889
3740
 
2890
3741
  # @!attribute [rw] availability_zones
2891
- # Information about the subnet and Availability Zone.
3742
+ # Information about the subnets.
2892
3743
  # @return [Array<Types::AvailabilityZone>]
2893
3744
  #
3745
+ # @!attribute [rw] ip_address_type
3746
+ # \[Network Load Balancers\] The IP address type.
3747
+ # @return [String]
3748
+ #
2894
3749
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSubnetsOutput AWS API Documentation
2895
3750
  #
2896
3751
  class SetSubnetsOutput < Struct.new(
2897
- :availability_zones)
3752
+ :availability_zones,
3753
+ :ip_address_type)
3754
+ SENSITIVE = []
3755
+ include Aws::Structure
3756
+ end
3757
+
3758
+ # Information about a source IP condition.
3759
+ #
3760
+ # You can use this condition to route based on the IP address of the
3761
+ # source that connects to the load balancer. If a client is behind a
3762
+ # proxy, this is the IP address of the proxy not the IP address of the
3763
+ # client.
3764
+ #
3765
+ # @note When making an API call, you may pass SourceIpConditionConfig
3766
+ # data as a hash:
3767
+ #
3768
+ # {
3769
+ # values: ["StringValue"],
3770
+ # }
3771
+ #
3772
+ # @!attribute [rw] values
3773
+ # One or more source IP addresses, in CIDR format. You can use both
3774
+ # IPv4 and IPv6 addresses. Wildcards are not supported.
3775
+ #
3776
+ # If you specify multiple addresses, the condition is satisfied if the
3777
+ # source IP address of the request matches one of the CIDR blocks.
3778
+ # This condition is not satisfied by the addresses in the
3779
+ # X-Forwarded-For header. To search for addresses in the
3780
+ # X-Forwarded-For header, use HttpHeaderConditionConfig.
3781
+ # @return [Array<String>]
3782
+ #
3783
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SourceIpConditionConfig AWS API Documentation
3784
+ #
3785
+ class SourceIpConditionConfig < Struct.new(
3786
+ :values)
3787
+ SENSITIVE = []
2898
3788
  include Aws::Structure
2899
3789
  end
2900
3790
 
@@ -2912,12 +3802,18 @@ module Aws::ElasticLoadBalancingV2
2912
3802
  # The name of the policy.
2913
3803
  # @return [String]
2914
3804
  #
3805
+ # @!attribute [rw] supported_load_balancer_types
3806
+ # The supported load balancers.
3807
+ # @return [Array<String>]
3808
+ #
2915
3809
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SslPolicy AWS API Documentation
2916
3810
  #
2917
3811
  class SslPolicy < Struct.new(
2918
3812
  :ssl_protocols,
2919
3813
  :ciphers,
2920
- :name)
3814
+ :name,
3815
+ :supported_load_balancer_types)
3816
+ SENSITIVE = []
2921
3817
  include Aws::Structure
2922
3818
  end
2923
3819
 
@@ -2929,6 +3825,8 @@ module Aws::ElasticLoadBalancingV2
2929
3825
  # {
2930
3826
  # subnet_id: "SubnetId",
2931
3827
  # allocation_id: "AllocationId",
3828
+ # private_i_pv_4_address: "PrivateIPv4Address",
3829
+ # i_pv_6_address: "IPv6Address",
2932
3830
  # }
2933
3831
  #
2934
3832
  # @!attribute [rw] subnet_id
@@ -2937,17 +3835,35 @@ module Aws::ElasticLoadBalancingV2
2937
3835
  #
2938
3836
  # @!attribute [rw] allocation_id
2939
3837
  # \[Network Load Balancers\] The allocation ID of the Elastic IP
2940
- # address.
3838
+ # address for an internet-facing load balancer.
3839
+ # @return [String]
3840
+ #
3841
+ # @!attribute [rw] private_i_pv_4_address
3842
+ # \[Network Load Balancers\] The private IPv4 address for an internal
3843
+ # load balancer.
3844
+ # @return [String]
3845
+ #
3846
+ # @!attribute [rw] i_pv_6_address
3847
+ # \[Network Load Balancers\] The IPv6 address.
2941
3848
  # @return [String]
2942
3849
  #
2943
3850
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SubnetMapping AWS API Documentation
2944
3851
  #
2945
3852
  class SubnetMapping < Struct.new(
2946
3853
  :subnet_id,
2947
- :allocation_id)
3854
+ :allocation_id,
3855
+ :private_i_pv_4_address,
3856
+ :i_pv_6_address)
3857
+ SENSITIVE = []
2948
3858
  include Aws::Structure
2949
3859
  end
2950
3860
 
3861
+ # The specified subnet does not exist.
3862
+ #
3863
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SubnetNotFoundException AWS API Documentation
3864
+ #
3865
+ class SubnetNotFoundException < Aws::EmptyStructure; end
3866
+
2951
3867
  # Information about a tag.
2952
3868
  #
2953
3869
  # @note When making an API call, you may pass Tag
@@ -2971,6 +3887,7 @@ module Aws::ElasticLoadBalancingV2
2971
3887
  class Tag < Struct.new(
2972
3888
  :key,
2973
3889
  :value)
3890
+ SENSITIVE = []
2974
3891
  include Aws::Structure
2975
3892
  end
2976
3893
 
@@ -2989,6 +3906,7 @@ module Aws::ElasticLoadBalancingV2
2989
3906
  class TagDescription < Struct.new(
2990
3907
  :resource_arn,
2991
3908
  :tags)
3909
+ SENSITIVE = []
2992
3910
  include Aws::Structure
2993
3911
  end
2994
3912
 
@@ -3007,11 +3925,16 @@ module Aws::ElasticLoadBalancingV2
3007
3925
  # The ID of the target. If the target type of the target group is
3008
3926
  # `instance`, specify an instance ID. If the target type is `ip`,
3009
3927
  # specify an IP address. If the target type is `lambda`, specify the
3010
- # ARN of the Lambda function.
3928
+ # ARN of the Lambda function. If the target type is `alb`, specify the
3929
+ # ARN of the Application Load Balancer target.
3011
3930
  # @return [String]
3012
3931
  #
3013
3932
  # @!attribute [rw] port
3014
- # The port on which the target is listening.
3933
+ # The port on which the target is listening. If the target group
3934
+ # protocol is GENEVE, the supported port is 6081. If the target type
3935
+ # is `alb`, the targeted Application Load Balancer must have at least
3936
+ # one listener whose port matches the target group port. Not used if
3937
+ # the target is a Lambda function.
3015
3938
  # @return [Integer]
3016
3939
  #
3017
3940
  # @!attribute [rw] availability_zone
@@ -3021,7 +3944,7 @@ module Aws::ElasticLoadBalancingV2
3021
3944
  # load balancer.
3022
3945
  #
3023
3946
  # This parameter is not supported if the target type of the target
3024
- # group is `instance`.
3947
+ # group is `instance` or `alb`.
3025
3948
  #
3026
3949
  # If the target type is `ip` and the IP address is in a subnet of the
3027
3950
  # VPC for the target group, the Availability Zone is automatically
@@ -3042,6 +3965,7 @@ module Aws::ElasticLoadBalancingV2
3042
3965
  :id,
3043
3966
  :port,
3044
3967
  :availability_zone)
3968
+ SENSITIVE = []
3045
3969
  include Aws::Structure
3046
3970
  end
3047
3971
 
@@ -3060,7 +3984,8 @@ module Aws::ElasticLoadBalancingV2
3060
3984
  # @return [String]
3061
3985
  #
3062
3986
  # @!attribute [rw] port
3063
- # The port on which the targets are listening.
3987
+ # The port on which the targets are listening. Not used if the target
3988
+ # is a Lambda function.
3064
3989
  # @return [Integer]
3065
3990
  #
3066
3991
  # @!attribute [rw] vpc_id
@@ -3068,7 +3993,8 @@ module Aws::ElasticLoadBalancingV2
3068
3993
  # @return [String]
3069
3994
  #
3070
3995
  # @!attribute [rw] health_check_protocol
3071
- # The protocol to use to connect with the target.
3996
+ # The protocol to use to connect with the target. The GENEVE, TLS,
3997
+ # UDP, and TCP\_UDP protocols are not supported for health checks.
3072
3998
  # @return [String]
3073
3999
  #
3074
4000
  # @!attribute [rw] health_check_port
@@ -3100,12 +4026,12 @@ module Aws::ElasticLoadBalancingV2
3100
4026
  # @return [Integer]
3101
4027
  #
3102
4028
  # @!attribute [rw] health_check_path
3103
- # The destination for the health check request.
4029
+ # The destination for health checks on the targets.
3104
4030
  # @return [String]
3105
4031
  #
3106
4032
  # @!attribute [rw] matcher
3107
- # The HTTP codes to use when checking for a successful response from a
3108
- # target.
4033
+ # The HTTP or gRPC codes to use when checking for a successful
4034
+ # response from a target.
3109
4035
  # @return [Types::Matcher]
3110
4036
  #
3111
4037
  # @!attribute [rw] load_balancer_arns
@@ -3115,9 +4041,21 @@ module Aws::ElasticLoadBalancingV2
3115
4041
  #
3116
4042
  # @!attribute [rw] target_type
3117
4043
  # The type of target that you must specify when registering targets
3118
- # with this target group. The possible values are `instance` (targets
3119
- # are specified by instance ID) or `ip` (targets are specified by IP
3120
- # address).
4044
+ # with this target group. The possible values are `instance` (register
4045
+ # targets by instance ID), `ip` (register targets by IP address),
4046
+ # `lambda` (register a single Lambda function as a target), or `alb`
4047
+ # (register a single Application Load Balancer as a target).
4048
+ # @return [String]
4049
+ #
4050
+ # @!attribute [rw] protocol_version
4051
+ # \[HTTP/HTTPS protocol\] The protocol version. The possible values
4052
+ # are `GRPC`, `HTTP1`, and `HTTP2`.
4053
+ # @return [String]
4054
+ #
4055
+ # @!attribute [rw] ip_address_type
4056
+ # The type of IP address used for this target group. The possible
4057
+ # values are `ipv4` and `ipv6`. This is an optional parameter. If not
4058
+ # specified, the IP address type defaults to `ipv4`.
3121
4059
  # @return [String]
3122
4060
  #
3123
4061
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TargetGroup AWS API Documentation
@@ -3138,10 +4076,20 @@ module Aws::ElasticLoadBalancingV2
3138
4076
  :health_check_path,
3139
4077
  :matcher,
3140
4078
  :load_balancer_arns,
3141
- :target_type)
4079
+ :target_type,
4080
+ :protocol_version,
4081
+ :ip_address_type)
4082
+ SENSITIVE = []
3142
4083
  include Aws::Structure
3143
4084
  end
3144
4085
 
4086
+ # You've reached the limit on the number of load balancers per target
4087
+ # group.
4088
+ #
4089
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TargetGroupAssociationLimitException AWS API Documentation
4090
+ #
4091
+ class TargetGroupAssociationLimitException < Aws::EmptyStructure; end
4092
+
3145
4093
  # Information about a target group attribute.
3146
4094
  #
3147
4095
  # @note When making an API call, you may pass TargetGroupAttribute
@@ -3155,8 +4103,7 @@ module Aws::ElasticLoadBalancingV2
3155
4103
  # @!attribute [rw] key
3156
4104
  # The name of the attribute.
3157
4105
  #
3158
- # The following attribute is supported by both Application Load
3159
- # Balancers and Network Load Balancers:
4106
+ # The following attribute is supported by all load balancers:
3160
4107
  #
3161
4108
  # * `deregistration_delay.timeout_seconds` - The amount of time, in
3162
4109
  # seconds, for Elastic Load Balancing to wait before changing the
@@ -3166,21 +4113,42 @@ module Aws::ElasticLoadBalancingV2
3166
4113
  #
3167
4114
  # ^
3168
4115
  #
3169
- # The following attributes are supported by Application Load Balancers
3170
- # if the target is not a Lambda function:
3171
- #
3172
- # * `slow_start.duration_seconds` - The time period, in seconds,
3173
- # during which a newly registered target receives a linearly
3174
- # increasing share of the traffic to the target group. After this
3175
- # time period ends, the target receives its full share of traffic.
3176
- # The range is 30-900 seconds (15 minutes). Slow start mode is
3177
- # disabled by default.
4116
+ # The following attributes are supported by both Application Load
4117
+ # Balancers and Network Load Balancers:
3178
4118
  #
3179
4119
  # * `stickiness.enabled` - Indicates whether sticky sessions are
3180
4120
  # enabled. The value is `true` or `false`. The default is `false`.
3181
4121
  #
3182
4122
  # * `stickiness.type` - The type of sticky sessions. The possible
3183
- # value is `lb_cookie`.
4123
+ # values are `lb_cookie` and `app_cookie` for Application Load
4124
+ # Balancers or `source_ip` for Network Load Balancers.
4125
+ #
4126
+ # The following attributes are supported only if the load balancer is
4127
+ # an Application Load Balancer and the target is an instance or an IP
4128
+ # address:
4129
+ #
4130
+ # * `load_balancing.algorithm.type` - The load balancing algorithm
4131
+ # determines how the load balancer selects targets when routing
4132
+ # requests. The value is `round_robin` or
4133
+ # `least_outstanding_requests`. The default is `round_robin`.
4134
+ #
4135
+ # * `slow_start.duration_seconds` - The time period, in seconds,
4136
+ # during which a newly registered target receives an increasing
4137
+ # share of the traffic to the target group. After this time period
4138
+ # ends, the target receives its full share of traffic. The range is
4139
+ # 30-900 seconds (15 minutes). The default is 0 seconds (disabled).
4140
+ #
4141
+ # * `stickiness.app_cookie.cookie_name` - Indicates the name of the
4142
+ # application-based cookie. Names that start with the following
4143
+ # prefixes are not allowed: `AWSALB`, `AWSALBAPP`, and `AWSALBTG`;
4144
+ # they're reserved for use by the load balancer.
4145
+ #
4146
+ # * `stickiness.app_cookie.duration_seconds` - The time period, in
4147
+ # seconds, during which requests from a client should be routed to
4148
+ # the same target. After this time period expires, the
4149
+ # application-based cookie is considered stale. The range is 1
4150
+ # second to 1 week (604800 seconds). The default value is 1 day
4151
+ # (86400 seconds).
3184
4152
  #
3185
4153
  # * `stickiness.lb_cookie.duration_seconds` - The time period, in
3186
4154
  # seconds, during which requests from a client should be routed to
@@ -3189,26 +4157,37 @@ module Aws::ElasticLoadBalancingV2
3189
4157
  # second to 1 week (604800 seconds). The default value is 1 day
3190
4158
  # (86400 seconds).
3191
4159
  #
3192
- # The following attribute is supported only if the target is a Lambda
3193
- # function.
4160
+ # The following attribute is supported only if the load balancer is an
4161
+ # Application Load Balancer and the target is a Lambda function:
3194
4162
  #
3195
4163
  # * `lambda.multi_value_headers.enabled` - Indicates whether the
3196
- # request and response headers exchanged between the load balancer
3197
- # and the Lambda function include arrays of values or strings. The
3198
- # value is `true` or `false`. The default is `false`. If the value
3199
- # is `false` and the request contains a duplicate header field name
3200
- # or query parameter key, the load balancer uses the last value sent
3201
- # by the client.
4164
+ # request and response headers that are exchanged between the load
4165
+ # balancer and the Lambda function include arrays of values or
4166
+ # strings. The value is `true` or `false`. The default is `false`.
4167
+ # If the value is `false` and the request contains a duplicate
4168
+ # header field name or query parameter key, the load balancer uses
4169
+ # the last value sent by the client.
3202
4170
  #
3203
4171
  # ^
3204
4172
  #
3205
- # The following attribute is supported only by Network Load Balancers:
4173
+ # The following attributes are supported only by Network Load
4174
+ # Balancers:
4175
+ #
4176
+ # * `deregistration_delay.connection_termination.enabled` - Indicates
4177
+ # whether the load balancer terminates connections at the end of the
4178
+ # deregistration timeout. The value is `true` or `false`. The
4179
+ # default is `false`.
4180
+ #
4181
+ # * `preserve_client_ip.enabled` - Indicates whether client IP
4182
+ # preservation is enabled. The value is `true` or `false`. The
4183
+ # default is disabled if the target group type is IP address and the
4184
+ # target group protocol is TCP or TLS. Otherwise, the default is
4185
+ # enabled. Client IP preservation cannot be disabled for UDP and
4186
+ # TCP\_UDP target groups.
3206
4187
  #
3207
4188
  # * `proxy_protocol_v2.enabled` - Indicates whether Proxy Protocol
3208
4189
  # version 2 is enabled. The value is `true` or `false`. The default
3209
4190
  # is `false`.
3210
- #
3211
- # ^
3212
4191
  # @return [String]
3213
4192
  #
3214
4193
  # @!attribute [rw] value
@@ -3220,6 +4199,70 @@ module Aws::ElasticLoadBalancingV2
3220
4199
  class TargetGroupAttribute < Struct.new(
3221
4200
  :key,
3222
4201
  :value)
4202
+ SENSITIVE = []
4203
+ include Aws::Structure
4204
+ end
4205
+
4206
+ # The specified target group does not exist.
4207
+ #
4208
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TargetGroupNotFoundException AWS API Documentation
4209
+ #
4210
+ class TargetGroupNotFoundException < Aws::EmptyStructure; end
4211
+
4212
+ # Information about the target group stickiness for a rule.
4213
+ #
4214
+ # @note When making an API call, you may pass TargetGroupStickinessConfig
4215
+ # data as a hash:
4216
+ #
4217
+ # {
4218
+ # enabled: false,
4219
+ # duration_seconds: 1,
4220
+ # }
4221
+ #
4222
+ # @!attribute [rw] enabled
4223
+ # Indicates whether target group stickiness is enabled.
4224
+ # @return [Boolean]
4225
+ #
4226
+ # @!attribute [rw] duration_seconds
4227
+ # The time period, in seconds, during which requests from a client
4228
+ # should be routed to the same target group. The range is 1-604800
4229
+ # seconds (7 days).
4230
+ # @return [Integer]
4231
+ #
4232
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TargetGroupStickinessConfig AWS API Documentation
4233
+ #
4234
+ class TargetGroupStickinessConfig < Struct.new(
4235
+ :enabled,
4236
+ :duration_seconds)
4237
+ SENSITIVE = []
4238
+ include Aws::Structure
4239
+ end
4240
+
4241
+ # Information about how traffic will be distributed between multiple
4242
+ # target groups in a forward rule.
4243
+ #
4244
+ # @note When making an API call, you may pass TargetGroupTuple
4245
+ # data as a hash:
4246
+ #
4247
+ # {
4248
+ # target_group_arn: "TargetGroupArn",
4249
+ # weight: 1,
4250
+ # }
4251
+ #
4252
+ # @!attribute [rw] target_group_arn
4253
+ # The Amazon Resource Name (ARN) of the target group.
4254
+ # @return [String]
4255
+ #
4256
+ # @!attribute [rw] weight
4257
+ # The weight. The range is 0 to 999.
4258
+ # @return [Integer]
4259
+ #
4260
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TargetGroupTuple AWS API Documentation
4261
+ #
4262
+ class TargetGroupTuple < Struct.new(
4263
+ :target_group_arn,
4264
+ :weight)
4265
+ SENSITIVE = []
3223
4266
  include Aws::Structure
3224
4267
  end
3225
4268
 
@@ -3248,17 +4291,18 @@ module Aws::ElasticLoadBalancingV2
3248
4291
  # the following values:
3249
4292
  #
3250
4293
  # * `Target.ResponseCodeMismatch` - The health checks did not return
3251
- # an expected HTTP code.
4294
+ # an expected HTTP code. Applies only to Application Load Balancers
4295
+ # and Gateway Load Balancers.
3252
4296
  #
3253
- # * `Target.Timeout` - The health check requests timed out.
4297
+ # * `Target.Timeout` - The health check requests timed out. Applies
4298
+ # only to Application Load Balancers and Gateway Load Balancers.
3254
4299
  #
3255
- # * `Target.FailedHealthChecks` - The health checks failed because the
3256
- # connection to the target timed out, the target response was
3257
- # malformed, or the target failed the health check for an unknown
3258
- # reason.
4300
+ # * `Target.FailedHealthChecks` - The load balancer received an error
4301
+ # while establishing a connection to the target or the target
4302
+ # response was malformed.
3259
4303
  #
3260
4304
  # * `Elb.InternalError` - The health checks failed due to an internal
3261
- # error.
4305
+ # error. Applies only to Application Load Balancers.
3262
4306
  #
3263
4307
  # If the target state is `unused`, the reason code can be one of the
3264
4308
  # following values:
@@ -3270,12 +4314,12 @@ module Aws::ElasticLoadBalancingV2
3270
4314
  # balancer or the target is in an Availability Zone that is not
3271
4315
  # enabled for its load balancer.
3272
4316
  #
3273
- # * `Target.IpUnusable` - The target IP address is reserved for use by
3274
- # a load balancer.
3275
- #
3276
4317
  # * `Target.InvalidState` - The target is in the stopped or terminated
3277
4318
  # state.
3278
4319
  #
4320
+ # * `Target.IpUnusable` - The target IP address is reserved for use by
4321
+ # a load balancer.
4322
+ #
3279
4323
  # If the target state is `draining`, the reason code can be the
3280
4324
  # following value:
3281
4325
  #
@@ -3289,9 +4333,10 @@ module Aws::ElasticLoadBalancingV2
3289
4333
  # following value:
3290
4334
  #
3291
4335
  # * `Target.HealthCheckDisabled` - Health checks are disabled for the
3292
- # target group.
4336
+ # target group. Applies only to Application Load Balancers.
3293
4337
  #
3294
- # ^
4338
+ # * `Elb.InternalError` - Target health is unavailable due to an
4339
+ # internal error. Applies only to Network Load Balancers.
3295
4340
  # @return [String]
3296
4341
  #
3297
4342
  # @!attribute [rw] description
@@ -3305,6 +4350,7 @@ module Aws::ElasticLoadBalancingV2
3305
4350
  :state,
3306
4351
  :reason,
3307
4352
  :description)
4353
+ SENSITIVE = []
3308
4354
  include Aws::Structure
3309
4355
  end
3310
4356
 
@@ -3328,8 +4374,82 @@ module Aws::ElasticLoadBalancingV2
3328
4374
  :target,
3329
4375
  :health_check_port,
3330
4376
  :target_health)
4377
+ SENSITIVE = []
3331
4378
  include Aws::Structure
3332
4379
  end
3333
4380
 
4381
+ # You've reached the limit on the number of actions per rule.
4382
+ #
4383
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TooManyActionsException AWS API Documentation
4384
+ #
4385
+ class TooManyActionsException < Aws::EmptyStructure; end
4386
+
4387
+ # You've reached the limit on the number of certificates per load
4388
+ # balancer.
4389
+ #
4390
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TooManyCertificatesException AWS API Documentation
4391
+ #
4392
+ class TooManyCertificatesException < Aws::EmptyStructure; end
4393
+
4394
+ # You've reached the limit on the number of listeners per load
4395
+ # balancer.
4396
+ #
4397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TooManyListenersException AWS API Documentation
4398
+ #
4399
+ class TooManyListenersException < Aws::EmptyStructure; end
4400
+
4401
+ # You've reached the limit on the number of load balancers for your
4402
+ # Amazon Web Services account.
4403
+ #
4404
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TooManyLoadBalancersException AWS API Documentation
4405
+ #
4406
+ class TooManyLoadBalancersException < Aws::EmptyStructure; end
4407
+
4408
+ # You've reached the limit on the number of times a target can be
4409
+ # registered with a load balancer.
4410
+ #
4411
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TooManyRegistrationsForTargetIdException AWS API Documentation
4412
+ #
4413
+ class TooManyRegistrationsForTargetIdException < Aws::EmptyStructure; end
4414
+
4415
+ # You've reached the limit on the number of rules per load balancer.
4416
+ #
4417
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TooManyRulesException AWS API Documentation
4418
+ #
4419
+ class TooManyRulesException < Aws::EmptyStructure; end
4420
+
4421
+ # You've reached the limit on the number of tags per load balancer.
4422
+ #
4423
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TooManyTagsException AWS API Documentation
4424
+ #
4425
+ class TooManyTagsException < Aws::EmptyStructure; end
4426
+
4427
+ # You've reached the limit on the number of target groups for your
4428
+ # Amazon Web Services account.
4429
+ #
4430
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TooManyTargetGroupsException AWS API Documentation
4431
+ #
4432
+ class TooManyTargetGroupsException < Aws::EmptyStructure; end
4433
+
4434
+ # You've reached the limit on the number of targets.
4435
+ #
4436
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TooManyTargetsException AWS API Documentation
4437
+ #
4438
+ class TooManyTargetsException < Aws::EmptyStructure; end
4439
+
4440
+ # You've reached the limit on the number of unique target groups per
4441
+ # load balancer across all listeners. If a target group is used by
4442
+ # multiple actions for a load balancer, it is counted as only one use.
4443
+ #
4444
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TooManyUniqueTargetGroupsPerLoadBalancerException AWS API Documentation
4445
+ #
4446
+ class TooManyUniqueTargetGroupsPerLoadBalancerException < Aws::EmptyStructure; end
4447
+
4448
+ # The specified protocol is not supported.
4449
+ #
4450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/UnsupportedProtocolException AWS API Documentation
4451
+ #
4452
+ class UnsupportedProtocolException < Aws::EmptyStructure; end
4453
+
3334
4454
  end
3335
4455
  end