aws-sdk-elasticloadbalancingv2 1.17.0 → 1.18.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -45,6 +45,7 @@ module Aws::ElasticLoadBalancingV2
45
45
  AuthenticateOidcActionSessionCookieName = Shapes::StringShape.new(name: 'AuthenticateOidcActionSessionCookieName')
46
46
  AuthenticateOidcActionSessionTimeout = Shapes::IntegerShape.new(name: 'AuthenticateOidcActionSessionTimeout')
47
47
  AuthenticateOidcActionTokenEndpoint = Shapes::StringShape.new(name: 'AuthenticateOidcActionTokenEndpoint')
48
+ AuthenticateOidcActionUseExistingClientSecret = Shapes::BooleanShape.new(name: 'AuthenticateOidcActionUseExistingClientSecret')
48
49
  AuthenticateOidcActionUserInfoEndpoint = Shapes::StringShape.new(name: 'AuthenticateOidcActionUserInfoEndpoint')
49
50
  AvailabilityZone = Shapes::StructureShape.new(name: 'AvailabilityZone')
50
51
  AvailabilityZoneNotSupportedException = Shapes::StructureShape.new(name: 'AvailabilityZoneNotSupportedException')
@@ -69,6 +70,7 @@ module Aws::ElasticLoadBalancingV2
69
70
  CreateTargetGroupOutput = Shapes::StructureShape.new(name: 'CreateTargetGroupOutput')
70
71
  CreatedTime = Shapes::TimestampShape.new(name: 'CreatedTime')
71
72
  DNSName = Shapes::StringShape.new(name: 'DNSName')
73
+ DecreasesRemaining = Shapes::IntegerShape.new(name: 'DecreasesRemaining')
72
74
  Default = Shapes::BooleanShape.new(name: 'Default')
73
75
  DeleteListenerInput = Shapes::StructureShape.new(name: 'DeleteListenerInput')
74
76
  DeleteListenerOutput = Shapes::StructureShape.new(name: 'DeleteListenerOutput')
@@ -90,6 +92,8 @@ module Aws::ElasticLoadBalancingV2
90
92
  DescribeLoadBalancerAttributesOutput = Shapes::StructureShape.new(name: 'DescribeLoadBalancerAttributesOutput')
91
93
  DescribeLoadBalancersInput = Shapes::StructureShape.new(name: 'DescribeLoadBalancersInput')
92
94
  DescribeLoadBalancersOutput = Shapes::StructureShape.new(name: 'DescribeLoadBalancersOutput')
95
+ DescribeProvisionedCapacityInput = Shapes::StructureShape.new(name: 'DescribeProvisionedCapacityInput')
96
+ DescribeProvisionedCapacityOutput = Shapes::StructureShape.new(name: 'DescribeProvisionedCapacityOutput')
93
97
  DescribeRulesInput = Shapes::StructureShape.new(name: 'DescribeRulesInput')
94
98
  DescribeRulesOutput = Shapes::StructureShape.new(name: 'DescribeRulesOutput')
95
99
  DescribeSSLPoliciesInput = Shapes::StructureShape.new(name: 'DescribeSSLPoliciesInput')
@@ -111,13 +115,21 @@ module Aws::ElasticLoadBalancingV2
111
115
  FixedResponseActionContentType = Shapes::StringShape.new(name: 'FixedResponseActionContentType')
112
116
  FixedResponseActionMessage = Shapes::StringShape.new(name: 'FixedResponseActionMessage')
113
117
  FixedResponseActionStatusCode = Shapes::StringShape.new(name: 'FixedResponseActionStatusCode')
118
+ HealthCheckEnabled = Shapes::BooleanShape.new(name: 'HealthCheckEnabled')
114
119
  HealthCheckIntervalSeconds = Shapes::IntegerShape.new(name: 'HealthCheckIntervalSeconds')
115
120
  HealthCheckPort = Shapes::StringShape.new(name: 'HealthCheckPort')
116
121
  HealthCheckThresholdCount = Shapes::IntegerShape.new(name: 'HealthCheckThresholdCount')
117
122
  HealthCheckTimeoutSeconds = Shapes::IntegerShape.new(name: 'HealthCheckTimeoutSeconds')
118
123
  HealthUnavailableException = Shapes::StructureShape.new(name: 'HealthUnavailableException')
124
+ HostHeaderConditionConfig = Shapes::StructureShape.new(name: 'HostHeaderConditionConfig')
119
125
  HttpCode = Shapes::StringShape.new(name: 'HttpCode')
126
+ HttpHeaderConditionConfig = Shapes::StructureShape.new(name: 'HttpHeaderConditionConfig')
127
+ HttpHeaderConditionName = Shapes::StringShape.new(name: 'HttpHeaderConditionName')
128
+ HttpRequestMethodConditionConfig = Shapes::StructureShape.new(name: 'HttpRequestMethodConditionConfig')
129
+ HttpRequestMethodEnum = Shapes::StringShape.new(name: 'HttpRequestMethodEnum')
130
+ HttpRequestMethodList = Shapes::ListShape.new(name: 'HttpRequestMethodList')
120
131
  IncompatibleProtocolsException = Shapes::StructureShape.new(name: 'IncompatibleProtocolsException')
132
+ InsufficientCapacityException = Shapes::StructureShape.new(name: 'InsufficientCapacityException')
121
133
  InvalidConfigurationRequestException = Shapes::StructureShape.new(name: 'InvalidConfigurationRequestException')
122
134
  InvalidLoadBalancerActionException = Shapes::StructureShape.new(name: 'InvalidLoadBalancerActionException')
123
135
  InvalidSchemeException = Shapes::StructureShape.new(name: 'InvalidSchemeException')
@@ -127,6 +139,8 @@ module Aws::ElasticLoadBalancingV2
127
139
  IpAddress = Shapes::StringShape.new(name: 'IpAddress')
128
140
  IpAddressType = Shapes::StringShape.new(name: 'IpAddressType')
129
141
  IsDefault = Shapes::BooleanShape.new(name: 'IsDefault')
142
+ LBCapacityUnits = Shapes::IntegerShape.new(name: 'LBCapacityUnits')
143
+ LastModifiedTime = Shapes::TimestampShape.new(name: 'LastModifiedTime')
130
144
  Limit = Shapes::StructureShape.new(name: 'Limit')
131
145
  Limits = Shapes::ListShape.new(name: 'Limits')
132
146
  ListOfString = Shapes::ListShape.new(name: 'ListOfString')
@@ -155,10 +169,14 @@ module Aws::ElasticLoadBalancingV2
155
169
  Marker = Shapes::StringShape.new(name: 'Marker')
156
170
  Matcher = Shapes::StructureShape.new(name: 'Matcher')
157
171
  Max = Shapes::StringShape.new(name: 'Max')
172
+ MinimumLBCapacityUnitsDecreaseThrottlingException = Shapes::StructureShape.new(name: 'MinimumLBCapacityUnitsDecreaseThrottlingException')
173
+ MinimumLBCapacityUnitsLimitExceededException = Shapes::StructureShape.new(name: 'MinimumLBCapacityUnitsLimitExceededException')
158
174
  ModifyListenerInput = Shapes::StructureShape.new(name: 'ModifyListenerInput')
159
175
  ModifyListenerOutput = Shapes::StructureShape.new(name: 'ModifyListenerOutput')
160
176
  ModifyLoadBalancerAttributesInput = Shapes::StructureShape.new(name: 'ModifyLoadBalancerAttributesInput')
161
177
  ModifyLoadBalancerAttributesOutput = Shapes::StructureShape.new(name: 'ModifyLoadBalancerAttributesOutput')
178
+ ModifyProvisionedCapacityInput = Shapes::StructureShape.new(name: 'ModifyProvisionedCapacityInput')
179
+ ModifyProvisionedCapacityOutput = Shapes::StructureShape.new(name: 'ModifyProvisionedCapacityOutput')
162
180
  ModifyRuleInput = Shapes::StructureShape.new(name: 'ModifyRuleInput')
163
181
  ModifyRuleOutput = Shapes::StructureShape.new(name: 'ModifyRuleOutput')
164
182
  ModifyTargetGroupAttributesInput = Shapes::StructureShape.new(name: 'ModifyTargetGroupAttributesInput')
@@ -169,9 +187,13 @@ module Aws::ElasticLoadBalancingV2
169
187
  OperationNotPermittedException = Shapes::StructureShape.new(name: 'OperationNotPermittedException')
170
188
  PageSize = Shapes::IntegerShape.new(name: 'PageSize')
171
189
  Path = Shapes::StringShape.new(name: 'Path')
190
+ PathPatternConditionConfig = Shapes::StructureShape.new(name: 'PathPatternConditionConfig')
172
191
  Port = Shapes::IntegerShape.new(name: 'Port')
173
192
  PriorityInUseException = Shapes::StructureShape.new(name: 'PriorityInUseException')
174
193
  ProtocolEnum = Shapes::StringShape.new(name: 'ProtocolEnum')
194
+ ProvisionedCapacity = Shapes::StructureShape.new(name: 'ProvisionedCapacity')
195
+ ProvisionedCapacityStatus = Shapes::StringShape.new(name: 'ProvisionedCapacityStatus')
196
+ QueryStringConditionConfig = Shapes::StructureShape.new(name: 'QueryStringConditionConfig')
175
197
  RedirectActionConfig = Shapes::StructureShape.new(name: 'RedirectActionConfig')
176
198
  RedirectActionHost = Shapes::StringShape.new(name: 'RedirectActionHost')
177
199
  RedirectActionPath = Shapes::StringShape.new(name: 'RedirectActionPath')
@@ -216,6 +238,7 @@ module Aws::ElasticLoadBalancingV2
216
238
  SslProtocol = Shapes::StringShape.new(name: 'SslProtocol')
217
239
  SslProtocols = Shapes::ListShape.new(name: 'SslProtocols')
218
240
  StateReason = Shapes::StringShape.new(name: 'StateReason')
241
+ StaticIp = Shapes::BooleanShape.new(name: 'StaticIp')
219
242
  String = Shapes::StringShape.new(name: 'String')
220
243
  StringValue = Shapes::StringShape.new(name: 'StringValue')
221
244
  SubnetId = Shapes::StringShape.new(name: 'SubnetId')
@@ -260,6 +283,7 @@ module Aws::ElasticLoadBalancingV2
260
283
  TooManyTagsException = Shapes::StructureShape.new(name: 'TooManyTagsException')
