aws-cdk-lib 2.133.0__py3-none-any.whl → 2.134.0__py3-none-any.whl
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.
Potentially problematic release.
This version of aws-cdk-lib might be problematic. Click here for more details.
- aws_cdk/__init__.py +9 -1
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.133.0.jsii.tgz → aws-cdk-lib@2.134.0.jsii.tgz} +0 -0
- aws_cdk/aws_apigatewayv2/__init__.py +105 -3
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +155 -3
- aws_cdk/aws_appconfig/__init__.py +186 -8
- aws_cdk/aws_appintegrations/__init__.py +551 -0
- aws_cdk/aws_appsync/__init__.py +71 -0
- aws_cdk/aws_autoscaling/__init__.py +6 -4
- aws_cdk/aws_backup/__init__.py +23 -12
- aws_cdk/aws_batch/__init__.py +423 -73
- aws_cdk/aws_bedrock/__init__.py +197 -2
- aws_cdk/aws_cloudformation/__init__.py +1 -1
- aws_cdk/aws_cloudfront/__init__.py +2 -2
- aws_cdk/aws_cloudtrail/__init__.py +44 -14
- aws_cdk/aws_cloudwatch/__init__.py +18 -0
- aws_cdk/aws_codeartifact/__init__.py +812 -2
- aws_cdk/aws_codebuild/__init__.py +21 -5
- aws_cdk/aws_codepipeline/__init__.py +24 -8
- aws_cdk/aws_cognito/__init__.py +41 -40
- aws_cdk/aws_connect/__init__.py +256 -0
- aws_cdk/aws_datasync/__init__.py +393 -13
- aws_cdk/aws_dlm/__init__.py +2 -2
- aws_cdk/aws_docdbelastic/__init__.py +117 -0
- aws_cdk/aws_dynamodb/__init__.py +416 -5
- aws_cdk/aws_ec2/__init__.py +493 -93
- aws_cdk/aws_ecs/__init__.py +6 -4
- aws_cdk/aws_eks/__init__.py +27 -25
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +359 -60
- aws_cdk/aws_entityresolution/__init__.py +91 -64
- aws_cdk/aws_glue/__init__.py +137 -3
- aws_cdk/aws_iam/__init__.py +9 -10
- aws_cdk/aws_internetmonitor/__init__.py +85 -0
- aws_cdk/aws_iotsitewise/__init__.py +110 -50
- aws_cdk/aws_kafkaconnect/__init__.py +1237 -162
- aws_cdk/aws_kendra/__init__.py +34 -24
- aws_cdk/aws_kinesisanalytics/__init__.py +37 -37
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +37 -37
- aws_cdk/aws_kinesisfirehose/__init__.py +6 -2
- aws_cdk/aws_msk/__init__.py +88 -0
- aws_cdk/aws_opensearchservice/__init__.py +19 -17
- aws_cdk/aws_pinpoint/__init__.py +42 -0
- aws_cdk/aws_rds/__init__.py +48 -14
- aws_cdk/aws_sagemaker/__init__.py +2 -2
- aws_cdk/aws_ssm/__init__.py +3 -3
- aws_cdk/aws_stepfunctions_tasks/__init__.py +23 -0
- aws_cdk/aws_synthetics/__init__.py +74 -14
- aws_cdk/aws_transfer/__init__.py +4 -3
- aws_cdk/aws_wafv2/__init__.py +96 -46
- aws_cdk/cx_api/__init__.py +17 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/METADATA +2 -2
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/RECORD +56 -56
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/top_level.txt +0 -0
|
@@ -198,7 +198,7 @@ If you do not provide any options for this method, it redirects HTTP port 80 to
|
|
|
198
198
|
By default all ingress traffic will be allowed on the source port. If you want to be more selective with your
|
|
199
199
|
ingress rules then set `open: false` and use the listener's `connections` object to selectively grant access to the listener.
|
|
200
200
|
|
|
201
|
-
### Load Balancer attributes
|
|
201
|
+
### Application Load Balancer attributes
|
|
202
202
|
|
|
203
203
|
You can modify attributes of Application Load Balancers:
|
|
204
204
|
|
|
@@ -225,7 +225,16 @@ lb = elbv2.ApplicationLoadBalancer(self, "LB",
|
|
|
225
225
|
desync_mitigation_mode=elbv2.DesyncMitigationMode.DEFENSIVE,
|
|
226
226
|
|
|
227
227
|
# The type of IP addresses to use.
|
|
228
|
-
ip_address_type=elbv2.IpAddressType.IPV4
|
|
228
|
+
ip_address_type=elbv2.IpAddressType.IPV4,
|
|
229
|
+
|
|
230
|
+
# The duration of client keep-alive connections
|
|
231
|
+
client_keep_alive=Duration.seconds(500),
|
|
232
|
+
|
|
233
|
+
# Whether cross-zone load balancing is enabled.
|
|
234
|
+
cross_zone_enabled=True,
|
|
235
|
+
|
|
236
|
+
# Whether the load balancer blocks traffic through the Internet Gateway (IGW).
|
|
237
|
+
deny_all_igw_traffic=False
|
|
229
238
|
)
|
|
230
239
|
```
|
|
231
240
|
|
|
@@ -264,6 +273,22 @@ listener.add_targets("AppFleet",
|
|
|
264
273
|
)
|
|
265
274
|
```
|
|
266
275
|
|
|
276
|
+
### Enforce security group inbound rules on PrivateLink traffic for a Network Load Balancer
|
|
277
|
+
|
|
278
|
+
You can indicate whether to evaluate inbound security group rules for traffic
|
|
279
|
+
sent to a Network Load Balancer through AWS PrivateLink.
|
|
280
|
+
The evaluation is enabled by default.
|
|
281
|
+
|
|
282
|
+
```python
|
|
283
|
+
# vpc: ec2.Vpc
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
nlb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
287
|
+
vpc=vpc,
|
|
288
|
+
enforce_security_group_inbound_rules_on_private_link_traffic=True
|
|
289
|
+
)
|
|
290
|
+
```
|
|
291
|
+
|
|
267
292
|
One thing to keep in mind is that network load balancers do not have security
|
|
268
293
|
groups, and no automatic security group configuration is done for you. You will
|
|
269
294
|
have to configure the security groups of the target yourself to allow traffic by
|
|
@@ -290,6 +315,30 @@ lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
|
290
315
|
|
|
291
316
|
You cannot add UDP or TCP_UDP listeners to a dualstack Network Load Balancer.
|
|
292
317
|
|
|
318
|
+
### Network Load Balancer attributes
|
|
319
|
+
|
|
320
|
+
You can modify attributes of Network Load Balancers:
|
|
321
|
+
|
|
322
|
+
```python
|
|
323
|
+
# vpc: ec2.Vpc
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
327
|
+
vpc=vpc,
|
|
328
|
+
# Whether deletion protection is enabled.
|
|
329
|
+
deletion_protection=True,
|
|
330
|
+
|
|
331
|
+
# Whether cross-zone load balancing is enabled.
|
|
332
|
+
cross_zone_enabled=True,
|
|
333
|
+
|
|
334
|
+
# Whether the load balancer blocks traffic through the Internet Gateway (IGW).
|
|
335
|
+
deny_all_igw_traffic=False,
|
|
336
|
+
|
|
337
|
+
# Indicates how traffic is distributed among the load balancer Availability Zones.
|
|
338
|
+
client_routing_policy=elbv2.ClientRoutingPolicy.AVAILABILITY_ZONE_AFFINITY
|
|
339
|
+
)
|
|
340
|
+
```
|
|
341
|
+
|
|
293
342
|
## Targets and Target Groups
|
|
294
343
|
|
|
295
344
|
Application and Network Load Balancers organize load balancing targets in Target
|
|
@@ -345,6 +394,27 @@ tg2 = elbv2.ApplicationTargetGroup(self, "TG2",
|
|
|
345
394
|
)
|
|
346
395
|
```
|
|
347
396
|
|
|
397
|
+
### Slow start mode for your Application Load Balancer
|
|
398
|
+
|
|
399
|
+
By default, a target starts to receive its full share of requests as soon as it is registered with a target group and passes an initial health check. Using slow start mode gives targets time to warm up before the load balancer sends them a full share of requests.
|
|
400
|
+
|
|
401
|
+
After you enable slow start for a target group, its targets enter slow start mode when they are considered healthy by the target group. A target in slow start mode exits slow start mode when the configured slow start duration period elapses or the target becomes unhealthy. The load balancer linearly increases the number of requests that it can send to a target in slow start mode. After a healthy target exits slow start mode, the load balancer can send it a full share of requests.
|
|
402
|
+
|
|
403
|
+
The allowed range is 30-900 seconds (15 minutes). The default is 0 seconds (disabled).
|
|
404
|
+
|
|
405
|
+
```python
|
|
406
|
+
# vpc: ec2.Vpc
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
# Target group with slow start mode enabled
|
|
410
|
+
tg = elbv2.ApplicationTargetGroup(self, "TG",
|
|
411
|
+
target_type=elbv2.TargetType.INSTANCE,
|
|
412
|
+
slow_start=Duration.seconds(60),
|
|
413
|
+
port=80,
|
|
414
|
+
vpc=vpc
|
|
415
|
+
)
|
|
416
|
+
```
|
|
417
|
+
|
|
348
418
|
For more information see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html#application-based-stickiness
|
|
349
419
|
|
|
350
420
|
### Setting the target group protocol version
|
|
@@ -2619,7 +2689,9 @@ class BaseLoadBalancerLookupOptions:
|
|
|
2619
2689
|
jsii_struct_bases=[],
|
|
2620
2690
|
name_mapping={
|
|
2621
2691
|
"vpc": "vpc",
|
|
2692
|
+
"cross_zone_enabled": "crossZoneEnabled",
|
|
2622
2693
|
"deletion_protection": "deletionProtection",
|
|
2694
|
+
"deny_all_igw_traffic": "denyAllIgwTraffic",
|
|
2623
2695
|
"internet_facing": "internetFacing",
|
|
2624
2696
|
"load_balancer_name": "loadBalancerName",
|
|
2625
2697
|
"vpc_subnets": "vpcSubnets",
|
|
@@ -2630,7 +2702,9 @@ class BaseLoadBalancerProps:
|
|
|
2630
2702
|
self,
|
|
2631
2703
|
*,
|
|
2632
2704
|
vpc: _IVpc_f30d5663,
|
|
2705
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
2633
2706
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
2707
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
2634
2708
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
2635
2709
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
2636
2710
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -2638,7 +2712,9 @@ class BaseLoadBalancerProps:
|
|
|
2638
2712
|
'''Shared properties of both Application and Network Load Balancers.
|
|
2639
2713
|
|
|
2640
2714
|
:param vpc: The VPC network to place the load balancer in.
|
|
2715
|
+
:param cross_zone_enabled: Indicates whether cross-zone load balancing is enabled. Default: - false for Network Load Balancers and true for Application Load Balancers.
|
|
2641
2716
|
:param deletion_protection: Indicates whether deletion protection is enabled. Default: false
|
|
2717
|
+
:param deny_all_igw_traffic: Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW). Default: - false for internet-facing load balancers and true for internal load balancers
|
|
2642
2718
|
:param internet_facing: Whether the load balancer has an internet-routable address. Default: false
|
|
2643
2719
|
:param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
|
|
2644
2720
|
:param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
|
|
@@ -2660,7 +2736,9 @@ class BaseLoadBalancerProps:
|
|
|
2660
2736
|
vpc=vpc,
|
|
2661
2737
|
|
|
2662
2738
|
# the properties below are optional
|
|
2739
|
+
cross_zone_enabled=False,
|
|
2663
2740
|
deletion_protection=False,
|
|
2741
|
+
deny_all_igw_traffic=False,
|
|
2664
2742
|
internet_facing=False,
|
|
2665
2743
|
load_balancer_name="loadBalancerName",
|
|
2666
2744
|
vpc_subnets=ec2.SubnetSelection(
|
|
@@ -2678,15 +2756,21 @@ class BaseLoadBalancerProps:
|
|
|
2678
2756
|
if __debug__:
|
|
2679
2757
|
type_hints = typing.get_type_hints(_typecheckingstub__36614588a5e075aa6e7ea0a4d41053b09874f2590b227cd5d62f3429901282f2)
|
|
2680
2758
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
2759
|
+
check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
|
|
2681
2760
|
check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
|
|
2761
|
+
check_type(argname="argument deny_all_igw_traffic", value=deny_all_igw_traffic, expected_type=type_hints["deny_all_igw_traffic"])
|
|
2682
2762
|
check_type(argname="argument internet_facing", value=internet_facing, expected_type=type_hints["internet_facing"])
|
|
2683
2763
|
check_type(argname="argument load_balancer_name", value=load_balancer_name, expected_type=type_hints["load_balancer_name"])
|
|
2684
2764
|
check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
|
|
2685
2765
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2686
2766
|
"vpc": vpc,
|
|
2687
2767
|
}
|
|
2768
|
+
if cross_zone_enabled is not None:
|
|
2769
|
+
self._values["cross_zone_enabled"] = cross_zone_enabled
|
|
2688
2770
|
if deletion_protection is not None:
|
|
2689
2771
|
self._values["deletion_protection"] = deletion_protection
|
|
2772
|
+
if deny_all_igw_traffic is not None:
|
|
2773
|
+
self._values["deny_all_igw_traffic"] = deny_all_igw_traffic
|
|
2690
2774
|
if internet_facing is not None:
|
|
2691
2775
|
self._values["internet_facing"] = internet_facing
|
|
2692
2776
|
if load_balancer_name is not None:
|
|
@@ -2701,6 +2785,15 @@ class BaseLoadBalancerProps:
|
|
|
2701
2785
|
assert result is not None, "Required property 'vpc' is missing"
|
|
2702
2786
|
return typing.cast(_IVpc_f30d5663, result)
|
|
2703
2787
|
|
|
2788
|
+
@builtins.property
|
|
2789
|
+
def cross_zone_enabled(self) -> typing.Optional[builtins.bool]:
|
|
2790
|
+
'''Indicates whether cross-zone load balancing is enabled.
|
|
2791
|
+
|
|
2792
|
+
:default: - false for Network Load Balancers and true for Application Load Balancers.
|
|
2793
|
+
'''
|
|
2794
|
+
result = self._values.get("cross_zone_enabled")
|
|
2795
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2796
|
+
|
|
2704
2797
|
@builtins.property
|
|
2705
2798
|
def deletion_protection(self) -> typing.Optional[builtins.bool]:
|
|
2706
2799
|
'''Indicates whether deletion protection is enabled.
|
|
@@ -2710,6 +2803,15 @@ class BaseLoadBalancerProps:
|
|
|
2710
2803
|
result = self._values.get("deletion_protection")
|
|
2711
2804
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2712
2805
|
|
|
2806
|
+
@builtins.property
|
|
2807
|
+
def deny_all_igw_traffic(self) -> typing.Optional[builtins.bool]:
|
|
2808
|
+
'''Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW).
|
|
2809
|
+
|
|
2810
|
+
:default: - false for internet-facing load balancers and true for internal load balancers
|
|
2811
|
+
'''
|
|
2812
|
+
result = self._values.get("deny_all_igw_traffic")
|
|
2813
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2814
|
+
|
|
2713
2815
|
@builtins.property
|
|
2714
2816
|
def internet_facing(self) -> typing.Optional[builtins.bool]:
|
|
2715
2817
|
'''Whether the load balancer has an internet-routable address.
|
|
@@ -7972,7 +8074,7 @@ class CfnLoadBalancer(
|
|
|
7972
8074
|
) -> None:
|
|
7973
8075
|
'''Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.
|
|
7974
8076
|
|
|
7975
|
-
:param key: The name of the attribute. The following attributes are supported by all load balancers: - ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false`` . The default for Network Load Balancers and Gateway Load Balancers is ``false`` . The default for Application Load Balancers is ``true`` , and cannot be changed. The following attributes are supported by both Application Load Balancers and Network Load Balancers: - ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket. - ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs. - ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway. The following attributes are supported by only Application Load Balancers: - ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds. - ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket. - ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs. - ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor`` , ``defensive`` , and ``strictest`` . The default is ``defensive`` . - ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer ( ``true`` ) or routed to targets ( ``false`` ). The default is ``false`` . - ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers ( ``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite`` ), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append`` , ``preserve`` , and ``remove`` . The default is ``append`` . - If the value is ``append`` , the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets. - If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change. - If the value is ``remove`` , the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets. - ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false`` . The default is ``true`` . Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. - ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false`` . The default is ``false`` . The following attributes are supported by only Network Load Balancers: - ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.
|
|
8077
|
+
:param key: The name of the attribute. The following attributes are supported by all load balancers: - ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false`` . The default for Network Load Balancers and Gateway Load Balancers is ``false`` . The default for Application Load Balancers is ``true`` , and cannot be changed. The following attributes are supported by both Application Load Balancers and Network Load Balancers: - ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket. - ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs. - ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway. The following attributes are supported by only Application Load Balancers: - ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds. - ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds. - ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket. - ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs. - ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor`` , ``defensive`` , and ``strictest`` . The default is ``defensive`` . - ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer ( ``true`` ) or routed to targets ( ``false`` ). The default is ``false`` . - ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers ( ``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite`` ), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append`` , ``preserve`` , and ``remove`` . The default is ``append`` . - If the value is ``append`` , the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets. - If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change. - If the value is ``remove`` , the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets. - ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false`` . The default is ``true`` . Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. - ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false`` . The default is ``false`` . The following attributes are supported by only Network Load Balancers: - ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.
|
|
7976
8078
|
:param value: The value of the attribute.
|
|
7977
8079
|
|
|
7978
8080
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattribute.html
|
|
@@ -8018,6 +8120,7 @@ class CfnLoadBalancer(
|
|
|
8018
8120
|
The following attributes are supported by only Application Load Balancers:
|
|
8019
8121
|
|
|
8020
8122
|
- ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.
|
|
8123
|
+
- ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.
|
|
8021
8124
|
- ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false`` . The default is ``false`` .
|
|
8022
8125
|
- ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.
|
|
8023
8126
|
- ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.
|
|
@@ -10398,6 +10501,42 @@ class CfnTrustStoreRevocationProps:
|
|
|
10398
10501
|
)
|
|
10399
10502
|
|
|
10400
10503
|
|
|
10504
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.ClientRoutingPolicy")
|
|
10505
|
+
class ClientRoutingPolicy(enum.Enum):
|
|
10506
|
+
'''Indicates how traffic is distributed among the load balancer Availability Zones.
|
|
10507
|
+
|
|
10508
|
+
:see: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity
|
|
10509
|
+
:exampleMetadata: infused
|
|
10510
|
+
|
|
10511
|
+
Example::
|
|
10512
|
+
|
|
10513
|
+
# vpc: ec2.Vpc
|
|
10514
|
+
|
|
10515
|
+
|
|
10516
|
+
lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
10517
|
+
vpc=vpc,
|
|
10518
|
+
# Whether deletion protection is enabled.
|
|
10519
|
+
deletion_protection=True,
|
|
10520
|
+
|
|
10521
|
+
# Whether cross-zone load balancing is enabled.
|
|
10522
|
+
cross_zone_enabled=True,
|
|
10523
|
+
|
|
10524
|
+
# Whether the load balancer blocks traffic through the Internet Gateway (IGW).
|
|
10525
|
+
deny_all_igw_traffic=False,
|
|
10526
|
+
|
|
10527
|
+
# Indicates how traffic is distributed among the load balancer Availability Zones.
|
|
10528
|
+
client_routing_policy=elbv2.ClientRoutingPolicy.AVAILABILITY_ZONE_AFFINITY
|
|
10529
|
+
)
|
|
10530
|
+
'''
|
|
10531
|
+
|
|
10532
|
+
AVAILABILITY_ZONE_AFFINITY = "AVAILABILITY_ZONE_AFFINITY"
|
|
10533
|
+
'''100 percent zonal affinity.'''
|
|
10534
|
+
PARTIAL_AVAILABILITY_ZONE_AFFINITY = "PARTIAL_AVAILABILITY_ZONE_AFFINITY"
|
|
10535
|
+
'''85 percent zonal affinity.'''
|
|
10536
|
+
ANY_AVAILABILITY_ZONE = "ANY_AVAILABILITY_ZONE"
|
|
10537
|
+
'''No zonal affinity.'''
|
|
10538
|
+
|
|
10539
|
+
|
|
10401
10540
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.DesyncMitigationMode")
|
|
10402
10541
|
class DesyncMitigationMode(enum.Enum):
|
|
10403
10542
|
'''How the load balancer handles requests that might pose a security risk to your application.
|
|
@@ -10429,7 +10568,16 @@ class DesyncMitigationMode(enum.Enum):
|
|
|
10429
10568
|
desync_mitigation_mode=elbv2.DesyncMitigationMode.DEFENSIVE,
|
|
10430
10569
|
|
|
10431
10570
|
# The type of IP addresses to use.
|
|
10432
|
-
ip_address_type=elbv2.IpAddressType.IPV4
|
|
10571
|
+
ip_address_type=elbv2.IpAddressType.IPV4,
|
|
10572
|
+
|
|
10573
|
+
# The duration of client keep-alive connections
|
|
10574
|
+
client_keep_alive=Duration.seconds(500),
|
|
10575
|
+
|
|
10576
|
+
# Whether cross-zone load balancing is enabled.
|
|
10577
|
+
cross_zone_enabled=True,
|
|
10578
|
+
|
|
10579
|
+
# Whether the load balancer blocks traffic through the Internet Gateway (IGW).
|
|
10580
|
+
deny_all_igw_traffic=False
|
|
10433
10581
|
)
|
|
10434
10582
|
'''
|
|
10435
10583
|
|
|
@@ -13460,6 +13608,17 @@ class INetworkLoadBalancer(
|
|
|
13460
13608
|
'''All metrics available for this load balancer.'''
|
|
13461
13609
|
...
|
|
13462
13610
|
|
|
13611
|
+
@builtins.property
|
|
13612
|
+
@jsii.member(jsii_name="enforceSecurityGroupInboundRulesOnPrivateLinkTraffic")
|
|
13613
|
+
def enforce_security_group_inbound_rules_on_private_link_traffic(
|
|
13614
|
+
self,
|
|
13615
|
+
) -> typing.Optional[builtins.str]:
|
|
13616
|
+
'''Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink.
|
|
13617
|
+
|
|
13618
|
+
:default: on
|
|
13619
|
+
'''
|
|
13620
|
+
...
|
|
13621
|
+
|
|
13463
13622
|
@builtins.property
|
|
13464
13623
|
@jsii.member(jsii_name="ipAddressType")
|
|
13465
13624
|
def ip_address_type(self) -> typing.Optional["IpAddressType"]:
|
|
@@ -13525,6 +13684,17 @@ class _INetworkLoadBalancerProxy(
|
|
|
13525
13684
|
'''All metrics available for this load balancer.'''
|
|
13526
13685
|
return typing.cast("INetworkLoadBalancerMetrics", jsii.get(self, "metrics"))
|
|
13527
13686
|
|
|
13687
|
+
@builtins.property
|
|
13688
|
+
@jsii.member(jsii_name="enforceSecurityGroupInboundRulesOnPrivateLinkTraffic")
|
|
13689
|
+
def enforce_security_group_inbound_rules_on_private_link_traffic(
|
|
13690
|
+
self,
|
|
13691
|
+
) -> typing.Optional[builtins.str]:
|
|
13692
|
+
'''Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink.
|
|
13693
|
+
|
|
13694
|
+
:default: on
|
|
13695
|
+
'''
|
|
13696
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic"))
|
|
13697
|
+
|
|
13528
13698
|
@builtins.property
|
|
13529
13699
|
@jsii.member(jsii_name="ipAddressType")
|
|
13530
13700
|
def ip_address_type(self) -> typing.Optional["IpAddressType"]:
|
|
@@ -14531,7 +14701,16 @@ class IpAddressType(enum.Enum):
|
|
|
14531
14701
|
desync_mitigation_mode=elbv2.DesyncMitigationMode.DEFENSIVE,
|
|
14532
14702
|
|
|
14533
14703
|
# The type of IP addresses to use.
|
|
14534
|
-
ip_address_type=elbv2.IpAddressType.IPV4
|
|
14704
|
+
ip_address_type=elbv2.IpAddressType.IPV4,
|
|
14705
|
+
|
|
14706
|
+
# The duration of client keep-alive connections
|
|
14707
|
+
client_keep_alive=Duration.seconds(500),
|
|
14708
|
+
|
|
14709
|
+
# Whether cross-zone load balancing is enabled.
|
|
14710
|
+
cross_zone_enabled=True,
|
|
14711
|
+
|
|
14712
|
+
# Whether the load balancer blocks traffic through the Internet Gateway (IGW).
|
|
14713
|
+
deny_all_igw_traffic=False
|
|
14535
14714
|
)
|
|
14536
14715
|
'''
|
|
14537
14716
|
|
|
@@ -15653,24 +15832,18 @@ class NetworkLoadBalancer(
|
|
|
15653
15832
|
|
|
15654
15833
|
Example::
|
|
15655
15834
|
|
|
15656
|
-
|
|
15835
|
+
from aws_cdk.aws_apigatewayv2_integrations import HttpNlbIntegration
|
|
15657
15836
|
|
|
15658
15837
|
|
|
15659
15838
|
vpc = ec2.Vpc(self, "VPC")
|
|
15660
|
-
|
|
15661
|
-
|
|
15662
|
-
|
|
15663
|
-
|
|
15664
|
-
targets=[nlb]
|
|
15839
|
+
lb = elbv2.NetworkLoadBalancer(self, "lb", vpc=vpc)
|
|
15840
|
+
listener = lb.add_listener("listener", port=80)
|
|
15841
|
+
listener.add_targets("target",
|
|
15842
|
+
port=80
|
|
15665
15843
|
)
|
|
15666
15844
|
|
|
15667
|
-
|
|
15668
|
-
|
|
15669
|
-
integration_http_method="ANY",
|
|
15670
|
-
options=apigateway.IntegrationOptions(
|
|
15671
|
-
connection_type=apigateway.ConnectionType.VPC_LINK,
|
|
15672
|
-
vpc_link=link
|
|
15673
|
-
)
|
|
15845
|
+
http_endpoint = apigwv2.HttpApi(self, "HttpProxyPrivateApi",
|
|
15846
|
+
default_integration=HttpNlbIntegration("DefaultIntegration", listener)
|
|
15674
15847
|
)
|
|
15675
15848
|
'''
|
|
15676
15849
|
|
|
@@ -15679,11 +15852,14 @@ class NetworkLoadBalancer(
|
|
|
15679
15852
|
scope: _constructs_77d1e7e8.Construct,
|
|
15680
15853
|
id: builtins.str,
|
|
15681
15854
|
*,
|
|
15682
|
-
|
|
15855
|
+
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
15856
|
+
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
15683
15857
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
15684
15858
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
15685
15859
|
vpc: _IVpc_f30d5663,
|
|
15860
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
15686
15861
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
15862
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
15687
15863
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
15688
15864
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
15689
15865
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -15691,11 +15867,14 @@ class NetworkLoadBalancer(
|
|
|
15691
15867
|
'''
|
|
15692
15868
|
:param scope: -
|
|
15693
15869
|
:param id: -
|
|
15694
|
-
:param
|
|
15870
|
+
:param client_routing_policy: The AZ affinity routing policy. Default: - AZ affinity is disabled.
|
|
15871
|
+
:param enforce_security_group_inbound_rules_on_private_link_traffic: Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink. Default: true
|
|
15695
15872
|
:param ip_address_type: The type of IP addresses to use. If you want to add a UDP or TCP_UDP listener to the load balancer, you must choose IPv4. Default: IpAddressType.IPV4
|
|
15696
15873
|
:param security_groups: Security groups to associate with this load balancer. Default: - No security groups associated with the load balancer.
|
|
15697
15874
|
:param vpc: The VPC network to place the load balancer in.
|
|
15875
|
+
:param cross_zone_enabled: Indicates whether cross-zone load balancing is enabled. Default: - false for Network Load Balancers and true for Application Load Balancers.
|
|
15698
15876
|
:param deletion_protection: Indicates whether deletion protection is enabled. Default: false
|
|
15877
|
+
:param deny_all_igw_traffic: Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW). Default: - false for internet-facing load balancers and true for internal load balancers
|
|
15699
15878
|
:param internet_facing: Whether the load balancer has an internet-routable address. Default: false
|
|
15700
15879
|
:param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
|
|
15701
15880
|
:param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
|
|
@@ -15705,11 +15884,14 @@ class NetworkLoadBalancer(
|
|
|
15705
15884
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
15706
15885
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
15707
15886
|
props = NetworkLoadBalancerProps(
|
|
15708
|
-
|
|
15887
|
+
client_routing_policy=client_routing_policy,
|
|
15888
|
+
enforce_security_group_inbound_rules_on_private_link_traffic=enforce_security_group_inbound_rules_on_private_link_traffic,
|
|
15709
15889
|
ip_address_type=ip_address_type,
|
|
15710
15890
|
security_groups=security_groups,
|
|
15711
15891
|
vpc=vpc,
|
|
15892
|
+
cross_zone_enabled=cross_zone_enabled,
|
|
15712
15893
|
deletion_protection=deletion_protection,
|
|
15894
|
+
deny_all_igw_traffic=deny_all_igw_traffic,
|
|
15713
15895
|
internet_facing=internet_facing,
|
|
15714
15896
|
load_balancer_name=load_balancer_name,
|
|
15715
15897
|
vpc_subnets=vpc_subnets,
|
|
@@ -16201,6 +16383,14 @@ class NetworkLoadBalancer(
|
|
|
16201
16383
|
'''All metrics available for this load balancer.'''
|
|
16202
16384
|
return typing.cast(INetworkLoadBalancerMetrics, jsii.get(self, "metrics"))
|
|
16203
16385
|
|
|
16386
|
+
@builtins.property
|
|
16387
|
+
@jsii.member(jsii_name="enforceSecurityGroupInboundRulesOnPrivateLinkTraffic")
|
|
16388
|
+
def enforce_security_group_inbound_rules_on_private_link_traffic(
|
|
16389
|
+
self,
|
|
16390
|
+
) -> typing.Optional[builtins.str]:
|
|
16391
|
+
'''Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink.'''
|
|
16392
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic"))
|
|
16393
|
+
|
|
16204
16394
|
@builtins.property
|
|
16205
16395
|
@jsii.member(jsii_name="ipAddressType")
|
|
16206
16396
|
def ip_address_type(self) -> typing.Optional[IpAddressType]:
|
|
@@ -16436,11 +16626,14 @@ class NetworkLoadBalancerLookupOptions(BaseLoadBalancerLookupOptions):
|
|
|
16436
16626
|
jsii_struct_bases=[BaseLoadBalancerProps],
|
|
16437
16627
|
name_mapping={
|
|
16438
16628
|
"vpc": "vpc",
|
|
16629
|
+
"cross_zone_enabled": "crossZoneEnabled",
|
|
16439
16630
|
"deletion_protection": "deletionProtection",
|
|
16631
|
+
"deny_all_igw_traffic": "denyAllIgwTraffic",
|
|
16440
16632
|
"internet_facing": "internetFacing",
|
|
16441
16633
|
"load_balancer_name": "loadBalancerName",
|
|
16442
16634
|
"vpc_subnets": "vpcSubnets",
|
|
16443
|
-
"
|
|
16635
|
+
"client_routing_policy": "clientRoutingPolicy",
|
|
16636
|
+
"enforce_security_group_inbound_rules_on_private_link_traffic": "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic",
|
|
16444
16637
|
"ip_address_type": "ipAddressType",
|
|
16445
16638
|
"security_groups": "securityGroups",
|
|
16446
16639
|
},
|
|
@@ -16450,22 +16643,28 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
16450
16643
|
self,
|
|
16451
16644
|
*,
|
|
16452
16645
|
vpc: _IVpc_f30d5663,
|
|
16646
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
16453
16647
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
16648
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
16454
16649
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
16455
16650
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
16456
16651
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
16457
|
-
|
|
16652
|
+
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
16653
|
+
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
16458
16654
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
16459
16655
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
16460
16656
|
) -> None:
|
|
16461
16657
|
'''Properties for a network load balancer.
|
|
16462
16658
|
|
|
16463
16659
|
:param vpc: The VPC network to place the load balancer in.
|
|
16660
|
+
:param cross_zone_enabled: Indicates whether cross-zone load balancing is enabled. Default: - false for Network Load Balancers and true for Application Load Balancers.
|
|
16464
16661
|
:param deletion_protection: Indicates whether deletion protection is enabled. Default: false
|
|
16662
|
+
:param deny_all_igw_traffic: Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW). Default: - false for internet-facing load balancers and true for internal load balancers
|
|
16465
16663
|
:param internet_facing: Whether the load balancer has an internet-routable address. Default: false
|
|
16466
16664
|
:param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
|
|
16467
16665
|
:param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
|
|
16468
|
-
:param
|
|
16666
|
+
:param client_routing_policy: The AZ affinity routing policy. Default: - AZ affinity is disabled.
|
|
16667
|
+
:param enforce_security_group_inbound_rules_on_private_link_traffic: Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink. Default: true
|
|
16469
16668
|
:param ip_address_type: The type of IP addresses to use. If you want to add a UDP or TCP_UDP listener to the load balancer, you must choose IPv4. Default: IpAddressType.IPV4
|
|
16470
16669
|
:param security_groups: Security groups to associate with this load balancer. Default: - No security groups associated with the load balancer.
|
|
16471
16670
|
|
|
@@ -16473,24 +16672,18 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
16473
16672
|
|
|
16474
16673
|
Example::
|
|
16475
16674
|
|
|
16476
|
-
|
|
16675
|
+
from aws_cdk.aws_apigatewayv2_integrations import HttpNlbIntegration
|
|
16477
16676
|
|
|
16478
16677
|
|
|
16479
16678
|
vpc = ec2.Vpc(self, "VPC")
|
|
16480
|
-
|
|
16481
|
-
|
|
16482
|
-
|
|
16483
|
-
|
|
16484
|
-
targets=[nlb]
|
|
16679
|
+
lb = elbv2.NetworkLoadBalancer(self, "lb", vpc=vpc)
|
|
16680
|
+
listener = lb.add_listener("listener", port=80)
|
|
16681
|
+
listener.add_targets("target",
|
|
16682
|
+
port=80
|
|
16485
16683
|
)
|
|
16486
16684
|
|
|
16487
|
-
|
|
16488
|
-
|
|
16489
|
-
integration_http_method="ANY",
|
|
16490
|
-
options=apigateway.IntegrationOptions(
|
|
16491
|
-
connection_type=apigateway.ConnectionType.VPC_LINK,
|
|
16492
|
-
vpc_link=link
|
|
16493
|
-
)
|
|
16685
|
+
http_endpoint = apigwv2.HttpApi(self, "HttpProxyPrivateApi",
|
|
16686
|
+
default_integration=HttpNlbIntegration("DefaultIntegration", listener)
|
|
16494
16687
|
)
|
|
16495
16688
|
'''
|
|
16496
16689
|
if isinstance(vpc_subnets, dict):
|
|
@@ -16498,26 +16691,35 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
16498
16691
|
if __debug__:
|
|
16499
16692
|
type_hints = typing.get_type_hints(_typecheckingstub__195ab659ca9cd1c401d6d2d1a1f5cb0aaf7dd80f06dbc724020ac0cc391d75da)
|
|
16500
16693
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
16694
|
+
check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
|
|
16501
16695
|
check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
|
|
16696
|
+
check_type(argname="argument deny_all_igw_traffic", value=deny_all_igw_traffic, expected_type=type_hints["deny_all_igw_traffic"])
|
|
16502
16697
|
check_type(argname="argument internet_facing", value=internet_facing, expected_type=type_hints["internet_facing"])
|
|
16503
16698
|
check_type(argname="argument load_balancer_name", value=load_balancer_name, expected_type=type_hints["load_balancer_name"])
|
|
16504
16699
|
check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
|
|
16505
|
-
check_type(argname="argument
|
|
16700
|
+
check_type(argname="argument client_routing_policy", value=client_routing_policy, expected_type=type_hints["client_routing_policy"])
|
|
16701
|
+
check_type(argname="argument enforce_security_group_inbound_rules_on_private_link_traffic", value=enforce_security_group_inbound_rules_on_private_link_traffic, expected_type=type_hints["enforce_security_group_inbound_rules_on_private_link_traffic"])
|
|
16506
16702
|
check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
|
|
16507
16703
|
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
16508
16704
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
16509
16705
|
"vpc": vpc,
|
|
16510
16706
|
}
|
|
16707
|
+
if cross_zone_enabled is not None:
|
|
16708
|
+
self._values["cross_zone_enabled"] = cross_zone_enabled
|
|
16511
16709
|
if deletion_protection is not None:
|
|
16512
16710
|
self._values["deletion_protection"] = deletion_protection
|
|
16711
|
+
if deny_all_igw_traffic is not None:
|
|
16712
|
+
self._values["deny_all_igw_traffic"] = deny_all_igw_traffic
|
|
16513
16713
|
if internet_facing is not None:
|
|
16514
16714
|
self._values["internet_facing"] = internet_facing
|
|
16515
16715
|
if load_balancer_name is not None:
|
|
16516
16716
|
self._values["load_balancer_name"] = load_balancer_name
|
|
16517
16717
|
if vpc_subnets is not None:
|
|
16518
16718
|
self._values["vpc_subnets"] = vpc_subnets
|
|
16519
|
-
if
|
|
16520
|
-
self._values["
|
|
16719
|
+
if client_routing_policy is not None:
|
|
16720
|
+
self._values["client_routing_policy"] = client_routing_policy
|
|
16721
|
+
if enforce_security_group_inbound_rules_on_private_link_traffic is not None:
|
|
16722
|
+
self._values["enforce_security_group_inbound_rules_on_private_link_traffic"] = enforce_security_group_inbound_rules_on_private_link_traffic
|
|
16521
16723
|
if ip_address_type is not None:
|
|
16522
16724
|
self._values["ip_address_type"] = ip_address_type
|
|
16523
16725
|
if security_groups is not None:
|
|
@@ -16530,6 +16732,15 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
16530
16732
|
assert result is not None, "Required property 'vpc' is missing"
|
|
16531
16733
|
return typing.cast(_IVpc_f30d5663, result)
|
|
16532
16734
|
|
|
16735
|
+
@builtins.property
|
|
16736
|
+
def cross_zone_enabled(self) -> typing.Optional[builtins.bool]:
|
|
16737
|
+
'''Indicates whether cross-zone load balancing is enabled.
|
|
16738
|
+
|
|
16739
|
+
:default: - false for Network Load Balancers and true for Application Load Balancers.
|
|
16740
|
+
'''
|
|
16741
|
+
result = self._values.get("cross_zone_enabled")
|
|
16742
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
16743
|
+
|
|
16533
16744
|
@builtins.property
|
|
16534
16745
|
def deletion_protection(self) -> typing.Optional[builtins.bool]:
|
|
16535
16746
|
'''Indicates whether deletion protection is enabled.
|
|
@@ -16539,6 +16750,15 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
16539
16750
|
result = self._values.get("deletion_protection")
|
|
16540
16751
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
16541
16752
|
|
|
16753
|
+
@builtins.property
|
|
16754
|
+
def deny_all_igw_traffic(self) -> typing.Optional[builtins.bool]:
|
|
16755
|
+
'''Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW).
|
|
16756
|
+
|
|
16757
|
+
:default: - false for internet-facing load balancers and true for internal load balancers
|
|
16758
|
+
'''
|
|
16759
|
+
result = self._values.get("deny_all_igw_traffic")
|
|
16760
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
16761
|
+
|
|
16542
16762
|
@builtins.property
|
|
16543
16763
|
def internet_facing(self) -> typing.Optional[builtins.bool]:
|
|
16544
16764
|
'''Whether the load balancer has an internet-routable address.
|
|
@@ -16567,12 +16787,25 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
16567
16787
|
return typing.cast(typing.Optional[_SubnetSelection_e57d76df], result)
|
|
16568
16788
|
|
|
16569
16789
|
@builtins.property
|
|
16570
|
-
def
|
|
16571
|
-
'''
|
|
16790
|
+
def client_routing_policy(self) -> typing.Optional[ClientRoutingPolicy]:
|
|
16791
|
+
'''The AZ affinity routing policy.
|
|
16572
16792
|
|
|
16573
|
-
:default:
|
|
16793
|
+
:default: - AZ affinity is disabled.
|
|
16794
|
+
|
|
16795
|
+
:see: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity
|
|
16574
16796
|
'''
|
|
16575
|
-
result = self._values.get("
|
|
16797
|
+
result = self._values.get("client_routing_policy")
|
|
16798
|
+
return typing.cast(typing.Optional[ClientRoutingPolicy], result)
|
|
16799
|
+
|
|
16800
|
+
@builtins.property
|
|
16801
|
+
def enforce_security_group_inbound_rules_on_private_link_traffic(
|
|
16802
|
+
self,
|
|
16803
|
+
) -> typing.Optional[builtins.bool]:
|
|
16804
|
+
'''Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink.
|
|
16805
|
+
|
|
16806
|
+
:default: true
|
|
16807
|
+
'''
|
|
16808
|
+
result = self._values.get("enforce_security_group_inbound_rules_on_private_link_traffic")
|
|
16576
16809
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
16577
16810
|
|
|
16578
16811
|
@builtins.property
|
|
@@ -18863,10 +19096,13 @@ class ApplicationLoadBalancerLookupOptions(BaseLoadBalancerLookupOptions):
|
|
|
18863
19096
|
jsii_struct_bases=[BaseLoadBalancerProps],
|
|
18864
19097
|
name_mapping={
|
|
18865
19098
|
"vpc": "vpc",
|
|
19099
|
+
"cross_zone_enabled": "crossZoneEnabled",
|
|
18866
19100
|
"deletion_protection": "deletionProtection",
|
|
19101
|
+
"deny_all_igw_traffic": "denyAllIgwTraffic",
|
|
18867
19102
|
"internet_facing": "internetFacing",
|
|
18868
19103
|
"load_balancer_name": "loadBalancerName",
|
|
18869
19104
|
"vpc_subnets": "vpcSubnets",
|
|
19105
|
+
"client_keep_alive": "clientKeepAlive",
|
|
18870
19106
|
"desync_mitigation_mode": "desyncMitigationMode",
|
|
18871
19107
|
"drop_invalid_header_fields": "dropInvalidHeaderFields",
|
|
18872
19108
|
"http2_enabled": "http2Enabled",
|
|
@@ -18880,10 +19116,13 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18880
19116
|
self,
|
|
18881
19117
|
*,
|
|
18882
19118
|
vpc: _IVpc_f30d5663,
|
|
19119
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
18883
19120
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
19121
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
18884
19122
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
18885
19123
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
18886
19124
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
19125
|
+
client_keep_alive: typing.Optional[_Duration_4839e8c3] = None,
|
|
18887
19126
|
desync_mitigation_mode: typing.Optional[DesyncMitigationMode] = None,
|
|
18888
19127
|
drop_invalid_header_fields: typing.Optional[builtins.bool] = None,
|
|
18889
19128
|
http2_enabled: typing.Optional[builtins.bool] = None,
|
|
@@ -18894,10 +19133,13 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18894
19133
|
'''Properties for defining an Application Load Balancer.
|
|
18895
19134
|
|
|
18896
19135
|
:param vpc: The VPC network to place the load balancer in.
|
|
19136
|
+
:param cross_zone_enabled: Indicates whether cross-zone load balancing is enabled. Default: - false for Network Load Balancers and true for Application Load Balancers.
|
|
18897
19137
|
:param deletion_protection: Indicates whether deletion protection is enabled. Default: false
|
|
19138
|
+
:param deny_all_igw_traffic: Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW). Default: - false for internet-facing load balancers and true for internal load balancers
|
|
18898
19139
|
:param internet_facing: Whether the load balancer has an internet-routable address. Default: false
|
|
18899
19140
|
:param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
|
|
18900
19141
|
:param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
|
|
19142
|
+
:param client_keep_alive: The client keep alive duration. The valid range is 60 to 604800 seconds (1 minute to 7 days). Default: - Duration.seconds(3600)
|
|
18901
19143
|
:param desync_mitigation_mode: Determines how the load balancer handles requests that might pose a security risk to your application. Default: DesyncMitigationMode.DEFENSIVE
|
|
18902
19144
|
:param drop_invalid_header_fields: Indicates whether HTTP headers with invalid header fields are removed by the load balancer (true) or routed to targets (false). Default: false
|
|
18903
19145
|
:param http2_enabled: Indicates whether HTTP/2 is enabled. Default: true
|
|
@@ -18931,10 +19173,13 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18931
19173
|
if __debug__:
|
|
18932
19174
|
type_hints = typing.get_type_hints(_typecheckingstub__e43cf75024913d9be0d5d621a5f2c2c7be60a57898a54967cd54179b2b3d1584)
|
|
18933
19175
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
19176
|
+
check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
|
|
18934
19177
|
check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
|
|
19178
|
+
check_type(argname="argument deny_all_igw_traffic", value=deny_all_igw_traffic, expected_type=type_hints["deny_all_igw_traffic"])
|
|
18935
19179
|
check_type(argname="argument internet_facing", value=internet_facing, expected_type=type_hints["internet_facing"])
|
|
18936
19180
|
check_type(argname="argument load_balancer_name", value=load_balancer_name, expected_type=type_hints["load_balancer_name"])
|
|
18937
19181
|
check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
|
|
19182
|
+
check_type(argname="argument client_keep_alive", value=client_keep_alive, expected_type=type_hints["client_keep_alive"])
|
|
18938
19183
|
check_type(argname="argument desync_mitigation_mode", value=desync_mitigation_mode, expected_type=type_hints["desync_mitigation_mode"])
|
|
18939
19184
|
check_type(argname="argument drop_invalid_header_fields", value=drop_invalid_header_fields, expected_type=type_hints["drop_invalid_header_fields"])
|
|
18940
19185
|
check_type(argname="argument http2_enabled", value=http2_enabled, expected_type=type_hints["http2_enabled"])
|
|
@@ -18944,14 +19189,20 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18944
19189
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
18945
19190
|
"vpc": vpc,
|
|
18946
19191
|
}
|
|
19192
|
+
if cross_zone_enabled is not None:
|
|
19193
|
+
self._values["cross_zone_enabled"] = cross_zone_enabled
|
|
18947
19194
|
if deletion_protection is not None:
|
|
18948
19195
|
self._values["deletion_protection"] = deletion_protection
|
|
19196
|
+
if deny_all_igw_traffic is not None:
|
|
19197
|
+
self._values["deny_all_igw_traffic"] = deny_all_igw_traffic
|
|
18949
19198
|
if internet_facing is not None:
|
|
18950
19199
|
self._values["internet_facing"] = internet_facing
|
|
18951
19200
|
if load_balancer_name is not None:
|
|
18952
19201
|
self._values["load_balancer_name"] = load_balancer_name
|
|
18953
19202
|
if vpc_subnets is not None:
|
|
18954
19203
|
self._values["vpc_subnets"] = vpc_subnets
|
|
19204
|
+
if client_keep_alive is not None:
|
|
19205
|
+
self._values["client_keep_alive"] = client_keep_alive
|
|
18955
19206
|
if desync_mitigation_mode is not None:
|
|
18956
19207
|
self._values["desync_mitigation_mode"] = desync_mitigation_mode
|
|
18957
19208
|
if drop_invalid_header_fields is not None:
|
|
@@ -18972,6 +19223,15 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18972
19223
|
assert result is not None, "Required property 'vpc' is missing"
|
|
18973
19224
|
return typing.cast(_IVpc_f30d5663, result)
|
|
18974
19225
|
|
|
19226
|
+
@builtins.property
|
|
19227
|
+
def cross_zone_enabled(self) -> typing.Optional[builtins.bool]:
|
|
19228
|
+
'''Indicates whether cross-zone load balancing is enabled.
|
|
19229
|
+
|
|
19230
|
+
:default: - false for Network Load Balancers and true for Application Load Balancers.
|
|
19231
|
+
'''
|
|
19232
|
+
result = self._values.get("cross_zone_enabled")
|
|
19233
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
19234
|
+
|
|
18975
19235
|
@builtins.property
|
|
18976
19236
|
def deletion_protection(self) -> typing.Optional[builtins.bool]:
|
|
18977
19237
|
'''Indicates whether deletion protection is enabled.
|
|
@@ -18981,6 +19241,15 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18981
19241
|
result = self._values.get("deletion_protection")
|
|
18982
19242
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
18983
19243
|
|
|
19244
|
+
@builtins.property
|
|
19245
|
+
def deny_all_igw_traffic(self) -> typing.Optional[builtins.bool]:
|
|
19246
|
+
'''Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW).
|
|
19247
|
+
|
|
19248
|
+
:default: - false for internet-facing load balancers and true for internal load balancers
|
|
19249
|
+
'''
|
|
19250
|
+
result = self._values.get("deny_all_igw_traffic")
|
|
19251
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
19252
|
+
|
|
18984
19253
|
@builtins.property
|
|
18985
19254
|
def internet_facing(self) -> typing.Optional[builtins.bool]:
|
|
18986
19255
|
'''Whether the load balancer has an internet-routable address.
|
|
@@ -19008,6 +19277,17 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
19008
19277
|
result = self._values.get("vpc_subnets")
|
|
19009
19278
|
return typing.cast(typing.Optional[_SubnetSelection_e57d76df], result)
|
|
19010
19279
|
|
|
19280
|
+
@builtins.property
|
|
19281
|
+
def client_keep_alive(self) -> typing.Optional[_Duration_4839e8c3]:
|
|
19282
|
+
'''The client keep alive duration.
|
|
19283
|
+
|
|
19284
|
+
The valid range is 60 to 604800 seconds (1 minute to 7 days).
|
|
19285
|
+
|
|
19286
|
+
:default: - Duration.seconds(3600)
|
|
19287
|
+
'''
|
|
19288
|
+
result = self._values.get("client_keep_alive")
|
|
19289
|
+
return typing.cast(typing.Optional[_Duration_4839e8c3], result)
|
|
19290
|
+
|
|
19011
19291
|
@builtins.property
|
|
19012
19292
|
def desync_mitigation_mode(self) -> typing.Optional[DesyncMitigationMode]:
|
|
19013
19293
|
'''Determines how the load balancer handles requests that might pose a security risk to your application.
|
|
@@ -19134,20 +19414,15 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
|
|
|
19134
19414
|
# vpc: ec2.Vpc
|
|
19135
19415
|
|
|
19136
19416
|
|
|
19137
|
-
|
|
19138
|
-
|
|
19139
|
-
|
|
19140
|
-
|
|
19141
|
-
|
|
19142
|
-
|
|
19143
|
-
|
|
19144
|
-
|
|
19145
|
-
|
|
19146
|
-
tg2 = elbv2.ApplicationTargetGroup(self, "TG2",
|
|
19147
|
-
target_type=elbv2.TargetType.INSTANCE,
|
|
19148
|
-
port=80,
|
|
19149
|
-
stickiness_cookie_duration=Duration.minutes(5),
|
|
19150
|
-
stickiness_cookie_name="MyDeliciousCookie",
|
|
19417
|
+
tg = elbv2.ApplicationTargetGroup(self, "TG",
|
|
19418
|
+
target_type=elbv2.TargetType.IP,
|
|
19419
|
+
port=50051,
|
|
19420
|
+
protocol=elbv2.ApplicationProtocol.HTTP,
|
|
19421
|
+
protocol_version=elbv2.ApplicationProtocolVersion.GRPC,
|
|
19422
|
+
health_check=elbv2.HealthCheck(
|
|
19423
|
+
enabled=True,
|
|
19424
|
+
healthy_grpc_codes="0-99"
|
|
19425
|
+
),
|
|
19151
19426
|
vpc=vpc
|
|
19152
19427
|
)
|
|
19153
19428
|
'''
|
|
@@ -20973,6 +21248,7 @@ class ApplicationLoadBalancer(
|
|
|
20973
21248
|
scope: _constructs_77d1e7e8.Construct,
|
|
20974
21249
|
id: builtins.str,
|
|
20975
21250
|
*,
|
|
21251
|
+
client_keep_alive: typing.Optional[_Duration_4839e8c3] = None,
|
|
20976
21252
|
desync_mitigation_mode: typing.Optional[DesyncMitigationMode] = None,
|
|
20977
21253
|
drop_invalid_header_fields: typing.Optional[builtins.bool] = None,
|
|
20978
21254
|
http2_enabled: typing.Optional[builtins.bool] = None,
|
|
@@ -20980,7 +21256,9 @@ class ApplicationLoadBalancer(
|
|
|
20980
21256
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
20981
21257
|
security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
|
|
20982
21258
|
vpc: _IVpc_f30d5663,
|
|
21259
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
20983
21260
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
21261
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
20984
21262
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
20985
21263
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
20986
21264
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -20988,6 +21266,7 @@ class ApplicationLoadBalancer(
|
|
|
20988
21266
|
'''
|
|
20989
21267
|
:param scope: -
|
|
20990
21268
|
:param id: -
|
|
21269
|
+
:param client_keep_alive: The client keep alive duration. The valid range is 60 to 604800 seconds (1 minute to 7 days). Default: - Duration.seconds(3600)
|
|
20991
21270
|
:param desync_mitigation_mode: Determines how the load balancer handles requests that might pose a security risk to your application. Default: DesyncMitigationMode.DEFENSIVE
|
|
20992
21271
|
:param drop_invalid_header_fields: Indicates whether HTTP headers with invalid header fields are removed by the load balancer (true) or routed to targets (false). Default: false
|
|
20993
21272
|
:param http2_enabled: Indicates whether HTTP/2 is enabled. Default: true
|
|
@@ -20995,7 +21274,9 @@ class ApplicationLoadBalancer(
|
|
|
20995
21274
|
:param ip_address_type: The type of IP addresses to use. Default: IpAddressType.IPV4
|
|
20996
21275
|
:param security_group: Security group to associate with this load balancer. Default: A security group is created
|
|
20997
21276
|
:param vpc: The VPC network to place the load balancer in.
|
|
21277
|
+
:param cross_zone_enabled: Indicates whether cross-zone load balancing is enabled. Default: - false for Network Load Balancers and true for Application Load Balancers.
|
|
20998
21278
|
:param deletion_protection: Indicates whether deletion protection is enabled. Default: false
|
|
21279
|
+
:param deny_all_igw_traffic: Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW). Default: - false for internet-facing load balancers and true for internal load balancers
|
|
20999
21280
|
:param internet_facing: Whether the load balancer has an internet-routable address. Default: false
|
|
21000
21281
|
:param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
|
|
21001
21282
|
:param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
|
|
@@ -21005,6 +21286,7 @@ class ApplicationLoadBalancer(
|
|
|
21005
21286
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
21006
21287
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
21007
21288
|
props = ApplicationLoadBalancerProps(
|
|
21289
|
+
client_keep_alive=client_keep_alive,
|
|
21008
21290
|
desync_mitigation_mode=desync_mitigation_mode,
|
|
21009
21291
|
drop_invalid_header_fields=drop_invalid_header_fields,
|
|
21010
21292
|
http2_enabled=http2_enabled,
|
|
@@ -21012,7 +21294,9 @@ class ApplicationLoadBalancer(
|
|
|
21012
21294
|
ip_address_type=ip_address_type,
|
|
21013
21295
|
security_group=security_group,
|
|
21014
21296
|
vpc=vpc,
|
|
21297
|
+
cross_zone_enabled=cross_zone_enabled,
|
|
21015
21298
|
deletion_protection=deletion_protection,
|
|
21299
|
+
deny_all_igw_traffic=deny_all_igw_traffic,
|
|
21016
21300
|
internet_facing=internet_facing,
|
|
21017
21301
|
load_balancer_name=load_balancer_name,
|
|
21018
21302
|
vpc_subnets=vpc_subnets,
|
|
@@ -22910,6 +23194,7 @@ __all__ = [
|
|
|
22910
23194
|
"CfnTrustStoreProps",
|
|
22911
23195
|
"CfnTrustStoreRevocation",
|
|
22912
23196
|
"CfnTrustStoreRevocationProps",
|
|
23197
|
+
"ClientRoutingPolicy",
|
|
22913
23198
|
"DesyncMitigationMode",
|
|
22914
23199
|
"FixedResponseOptions",
|
|
22915
23200
|
"ForwardOptions",
|
|
@@ -23159,7 +23444,9 @@ def _typecheckingstub__c636cf30c7688e65af48df2d228f5c138bd07b3c256c82b3692388fb2
|
|
|
23159
23444
|
def _typecheckingstub__36614588a5e075aa6e7ea0a4d41053b09874f2590b227cd5d62f3429901282f2(
|
|
23160
23445
|
*,
|
|
23161
23446
|
vpc: _IVpc_f30d5663,
|
|
23447
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
23162
23448
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
23449
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
23163
23450
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
23164
23451
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
23165
23452
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -24448,11 +24735,14 @@ def _typecheckingstub__e1c7a4c1332bdc807d1e25aa5d69eea6e1f3bf6a88ddd30dac9a64c93
|
|
|
24448
24735
|
scope: _constructs_77d1e7e8.Construct,
|
|
24449
24736
|
id: builtins.str,
|
|
24450
24737
|
*,
|
|
24451
|
-
|
|
24738
|
+
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
24739
|
+
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
24452
24740
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
24453
24741
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
24454
24742
|
vpc: _IVpc_f30d5663,
|
|
24743
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
24455
24744
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
24745
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
24456
24746
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
24457
24747
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
24458
24748
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -24540,11 +24830,14 @@ def _typecheckingstub__d4dc8b446f6caacf313a46c99f00148ea8982b0018d14d0f1d5004245
|
|
|
24540
24830
|
def _typecheckingstub__195ab659ca9cd1c401d6d2d1a1f5cb0aaf7dd80f06dbc724020ac0cc391d75da(
|
|
24541
24831
|
*,
|
|
24542
24832
|
vpc: _IVpc_f30d5663,
|
|
24833
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
24543
24834
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
24835
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
24544
24836
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
24545
24837
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
24546
24838
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
24547
|
-
|
|
24839
|
+
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
24840
|
+
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
24548
24841
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
24549
24842
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
24550
24843
|
) -> None:
|
|
@@ -24724,10 +25017,13 @@ def _typecheckingstub__5e4d185ab2bd554850b96481b3fbdc7ee1a86c97629f1b0fd835c6f72
|
|
|
24724
25017
|
def _typecheckingstub__e43cf75024913d9be0d5d621a5f2c2c7be60a57898a54967cd54179b2b3d1584(
|
|
24725
25018
|
*,
|
|
24726
25019
|
vpc: _IVpc_f30d5663,
|
|
25020
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
24727
25021
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
25022
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
24728
25023
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
24729
25024
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
24730
25025
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
25026
|
+
client_keep_alive: typing.Optional[_Duration_4839e8c3] = None,
|
|
24731
25027
|
desync_mitigation_mode: typing.Optional[DesyncMitigationMode] = None,
|
|
24732
25028
|
drop_invalid_header_fields: typing.Optional[builtins.bool] = None,
|
|
24733
25029
|
http2_enabled: typing.Optional[builtins.bool] = None,
|
|
@@ -25077,6 +25373,7 @@ def _typecheckingstub__22d249b6cdbe3ce0dfc1a873ef276c65fe89ce6a5dba0603fae0a5755
|
|
|
25077
25373
|
scope: _constructs_77d1e7e8.Construct,
|
|
25078
25374
|
id: builtins.str,
|
|
25079
25375
|
*,
|
|
25376
|
+
client_keep_alive: typing.Optional[_Duration_4839e8c3] = None,
|
|
25080
25377
|
desync_mitigation_mode: typing.Optional[DesyncMitigationMode] = None,
|
|
25081
25378
|
drop_invalid_header_fields: typing.Optional[builtins.bool] = None,
|
|
25082
25379
|
http2_enabled: typing.Optional[builtins.bool] = None,
|
|
@@ -25084,7 +25381,9 @@ def _typecheckingstub__22d249b6cdbe3ce0dfc1a873ef276c65fe89ce6a5dba0603fae0a5755
|
|
|
25084
25381
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
25085
25382
|
security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
|
|
25086
25383
|
vpc: _IVpc_f30d5663,
|
|
25384
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
25087
25385
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
25386
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
25088
25387
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
25089
25388
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
25090
25389
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|