aws-sdk-elasticloadbalancingv2 1.17.0 → 1.18.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.
@@ -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