261
284
  TooManyTargetGroupsException = Shapes::StructureShape.new(name: 'TooManyTargetGroupsException')
262
285
  TooManyTargetsException = Shapes::StructureShape.new(name: 'TooManyTargetsException')
286
+ UnsupportedCertificateException = Shapes::StructureShape.new(name: 'UnsupportedCertificateException')
263
287
  UnsupportedProtocolException = Shapes::StructureShape.new(name: 'UnsupportedProtocolException')
264
288
  VpcId = Shapes::StringShape.new(name: 'VpcId')
265
289
  ZoneName = Shapes::StringShape.new(name: 'ZoneName')
@@ -309,17 +333,19 @@ module Aws::ElasticLoadBalancingV2
309
333
  AuthenticateOidcActionConfig.add_member(:token_endpoint, Shapes::ShapeRef.new(shape: AuthenticateOidcActionTokenEndpoint, required: true, location_name: "TokenEndpoint"))
310
334
  AuthenticateOidcActionConfig.add_member(:user_info_endpoint, Shapes::ShapeRef.new(shape: AuthenticateOidcActionUserInfoEndpoint, required: true, location_name: "UserInfoEndpoint"))
311
335
  AuthenticateOidcActionConfig.add_member(:client_id, Shapes::ShapeRef.new(shape: AuthenticateOidcActionClientId, required: true, location_name: "ClientId"))
312
- AuthenticateOidcActionConfig.add_member(:client_secret, Shapes::ShapeRef.new(shape: AuthenticateOidcActionClientSecret, required: true, location_name: "ClientSecret"))
336
+ AuthenticateOidcActionConfig.add_member(:client_secret, Shapes::ShapeRef.new(shape: AuthenticateOidcActionClientSecret, location_name: "ClientSecret"))
313
337
  AuthenticateOidcActionConfig.add_member(:session_cookie_name, Shapes::ShapeRef.new(shape: AuthenticateOidcActionSessionCookieName, location_name: "SessionCookieName"))
314
338
  AuthenticateOidcActionConfig.add_member(:scope, Shapes::ShapeRef.new(shape: AuthenticateOidcActionScope, location_name: "Scope"))
315
339
  AuthenticateOidcActionConfig.add_member(:session_timeout, Shapes::ShapeRef.new(shape: AuthenticateOidcActionSessionTimeout, location_name: "SessionTimeout"))
316
340
  AuthenticateOidcActionConfig.add_member(:authentication_request_extra_params, Shapes::ShapeRef.new(shape: AuthenticateOidcActionAuthenticationRequestExtraParams, location_name: "AuthenticationRequestExtraParams"))
317
341
  AuthenticateOidcActionConfig.add_member(:on_unauthenticated_request, Shapes::ShapeRef.new(shape: AuthenticateOidcActionConditionalBehaviorEnum, location_name: "OnUnauthenticatedRequest"))
342
+ AuthenticateOidcActionConfig.add_member(:use_existing_client_secret, Shapes::ShapeRef.new(shape: AuthenticateOidcActionUseExistingClientSecret, location_name: "UseExistingClientSecret"))
318
343
  AuthenticateOidcActionConfig.struct_class = Types::AuthenticateOidcActionConfig
319
344
 
320
345
  AvailabilityZone.add_member(:zone_name, Shapes::ShapeRef.new(shape: ZoneName, location_name: "ZoneName"))
321
346
  AvailabilityZone.add_member(:subnet_id, Shapes::ShapeRef.new(shape: SubnetId, location_name: "SubnetId"))
322
347
  AvailabilityZone.add_member(:load_balancer_addresses, Shapes::ShapeRef.new(shape: LoadBalancerAddresses, location_name: "LoadBalancerAddresses"))
348
+ AvailabilityZone.add_member(:static_ip, Shapes::ShapeRef.new(shape: StaticIp, location_name: "StaticIp"))
323
349
  AvailabilityZone.struct_class = Types::AvailabilityZone
324
350
 
325
351
  AvailabilityZones.member = Shapes::ShapeRef.new(shape: AvailabilityZone)
@@ -370,11 +396,12 @@ module Aws::ElasticLoadBalancingV2
370
396
  CreateRuleOutput.struct_class = Types::CreateRuleOutput
371
397
 
372
398
  CreateTargetGroupInput.add_member(:name, Shapes::ShapeRef.new(shape: TargetGroupName, required: true, location_name: "Name"))
373
- CreateTargetGroupInput.add_member(:protocol, Shapes::ShapeRef.new(shape: ProtocolEnum, required: true, location_name: "Protocol"))
374
- CreateTargetGroupInput.add_member(:port, Shapes::ShapeRef.new(shape: Port, required: true, location_name: "Port"))
375
- CreateTargetGroupInput.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, required: true, location_name: "VpcId"))
399
+ CreateTargetGroupInput.add_member(:protocol, Shapes::ShapeRef.new(shape: ProtocolEnum, location_name: "Protocol"))
400
+ CreateTargetGroupInput.add_member(:port, Shapes::ShapeRef.new(shape: Port, location_name: "Port"))
401
+ CreateTargetGroupInput.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "VpcId"))
376
402
  CreateTargetGroupInput.add_member(:health_check_protocol, Shapes::ShapeRef.new(shape: ProtocolEnum, location_name: "HealthCheckProtocol"))
377
403
  CreateTargetGroupInput.add_member(:health_check_port, Shapes::ShapeRef.new(shape: HealthCheckPort, location_name: "HealthCheckPort"))
404
+ CreateTargetGroupInput.add_member(:health_check_enabled, Shapes::ShapeRef.new(shape: HealthCheckEnabled, location_name: "HealthCheckEnabled"))
378
405
  CreateTargetGroupInput.add_member(:health_check_path, Shapes::ShapeRef.new(shape: Path, location_name: "HealthCheckPath"))
379
406
  CreateTargetGroupInput.add_member(:health_check_interval_seconds, Shapes::ShapeRef.new(shape: HealthCheckIntervalSeconds, location_name: "HealthCheckIntervalSeconds"))
380
407
  CreateTargetGroupInput.add_member(:health_check_timeout_seconds, Shapes::ShapeRef.new(shape: HealthCheckTimeoutSeconds, location_name: "HealthCheckTimeoutSeconds"))
@@ -456,6 +483,12 @@ module Aws::ElasticLoadBalancingV2
456
483
  DescribeLoadBalancersOutput.add_member(:next_marker, Shapes::ShapeRef.new(shape: Marker, location_name: "NextMarker"))
457
484
  DescribeLoadBalancersOutput.struct_class = Types::DescribeLoadBalancersOutput
458
485
 
486
+ DescribeProvisionedCapacityInput.add_member(:load_balancer_arn, Shapes::ShapeRef.new(shape: LoadBalancerArn, required: true, location_name: "LoadBalancerArn"))
487
+ DescribeProvisionedCapacityInput.struct_class = Types::DescribeProvisionedCapacityInput
488
+
489
+ DescribeProvisionedCapacityOutput.add_member(:provisioned_capacity, Shapes::ShapeRef.new(shape: ProvisionedCapacity, location_name: "ProvisionedCapacity"))
490
+ DescribeProvisionedCapacityOutput.struct_class = Types::DescribeProvisionedCapacityOutput
491
+
459
492
  DescribeRulesInput.add_member(:listener_arn, Shapes::ShapeRef.new(shape: ListenerArn, location_name: "ListenerArn"))
460
493
  DescribeRulesInput.add_member(:rule_arns, Shapes::ShapeRef.new(shape: RuleArns, location_name: "RuleArns"))
461
494
  DescribeRulesInput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
@@ -510,6 +543,18 @@ module Aws::ElasticLoadBalancingV2
510
543
  FixedResponseActionConfig.add_member(:content_type, Shapes::ShapeRef.new(shape: FixedResponseActionContentType, location_name: "ContentType"))
511
544
  FixedResponseActionConfig.struct_class = Types::FixedResponseActionConfig
512
545
 
546
+ HostHeaderConditionConfig.add_member(:values, Shapes::ShapeRef.new(shape: ListOfString, location_name: "Values"))
547
+ HostHeaderConditionConfig.struct_class = Types::HostHeaderConditionConfig
548
+
549
+ HttpHeaderConditionConfig.add_member(:http_header_name, Shapes::ShapeRef.new(shape: HttpHeaderConditionName, location_name: "HttpHeaderName"))
550
+ HttpHeaderConditionConfig.add_member(:values, Shapes::ShapeRef.new(shape: ListOfString, location_name: "Values"))
551
+ HttpHeaderConditionConfig.struct_class = Types::HttpHeaderConditionConfig
552
+
553
+ HttpRequestMethodConditionConfig.add_member(:values, Shapes::ShapeRef.new(shape: HttpRequestMethodList, location_name: "Values"))
554
+ HttpRequestMethodConditionConfig.struct_class = Types::HttpRequestMethodConditionConfig
555
+
556
+ HttpRequestMethodList.member = Shapes::ShapeRef.new(shape: HttpRequestMethodEnum)
557
+
513
558
  Limit.add_member(:name, Shapes::ShapeRef.new(shape: Name, location_name: "Name"))
514
559
  Limit.add_member(:max, Shapes::ShapeRef.new(shape: Max, location_name: "Max"))
515
560
  Limit.struct_class = Types::Limit
@@ -588,6 +633,13 @@ module Aws::ElasticLoadBalancingV2
588
633
  ModifyLoadBalancerAttributesOutput.add_member(:attributes, Shapes::ShapeRef.new(shape: LoadBalancerAttributes, location_name: "Attributes"))
589
634
  ModifyLoadBalancerAttributesOutput.struct_class = Types::ModifyLoadBalancerAttributesOutput
590
635
 
636
+ ModifyProvisionedCapacityInput.add_member(:load_balancer_arn, Shapes::ShapeRef.new(shape: LoadBalancerArn, required: true, location_name: "LoadBalancerArn"))
637
+ ModifyProvisionedCapacityInput.add_member(:minimum_lb_capacity_units, Shapes::ShapeRef.new(shape: LBCapacityUnits, required: true, location_name: "MinimumLBCapacityUnits"))
638
+ ModifyProvisionedCapacityInput.struct_class = Types::ModifyProvisionedCapacityInput
639
+
640
+ ModifyProvisionedCapacityOutput.add_member(:provisioned_capacity, Shapes::ShapeRef.new(shape: ProvisionedCapacity, location_name: "ProvisionedCapacity"))
641
+ ModifyProvisionedCapacityOutput.struct_class = Types::ModifyProvisionedCapacityOutput
642
+
591
643
  ModifyRuleInput.add_member(:rule_arn, Shapes::ShapeRef.new(shape: RuleArn, required: true, location_name: "RuleArn"))
