aws-sdk-elasticloadbalancingv2 1.21.0 → 1.75.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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