592
644
  ModifyRuleInput.add_member(:conditions, Shapes::ShapeRef.new(shape: RuleConditionList, location_name: "Conditions"))
593
645
  ModifyRuleInput.add_member(:actions, Shapes::ShapeRef.new(shape: Actions, location_name: "Actions"))
@@ -607,6 +659,7 @@ module Aws::ElasticLoadBalancingV2
607
659
  ModifyTargetGroupInput.add_member(:health_check_protocol, Shapes::ShapeRef.new(shape: ProtocolEnum, location_name: "HealthCheckProtocol"))
608
660
  ModifyTargetGroupInput.add_member(:health_check_port, Shapes::ShapeRef.new(shape: HealthCheckPort, location_name: "HealthCheckPort"))
609
661
  ModifyTargetGroupInput.add_member(:health_check_path, Shapes::ShapeRef.new(shape: Path, location_name: "HealthCheckPath"))
662
+ ModifyTargetGroupInput.add_member(:health_check_enabled, Shapes::ShapeRef.new(shape: HealthCheckEnabled, location_name: "HealthCheckEnabled"))
610
663
  ModifyTargetGroupInput.add_member(:health_check_interval_seconds, Shapes::ShapeRef.new(shape: HealthCheckIntervalSeconds, location_name: "HealthCheckIntervalSeconds"))
611
664
  ModifyTargetGroupInput.add_member(:health_check_timeout_seconds, Shapes::ShapeRef.new(shape: HealthCheckTimeoutSeconds, location_name: "HealthCheckTimeoutSeconds"))
612
665
  ModifyTargetGroupInput.add_member(:healthy_threshold_count, Shapes::ShapeRef.new(shape: HealthCheckThresholdCount, location_name: "HealthyThresholdCount"))
@@ -617,6 +670,18 @@ module Aws::ElasticLoadBalancingV2
617
670
  ModifyTargetGroupOutput.add_member(:target_groups, Shapes::ShapeRef.new(shape: TargetGroups, location_name: "TargetGroups"))
618
671
  ModifyTargetGroupOutput.struct_class = Types::ModifyTargetGroupOutput
619
672
 
673
+ PathPatternConditionConfig.add_member(:values, Shapes::ShapeRef.new(shape: ListOfString, location_name: "Values"))
674
+ PathPatternConditionConfig.struct_class = Types::PathPatternConditionConfig
675
+
676
+ ProvisionedCapacity.add_member(:minimum_lb_capacity_units, Shapes::ShapeRef.new(shape: LBCapacityUnits, location_name: "MinimumLBCapacityUnits"))
677
+ ProvisionedCapacity.add_member(:status, Shapes::ShapeRef.new(shape: ProvisionedCapacityStatus, location_name: "Status"))
678
+ ProvisionedCapacity.add_member(:decreases_remaining, Shapes::ShapeRef.new(shape: DecreasesRemaining, location_name: "DecreasesRemaining"))
679
+ ProvisionedCapacity.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: LastModifiedTime, location_name: "LastModifiedTime"))
680
+ ProvisionedCapacity.struct_class = Types::ProvisionedCapacity
681
+
682
+ QueryStringConditionConfig.add_member(:values, Shapes::ShapeRef.new(shape: ListOfString, location_name: "Values"))
683
+ QueryStringConditionConfig.struct_class = Types::QueryStringConditionConfig
684
+
620
685
  RedirectActionConfig.add_member(:protocol, Shapes::ShapeRef.new(shape: RedirectActionProtocol, location_name: "Protocol"))
621
686
  RedirectActionConfig.add_member(:port, Shapes::ShapeRef.new(shape: RedirectActionPort, location_name: "Port"))
622
687
  RedirectActionConfig.add_member(:host, Shapes::ShapeRef.new(shape: RedirectActionHost, location_name: "Host"))
@@ -656,6 +721,11 @@ module Aws::ElasticLoadBalancingV2
656
721
 
657
722
  RuleCondition.add_member(:field, Shapes::ShapeRef.new(shape: ConditionFieldName, location_name: "Field"))
658
723
  RuleCondition.add_member(:values, Shapes::ShapeRef.new(shape: ListOfString, location_name: "Values"))
724
+ RuleCondition.add_member(:host_header_config, Shapes::ShapeRef.new(shape: HostHeaderConditionConfig, location_name: "HostHeaderConfig"))
725
+ RuleCondition.add_member(:path_pattern_config, Shapes::ShapeRef.new(shape: PathPatternConditionConfig, location_name: "PathPatternConfig"))
726
+ RuleCondition.add_member(:http_header_config, Shapes::ShapeRef.new(shape: HttpHeaderConditionConfig, location_name: "HttpHeaderConfig"))
727
+ RuleCondition.add_member(:query_string_config, Shapes::ShapeRef.new(shape: QueryStringConditionConfig, location_name: "QueryStringConfig"))
728
+ RuleCondition.add_member(:http_request_method_config, Shapes::ShapeRef.new(shape: HttpRequestMethodConditionConfig, location_name: "HttpRequestMethodConfig"))
659
729
  RuleCondition.struct_class = Types::RuleCondition
660
730
 
661
731
  RuleConditionList.member = Shapes::ShapeRef.new(shape: RuleCondition)
@@ -711,6 +781,7 @@ module Aws::ElasticLoadBalancingV2
711
781
 
712
782
  SubnetMapping.add_member(:subnet_id, Shapes::ShapeRef.new(shape: SubnetId, location_name: "SubnetId"))
713
783
  SubnetMapping.add_member(:allocation_id, Shapes::ShapeRef.new(shape: AllocationId, location_name: "AllocationId"))
784
+ SubnetMapping.add_member(:static_ip, Shapes::ShapeRef.new(shape: StaticIp, location_name: "StaticIp"))
714
785
  SubnetMapping.struct_class = Types::SubnetMapping
715
786
 
716
787
  SubnetMappings.member = Shapes::ShapeRef.new(shape: SubnetMapping)
@@ -745,6 +816,7 @@ module Aws::ElasticLoadBalancingV2
745
816
  TargetGroup.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "VpcId"))
746
817
  TargetGroup.add_member(:health_check_protocol, Shapes::ShapeRef.new(shape: ProtocolEnum, location_name: "HealthCheckProtocol"))
747
818
  TargetGroup.add_member(:health_check_port, Shapes::ShapeRef.new(shape: HealthCheckPort, location_name: "HealthCheckPort"))
819
+ TargetGroup.add_member(:health_check_enabled, Shapes::ShapeRef.new(shape: HealthCheckEnabled, location_name: "HealthCheckEnabled"))
748
820
  TargetGroup.add_member(:health_check_interval_seconds, Shapes::ShapeRef.new(shape: HealthCheckIntervalSeconds, location_name: "HealthCheckIntervalSeconds"))
749
821
  TargetGroup.add_member(:health_check_timeout_seconds, Shapes::ShapeRef.new(shape: HealthCheckTimeoutSeconds, location_name: "HealthCheckTimeoutSeconds"))
750
822
  TargetGroup.add_member(:healthy_threshold_count, Shapes::ShapeRef.new(shape: HealthCheckThresholdCount, location_name: "HealthyThresholdCount"))
@@ -806,6 +878,8 @@ module Aws::ElasticLoadBalancingV2
806
878
  o.errors << Shapes::ShapeRef.new(shape: ListenerNotFoundException)
807
879
  o.errors << Shapes::ShapeRef.new(shape: TooManyCertificatesException)
808
880
  o.errors << Shapes::ShapeRef.new(shape: CertificateNotFoundException)
881
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedCertificateException)
882
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedProtocolException)
809
883
  end)
810
884
 
811
885
  api.add_operation(:add_tags, Seahorse::Model::Operation.new.tap do |o|
@@ -839,6 +913,7 @@ module Aws::ElasticLoadBalancingV2
839
913
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedProtocolException)
840
914
  o.errors << Shapes::ShapeRef.new(shape: TooManyRegistrationsForTargetIdException)
841
915
  o.errors << Shapes::ShapeRef.new(shape: TooManyTargetsException)
916
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedCertificateException)
842
917
  o.errors << Shapes::ShapeRef.new(shape: TooManyActionsException)
843
918
  o.errors << Shapes::ShapeRef.new(shape: InvalidLoadBalancerActionException)
844
919
  end)
@@ -1001,6 +1076,15 @@ module Aws::ElasticLoadBalancingV2
1001
1076
  )
1002
1077
  end)
1003
1078
 
1079
+ api.add_operation(:describe_provisioned_capacity, Seahorse::Model::Operation.new.tap do |o|
1080
+ o.name = "DescribeProvisionedCapacity"
1081
+ o.http_method = "POST"
1082
+ o.http_request_uri = "/"
1083
+ o.input = Shapes::ShapeRef.new(shape: DescribeProvisionedCapacityInput)
1084
+ o.output = Shapes::ShapeRef.new(shape: DescribeProvisionedCapacityOutput)
1085
+ o.errors << Shapes::ShapeRef.new(shape: LoadBalancerNotFoundException)
1086
+ end)
1087
+
1004
1088
  api.add_operation(:describe_rules, Seahorse::Model::Operation.new.tap do |o|
1005
1089
  o.name = "DescribeRules"
1006
1090
  o.http_method = "POST"
@@ -1087,6 +1171,7 @@ module Aws::ElasticLoadBalancingV2
1087
1171
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedProtocolException)
1088
1172
  o.errors << Shapes::ShapeRef.new(shape: TooManyRegistrationsForTargetIdException)
1089
1173
  o.errors << Shapes::ShapeRef.new(shape: TooManyTargetsException)
1174
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedCertificateException)
1090
1175
  o.errors << Shapes::ShapeRef.new(shape: TooManyActionsException)
1091
1176
  o.errors << Shapes::ShapeRef.new(shape: InvalidLoadBalancerActionException)
1092
1177
  end)
@@ -1101,6 +1186,19 @@ module Aws::ElasticLoadBalancingV2
1101
1186
  o.errors << Shapes::ShapeRef.new(shape: InvalidConfigurationRequestException)
1102
1187
  end)
1103
1188
 
1189
+ api.add_operation(:modify_provisioned_capacity, Seahorse::Model::Operation.new.tap do |o|
1190
+ o.name = "ModifyProvisionedCapacity"
1191
+ o.http_method = "POST"
1192
+ o.http_request_uri = "/"
1193
+ o.input = Shapes::ShapeRef.new(shape: ModifyProvisionedCapacityInput)
1194
+ o.output = Shapes::ShapeRef.new(shape: ModifyProvisionedCapacityOutput)
1195
+ o.errors << Shapes::ShapeRef.new(shape: LoadBalancerNotFoundException)
1196
+ o.errors << Shapes::ShapeRef.new(shape: InvalidConfigurationRequestException)
1197
+ o.errors << Shapes::ShapeRef.new(shape: MinimumLBCapacityUnitsDecreaseThrottlingException)
1198
+ o.errors << Shapes::ShapeRef.new(shape: MinimumLBCapacityUnitsLimitExceededException)
1199
+ o.errors << Shapes::ShapeRef.new(shape: InsufficientCapacityException)
1200
+ end)
1201
+
1104
1202
  api.add_operation(:modify_rule, Seahorse::Model::Operation.new.tap do |o|
1105
1203
  o.name = "ModifyRule"
1106
1204
  o.http_method = "POST"
@@ -14,7 +14,7 @@ module Aws::ElasticLoadBalancingV2
14
14
  # data as a hash:
15
15
  #
16
16
  # {
17
- # type: "forward", # required, accepts forward, authenticate-oidc, authenticate-cognito, redirect, fixed-response
17
+ # type: "forward", # required, accepts forward, authenticate-oidc, redirect, authenticate-cognito, fixed-response
18
18
  # target_group_arn: "TargetGroupArn",
19
19
  # authenticate_oidc_config: {
20
20
  # issuer: "AuthenticateOidcActionIssuer", # required
@@ -22,7 +22,7 @@ module Aws::ElasticLoadBalancingV2
22
22
  # token_endpoint: "AuthenticateOidcActionTokenEndpoint", # required
23
23
  # user_info_endpoint: "AuthenticateOidcActionUserInfoEndpoint", # required
24
24
  # client_id: "AuthenticateOidcActionClientId", # required
25
- # client_secret: "AuthenticateOidcActionClientSecret", # required
25
+ # client_secret: "AuthenticateOidcActionClientSecret",
26
26
  # session_cookie_name: "AuthenticateOidcActionSessionCookieName",
27
27
  # scope: "AuthenticateOidcActionScope",
28
28
  # session_timeout: 1,
@@ -30,6 +30,7 @@ module Aws::ElasticLoadBalancingV2
30
30
  # "AuthenticateOidcActionAuthenticationRequestParamName" => "AuthenticateOidcActionAuthenticationRequestParamValue",
31
31
  # },
32
32
  # on_unauthenticated_request: "deny", # accepts deny, allow, authenticate
33
+ # use_existing_client_secret: false,
33
34
  # },
34
35
  # authenticate_cognito_config: {
35
36
  # user_pool_arn: "AuthenticateCognitoActionUserPoolArn", # required
@@ -132,6 +133,8 @@ module Aws::ElasticLoadBalancingV2
132
133
  #
133
134
  # @!attribute [rw] certificates
134
135
  # The certificate to add. You can specify one certificate per call.
136
+ # Set `CertificateArn` to the certificate ARN but do not set
137
+ # `IsDefault`.
135
138
  # @return [Array<Types::Certificate>]
136
139
  #
137
140
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddListenerCertificatesInput AWS API Documentation
@@ -279,7 +282,7 @@ module Aws::ElasticLoadBalancingV2
279
282
  # token_endpoint: "AuthenticateOidcActionTokenEndpoint", # required
280
283
  # user_info_endpoint: "AuthenticateOidcActionUserInfoEndpoint", # required
281
284
  # client_id: "AuthenticateOidcActionClientId", # required
282
- # client_secret: "AuthenticateOidcActionClientSecret", # required
285
+ # client_secret: "AuthenticateOidcActionClientSecret",
283
286
  # session_cookie_name: "AuthenticateOidcActionSessionCookieName",
284
287
  # scope: "AuthenticateOidcActionScope",
285
288
  # session_timeout: 1,
@@ -287,6 +290,7 @@ module Aws::ElasticLoadBalancingV2
287
290
  # "AuthenticateOidcActionAuthenticationRequestParamName" => "AuthenticateOidcActionAuthenticationRequestParamValue",
288
291
  # },
289
292
  # on_unauthenticated_request: "deny", # accepts deny, allow, authenticate
293
+ # use_existing_client_secret: false,
290
294
  # }
291
295
  #
292
296
  # @!attribute [rw] issuer
@@ -352,6 +356,9 @@ module Aws::ElasticLoadBalancingV2
352
356
  # endpoint. This is the default value.
353
357
  # @return [String]
354
358
  #
359
+ # @!attribute [rw] use_existing_client_secret
360
+ # @return [Boolean]
361
+ #
355
362
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AuthenticateOidcActionConfig AWS API Documentation
356
363
  #
357
364
  class AuthenticateOidcActionConfig < Struct.new(
@@ -365,7 +372,8 @@ module Aws::ElasticLoadBalancingV2
365
372
  :scope,
366
373
  :session_timeout,
367
374
  :authentication_request_extra_params,
368
- :on_unauthenticated_request)
375
+ :on_unauthenticated_request,
376
+ :use_existing_client_secret)
369
377
  include Aws::Structure
370
378
  end
371
379
 
@@ -383,12 +391,16 @@ module Aws::ElasticLoadBalancingV2
383
391
  # \[Network Load Balancers\] The static IP address.
384
392
  # @return [Array<Types::LoadBalancerAddress>]
385
393
  #
394
+ # @!attribute [rw] static_ip
395
+ # @return [Boolean]
396
+ #
386
397
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AvailabilityZone AWS API Documentation
387
398
  #
388
399
  class AvailabilityZone < Struct.new(
389
400
  :zone_name,
390
401
  :subnet_id,
391
- :load_balancer_addresses)
402
+ :load_balancer_addresses,
403
+ :static_ip)
392
404
  include Aws::Structure
393
405
  end
394
406
 
@@ -407,7 +419,8 @@ module Aws::ElasticLoadBalancingV2
407
419
  # @return [String]
408
420
  #
409
421
  # @!attribute [rw] is_default
410
- # Indicates whether the certificate is the default certificate.
422
+ # Indicates whether the certificate is the default certificate. Do not
423
+ # set `IsDefault` when specifying a certificate as an input parameter.
411
424
  # @return [Boolean]
412
425
  #
413
426
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/Certificate AWS API Documentation
@@ -441,7 +454,7 @@ module Aws::ElasticLoadBalancingV2
441
454
  #
442
455
  # {
443
456
  # load_balancer_arn: "LoadBalancerArn", # required
444
- # protocol: "HTTP", # required, accepts HTTP, HTTPS, TCP
457
+ # protocol: "HTTP", # required, accepts HTTP, HTTPS, TCP, TLS, UDP
445
458
  # port: 1, # required
446
459
  # ssl_policy: "SslPolicyName",
447
460
  # certificates: [
@@ -452,7 +465,7 @@ module Aws::ElasticLoadBalancingV2
452
465
  # ],
453
466
  # default_actions: [ # required
454
467
  # {
455
- # type: "forward", # required, accepts forward, authenticate-oidc, authenticate-cognito, redirect, fixed-response
468
+ # type: "forward", # required, accepts forward, authenticate-oidc, redirect, authenticate-cognito, fixed-response
456
469
  # target_group_arn: "TargetGroupArn",
457
470
  # authenticate_oidc_config: {
458
471
  # issuer: "AuthenticateOidcActionIssuer", # required
@@ -460,7 +473,7 @@ module Aws::ElasticLoadBalancingV2
460
473
  # token_endpoint: "AuthenticateOidcActionTokenEndpoint", # required
461
474
  # user_info_endpoint: "AuthenticateOidcActionUserInfoEndpoint", # required
462
475
  # client_id: "AuthenticateOidcActionClientId", # required
463
- # client_secret: "AuthenticateOidcActionClientSecret", # required
476
+ # client_secret: "AuthenticateOidcActionClientSecret",
464
477
  # session_cookie_name: "AuthenticateOidcActionSessionCookieName",
465
478
  # scope: "AuthenticateOidcActionScope",
466
479
  # session_timeout: 1,
@@ -468,6 +481,7 @@ module Aws::ElasticLoadBalancingV2
468
481
  # "AuthenticateOidcActionAuthenticationRequestParamName" => "AuthenticateOidcActionAuthenticationRequestParamValue",
469
482
  # },
470
483
  # on_unauthenticated_request: "deny", # accepts deny, allow, authenticate
484
+ # use_existing_client_secret: false,
471
485
  # },
472
486
  # authenticate_cognito_config: {
473
487
  # user_pool_arn: "AuthenticateCognitoActionUserPoolArn", # required
@@ -521,31 +535,34 @@ module Aws::ElasticLoadBalancingV2
521
535
  #
522
536
  # @!attribute [rw] certificates
523
537
  # \[HTTPS listeners\] The default SSL server certificate. You must
524
- # provide exactly one default certificate. To create a certificate
525
- # list, use AddListenerCertificates.
538
+ # provide exactly one certificate. Set `CertificateArn` to the
539
+ # certificate ARN but do not set `IsDefault`.
540
+ #
541
+ # To create a certificate list, use AddListenerCertificates.
526
542
  # @return [Array<Types::Certificate>]
527
543
  #
528
544
  # @!attribute [rw] default_actions
529
545
  # The actions for the default rule. The rule must include one forward
530
546
  # action or one or more fixed-response actions.
531
547
  #
532
- # If the action type is `forward`, you can specify a single target
533
- # group. The protocol of the target group must be HTTP or HTTPS for an
548
+ # If the action type is `forward`, you specify a target group. The
549
+ # protocol of the target group must be HTTP or HTTPS for an
534
550
  # Application Load Balancer or TCP for a Network Load Balancer.
535
551
  #
536
552
  # \[HTTPS listener\] If the action type is `authenticate-oidc`, you
537
- # can use an identity provider that is OpenID Connect (OIDC) compliant
538
- # to authenticate users as they access your application.
553
+ # authenticate users through an identity provider that is OpenID
554
+ # Connect (OIDC) compliant.
539
555
  #
540
556
  # \[HTTPS listener\] If the action type is `authenticate-cognito`, you
541
- # can use Amazon Cognito to authenticate users as they access your
542
- # application.
557
+ # authenticate users through the user pools supported by Amazon
558
+ # Cognito.
543
559
  #
544
560
  # \[Application Load Balancer\] If the action type is `redirect`, you
545
- # can redirect HTTP and HTTPS requests.
561
+ # redirect specified client requests from one URL to another.
546
562
  #
547
563
  # \[Application Load Balancer\] If the action type is
548
- # `fixed-response`, you can return a custom HTTP response.
564
+ # `fixed-response`, you drop specified client requests and return a
565
+ # custom HTTP response.
549
566
  # @return [Array<Types::Action>]
550
567
  #
551
568
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListenerInput AWS API Documentation
@@ -581,6 +598,7 @@ module Aws::ElasticLoadBalancingV2
581
598
  # {
582
599
  # subnet_id: "SubnetId",
583
600
  # allocation_id: "AllocationId",
601
+ # static_ip: false,
584
602
  # },
585
603
  # ],
586
604
  # security_groups: ["SecurityGroupId"],
@@ -700,12 +718,28 @@ module Aws::ElasticLoadBalancingV2
700
718
  # {
701
719
  # field: "ConditionFieldName",
702
720
  # values: ["StringValue"],
721
+ # host_header_config: {
722
+ # values: ["StringValue"],
723
+ # },
724
+ # path_pattern_config: {
725
+ # values: ["StringValue"],
726
+ # },
727
+ # http_header_config: {
728
+ # http_header_name: "HttpHeaderConditionName",
729
+ # values: ["StringValue"],
730
+ # },
731
+ # query_string_config: {
732
+ # values: ["StringValue"],
733
+ # },
734
+ # http_request_method_config: {
735
+ # values: ["GET"], # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
736
+ # },
703
737
  # },
704
738
  # ],
705
739
  # priority: 1, # required
706
740
  # actions: [ # required
707
741
  # {
708
- # type: "forward", # required, accepts forward, authenticate-oidc, authenticate-cognito, redirect, fixed-response
742
+ # type: "forward", # required, accepts forward, authenticate-oidc, redirect, authenticate-cognito, fixed-response
709
743
  # target_group_arn: "TargetGroupArn",
710
744
  # authenticate_oidc_config: {
711
745
  # issuer: "AuthenticateOidcActionIssuer", # required
@@ -713,7 +747,7 @@ module Aws::ElasticLoadBalancingV2
713
747
  # token_endpoint: "AuthenticateOidcActionTokenEndpoint", # required
714
748
  # user_info_endpoint: "AuthenticateOidcActionUserInfoEndpoint", # required
715
749
  # client_id: "AuthenticateOidcActionClientId", # required
716
- # client_secret: "AuthenticateOidcActionClientSecret", # required
750
+ # client_secret: "AuthenticateOidcActionClientSecret",
717
751
  # session_cookie_name: "AuthenticateOidcActionSessionCookieName",
718
752
  # scope: "AuthenticateOidcActionScope",
719
753
  # session_timeout: 1,
@@ -721,6 +755,7 @@ module Aws::ElasticLoadBalancingV2
721
755
  # "AuthenticateOidcActionAuthenticationRequestParamName" => "AuthenticateOidcActionAuthenticationRequestParamValue",
722
756
  # },
723
757
  # on_unauthenticated_request: "deny", # accepts deny, allow, authenticate
758
+ # use_existing_client_secret: false,
724
759
  # },
725
760
  # authenticate_cognito_config: {
726
761
  # user_pool_arn: "AuthenticateCognitoActionUserPoolArn", # required
@@ -799,22 +834,24 @@ module Aws::ElasticLoadBalancingV2
799
834
  # The actions. Each rule must include exactly one of the following
800
835
  # types of actions: `forward`, `fixed-response`, or `redirect`.
801
836
  #
802
- # If the action type is `forward`, you can specify a single target
803
- # group.
837
+ # If the action type is `forward`, you specify a target group. The
838
+ # protocol of the target group must be HTTP or HTTPS for an
839
+ # Application Load Balancer or TCP for a Network Load Balancer.
804
840
  #
805
841
  # \[HTTPS listener\] If the action type is `authenticate-oidc`, you
806
- # can use an identity provider that is OpenID Connect (OIDC) compliant
807
- # to authenticate users as they access your application.
842
+ # authenticate users through an identity provider that is OpenID
843
+ # Connect (OIDC) compliant.
808
844
  #
809
845
  # \[HTTPS listener\] If the action type is `authenticate-cognito`, you
810
- # can use Amazon Cognito to authenticate users as they access your
811
- # application.
846
+ # authenticate users through the user pools supported by Amazon
847
+ # Cognito.
812
848
  #
813
849
  # \[Application Load Balancer\] If the action type is `redirect`, you
814
- # can redirect HTTP and HTTPS requests.
850
+ # redirect specified client requests from one URL to another.
815
851
  #
816
852
  # \[Application Load Balancer\] If the action type is
817
- # `fixed-response`, you can return a custom HTTP response.
853
+ # `fixed-response`, you drop specified client requests and return a
854
+ # custom HTTP response.
818
855
  # @return [Array<Types::Action>]
819
856
  #
820
857
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateRuleInput AWS API Documentation
@@ -843,11 +880,12 @@ module Aws::ElasticLoadBalancingV2
843
880
  #
844
881
  # {
845
882
  # name: "TargetGroupName", # required
846
- # protocol: "HTTP", # required, accepts HTTP, HTTPS, TCP
847
- # port: 1, # required
848
- # vpc_id: "VpcId", # required
849
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP
883
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP
884
+ # port: 1,
885
+ # vpc_id: "VpcId",
886
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP
850
887
  # health_check_port: "HealthCheckPort",
888
+ # health_check_enabled: false,
851
889
  # health_check_path: "Path",
852
890
  # health_check_interval_seconds: 1,
853
891
  # health_check_timeout_seconds: 1,
@@ -856,7 +894,7 @@ module Aws::ElasticLoadBalancingV2
856
894
  # matcher: {
857
895
  # http_code: "HttpCode", # required
858
896
  # },
859
- # target_type: "instance", # accepts instance, ip
897
+ # target_type: "instance", # accepts instance, ip, lambda
860
898
  # }
861
899
  #
862
900
  # @!attribute [rw] name
@@ -870,16 +908,19 @@ module Aws::ElasticLoadBalancingV2
870
908
  # @!attribute [rw] protocol
871
909
  # The protocol to use for routing traffic to the targets. For
872
910
  # Application Load Balancers, the supported protocols are HTTP and
873
- # HTTPS. For Network Load Balancers, the supported protocol is TCP.
911
+ # HTTPS. For Network Load Balancers, the supported protocol is TCP. If
912
+ # the target is a Lambda function, this parameter does not apply.
874
913
  # @return [String]
875
914
  #
876
915
  # @!attribute [rw] port
877
916
  # The port on which the targets receive traffic. This port is used
878
- # unless you specify a port override when registering the target.
917
+ # unless you specify a port override when registering the target. If
918
+ # the target is a Lambda function, this parameter does not apply.
879
919
  # @return [Integer]
880
920
  #
881
921
  # @!attribute [rw] vpc_id
882
- # The identifier of the virtual private cloud (VPC).
922
+ # The identifier of the virtual private cloud (VPC). If the target is
923
+ # a Lambda function, this parameter does not apply.
883
924
  # @return [String]
884
925
  #
885
926
  # @!attribute [rw] health_check_protocol
@@ -895,6 +936,12 @@ module Aws::ElasticLoadBalancingV2
895
936
  # each target receives traffic from the load balancer.
896
937
  # @return [String]
897
938
  #
939
+ # @!attribute [rw] health_check_enabled
940
+ # Indicates whether health checks are enabled. If the target type is
941
+ # `instance` or `ip`, the default is `true`. If the target type is
942
+ # `lambda`, the default is `false`.
943
+ # @return [Boolean]
944
+ #
898
945
  # @!attribute [rw] health_check_path
899
946
  # \[HTTP/HTTPS health checks\] The ping path that is the destination
900
947
  # on the targets for health checks. The default is /.
@@ -904,15 +951,18 @@ module Aws::ElasticLoadBalancingV2
904
951
  # The approximate amount of time, in seconds, between health checks of
905
952
  # an individual target. For Application Load Balancers, the range is
906
953
  # 5–300 seconds. For Network Load Balancers, the supported values are
907
- # 10 or 30 seconds. The default is 30 seconds.
954
+ # 10 or 30 seconds. If the target type is `instance` or `ip`, the
955
+ # default is 30 seconds. If the target type is `lambda`, the default
956
+ # is 35 seconds.
908
957
  # @return [Integer]
909
958
  #
910
959
  # @!attribute [rw] health_check_timeout_seconds
911
960
  # The amount of time, in seconds, during which no response from a
912
961
  # target means a failed health check. For Application Load Balancers,
913
- # the range is 2–60 seconds and the default is 5 seconds. For Network
914
- # Load Balancers, this is 10 seconds for TCP and HTTPS health checks
915
- # and 6 seconds for HTTP health checks.
962
+ # the range is 2–120 seconds and the default is 5 seconds if the
963
+ # target type is `instance` or `ip` and 30 seconds if the target type
964
+ # is `lambda`. For Network Load Balancers, this is 10 seconds for TCP
965
+ # and HTTPS health checks and 6 seconds for HTTP health checks.
916
966
  # @return [Integer]
917
967
  #
918
968
  # @!attribute [rw] healthy_threshold_count
@@ -936,16 +986,19 @@ module Aws::ElasticLoadBalancingV2
936
986
  #
937
987
  # @!attribute [rw] target_type
938
988
  # The type of target that you must specify when registering targets
939
- # with this target group. The possible values are `instance` (targets
940
- # are specified by instance ID) or `ip` (targets are specified by IP
941
- # address). The default is `instance`. You can't specify targets for
942
- # a target group using both instance IDs and IP addresses.
989
+ # with this target group. You can't specify targets for a target
990
+ # group using more than one target type.
943
991
  #
944
- # If the target type is `ip`, specify IP addresses from the subnets of
945
- # the virtual private cloud (VPC) for the target group, the RFC 1918
946
- # range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC
947
- # 6598 range (100.64.0.0/10). You can't specify publicly routable IP
948
- # addresses.
992
+ # * `instance` - Targets are specified by instance ID. This is the
993
+ # default value.
994
+ #
995
+ # * `ip` - Targets are specified by IP address. You can specify IP
996
+ # addresses from the subnets of the virtual private cloud (VPC) for
997
+ # the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12,
998
+ # and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You
999
+ # can't specify publicly routable IP addresses.
1000
+ #
1001
+ # * `lambda` - The target groups contains a single Lambda function.
949
1002
  # @return [String]
950
1003
  #
951
1004
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroupInput AWS API Documentation
@@ -957,6 +1010,7 @@ module Aws::ElasticLoadBalancingV2
957
1010
  :vpc_id,
958
1011
  :health_check_protocol,
959
1012
  :health_check_port,
1013
+ :health_check_enabled,
960
1014
  :health_check_path,
961
1015
  :health_check_interval_seconds,
962
1016
  :health_check_timeout_seconds,
@@ -1330,6 +1384,33 @@ module Aws::ElasticLoadBalancingV2
1330
1384
  include Aws::Structure
1331
1385
  end
1332
1386
 
1387
+ # @note When making an API call, you may pass DescribeProvisionedCapacityInput
1388
+ # data as a hash:
1389
+ #
1390
+ # {
1391
+ # load_balancer_arn: "LoadBalancerArn", # required
1392
+ # }
1393
+ #
1394
+ # @!attribute [rw] load_balancer_arn
1395
+ # @return [String]
1396
+ #
1397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeProvisionedCapacityInput AWS API Documentation
1398
+ #
1399
+ class DescribeProvisionedCapacityInput < Struct.new(
1400
+ :load_balancer_arn)
1401
+ include Aws::Structure
1402
+ end
1403
+
1404
+ # @!attribute [rw] provisioned_capacity
1405
+ # @return [Types::ProvisionedCapacity]
1406
+ #
1407
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeProvisionedCapacityOutput AWS API Documentation
1408
+ #
1409
+ class DescribeProvisionedCapacityOutput < Struct.new(
1410
+ :provisioned_capacity)
1411
+ include Aws::Structure
1412
+ end
1413
+
1333
1414
  # @note When making an API call, you may pass DescribeRulesInput
1334
1415
  # data as a hash:
1335
1416
  #
@@ -1626,6 +1707,62 @@ module Aws::ElasticLoadBalancingV2
1626
1707
  include Aws::Structure
1627
1708
  end
1628
1709
 
1710
+ # @note When making an API call, you may pass HostHeaderConditionConfig
1711
+ # data as a hash:
1712
+ #
1713
+ # {
1714
+ # values: ["StringValue"],
1715
+ # }
1716
+ #
1717
+ # @!attribute [rw] values
1718
+ # @return [Array<String>]
1719
+ #
1720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/HostHeaderConditionConfig AWS API Documentation
1721
+ #
1722
+ class HostHeaderConditionConfig < Struct.new(
1723
+ :values)
1724
+ include Aws::Structure
1725
+ end
1726
+
1727
+ # @note When making an API call, you may pass HttpHeaderConditionConfig
1728
+ # data as a hash:
1729
+ #
1730
+ # {
1731
+ # http_header_name: "HttpHeaderConditionName",
1732
+ # values: ["StringValue"],
1733
+ # }
1734
+ #
1735
+ # @!attribute [rw] http_header_name
1736
+ # @return [String]
1737
+ #
1738
+ # @!attribute [rw] values
1739
+ # @return [Array<String>]
1740
+ #
1741
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/HttpHeaderConditionConfig AWS API Documentation
1742
+ #
1743
+ class HttpHeaderConditionConfig < Struct.new(
1744
+ :http_header_name,
1745
+ :values)
1746
+ include Aws::Structure
1747
+ end
1748
+
1749
+ # @note When making an API call, you may pass HttpRequestMethodConditionConfig
1750
+ # data as a hash:
1751
+ #
1752
+ # {
1753
+ # values: ["GET"], # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
1754
+ # }
1755
+ #
1756
+ # @!attribute [rw] values
1757
+ # @return [Array<String>]
1758
+ #
1759
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/HttpRequestMethodConditionConfig AWS API Documentation
1760
+ #
1761
+ class HttpRequestMethodConditionConfig < Struct.new(
1762
+ :values)
1763
+ include Aws::Structure
1764
+ end
1765
+
1629
1766
  # Information about an Elastic Load Balancing resource limit for your
1630
1767
  # AWS account.
1631
1768
  #
@@ -1929,7 +2066,7 @@ module Aws::ElasticLoadBalancingV2
1929
2066
  # {
1930
2067
  # listener_arn: "ListenerArn", # required
1931
2068
  # port: 1,
1932
- # protocol: "HTTP", # accepts HTTP, HTTPS, TCP
2069
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP
1933
2070
  # ssl_policy: "SslPolicyName",
1934
2071
  # certificates: [
1935
2072
  # {
@@ -1939,7 +2076,7 @@ module Aws::ElasticLoadBalancingV2
1939
2076
  # ],
1940
2077
  # default_actions: [
1941
2078
  # {
1942
- # type: "forward", # required, accepts forward, authenticate-oidc, authenticate-cognito, redirect, fixed-response
2079
+ # type: "forward", # required, accepts forward, authenticate-oidc, redirect, authenticate-cognito, fixed-response
1943
2080
  # target_group_arn: "TargetGroupArn",
1944
2081
  # authenticate_oidc_config: {
1945
2082
  # issuer: "AuthenticateOidcActionIssuer", # required
@@ -1947,7 +2084,7 @@ module Aws::ElasticLoadBalancingV2
1947
2084
  # token_endpoint: "AuthenticateOidcActionTokenEndpoint", # required
1948
2085
  # user_info_endpoint: "AuthenticateOidcActionUserInfoEndpoint", # required
1949
2086
  # client_id: "AuthenticateOidcActionClientId", # required
1950
- # client_secret: "AuthenticateOidcActionClientSecret", # required
2087
+ # client_secret: "AuthenticateOidcActionClientSecret",
1951
2088
  # session_cookie_name: "AuthenticateOidcActionSessionCookieName",
1952
2089
  # scope: "AuthenticateOidcActionScope",
1953
2090
  # session_timeout: 1,
@@ -1955,6 +2092,7 @@ module Aws::ElasticLoadBalancingV2
1955
2092
  # "AuthenticateOidcActionAuthenticationRequestParamName" => "AuthenticateOidcActionAuthenticationRequestParamValue",
1956
2093
  # },
1957
2094
  # on_unauthenticated_request: "deny", # accepts deny, allow, authenticate
2095
+ # use_existing_client_secret: false,
1958
2096
  # },
1959
2097
  # authenticate_cognito_config: {
1960
2098
  # user_pool_arn: "AuthenticateCognitoActionUserPoolArn", # required
@@ -2012,31 +2150,34 @@ module Aws::ElasticLoadBalancingV2
2012
2150
  #
2013
2151
  # @!attribute [rw] certificates
2014
2152
  # \[HTTPS listeners\] The default SSL server certificate. You must
2015
- # provide exactly one default certificate. To create a certificate
2016
- # list, use AddListenerCertificates.
2153
+ # provide exactly one certificate. Set `CertificateArn` to the
2154
+ # certificate ARN but do not set `IsDefault`.
2155
+ #
2156
+ # To create a certificate list, use AddListenerCertificates.
2017
2157
  # @return [Array<Types::Certificate>]
2018
2158
  #
2019
2159
  # @!attribute [rw] default_actions
2020
2160
  # The actions for the default rule. The rule must include one forward
2021
2161
  # action or one or more fixed-response actions.
2022
2162
  #
2023
- # If the action type is `forward`, you can specify a single target
2024
- # group. The protocol of the target group must be HTTP or HTTPS for an
2163
+ # If the action type is `forward`, you specify a target group. The
2164
+ # protocol of the target group must be HTTP or HTTPS for an
2025
2165
  # Application Load Balancer or TCP for a Network Load Balancer.
2026
2166
  #
2027
2167
  # \[HTTPS listener\] If the action type is `authenticate-oidc`, you
2028
- # can use an identity provider that is OpenID Connect (OIDC) compliant
2029
- # to authenticate users as they access your application.
2168
+ # authenticate users through an identity provider that is OpenID
2169
+ # Connect (OIDC) compliant.
2030
2170
  #
2031
2171
  # \[HTTPS listener\] If the action type is `authenticate-cognito`, you
2032
- # can use Amazon Cognito to authenticate users as they access your
2033
- # application.
2172
+ # authenticate users through the user pools supported by Amazon
2173
+ # Cognito.
2034
2174
  #
2035
2175
  # \[Application Load Balancer\] If the action type is `redirect`, you
2036
- # can redirect HTTP and HTTPS requests.
2176
+ # redirect specified client requests from one URL to another.
2037
2177
  #
2038
2178
  # \[Application Load Balancer\] If the action type is
2039
- # `fixed-response`, you can return a custom HTTP response.
2179
+ # `fixed-response`, you drop specified client requests and return a
2180
+ # custom HTTP response.
2040
2181
  # @return [Array<Types::Action>]
2041
2182
  #
2042
2183
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListenerInput AWS API Documentation
@@ -2102,6 +2243,38 @@ module Aws::ElasticLoadBalancingV2
2102
2243
  include Aws::Structure
2103
2244
  end
2104
2245
 
2246
+ # @note When making an API call, you may pass ModifyProvisionedCapacityInput
2247
+ # data as a hash:
2248
+ #
2249
+ # {
2250
+ # load_balancer_arn: "LoadBalancerArn", # required
2251
+ # minimum_lb_capacity_units: 1, # required
2252
+ # }
2253
+ #
2254
+ # @!attribute [rw] load_balancer_arn
2255
+ # @return [String]
2256
+ #
2257
+ # @!attribute [rw] minimum_lb_capacity_units
2258
+ # @return [Integer]
2259
+ #
2260
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyProvisionedCapacityInput AWS API Documentation
2261
+ #
2262
+ class ModifyProvisionedCapacityInput < Struct.new(
2263
+ :load_balancer_arn,
2264
+ :minimum_lb_capacity_units)
2265
+ include Aws::Structure
2266
+ end
2267
+
2268
+ # @!attribute [rw] provisioned_capacity
2269
+ # @return [Types::ProvisionedCapacity]
2270
+ #
2271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyProvisionedCapacityOutput AWS API Documentation
2272
+ #
2273
+ class ModifyProvisionedCapacityOutput < Struct.new(
2274
+ :provisioned_capacity)
2275
+ include Aws::Structure
2276
+ end
2277
+
2105
2278
  # @note When making an API call, you may pass ModifyRuleInput
2106
2279
  # data as a hash:
2107
2280
  #
@@ -2111,11 +2284,27 @@ module Aws::ElasticLoadBalancingV2
2111
2284
  # {
2112
2285
  # field: "ConditionFieldName",
2113
2286
  # values: ["StringValue"],
2287
+ # host_header_config: {
2288
+ # values: ["StringValue"],
2289
+ # },
2290
+ # path_pattern_config: {
2291
+ # values: ["StringValue"],
2292
+ # },
2293
+ # http_header_config: {
2294
+ # http_header_name: "HttpHeaderConditionName",
2295
+ # values: ["StringValue"],
2296
+ # },
2297
+ # query_string_config: {
2298
+ # values: ["StringValue"],
2299
+ # },
2300
+ # http_request_method_config: {
2301
+ # values: ["GET"], # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
2302
+ # },
2114
2303
  # },
2115
2304
  # ],
2116
2305
  # actions: [
2117
2306
  # {
2118
- # type: "forward", # required, accepts forward, authenticate-oidc, authenticate-cognito, redirect, fixed-response
2307
+ # type: "forward", # required, accepts forward, authenticate-oidc, redirect, authenticate-cognito, fixed-response
2119
2308
  # target_group_arn: "TargetGroupArn",
2120
2309
  # authenticate_oidc_config: {
2121
2310
  # issuer: "AuthenticateOidcActionIssuer", # required
@@ -2123,7 +2312,7 @@ module Aws::ElasticLoadBalancingV2
2123
2312
  # token_endpoint: "AuthenticateOidcActionTokenEndpoint", # required
2124
2313
  # user_info_endpoint: "AuthenticateOidcActionUserInfoEndpoint", # required
2125
2314
  # client_id: "AuthenticateOidcActionClientId", # required
2126
- # client_secret: "AuthenticateOidcActionClientSecret", # required
2315
+ # client_secret: "AuthenticateOidcActionClientSecret",
2127
2316
  # session_cookie_name: "AuthenticateOidcActionSessionCookieName",
2128
2317
  # scope: "AuthenticateOidcActionScope",
2129
2318
  # session_timeout: 1,
@@ -2131,6 +2320,7 @@ module Aws::ElasticLoadBalancingV2
2131
2320
  # "AuthenticateOidcActionAuthenticationRequestParamName" => "AuthenticateOidcActionAuthenticationRequestParamValue",
2132
2321
  # },
2133
2322
  # on_unauthenticated_request: "deny", # accepts deny, allow, authenticate
2323
+ # use_existing_client_secret: false,
2134
2324
  # },
2135
2325
  # authenticate_cognito_config: {
2136
2326
  # user_pool_arn: "AuthenticateCognitoActionUserPoolArn", # required
@@ -2203,15 +2393,24 @@ module Aws::ElasticLoadBalancingV2
2203
2393
  # @!attribute [rw] actions
2204
2394
  # The actions.
2205
2395
  #
2206
- # If the action type is `forward`, you can specify a single target
2207
- # group.
2396
+ # If the action type is `forward`, you specify a target group. The
2397
+ # protocol of the target group must be HTTP or HTTPS for an
2398
+ # Application Load Balancer or TCP for a Network Load Balancer.
2208
2399
  #
2209
- # If the action type is `authenticate-oidc`, you can use an identity
2210
- # provider that is OpenID Connect (OIDC) compliant to authenticate
2211
- # users as they access your application.
2400
+ # \[HTTPS listener\] If the action type is `authenticate-oidc`, you
2401
+ # authenticate users through an identity provider that is OpenID
2402
+ # Connect (OIDC) compliant.
2212
2403
  #
2213
- # If the action type is `authenticate-cognito`, you can use Amazon
2214
- # Cognito to authenticate users as they access your application.
2404
+ # \[HTTPS listener\] If the action type is `authenticate-cognito`, you
2405
+ # authenticate users through the user pools supported by Amazon
2406
+ # Cognito.
2407
+ #
2408
+ # \[Application Load Balancer\] If the action type is `redirect`, you
2409
+ # redirect specified client requests from one URL to another.
2410
+ #
2411
+ # \[Application Load Balancer\] If the action type is
2412
+ # `fixed-response`, you drop specified client requests and return a
2413
+ # custom HTTP response.
2215
2414
  # @return [Array<Types::Action>]
2216
2415
  #
2217
2416
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyRuleInput AWS API Documentation
@@ -2279,9 +2478,10 @@ module Aws::ElasticLoadBalancingV2
2279
2478
  #
2280
2479
  # {
2281
2480
  # target_group_arn: "TargetGroupArn", # required
2282
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP
2481
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP
2283
2482
  # health_check_port: "HealthCheckPort",
2284
2483
  # health_check_path: "Path",
2484
+ # health_check_enabled: false,
2285
2485
  # health_check_interval_seconds: 1,
2286
2486
  # health_check_timeout_seconds: 1,
2287
2487
  # healthy_threshold_count: 1,
@@ -2299,6 +2499,9 @@ module Aws::ElasticLoadBalancingV2
2299
2499
  # The protocol the load balancer uses when performing health checks on
2300
2500
  # targets. The TCP protocol is supported only if the protocol of the
2301
2501
  # target group is TCP.
2502
+ #
2503
+ # If the protocol of the target group is TCP, you can't modify this
2504
+ # setting.
2302
2505
  # @return [String]
2303
2506
  #
2304
2507
  # @!attribute [rw] health_check_port
@@ -2311,16 +2514,26 @@ module Aws::ElasticLoadBalancingV2
2311
2514
  # for the health check request.
2312
2515
  # @return [String]
2313
2516
  #
2517
+ # @!attribute [rw] health_check_enabled
2518
+ # Indicates whether health checks are enabled.
2519
+ # @return [Boolean]
2520
+ #
2314
2521
  # @!attribute [rw] health_check_interval_seconds
2315
2522
  # The approximate amount of time, in seconds, between health checks of
2316
2523
  # an individual target. For Application Load Balancers, the range is
2317
2524
  # 5–300 seconds. For Network Load Balancers, the supported values are
2318
2525
  # 10 or 30 seconds.
2526
+ #
2527
+ # If the protocol of the target group is TCP, you can't modify this
2528
+ # setting.
2319
2529
  # @return [Integer]
2320
2530
  #
2321
2531
  # @!attribute [rw] health_check_timeout_seconds
2322
2532
  # \[HTTP/HTTPS health checks\] The amount of time, in seconds, during
2323
2533
  # which no response means a failed health check.
2534
+ #
2535
+ # If the protocol of the target group is TCP, you can't modify this
2536
+ # setting.
2324
2537
  # @return [Integer]
2325
2538
  #
2326
2539
  # @!attribute [rw] healthy_threshold_count
@@ -2337,6 +2550,9 @@ module Aws::ElasticLoadBalancingV2
2337
2550
  # @!attribute [rw] matcher
2338
2551
  # \[HTTP/HTTPS health checks\] The HTTP codes to use when checking for
2339
2552
  # a successful response from a target.
2553
+ #
2554
+ # If the protocol of the target group is TCP, you can't modify this
2555
+ # setting.
2340
2556
  # @return [Types::Matcher]
2341
2557
  #
2342
2558
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroupInput AWS API Documentation
@@ -2346,6 +2562,7 @@ module Aws::ElasticLoadBalancingV2
2346
2562
  :health_check_protocol,
2347
2563
  :health_check_port,
2348
2564
  :health_check_path,
2565
+ :health_check_enabled,
2349
2566
  :health_check_interval_seconds,
2350
2567
  :health_check_timeout_seconds,
2351
2568
  :healthy_threshold_count,
@@ -2365,6 +2582,62 @@ module Aws::ElasticLoadBalancingV2
2365
2582
  include Aws::Structure
2366
2583
  end
2367
2584
 
2585
+ # @note When making an API call, you may pass PathPatternConditionConfig
2586
+ # data as a hash:
2587
+ #
2588
+ # {
2589
+ # values: ["StringValue"],
2590
+ # }
2591
+ #
2592
+ # @!attribute [rw] values
2593
+ # @return [Array<String>]
2594
+ #
2595
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/PathPatternConditionConfig AWS API Documentation
2596
+ #
2597
+ class PathPatternConditionConfig < Struct.new(
2598
+ :values)
2599
+ include Aws::Structure
2600
+ end
2601
+
2602
+ # @!attribute [rw] minimum_lb_capacity_units
2603
+ # @return [Integer]
2604
+ #
2605
+ # @!attribute [rw] status
2606
+ # @return [String]
2607
+ #
2608
+ # @!attribute [rw] decreases_remaining
2609
+ # @return [Integer]
2610
+ #
2611
+ # @!attribute [rw] last_modified_time
2612
+ # @return [Time]
2613
+ #
2614
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ProvisionedCapacity AWS API Documentation
2615
+ #
2616
+ class ProvisionedCapacity < Struct.new(
2617
+ :minimum_lb_capacity_units,
2618
+ :status,
2619
+ :decreases_remaining,
2620
+ :last_modified_time)
2621
+ include Aws::Structure
2622
+ end
2623
+
2624
+ # @note When making an API call, you may pass QueryStringConditionConfig
2625
+ # data as a hash:
2626
+ #
2627
+ # {
2628
+ # values: ["StringValue"],
2629
+ # }
2630
+ #
2631
+ # @!attribute [rw] values
2632
+ # @return [Array<String>]
2633
+ #
2634
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/QueryStringConditionConfig AWS API Documentation
2635
+ #
2636
+ class QueryStringConditionConfig < Struct.new(
2637
+ :values)
2638
+ include Aws::Structure
2639
+ end
2640
+
2368
2641
  # Information about a redirect action.
2369
2642
  #
2370
2643
  # A URI consists of the following components:
@@ -2465,6 +2738,10 @@ module Aws::ElasticLoadBalancingV2
2465
2738
  #
2466
2739
  # @!attribute [rw] targets
2467
2740
  # The targets.
2741
+ #
2742
+ # To register a target by instance ID, specify the instance ID. To
2743
+ # register a target by IP address, specify the IP address. To register
2744
+ # a Lambda function, specify the ARN of the Lambda function.
2468
2745
  # @return [Array<Types::TargetDescription>]
2469
2746
  #
2470
2747
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RegisterTargetsInput AWS API Documentation
@@ -2498,6 +2775,8 @@ module Aws::ElasticLoadBalancingV2
2498
2775
  #
2499
2776
  # @!attribute [rw] certificates
2500
2777
  # The certificate to remove. You can specify one certificate per call.
2778
+ # Set `CertificateArn` to the certificate ARN but do not set
2779
+ # `IsDefault`.
2501
2780
  # @return [Array<Types::Certificate>]
2502
2781
  #
2503
2782
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RemoveListenerCertificatesInput AWS API Documentation
@@ -2581,6 +2860,22 @@ module Aws::ElasticLoadBalancingV2
2581
2860
  # {
2582
2861
  # field: "ConditionFieldName",
2583
2862
  # values: ["StringValue"],
2863
+ # host_header_config: {
2864
+ # values: ["StringValue"],
2865
+ # },
2866
+ # path_pattern_config: {
2867
+ # values: ["StringValue"],
2868
+ # },
2869
+ # http_header_config: {
2870
+ # http_header_name: "HttpHeaderConditionName",
2871
+ # values: ["StringValue"],
2872
+ # },
2873
+ # query_string_config: {
2874
+ # values: ["StringValue"],
2875
+ # },
2876
+ # http_request_method_config: {
2877
+ # values: ["GET"], # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
2878
+ # },
2584
2879
  # }
2585
2880
  #
2586
2881
  # @!attribute [rw] field
@@ -2622,11 +2917,31 @@ module Aws::ElasticLoadBalancingV2
2622
2917
  # * ? (matches exactly 1 character)
2623
2918
  # @return [Array<String>]
2624
2919
  #
2920
+ # @!attribute [rw] host_header_config
2921
+ # @return [Types::HostHeaderConditionConfig]
2922
+ #
2923
+ # @!attribute [rw] path_pattern_config
2924
+ # @return [Types::PathPatternConditionConfig]
2925
+ #
2926
+ # @!attribute [rw] http_header_config
2927
+ # @return [Types::HttpHeaderConditionConfig]
2928
+ #
2929
+ # @!attribute [rw] query_string_config
2930
+ # @return [Types::QueryStringConditionConfig]
2931
+ #
2932
+ # @!attribute [rw] http_request_method_config
2933
+ # @return [Types::HttpRequestMethodConditionConfig]
2934
+ #
2625
2935
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RuleCondition AWS API Documentation
2626
2936
  #
2627
2937
  class RuleCondition < Struct.new(
2628
2938
  :field,
2629
- :values)
2939
+ :values,
2940
+ :host_header_config,
2941
+ :path_pattern_config,
2942
+ :http_header_config,
2943
+ :query_string_config,
2944
+ :http_request_method_config)
2630
2945
  include Aws::Structure
2631
2946
  end
2632
2947
 
@@ -2772,6 +3087,7 @@ module Aws::ElasticLoadBalancingV2
2772
3087
  # {
2773
3088
  # subnet_id: "SubnetId",
2774
3089
  # allocation_id: "AllocationId",
3090
+ # static_ip: false,
2775
3091
  # },
2776
3092
  # ],
2777
3093
  # }
@@ -2847,6 +3163,7 @@ module Aws::ElasticLoadBalancingV2
2847
3163
  # {
2848
3164
  # subnet_id: "SubnetId",
2849
3165
  # allocation_id: "AllocationId",
3166
+ # static_ip: false,
2850
3167
  # }
2851
3168
  #
2852
3169
  # @!attribute [rw] subnet_id
@@ -2858,11 +3175,15 @@ module Aws::ElasticLoadBalancingV2
2858
3175
  # address.
2859
3176
  # @return [String]
2860
3177
  #
3178
+ # @!attribute [rw] static_ip
3179
+ # @return [Boolean]
3180
+ #
2861
3181
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SubnetMapping AWS API Documentation
2862
3182
  #
2863
3183
  class SubnetMapping < Struct.new(
2864
3184
  :subnet_id,
2865
- :allocation_id)
3185
+ :allocation_id,
3186
+ :static_ip)
2866
3187
  include Aws::Structure
2867
3188
  end
2868
3189
 
@@ -2924,7 +3245,8 @@ module Aws::ElasticLoadBalancingV2
2924
3245
  # @!attribute [rw] id
2925
3246
  # The ID of the target. If the target type of the target group is
2926
3247
  # `instance`, specify an instance ID. If the target type is `ip`,
2927
- # specify an IP address.
3248
+ # specify an IP address. If the target type is `lambda`, specify the
3249
+ # ARN of the Lambda function.
2928
3250
  # @return [String]
2929
3251
  #
2930
3252
  # @!attribute [rw] port
@@ -2938,13 +3260,19 @@ module Aws::ElasticLoadBalancingV2
2938
3260
  # load balancer.
2939
3261
  #
2940
3262
  # This parameter is not supported if the target type of the target
2941
- # group is `instance`. If the IP address is in a subnet of the VPC for
2942
- # the target group, the Availability Zone is automatically detected
2943
- # and this parameter is optional. If the IP address is outside the
2944
- # VPC, this parameter is required.
3263
+ # group is `instance`.
3264
+ #
3265
+ # If the target type is `ip` and the IP address is in a subnet of the
3266
+ # VPC for the target group, the Availability Zone is automatically
3267
+ # detected and this parameter is optional. If the IP address is
3268
+ # outside the VPC, this parameter is required.
3269
+ #
3270
+ # With an Application Load Balancer, if the target type is `ip` and
3271
+ # the IP address is outside the VPC for the target group, the only
3272
+ # supported value is `all`.
2945
3273
  #
2946
- # With an Application Load Balancer, if the IP address is outside the
2947
- # VPC for the target group, the only supported value is `all`.
3274
+ # If the target type is `lambda`, this parameter is optional and the
3275
+ # only supported value is `all`.
2948
3276
  # @return [String]
2949
3277
  #
2950
3278
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TargetDescription AWS API Documentation
@@ -2986,6 +3314,10 @@ module Aws::ElasticLoadBalancingV2
2986
3314
  # The port to use to connect with the target.
2987
3315
  # @return [String]
2988
3316
  #
3317
+ # @!attribute [rw] health_check_enabled
3318
+ # Indicates whether health checks are enabled.
3319
+ # @return [Boolean]
3320
+ #
2989
3321
  # @!attribute [rw] health_check_interval_seconds
2990
3322
  # The approximate amount of time, in seconds, between health checks of
2991
3323
  # an individual target.
@@ -3037,6 +3369,7 @@ module Aws::ElasticLoadBalancingV2
3037
3369
  :vpc_id,
3038
3370
  :health_check_protocol,
3039
3371
  :health_check_port,
3372
+ :health_check_enabled,
3040
3373
  :health_check_interval_seconds,
3041
3374
  :health_check_timeout_seconds,
3042
3375
  :healthy_threshold_count,
@@ -3061,18 +3394,19 @@ module Aws::ElasticLoadBalancingV2
3061
3394
  # @!attribute [rw] key
3062
3395
  # The name of the attribute.
3063
3396
  #
3064
- # The following attributes are supported by both Application Load
3397
+ # The following attribute is supported by both Application Load
3065
3398
  # Balancers and Network Load Balancers:
3066
3399
  #
3067
3400
  # * `deregistration_delay.timeout_seconds` - The amount of time, in
3068
3401
  # seconds, for Elastic Load Balancing to wait before changing the
3069
3402
  # state of a deregistering target from `draining` to `unused`. The
3070
- # range is 0-3600 seconds. The default value is 300 seconds.
3403
+ # range is 0-3600 seconds. The default value is 300 seconds. If the
3404
+ # target is a Lambda function, this attribute is not supported.
3071
3405
  #
3072
3406
  # ^
3073
3407
  #
3074
- # The following attributes are supported by only Application Load
3075
- # Balancers:
3408
+ # The following attributes are supported by Application Load Balancers
3409
+ # if the target is not a Lambda function:
3076
3410
  #
3077
3411
  # * `slow_start.duration_seconds` - The time period, in seconds,
3078
3412
  # during which a newly registered target receives a linearly
@@ -3094,8 +3428,20 @@ module Aws::ElasticLoadBalancingV2
3094
3428
  # second to 1 week (604800 seconds). The default value is 1 day
3095
3429
  # (86400 seconds).
3096
3430
  #
3097
- # The following attributes are supported by only Network Load
3098
- # Balancers:
3431
+ # The following attribute is supported only if the target is a Lambda
3432
+ # function.
3433
+ #
3434
+ # * `lambda.multi_value_headers.enabled` - Indicates whether the
3435
+ # request and response headers exchanged between the load balancer
3436
+ # and the Lambda function include arrays of values or strings. The
3437
+ # value is `true` or `false`. The default is `false`. If the value
3438
+ # is `false` and the request contains a duplicate header field name
3439
+ # or query parameter key, the load balancer uses the last value sent
3440
+ # by the client.
3441
+ #
3442
+ # ^
3443
+ #
3444
+ # The following attribute is supported only by Network Load Balancers:
3099
3445
  #
3100
3446
  # * `proxy_protocol_v2.enabled` - Indicates whether Proxy Protocol
3101
3447
  # version 2 is enabled. The value is `true` or `false`. The default
@@ -3123,8 +3469,9 @@ module Aws::ElasticLoadBalancingV2
3123
3469
  # @return [String]
3124
3470
  #
3125
3471
  # @!attribute [rw] reason
3126
- # The reason code. If the target state is `healthy`, a reason code is
3127
- # not provided.
3472
+ # The reason code.
3473
+ #
3474
+ # If the target state is `healthy`, a reason code is not provided.
3128
3475
  #
3129
3476
  # If the target state is `initial`, the reason code can be one of the
3130
3477
  # following values:
@@ -3176,6 +3523,14 @@ module Aws::ElasticLoadBalancingV2
3176
3523
  # expired.
3177
3524
  #
3178
3525
  # ^
3526
+ #
3527
+ # If the target state is `unavailable`, the reason code can be the
3528
+ # following value:
3529
+ #
3530
+ # * `Target.HealthCheckDisabled` - Health checks are disabled for the
3531
+ # target group.
3532
+ #
3533
+ # ^
3179
3534
  # @return [String]
3180
3535
  #
3181
3536
  # @!attribute [rw] description