aws-cdk-lib 2.133.0__py3-none-any.whl → 2.135.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.
- aws_cdk/__init__.py +14 -1
- aws_cdk/_jsii/__init__.py +4 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.133.0.jsii.tgz → aws-cdk-lib@2.135.0.jsii.tgz} +0 -0
- aws_cdk/alexa_ask/__init__.py +3 -0
- aws_cdk/assertions/__init__.py +3 -0
- aws_cdk/aws_accessanalyzer/__init__.py +3 -0
- aws_cdk/aws_acmpca/__init__.py +3 -0
- aws_cdk/aws_amazonmq/__init__.py +3 -0
- aws_cdk/aws_amplify/__init__.py +3 -0
- aws_cdk/aws_amplifyuibuilder/__init__.py +3 -0
- aws_cdk/aws_apigateway/__init__.py +3 -0
- aws_cdk/aws_apigatewayv2/__init__.py +108 -3
- aws_cdk/aws_apigatewayv2_authorizers/__init__.py +3 -0
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +158 -3
- aws_cdk/aws_appconfig/__init__.py +189 -8
- aws_cdk/aws_appflow/__init__.py +3 -0
- aws_cdk/aws_appintegrations/__init__.py +560 -0
- aws_cdk/aws_applicationautoscaling/__init__.py +4 -1
- aws_cdk/aws_applicationinsights/__init__.py +3 -0
- aws_cdk/aws_appmesh/__init__.py +4 -1
- aws_cdk/aws_apprunner/__init__.py +3 -0
- aws_cdk/aws_appstream/__init__.py +3 -0
- aws_cdk/aws_appsync/__init__.py +74 -0
- aws_cdk/aws_aps/__init__.py +805 -1
- aws_cdk/aws_arczonalshift/__init__.py +3 -0
- aws_cdk/aws_athena/__init__.py +3 -0
- aws_cdk/aws_auditmanager/__init__.py +3 -0
- aws_cdk/aws_autoscaling/__init__.py +9 -4
- aws_cdk/aws_autoscaling_common/__init__.py +3 -0
- aws_cdk/aws_autoscaling_hooktargets/__init__.py +3 -0
- aws_cdk/aws_autoscalingplans/__init__.py +3 -0
- aws_cdk/aws_b2bi/__init__.py +3 -0
- aws_cdk/aws_backup/__init__.py +26 -12
- aws_cdk/aws_backupgateway/__init__.py +3 -0
- aws_cdk/aws_batch/__init__.py +426 -73
- aws_cdk/aws_bedrock/__init__.py +200 -2
- aws_cdk/aws_billingconductor/__init__.py +3 -0
- aws_cdk/aws_budgets/__init__.py +3 -0
- aws_cdk/aws_cassandra/__init__.py +3 -0
- aws_cdk/aws_ce/__init__.py +3 -0
- aws_cdk/aws_certificatemanager/__init__.py +3 -0
- aws_cdk/aws_chatbot/__init__.py +3 -0
- aws_cdk/aws_cleanrooms/__init__.py +183 -6
- aws_cdk/aws_cloud9/__init__.py +3 -0
- aws_cdk/aws_cloudformation/__init__.py +4 -1
- aws_cdk/aws_cloudfront/__init__.py +5 -2
- aws_cdk/aws_cloudfront/experimental/__init__.py +3 -0
- aws_cdk/aws_cloudfront_origins/__init__.py +3 -0
- aws_cdk/aws_cloudtrail/__init__.py +47 -14
- aws_cdk/aws_cloudwatch/__init__.py +21 -0
- aws_cdk/aws_cloudwatch_actions/__init__.py +3 -0
- aws_cdk/aws_codeartifact/__init__.py +815 -2
- aws_cdk/aws_codebuild/__init__.py +38 -16
- aws_cdk/aws_codecommit/__init__.py +3 -0
- aws_cdk/aws_codedeploy/__init__.py +3 -0
- aws_cdk/aws_codeguruprofiler/__init__.py +3 -0
- aws_cdk/aws_codegurureviewer/__init__.py +3 -0
- aws_cdk/aws_codepipeline/__init__.py +27 -8
- aws_cdk/aws_codepipeline_actions/__init__.py +3 -0
- aws_cdk/aws_codestar/__init__.py +3 -0
- aws_cdk/aws_codestarconnections/__init__.py +91 -2
- aws_cdk/aws_codestarnotifications/__init__.py +3 -0
- aws_cdk/aws_cognito/__init__.py +44 -40
- aws_cdk/aws_comprehend/__init__.py +3 -0
- aws_cdk/aws_config/__init__.py +3 -0
- aws_cdk/aws_connect/__init__.py +277 -0
- aws_cdk/aws_connectcampaigns/__init__.py +3 -0
- aws_cdk/aws_controltower/__init__.py +3 -0
- aws_cdk/aws_cur/__init__.py +3 -0
- aws_cdk/aws_customerprofiles/__init__.py +3 -0
- aws_cdk/aws_databrew/__init__.py +3 -0
- aws_cdk/aws_datapipeline/__init__.py +3 -0
- aws_cdk/aws_datasync/__init__.py +396 -13
- aws_cdk/aws_datazone/__init__.py +3 -0
- aws_cdk/aws_dax/__init__.py +3 -0
- aws_cdk/aws_detective/__init__.py +3 -0
- aws_cdk/aws_devicefarm/__init__.py +3 -0
- aws_cdk/aws_devopsguru/__init__.py +3 -0
- aws_cdk/aws_directoryservice/__init__.py +3 -0
- aws_cdk/aws_dlm/__init__.py +5 -2
- aws_cdk/aws_dms/__init__.py +30 -9
- aws_cdk/aws_docdb/__init__.py +3 -0
- aws_cdk/aws_docdbelastic/__init__.py +128 -0
- aws_cdk/aws_dynamodb/__init__.py +419 -5
- aws_cdk/aws_ec2/__init__.py +3530 -504
- aws_cdk/aws_ecr/__init__.py +3 -0
- aws_cdk/aws_ecr_assets/__init__.py +3 -0
- aws_cdk/aws_ecs/__init__.py +12 -4
- aws_cdk/aws_ecs_patterns/__init__.py +3 -0
- aws_cdk/aws_efs/__init__.py +3 -0
- aws_cdk/aws_eks/__init__.py +69 -47
- aws_cdk/aws_elasticache/__init__.py +3 -0
- aws_cdk/aws_elasticbeanstalk/__init__.py +3 -0
- aws_cdk/aws_elasticloadbalancing/__init__.py +3 -0
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +431 -72
- aws_cdk/aws_elasticloadbalancingv2_actions/__init__.py +3 -0
- aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +3 -0
- aws_cdk/aws_elasticsearch/__init__.py +3 -0
- aws_cdk/aws_emr/__init__.py +3 -0
- aws_cdk/aws_emrcontainers/__init__.py +3 -0
- aws_cdk/aws_emrserverless/__init__.py +3 -0
- aws_cdk/aws_entityresolution/__init__.py +96 -66
- aws_cdk/aws_events/__init__.py +3 -0
- aws_cdk/aws_events_targets/__init__.py +3 -0
- aws_cdk/aws_eventschemas/__init__.py +3 -0
- aws_cdk/aws_evidently/__init__.py +3 -0
- aws_cdk/aws_finspace/__init__.py +3 -0
- aws_cdk/aws_fis/__init__.py +3 -0
- aws_cdk/aws_fms/__init__.py +3 -0
- aws_cdk/aws_forecast/__init__.py +3 -0
- aws_cdk/aws_frauddetector/__init__.py +3 -0
- aws_cdk/aws_fsx/__init__.py +3 -0
- aws_cdk/aws_gamelift/__init__.py +3 -0
- aws_cdk/aws_globalaccelerator/__init__.py +5 -2
- aws_cdk/aws_globalaccelerator_endpoints/__init__.py +3 -0
- aws_cdk/aws_glue/__init__.py +147 -3
- aws_cdk/aws_grafana/__init__.py +3 -0
- aws_cdk/aws_greengrass/__init__.py +3 -0
- aws_cdk/aws_greengrassv2/__init__.py +3 -0
- aws_cdk/aws_groundstation/__init__.py +3 -0
- aws_cdk/aws_guardduty/__init__.py +3 -0
- aws_cdk/aws_healthimaging/__init__.py +3 -0
- aws_cdk/aws_healthlake/__init__.py +3 -0
- aws_cdk/aws_iam/__init__.py +12 -10
- aws_cdk/aws_identitystore/__init__.py +3 -0
- aws_cdk/aws_imagebuilder/__init__.py +3 -0
- aws_cdk/aws_inspector/__init__.py +3 -0
- aws_cdk/aws_inspectorv2/__init__.py +3 -0
- aws_cdk/aws_internetmonitor/__init__.py +88 -0
- aws_cdk/aws_iot/__init__.py +3 -0
- aws_cdk/aws_iot1click/__init__.py +3 -0
- aws_cdk/aws_iotanalytics/__init__.py +3 -0
- aws_cdk/aws_iotcoredeviceadvisor/__init__.py +3 -0
- aws_cdk/aws_iotevents/__init__.py +3 -0
- aws_cdk/aws_iotfleethub/__init__.py +3 -0
- aws_cdk/aws_iotfleetwise/__init__.py +3 -0
- aws_cdk/aws_iotsitewise/__init__.py +138 -55
- aws_cdk/aws_iotthingsgraph/__init__.py +3 -0
- aws_cdk/aws_iottwinmaker/__init__.py +3 -0
- aws_cdk/aws_iotwireless/__init__.py +3 -0
- aws_cdk/aws_ivs/__init__.py +3 -0
- aws_cdk/aws_ivschat/__init__.py +3 -0
- aws_cdk/aws_kafkaconnect/__init__.py +1239 -161
- aws_cdk/aws_kendra/__init__.py +56 -39
- aws_cdk/aws_kendraranking/__init__.py +3 -0
- aws_cdk/aws_kinesis/__init__.py +3 -0
- aws_cdk/aws_kinesisanalytics/__init__.py +40 -37
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +40 -37
- aws_cdk/aws_kinesisfirehose/__init__.py +14 -3
- aws_cdk/aws_kinesisvideo/__init__.py +3 -0
- aws_cdk/aws_kms/__init__.py +3 -0
- aws_cdk/aws_lakeformation/__init__.py +3 -0
- aws_cdk/aws_lambda/__init__.py +9 -0
- aws_cdk/aws_lambda_destinations/__init__.py +3 -0
- aws_cdk/aws_lambda_event_sources/__init__.py +45 -18
- aws_cdk/aws_lambda_nodejs/__init__.py +3 -0
- aws_cdk/aws_lex/__init__.py +3 -0
- aws_cdk/aws_licensemanager/__init__.py +3 -0
- aws_cdk/aws_lightsail/__init__.py +3 -0
- aws_cdk/aws_location/__init__.py +3 -0
- aws_cdk/aws_logs/__init__.py +3 -0
- aws_cdk/aws_logs_destinations/__init__.py +3 -0
- aws_cdk/aws_lookoutequipment/__init__.py +3 -0
- aws_cdk/aws_lookoutmetrics/__init__.py +3 -0
- aws_cdk/aws_lookoutvision/__init__.py +3 -0
- aws_cdk/aws_m2/__init__.py +3 -0
- aws_cdk/aws_macie/__init__.py +3 -0
- aws_cdk/aws_managedblockchain/__init__.py +5 -3
- aws_cdk/aws_mediaconnect/__init__.py +3 -0
- aws_cdk/aws_mediaconvert/__init__.py +3 -0
- aws_cdk/aws_medialive/__init__.py +3 -0
- aws_cdk/aws_mediapackage/__init__.py +3 -0
- aws_cdk/aws_mediapackagev2/__init__.py +3 -0
- aws_cdk/aws_mediastore/__init__.py +3 -0
- aws_cdk/aws_mediatailor/__init__.py +3 -0
- aws_cdk/aws_memorydb/__init__.py +3 -0
- aws_cdk/aws_msk/__init__.py +91 -0
- aws_cdk/aws_mwaa/__init__.py +3 -0
- aws_cdk/aws_neptune/__init__.py +3 -0
- aws_cdk/aws_neptunegraph/__init__.py +3 -0
- aws_cdk/aws_networkfirewall/__init__.py +3 -0
- aws_cdk/aws_networkmanager/__init__.py +3 -0
- aws_cdk/aws_nimblestudio/__init__.py +3 -0
- aws_cdk/aws_oam/__init__.py +6 -3
- aws_cdk/aws_omics/__init__.py +3 -0
- aws_cdk/aws_opensearchserverless/__init__.py +3 -0
- aws_cdk/aws_opensearchservice/__init__.py +26 -18
- aws_cdk/aws_opsworks/__init__.py +3 -0
- aws_cdk/aws_opsworkscm/__init__.py +3 -0
- aws_cdk/aws_organizations/__init__.py +3 -0
- aws_cdk/aws_osis/__init__.py +3 -0
- aws_cdk/aws_panorama/__init__.py +3 -0
- aws_cdk/aws_pcaconnectorad/__init__.py +3 -0
- aws_cdk/aws_personalize/__init__.py +3 -0
- aws_cdk/aws_pinpoint/__init__.py +45 -0
- aws_cdk/aws_pinpointemail/__init__.py +3 -0
- aws_cdk/aws_pipes/__init__.py +3 -0
- aws_cdk/aws_proton/__init__.py +3 -0
- aws_cdk/aws_qldb/__init__.py +3 -0
- aws_cdk/aws_quicksight/__init__.py +3 -0
- aws_cdk/aws_ram/__init__.py +3 -0
- aws_cdk/aws_rds/__init__.py +150 -27
- aws_cdk/aws_redshift/__init__.py +3 -0
- aws_cdk/aws_redshiftserverless/__init__.py +3 -0
- aws_cdk/aws_refactorspaces/__init__.py +3 -0
- aws_cdk/aws_rekognition/__init__.py +3 -0
- aws_cdk/aws_resiliencehub/__init__.py +3 -0
- aws_cdk/aws_resourceexplorer2/__init__.py +3 -0
- aws_cdk/aws_resourcegroups/__init__.py +3 -0
- aws_cdk/aws_robomaker/__init__.py +3 -0
- aws_cdk/aws_rolesanywhere/__init__.py +3 -0
- aws_cdk/aws_route53/__init__.py +52 -0
- aws_cdk/aws_route53_patterns/__init__.py +3 -0
- aws_cdk/aws_route53_targets/__init__.py +3 -0
- aws_cdk/aws_route53recoverycontrol/__init__.py +3 -0
- aws_cdk/aws_route53recoveryreadiness/__init__.py +3 -0
- aws_cdk/aws_route53resolver/__init__.py +3 -0
- aws_cdk/aws_rum/__init__.py +3 -0
- aws_cdk/aws_s3/__init__.py +3 -0
- aws_cdk/aws_s3_assets/__init__.py +3 -0
- aws_cdk/aws_s3_deployment/__init__.py +3 -0
- aws_cdk/aws_s3_notifications/__init__.py +3 -0
- aws_cdk/aws_s3express/__init__.py +3 -0
- aws_cdk/aws_s3objectlambda/__init__.py +3 -0
- aws_cdk/aws_s3outposts/__init__.py +3 -0
- aws_cdk/aws_sagemaker/__init__.py +5 -2
- aws_cdk/aws_sam/__init__.py +3 -0
- aws_cdk/aws_scheduler/__init__.py +3 -0
- aws_cdk/aws_sdb/__init__.py +3 -0
- aws_cdk/aws_secretsmanager/__init__.py +3 -0
- aws_cdk/aws_securityhub/__init__.py +59 -14
- aws_cdk/aws_securitylake/__init__.py +859 -0
- aws_cdk/aws_servicecatalog/__init__.py +3 -0
- aws_cdk/aws_servicecatalogappregistry/__init__.py +3 -0
- aws_cdk/aws_servicediscovery/__init__.py +3 -0
- aws_cdk/aws_ses/__init__.py +3 -0
- aws_cdk/aws_ses_actions/__init__.py +3 -0
- aws_cdk/aws_shield/__init__.py +3 -0
- aws_cdk/aws_signer/__init__.py +3 -0
- aws_cdk/aws_simspaceweaver/__init__.py +3 -0
- aws_cdk/aws_sns/__init__.py +48 -13
- aws_cdk/aws_sns_subscriptions/__init__.py +3 -0
- aws_cdk/aws_sqs/__init__.py +3 -0
- aws_cdk/aws_ssm/__init__.py +6 -3
- aws_cdk/aws_ssmcontacts/__init__.py +3 -0
- aws_cdk/aws_ssmincidents/__init__.py +3 -0
- aws_cdk/aws_sso/__init__.py +3 -0
- aws_cdk/aws_stepfunctions/__init__.py +3 -0
- aws_cdk/aws_stepfunctions_tasks/__init__.py +26 -0
- aws_cdk/aws_supportapp/__init__.py +3 -0
- aws_cdk/aws_synthetics/__init__.py +77 -14
- aws_cdk/aws_systemsmanagersap/__init__.py +3 -0
- aws_cdk/aws_timestream/__init__.py +3 -0
- aws_cdk/aws_transfer/__init__.py +7 -3
- aws_cdk/aws_verifiedpermissions/__init__.py +3 -0
- aws_cdk/aws_voiceid/__init__.py +3 -0
- aws_cdk/aws_vpclattice/__init__.py +3 -0
- aws_cdk/aws_waf/__init__.py +3 -0
- aws_cdk/aws_wafregional/__init__.py +3 -0
- aws_cdk/aws_wafv2/__init__.py +99 -46
- aws_cdk/aws_wisdom/__init__.py +3 -0
- aws_cdk/aws_workspaces/__init__.py +3 -0
- aws_cdk/aws_workspacesthinclient/__init__.py +3 -0
- aws_cdk/aws_workspacesweb/__init__.py +3 -0
- aws_cdk/aws_xray/__init__.py +3 -0
- aws_cdk/cloud_assembly_schema/__init__.py +3 -0
- aws_cdk/cloudformation_include/__init__.py +3 -0
- aws_cdk/custom_resources/__init__.py +7 -4
- aws_cdk/cx_api/__init__.py +20 -0
- aws_cdk/lambda_layer_awscli/__init__.py +3 -0
- aws_cdk/lambda_layer_kubectl/__init__.py +3 -0
- aws_cdk/lambda_layer_node_proxy_agent/__init__.py +3 -0
- aws_cdk/pipelines/__init__.py +3 -0
- aws_cdk/region_info/__init__.py +3 -0
- aws_cdk/triggers/__init__.py +3 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/METADATA +2 -2
- aws_cdk_lib-2.135.0.dist-info/RECORD +282 -0
- aws_cdk_lib-2.133.0.dist-info/RECORD +0 -281
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.135.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,12 +225,38 @@ 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
|
|
|
232
241
|
For more information, see [Load balancer attributes](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#load-balancer-attributes)
|
|
233
242
|
|
|
243
|
+
### Setting up Access Log Bucket on Application Load Balancer
|
|
244
|
+
|
|
245
|
+
The only server-side encryption option that's supported is Amazon S3-managed keys (SSE-S3). For more information
|
|
246
|
+
Documentation: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-access-logging.html
|
|
247
|
+
|
|
248
|
+
```python
|
|
249
|
+
# vpc: ec2.Vpc
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
bucket = s3.Bucket(self, "ALBAccessLogsBucket",
|
|
253
|
+
encryption=s3.BucketEncryption.S3_MANAGED
|
|
254
|
+
)
|
|
255
|
+
|
|
256
|
+
lb = elbv2.ApplicationLoadBalancer(self, "LB", vpc=vpc)
|
|
257
|
+
lb.log_access_logs(bucket)
|
|
258
|
+
```
|
|
259
|
+
|
|
234
260
|
## Defining a Network Load Balancer
|
|
235
261
|
|
|
236
262
|
Network Load Balancers are defined in a similar way to Application Load
|
|
@@ -264,6 +290,22 @@ listener.add_targets("AppFleet",
|
|
|
264
290
|
)
|
|
265
291
|
```
|
|
266
292
|
|
|
293
|
+
### Enforce security group inbound rules on PrivateLink traffic for a Network Load Balancer
|
|
294
|
+
|
|
295
|
+
You can indicate whether to evaluate inbound security group rules for traffic
|
|
296
|
+
sent to a Network Load Balancer through AWS PrivateLink.
|
|
297
|
+
The evaluation is enabled by default.
|
|
298
|
+
|
|
299
|
+
```python
|
|
300
|
+
# vpc: ec2.Vpc
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
nlb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
304
|
+
vpc=vpc,
|
|
305
|
+
enforce_security_group_inbound_rules_on_private_link_traffic=True
|
|
306
|
+
)
|
|
307
|
+
```
|
|
308
|
+
|
|
267
309
|
One thing to keep in mind is that network load balancers do not have security
|
|
268
310
|
groups, and no automatic security group configuration is done for you. You will
|
|
269
311
|
have to configure the security groups of the target yourself to allow traffic by
|
|
@@ -290,6 +332,30 @@ lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
|
290
332
|
|
|
291
333
|
You cannot add UDP or TCP_UDP listeners to a dualstack Network Load Balancer.
|
|
292
334
|
|
|
335
|
+
### Network Load Balancer attributes
|
|
336
|
+
|
|
337
|
+
You can modify attributes of Network Load Balancers:
|
|
338
|
+
|
|
339
|
+
```python
|
|
340
|
+
# vpc: ec2.Vpc
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
344
|
+
vpc=vpc,
|
|
345
|
+
# Whether deletion protection is enabled.
|
|
346
|
+
deletion_protection=True,
|
|
347
|
+
|
|
348
|
+
# Whether cross-zone load balancing is enabled.
|
|
349
|
+
cross_zone_enabled=True,
|
|
350
|
+
|
|
351
|
+
# Whether the load balancer blocks traffic through the Internet Gateway (IGW).
|
|
352
|
+
deny_all_igw_traffic=False,
|
|
353
|
+
|
|
354
|
+
# Indicates how traffic is distributed among the load balancer Availability Zones.
|
|
355
|
+
client_routing_policy=elbv2.ClientRoutingPolicy.AVAILABILITY_ZONE_AFFINITY
|
|
356
|
+
)
|
|
357
|
+
```
|
|
358
|
+
|
|
293
359
|
## Targets and Target Groups
|
|
294
360
|
|
|
295
361
|
Application and Network Load Balancers organize load balancing targets in Target
|
|
@@ -345,6 +411,27 @@ tg2 = elbv2.ApplicationTargetGroup(self, "TG2",
|
|
|
345
411
|
)
|
|
346
412
|
```
|
|
347
413
|
|
|
414
|
+
### Slow start mode for your Application Load Balancer
|
|
415
|
+
|
|
416
|
+
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.
|
|
417
|
+
|
|
418
|
+
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.
|
|
419
|
+
|
|
420
|
+
The allowed range is 30-900 seconds (15 minutes). The default is 0 seconds (disabled).
|
|
421
|
+
|
|
422
|
+
```python
|
|
423
|
+
# vpc: ec2.Vpc
|
|
424
|
+
|
|
425
|
+
|
|
426
|
+
# Target group with slow start mode enabled
|
|
427
|
+
tg = elbv2.ApplicationTargetGroup(self, "TG",
|
|
428
|
+
target_type=elbv2.TargetType.INSTANCE,
|
|
429
|
+
slow_start=Duration.seconds(60),
|
|
430
|
+
port=80,
|
|
431
|
+
vpc=vpc
|
|
432
|
+
)
|
|
433
|
+
```
|
|
434
|
+
|
|
348
435
|
For more information see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html#application-based-stickiness
|
|
349
436
|
|
|
350
437
|
### Setting the target group protocol version
|
|
@@ -684,6 +771,9 @@ target_group = elbv2.ApplicationTargetGroup.from_target_group_attributes(self, "
|
|
|
684
771
|
target_group_metrics = target_group.metrics
|
|
685
772
|
```
|
|
686
773
|
'''
|
|
774
|
+
from pkgutil import extend_path
|
|
775
|
+
__path__ = extend_path(__path__, __name__)
|
|
776
|
+
|
|
687
777
|
import abc
|
|
688
778
|
import builtins
|
|
689
779
|
import datetime
|
|
@@ -2619,7 +2709,9 @@ class BaseLoadBalancerLookupOptions:
|
|
|
2619
2709
|
jsii_struct_bases=[],
|
|
2620
2710
|
name_mapping={
|
|
2621
2711
|
"vpc": "vpc",
|
|
2712
|
+
"cross_zone_enabled": "crossZoneEnabled",
|
|
2622
2713
|
"deletion_protection": "deletionProtection",
|
|
2714
|
+
"deny_all_igw_traffic": "denyAllIgwTraffic",
|
|
2623
2715
|
"internet_facing": "internetFacing",
|
|
2624
2716
|
"load_balancer_name": "loadBalancerName",
|
|
2625
2717
|
"vpc_subnets": "vpcSubnets",
|
|
@@ -2630,7 +2722,9 @@ class BaseLoadBalancerProps:
|
|
|
2630
2722
|
self,
|
|
2631
2723
|
*,
|
|
2632
2724
|
vpc: _IVpc_f30d5663,
|
|
2725
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
2633
2726
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
2727
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
2634
2728
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
2635
2729
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
2636
2730
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -2638,7 +2732,9 @@ class BaseLoadBalancerProps:
|
|
|
2638
2732
|
'''Shared properties of both Application and Network Load Balancers.
|
|
2639
2733
|
|
|
2640
2734
|
:param vpc: The VPC network to place the load balancer in.
|
|
2735
|
+
: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
2736
|
:param deletion_protection: Indicates whether deletion protection is enabled. Default: false
|
|
2737
|
+
: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
2738
|
:param internet_facing: Whether the load balancer has an internet-routable address. Default: false
|
|
2643
2739
|
:param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
|
|
2644
2740
|
:param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
|
|
@@ -2660,7 +2756,9 @@ class BaseLoadBalancerProps:
|
|
|
2660
2756
|
vpc=vpc,
|
|
2661
2757
|
|
|
2662
2758
|
# the properties below are optional
|
|
2759
|
+
cross_zone_enabled=False,
|
|
2663
2760
|
deletion_protection=False,
|
|
2761
|
+
deny_all_igw_traffic=False,
|
|
2664
2762
|
internet_facing=False,
|
|
2665
2763
|
load_balancer_name="loadBalancerName",
|
|
2666
2764
|
vpc_subnets=ec2.SubnetSelection(
|
|
@@ -2678,15 +2776,21 @@ class BaseLoadBalancerProps:
|
|
|
2678
2776
|
if __debug__:
|
|
2679
2777
|
type_hints = typing.get_type_hints(_typecheckingstub__36614588a5e075aa6e7ea0a4d41053b09874f2590b227cd5d62f3429901282f2)
|
|
2680
2778
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
2779
|
+
check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
|
|
2681
2780
|
check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
|
|
2781
|
+
check_type(argname="argument deny_all_igw_traffic", value=deny_all_igw_traffic, expected_type=type_hints["deny_all_igw_traffic"])
|
|
2682
2782
|
check_type(argname="argument internet_facing", value=internet_facing, expected_type=type_hints["internet_facing"])
|
|
2683
2783
|
check_type(argname="argument load_balancer_name", value=load_balancer_name, expected_type=type_hints["load_balancer_name"])
|
|
2684
2784
|
check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
|
|
2685
2785
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2686
2786
|
"vpc": vpc,
|
|
2687
2787
|
}
|
|
2788
|
+
if cross_zone_enabled is not None:
|
|
2789
|
+
self._values["cross_zone_enabled"] = cross_zone_enabled
|
|
2688
2790
|
if deletion_protection is not None:
|
|
2689
2791
|
self._values["deletion_protection"] = deletion_protection
|
|
2792
|
+
if deny_all_igw_traffic is not None:
|
|
2793
|
+
self._values["deny_all_igw_traffic"] = deny_all_igw_traffic
|
|
2690
2794
|
if internet_facing is not None:
|
|
2691
2795
|
self._values["internet_facing"] = internet_facing
|
|
2692
2796
|
if load_balancer_name is not None:
|
|
@@ -2701,6 +2805,15 @@ class BaseLoadBalancerProps:
|
|
|
2701
2805
|
assert result is not None, "Required property 'vpc' is missing"
|
|
2702
2806
|
return typing.cast(_IVpc_f30d5663, result)
|
|
2703
2807
|
|
|
2808
|
+
@builtins.property
|
|
2809
|
+
def cross_zone_enabled(self) -> typing.Optional[builtins.bool]:
|
|
2810
|
+
'''Indicates whether cross-zone load balancing is enabled.
|
|
2811
|
+
|
|
2812
|
+
:default: - false for Network Load Balancers and true for Application Load Balancers.
|
|
2813
|
+
'''
|
|
2814
|
+
result = self._values.get("cross_zone_enabled")
|
|
2815
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2816
|
+
|
|
2704
2817
|
@builtins.property
|
|
2705
2818
|
def deletion_protection(self) -> typing.Optional[builtins.bool]:
|
|
2706
2819
|
'''Indicates whether deletion protection is enabled.
|
|
@@ -2710,6 +2823,15 @@ class BaseLoadBalancerProps:
|
|
|
2710
2823
|
result = self._values.get("deletion_protection")
|
|
2711
2824
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2712
2825
|
|
|
2826
|
+
@builtins.property
|
|
2827
|
+
def deny_all_igw_traffic(self) -> typing.Optional[builtins.bool]:
|
|
2828
|
+
'''Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW).
|
|
2829
|
+
|
|
2830
|
+
:default: - false for internet-facing load balancers and true for internal load balancers
|
|
2831
|
+
'''
|
|
2832
|
+
result = self._values.get("deny_all_igw_traffic")
|
|
2833
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2834
|
+
|
|
2713
2835
|
@builtins.property
|
|
2714
2836
|
def internet_facing(self) -> typing.Optional[builtins.bool]:
|
|
2715
2837
|
'''Whether the load balancer has an internet-routable address.
|
|
@@ -7972,7 +8094,7 @@ class CfnLoadBalancer(
|
|
|
7972
8094
|
) -> None:
|
|
7973
8095
|
'''Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.
|
|
7974
8096
|
|
|
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.
|
|
8097
|
+
: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
8098
|
:param value: The value of the attribute.
|
|
7977
8099
|
|
|
7978
8100
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattribute.html
|
|
@@ -8018,6 +8140,7 @@ class CfnLoadBalancer(
|
|
|
8018
8140
|
The following attributes are supported by only Application Load Balancers:
|
|
8019
8141
|
|
|
8020
8142
|
- ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.
|
|
8143
|
+
- ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.
|
|
8021
8144
|
- ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false`` . The default is ``false`` .
|
|
8022
8145
|
- ``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
8146
|
- ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.
|
|
@@ -10398,6 +10521,42 @@ class CfnTrustStoreRevocationProps:
|
|
|
10398
10521
|
)
|
|
10399
10522
|
|
|
10400
10523
|
|
|
10524
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.ClientRoutingPolicy")
|
|
10525
|
+
class ClientRoutingPolicy(enum.Enum):
|
|
10526
|
+
'''Indicates how traffic is distributed among the load balancer Availability Zones.
|
|
10527
|
+
|
|
10528
|
+
:see: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity
|
|
10529
|
+
:exampleMetadata: infused
|
|
10530
|
+
|
|
10531
|
+
Example::
|
|
10532
|
+
|
|
10533
|
+
# vpc: ec2.Vpc
|
|
10534
|
+
|
|
10535
|
+
|
|
10536
|
+
lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
10537
|
+
vpc=vpc,
|
|
10538
|
+
# Whether deletion protection is enabled.
|
|
10539
|
+
deletion_protection=True,
|
|
10540
|
+
|
|
10541
|
+
# Whether cross-zone load balancing is enabled.
|
|
10542
|
+
cross_zone_enabled=True,
|
|
10543
|
+
|
|
10544
|
+
# Whether the load balancer blocks traffic through the Internet Gateway (IGW).
|
|
10545
|
+
deny_all_igw_traffic=False,
|
|
10546
|
+
|
|
10547
|
+
# Indicates how traffic is distributed among the load balancer Availability Zones.
|
|
10548
|
+
client_routing_policy=elbv2.ClientRoutingPolicy.AVAILABILITY_ZONE_AFFINITY
|
|
10549
|
+
)
|
|
10550
|
+
'''
|
|
10551
|
+
|
|
10552
|
+
AVAILABILITY_ZONE_AFFINITY = "AVAILABILITY_ZONE_AFFINITY"
|
|
10553
|
+
'''100 percent zonal affinity.'''
|
|
10554
|
+
PARTIAL_AVAILABILITY_ZONE_AFFINITY = "PARTIAL_AVAILABILITY_ZONE_AFFINITY"
|
|
10555
|
+
'''85 percent zonal affinity.'''
|
|
10556
|
+
ANY_AVAILABILITY_ZONE = "ANY_AVAILABILITY_ZONE"
|
|
10557
|
+
'''No zonal affinity.'''
|
|
10558
|
+
|
|
10559
|
+
|
|
10401
10560
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.DesyncMitigationMode")
|
|
10402
10561
|
class DesyncMitigationMode(enum.Enum):
|
|
10403
10562
|
'''How the load balancer handles requests that might pose a security risk to your application.
|
|
@@ -10429,7 +10588,16 @@ class DesyncMitigationMode(enum.Enum):
|
|
|
10429
10588
|
desync_mitigation_mode=elbv2.DesyncMitigationMode.DEFENSIVE,
|
|
10430
10589
|
|
|
10431
10590
|
# The type of IP addresses to use.
|
|
10432
|
-
ip_address_type=elbv2.IpAddressType.IPV4
|
|
10591
|
+
ip_address_type=elbv2.IpAddressType.IPV4,
|
|
10592
|
+
|
|
10593
|
+
# The duration of client keep-alive connections
|
|
10594
|
+
client_keep_alive=Duration.seconds(500),
|
|
10595
|
+
|
|
10596
|
+
# Whether cross-zone load balancing is enabled.
|
|
10597
|
+
cross_zone_enabled=True,
|
|
10598
|
+
|
|
10599
|
+
# Whether the load balancer blocks traffic through the Internet Gateway (IGW).
|
|
10600
|
+
deny_all_igw_traffic=False
|
|
10433
10601
|
)
|
|
10434
10602
|
'''
|
|
10435
10603
|
|
|
@@ -13460,6 +13628,17 @@ class INetworkLoadBalancer(
|
|
|
13460
13628
|
'''All metrics available for this load balancer.'''
|
|
13461
13629
|
...
|
|
13462
13630
|
|
|
13631
|
+
@builtins.property
|
|
13632
|
+
@jsii.member(jsii_name="enforceSecurityGroupInboundRulesOnPrivateLinkTraffic")
|
|
13633
|
+
def enforce_security_group_inbound_rules_on_private_link_traffic(
|
|
13634
|
+
self,
|
|
13635
|
+
) -> typing.Optional[builtins.str]:
|
|
13636
|
+
'''Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink.
|
|
13637
|
+
|
|
13638
|
+
:default: on
|
|
13639
|
+
'''
|
|
13640
|
+
...
|
|
13641
|
+
|
|
13463
13642
|
@builtins.property
|
|
13464
13643
|
@jsii.member(jsii_name="ipAddressType")
|
|
13465
13644
|
def ip_address_type(self) -> typing.Optional["IpAddressType"]:
|
|
@@ -13525,6 +13704,17 @@ class _INetworkLoadBalancerProxy(
|
|
|
13525
13704
|
'''All metrics available for this load balancer.'''
|
|
13526
13705
|
return typing.cast("INetworkLoadBalancerMetrics", jsii.get(self, "metrics"))
|
|
13527
13706
|
|
|
13707
|
+
@builtins.property
|
|
13708
|
+
@jsii.member(jsii_name="enforceSecurityGroupInboundRulesOnPrivateLinkTraffic")
|
|
13709
|
+
def enforce_security_group_inbound_rules_on_private_link_traffic(
|
|
13710
|
+
self,
|
|
13711
|
+
) -> typing.Optional[builtins.str]:
|
|
13712
|
+
'''Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink.
|
|
13713
|
+
|
|
13714
|
+
:default: on
|
|
13715
|
+
'''
|
|
13716
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic"))
|
|
13717
|
+
|
|
13528
13718
|
@builtins.property
|
|
13529
13719
|
@jsii.member(jsii_name="ipAddressType")
|
|
13530
13720
|
def ip_address_type(self) -> typing.Optional["IpAddressType"]:
|
|
@@ -14531,7 +14721,16 @@ class IpAddressType(enum.Enum):
|
|
|
14531
14721
|
desync_mitigation_mode=elbv2.DesyncMitigationMode.DEFENSIVE,
|
|
14532
14722
|
|
|
14533
14723
|
# The type of IP addresses to use.
|
|
14534
|
-
ip_address_type=elbv2.IpAddressType.IPV4
|
|
14724
|
+
ip_address_type=elbv2.IpAddressType.IPV4,
|
|
14725
|
+
|
|
14726
|
+
# The duration of client keep-alive connections
|
|
14727
|
+
client_keep_alive=Duration.seconds(500),
|
|
14728
|
+
|
|
14729
|
+
# Whether cross-zone load balancing is enabled.
|
|
14730
|
+
cross_zone_enabled=True,
|
|
14731
|
+
|
|
14732
|
+
# Whether the load balancer blocks traffic through the Internet Gateway (IGW).
|
|
14733
|
+
deny_all_igw_traffic=False
|
|
14535
14734
|
)
|
|
14536
14735
|
'''
|
|
14537
14736
|
|
|
@@ -15653,24 +15852,18 @@ class NetworkLoadBalancer(
|
|
|
15653
15852
|
|
|
15654
15853
|
Example::
|
|
15655
15854
|
|
|
15656
|
-
|
|
15855
|
+
from aws_cdk.aws_apigatewayv2_integrations import HttpNlbIntegration
|
|
15657
15856
|
|
|
15658
15857
|
|
|
15659
15858
|
vpc = ec2.Vpc(self, "VPC")
|
|
15660
|
-
|
|
15661
|
-
|
|
15662
|
-
|
|
15663
|
-
|
|
15664
|
-
targets=[nlb]
|
|
15859
|
+
lb = elbv2.NetworkLoadBalancer(self, "lb", vpc=vpc)
|
|
15860
|
+
listener = lb.add_listener("listener", port=80)
|
|
15861
|
+
listener.add_targets("target",
|
|
15862
|
+
port=80
|
|
15665
15863
|
)
|
|
15666
15864
|
|
|
15667
|
-
|
|
15668
|
-
|
|
15669
|
-
integration_http_method="ANY",
|
|
15670
|
-
options=apigateway.IntegrationOptions(
|
|
15671
|
-
connection_type=apigateway.ConnectionType.VPC_LINK,
|
|
15672
|
-
vpc_link=link
|
|
15673
|
-
)
|
|
15865
|
+
http_endpoint = apigwv2.HttpApi(self, "HttpProxyPrivateApi",
|
|
15866
|
+
default_integration=HttpNlbIntegration("DefaultIntegration", listener)
|
|
15674
15867
|
)
|
|
15675
15868
|
'''
|
|
15676
15869
|
|
|
@@ -15679,11 +15872,14 @@ class NetworkLoadBalancer(
|
|
|
15679
15872
|
scope: _constructs_77d1e7e8.Construct,
|
|
15680
15873
|
id: builtins.str,
|
|
15681
15874
|
*,
|
|
15682
|
-
|
|
15875
|
+
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
15876
|
+
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
15683
15877
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
15684
15878
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
15685
15879
|
vpc: _IVpc_f30d5663,
|
|
15880
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
15686
15881
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
15882
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
15687
15883
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
15688
15884
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
15689
15885
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -15691,11 +15887,14 @@ class NetworkLoadBalancer(
|
|
|
15691
15887
|
'''
|
|
15692
15888
|
:param scope: -
|
|
15693
15889
|
:param id: -
|
|
15694
|
-
:param
|
|
15890
|
+
:param client_routing_policy: The AZ affinity routing policy. Default: - AZ affinity is disabled.
|
|
15891
|
+
: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
15892
|
: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
15893
|
:param security_groups: Security groups to associate with this load balancer. Default: - No security groups associated with the load balancer.
|
|
15697
15894
|
:param vpc: The VPC network to place the load balancer in.
|
|
15895
|
+
: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
15896
|
:param deletion_protection: Indicates whether deletion protection is enabled. Default: false
|
|
15897
|
+
: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
15898
|
:param internet_facing: Whether the load balancer has an internet-routable address. Default: false
|
|
15700
15899
|
:param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
|
|
15701
15900
|
:param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
|
|
@@ -15705,11 +15904,14 @@ class NetworkLoadBalancer(
|
|
|
15705
15904
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
15706
15905
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
15707
15906
|
props = NetworkLoadBalancerProps(
|
|
15708
|
-
|
|
15907
|
+
client_routing_policy=client_routing_policy,
|
|
15908
|
+
enforce_security_group_inbound_rules_on_private_link_traffic=enforce_security_group_inbound_rules_on_private_link_traffic,
|
|
15709
15909
|
ip_address_type=ip_address_type,
|
|
15710
15910
|
security_groups=security_groups,
|
|
15711
15911
|
vpc=vpc,
|
|
15912
|
+
cross_zone_enabled=cross_zone_enabled,
|
|
15712
15913
|
deletion_protection=deletion_protection,
|
|
15914
|
+
deny_all_igw_traffic=deny_all_igw_traffic,
|
|
15713
15915
|
internet_facing=internet_facing,
|
|
15714
15916
|
load_balancer_name=load_balancer_name,
|
|
15715
15917
|
vpc_subnets=vpc_subnets,
|
|
@@ -16201,6 +16403,14 @@ class NetworkLoadBalancer(
|
|
|
16201
16403
|
'''All metrics available for this load balancer.'''
|
|
16202
16404
|
return typing.cast(INetworkLoadBalancerMetrics, jsii.get(self, "metrics"))
|
|
16203
16405
|
|
|
16406
|
+
@builtins.property
|
|
16407
|
+
@jsii.member(jsii_name="enforceSecurityGroupInboundRulesOnPrivateLinkTraffic")
|
|
16408
|
+
def enforce_security_group_inbound_rules_on_private_link_traffic(
|
|
16409
|
+
self,
|
|
16410
|
+
) -> typing.Optional[builtins.str]:
|
|
16411
|
+
'''Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink.'''
|
|
16412
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic"))
|
|
16413
|
+
|
|
16204
16414
|
@builtins.property
|
|
16205
16415
|
@jsii.member(jsii_name="ipAddressType")
|
|
16206
16416
|
def ip_address_type(self) -> typing.Optional[IpAddressType]:
|
|
@@ -16436,11 +16646,14 @@ class NetworkLoadBalancerLookupOptions(BaseLoadBalancerLookupOptions):
|
|
|
16436
16646
|
jsii_struct_bases=[BaseLoadBalancerProps],
|
|
16437
16647
|
name_mapping={
|
|
16438
16648
|
"vpc": "vpc",
|
|
16649
|
+
"cross_zone_enabled": "crossZoneEnabled",
|
|
16439
16650
|
"deletion_protection": "deletionProtection",
|
|
16651
|
+
"deny_all_igw_traffic": "denyAllIgwTraffic",
|
|
16440
16652
|
"internet_facing": "internetFacing",
|
|
16441
16653
|
"load_balancer_name": "loadBalancerName",
|
|
16442
16654
|
"vpc_subnets": "vpcSubnets",
|
|
16443
|
-
"
|
|
16655
|
+
"client_routing_policy": "clientRoutingPolicy",
|
|
16656
|
+
"enforce_security_group_inbound_rules_on_private_link_traffic": "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic",
|
|
16444
16657
|
"ip_address_type": "ipAddressType",
|
|
16445
16658
|
"security_groups": "securityGroups",
|
|
16446
16659
|
},
|
|
@@ -16450,22 +16663,28 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
16450
16663
|
self,
|
|
16451
16664
|
*,
|
|
16452
16665
|
vpc: _IVpc_f30d5663,
|
|
16666
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
16453
16667
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
16668
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
16454
16669
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
16455
16670
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
16456
16671
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
16457
|
-
|
|
16672
|
+
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
16673
|
+
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
16458
16674
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
16459
16675
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
16460
16676
|
) -> None:
|
|
16461
16677
|
'''Properties for a network load balancer.
|
|
16462
16678
|
|
|
16463
16679
|
:param vpc: The VPC network to place the load balancer in.
|
|
16680
|
+
: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
16681
|
:param deletion_protection: Indicates whether deletion protection is enabled. Default: false
|
|
16682
|
+
: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
16683
|
:param internet_facing: Whether the load balancer has an internet-routable address. Default: false
|
|
16466
16684
|
:param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
|
|
16467
16685
|
:param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
|
|
16468
|
-
:param
|
|
16686
|
+
:param client_routing_policy: The AZ affinity routing policy. Default: - AZ affinity is disabled.
|
|
16687
|
+
: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
16688
|
: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
16689
|
:param security_groups: Security groups to associate with this load balancer. Default: - No security groups associated with the load balancer.
|
|
16471
16690
|
|
|
@@ -16473,24 +16692,18 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
16473
16692
|
|
|
16474
16693
|
Example::
|
|
16475
16694
|
|
|
16476
|
-
|
|
16695
|
+
from aws_cdk.aws_apigatewayv2_integrations import HttpNlbIntegration
|
|
16477
16696
|
|
|
16478
16697
|
|
|
16479
16698
|
vpc = ec2.Vpc(self, "VPC")
|
|
16480
|
-
|
|
16481
|
-
|
|
16482
|
-
|
|
16483
|
-
|
|
16484
|
-
targets=[nlb]
|
|
16699
|
+
lb = elbv2.NetworkLoadBalancer(self, "lb", vpc=vpc)
|
|
16700
|
+
listener = lb.add_listener("listener", port=80)
|
|
16701
|
+
listener.add_targets("target",
|
|
16702
|
+
port=80
|
|
16485
16703
|
)
|
|
16486
16704
|
|
|
16487
|
-
|
|
16488
|
-
|
|
16489
|
-
integration_http_method="ANY",
|
|
16490
|
-
options=apigateway.IntegrationOptions(
|
|
16491
|
-
connection_type=apigateway.ConnectionType.VPC_LINK,
|
|
16492
|
-
vpc_link=link
|
|
16493
|
-
)
|
|
16705
|
+
http_endpoint = apigwv2.HttpApi(self, "HttpProxyPrivateApi",
|
|
16706
|
+
default_integration=HttpNlbIntegration("DefaultIntegration", listener)
|
|
16494
16707
|
)
|
|
16495
16708
|
'''
|
|
16496
16709
|
if isinstance(vpc_subnets, dict):
|
|
@@ -16498,26 +16711,35 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
16498
16711
|
if __debug__:
|
|
16499
16712
|
type_hints = typing.get_type_hints(_typecheckingstub__195ab659ca9cd1c401d6d2d1a1f5cb0aaf7dd80f06dbc724020ac0cc391d75da)
|
|
16500
16713
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
16714
|
+
check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
|
|
16501
16715
|
check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
|
|
16716
|
+
check_type(argname="argument deny_all_igw_traffic", value=deny_all_igw_traffic, expected_type=type_hints["deny_all_igw_traffic"])
|
|
16502
16717
|
check_type(argname="argument internet_facing", value=internet_facing, expected_type=type_hints["internet_facing"])
|
|
16503
16718
|
check_type(argname="argument load_balancer_name", value=load_balancer_name, expected_type=type_hints["load_balancer_name"])
|
|
16504
16719
|
check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
|
|
16505
|
-
check_type(argname="argument
|
|
16720
|
+
check_type(argname="argument client_routing_policy", value=client_routing_policy, expected_type=type_hints["client_routing_policy"])
|
|
16721
|
+
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
16722
|
check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
|
|
16507
16723
|
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
16508
16724
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
16509
16725
|
"vpc": vpc,
|
|
16510
16726
|
}
|
|
16727
|
+
if cross_zone_enabled is not None:
|
|
16728
|
+
self._values["cross_zone_enabled"] = cross_zone_enabled
|
|
16511
16729
|
if deletion_protection is not None:
|
|
16512
16730
|
self._values["deletion_protection"] = deletion_protection
|
|
16731
|
+
if deny_all_igw_traffic is not None:
|
|
16732
|
+
self._values["deny_all_igw_traffic"] = deny_all_igw_traffic
|
|
16513
16733
|
if internet_facing is not None:
|
|
16514
16734
|
self._values["internet_facing"] = internet_facing
|
|
16515
16735
|
if load_balancer_name is not None:
|
|
16516
16736
|
self._values["load_balancer_name"] = load_balancer_name
|
|
16517
16737
|
if vpc_subnets is not None:
|
|
16518
16738
|
self._values["vpc_subnets"] = vpc_subnets
|
|
16519
|
-
if
|
|
16520
|
-
self._values["
|
|
16739
|
+
if client_routing_policy is not None:
|
|
16740
|
+
self._values["client_routing_policy"] = client_routing_policy
|
|
16741
|
+
if enforce_security_group_inbound_rules_on_private_link_traffic is not None:
|
|
16742
|
+
self._values["enforce_security_group_inbound_rules_on_private_link_traffic"] = enforce_security_group_inbound_rules_on_private_link_traffic
|
|
16521
16743
|
if ip_address_type is not None:
|
|
16522
16744
|
self._values["ip_address_type"] = ip_address_type
|
|
16523
16745
|
if security_groups is not None:
|
|
@@ -16530,6 +16752,15 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
16530
16752
|
assert result is not None, "Required property 'vpc' is missing"
|
|
16531
16753
|
return typing.cast(_IVpc_f30d5663, result)
|
|
16532
16754
|
|
|
16755
|
+
@builtins.property
|
|
16756
|
+
def cross_zone_enabled(self) -> typing.Optional[builtins.bool]:
|
|
16757
|
+
'''Indicates whether cross-zone load balancing is enabled.
|
|
16758
|
+
|
|
16759
|
+
:default: - false for Network Load Balancers and true for Application Load Balancers.
|
|
16760
|
+
'''
|
|
16761
|
+
result = self._values.get("cross_zone_enabled")
|
|
16762
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
16763
|
+
|
|
16533
16764
|
@builtins.property
|
|
16534
16765
|
def deletion_protection(self) -> typing.Optional[builtins.bool]:
|
|
16535
16766
|
'''Indicates whether deletion protection is enabled.
|
|
@@ -16539,6 +16770,15 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
16539
16770
|
result = self._values.get("deletion_protection")
|
|
16540
16771
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
16541
16772
|
|
|
16773
|
+
@builtins.property
|
|
16774
|
+
def deny_all_igw_traffic(self) -> typing.Optional[builtins.bool]:
|
|
16775
|
+
'''Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW).
|
|
16776
|
+
|
|
16777
|
+
:default: - false for internet-facing load balancers and true for internal load balancers
|
|
16778
|
+
'''
|
|
16779
|
+
result = self._values.get("deny_all_igw_traffic")
|
|
16780
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
16781
|
+
|
|
16542
16782
|
@builtins.property
|
|
16543
16783
|
def internet_facing(self) -> typing.Optional[builtins.bool]:
|
|
16544
16784
|
'''Whether the load balancer has an internet-routable address.
|
|
@@ -16567,12 +16807,25 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
16567
16807
|
return typing.cast(typing.Optional[_SubnetSelection_e57d76df], result)
|
|
16568
16808
|
|
|
16569
16809
|
@builtins.property
|
|
16570
|
-
def
|
|
16571
|
-
'''
|
|
16810
|
+
def client_routing_policy(self) -> typing.Optional[ClientRoutingPolicy]:
|
|
16811
|
+
'''The AZ affinity routing policy.
|
|
16572
16812
|
|
|
16573
|
-
:default:
|
|
16813
|
+
:default: - AZ affinity is disabled.
|
|
16814
|
+
|
|
16815
|
+
:see: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity
|
|
16574
16816
|
'''
|
|
16575
|
-
result = self._values.get("
|
|
16817
|
+
result = self._values.get("client_routing_policy")
|
|
16818
|
+
return typing.cast(typing.Optional[ClientRoutingPolicy], result)
|
|
16819
|
+
|
|
16820
|
+
@builtins.property
|
|
16821
|
+
def enforce_security_group_inbound_rules_on_private_link_traffic(
|
|
16822
|
+
self,
|
|
16823
|
+
) -> typing.Optional[builtins.bool]:
|
|
16824
|
+
'''Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink.
|
|
16825
|
+
|
|
16826
|
+
:default: true
|
|
16827
|
+
'''
|
|
16828
|
+
result = self._values.get("enforce_security_group_inbound_rules_on_private_link_traffic")
|
|
16576
16829
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
16577
16830
|
|
|
16578
16831
|
@builtins.property
|
|
@@ -18863,10 +19116,13 @@ class ApplicationLoadBalancerLookupOptions(BaseLoadBalancerLookupOptions):
|
|
|
18863
19116
|
jsii_struct_bases=[BaseLoadBalancerProps],
|
|
18864
19117
|
name_mapping={
|
|
18865
19118
|
"vpc": "vpc",
|
|
19119
|
+
"cross_zone_enabled": "crossZoneEnabled",
|
|
18866
19120
|
"deletion_protection": "deletionProtection",
|
|
19121
|
+
"deny_all_igw_traffic": "denyAllIgwTraffic",
|
|
18867
19122
|
"internet_facing": "internetFacing",
|
|
18868
19123
|
"load_balancer_name": "loadBalancerName",
|
|
18869
19124
|
"vpc_subnets": "vpcSubnets",
|
|
19125
|
+
"client_keep_alive": "clientKeepAlive",
|
|
18870
19126
|
"desync_mitigation_mode": "desyncMitigationMode",
|
|
18871
19127
|
"drop_invalid_header_fields": "dropInvalidHeaderFields",
|
|
18872
19128
|
"http2_enabled": "http2Enabled",
|
|
@@ -18880,10 +19136,13 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18880
19136
|
self,
|
|
18881
19137
|
*,
|
|
18882
19138
|
vpc: _IVpc_f30d5663,
|
|
19139
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
18883
19140
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
19141
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
18884
19142
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
18885
19143
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
18886
19144
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
19145
|
+
client_keep_alive: typing.Optional[_Duration_4839e8c3] = None,
|
|
18887
19146
|
desync_mitigation_mode: typing.Optional[DesyncMitigationMode] = None,
|
|
18888
19147
|
drop_invalid_header_fields: typing.Optional[builtins.bool] = None,
|
|
18889
19148
|
http2_enabled: typing.Optional[builtins.bool] = None,
|
|
@@ -18894,10 +19153,13 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18894
19153
|
'''Properties for defining an Application Load Balancer.
|
|
18895
19154
|
|
|
18896
19155
|
:param vpc: The VPC network to place the load balancer in.
|
|
19156
|
+
: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
19157
|
:param deletion_protection: Indicates whether deletion protection is enabled. Default: false
|
|
19158
|
+
: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
19159
|
:param internet_facing: Whether the load balancer has an internet-routable address. Default: false
|
|
18899
19160
|
:param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
|
|
18900
19161
|
:param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
|
|
19162
|
+
: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
19163
|
:param desync_mitigation_mode: Determines how the load balancer handles requests that might pose a security risk to your application. Default: DesyncMitigationMode.DEFENSIVE
|
|
18902
19164
|
: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
19165
|
:param http2_enabled: Indicates whether HTTP/2 is enabled. Default: true
|
|
@@ -18909,21 +19171,34 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18909
19171
|
|
|
18910
19172
|
Example::
|
|
18911
19173
|
|
|
18912
|
-
|
|
18913
|
-
#
|
|
19174
|
+
from aws_cdk.aws_autoscaling import AutoScalingGroup
|
|
19175
|
+
# asg: AutoScalingGroup
|
|
18914
19176
|
# vpc: ec2.Vpc
|
|
18915
19177
|
|
|
18916
|
-
service = ecs.FargateService(self, "Service", cluster=cluster, task_definition=task_definition)
|
|
18917
19178
|
|
|
18918
|
-
|
|
18919
|
-
|
|
18920
|
-
|
|
18921
|
-
|
|
18922
|
-
|
|
18923
|
-
|
|
18924
|
-
|
|
18925
|
-
|
|
18926
|
-
|
|
19179
|
+
# Create the load balancer in a VPC. 'internetFacing' is 'false'
|
|
19180
|
+
# by default, which creates an internal load balancer.
|
|
19181
|
+
lb = elbv2.ApplicationLoadBalancer(self, "LB",
|
|
19182
|
+
vpc=vpc,
|
|
19183
|
+
internet_facing=True
|
|
19184
|
+
)
|
|
19185
|
+
|
|
19186
|
+
# Add a listener and open up the load balancer's security group
|
|
19187
|
+
# to the world.
|
|
19188
|
+
listener = lb.add_listener("Listener",
|
|
19189
|
+
port=80,
|
|
19190
|
+
|
|
19191
|
+
# 'open: true' is the default, you can leave it out if you want. Set it
|
|
19192
|
+
# to 'false' and use `listener.connections` if you want to be selective
|
|
19193
|
+
# about who can access the load balancer.
|
|
19194
|
+
open=True
|
|
19195
|
+
)
|
|
19196
|
+
|
|
19197
|
+
# Create an AutoScaling group and add it as a load balancing
|
|
19198
|
+
# target to the listener.
|
|
19199
|
+
listener.add_targets("ApplicationFleet",
|
|
19200
|
+
port=8080,
|
|
19201
|
+
targets=[asg]
|
|
18927
19202
|
)
|
|
18928
19203
|
'''
|
|
18929
19204
|
if isinstance(vpc_subnets, dict):
|
|
@@ -18931,10 +19206,13 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18931
19206
|
if __debug__:
|
|
18932
19207
|
type_hints = typing.get_type_hints(_typecheckingstub__e43cf75024913d9be0d5d621a5f2c2c7be60a57898a54967cd54179b2b3d1584)
|
|
18933
19208
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
19209
|
+
check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
|
|
18934
19210
|
check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
|
|
19211
|
+
check_type(argname="argument deny_all_igw_traffic", value=deny_all_igw_traffic, expected_type=type_hints["deny_all_igw_traffic"])
|
|
18935
19212
|
check_type(argname="argument internet_facing", value=internet_facing, expected_type=type_hints["internet_facing"])
|
|
18936
19213
|
check_type(argname="argument load_balancer_name", value=load_balancer_name, expected_type=type_hints["load_balancer_name"])
|
|
18937
19214
|
check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
|
|
19215
|
+
check_type(argname="argument client_keep_alive", value=client_keep_alive, expected_type=type_hints["client_keep_alive"])
|
|
18938
19216
|
check_type(argname="argument desync_mitigation_mode", value=desync_mitigation_mode, expected_type=type_hints["desync_mitigation_mode"])
|
|
18939
19217
|
check_type(argname="argument drop_invalid_header_fields", value=drop_invalid_header_fields, expected_type=type_hints["drop_invalid_header_fields"])
|
|
18940
19218
|
check_type(argname="argument http2_enabled", value=http2_enabled, expected_type=type_hints["http2_enabled"])
|
|
@@ -18944,14 +19222,20 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18944
19222
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
18945
19223
|
"vpc": vpc,
|
|
18946
19224
|
}
|
|
19225
|
+
if cross_zone_enabled is not None:
|
|
19226
|
+
self._values["cross_zone_enabled"] = cross_zone_enabled
|
|
18947
19227
|
if deletion_protection is not None:
|
|
18948
19228
|
self._values["deletion_protection"] = deletion_protection
|
|
19229
|
+
if deny_all_igw_traffic is not None:
|
|
19230
|
+
self._values["deny_all_igw_traffic"] = deny_all_igw_traffic
|
|
18949
19231
|
if internet_facing is not None:
|
|
18950
19232
|
self._values["internet_facing"] = internet_facing
|
|
18951
19233
|
if load_balancer_name is not None:
|
|
18952
19234
|
self._values["load_balancer_name"] = load_balancer_name
|
|
18953
19235
|
if vpc_subnets is not None:
|
|
18954
19236
|
self._values["vpc_subnets"] = vpc_subnets
|
|
19237
|
+
if client_keep_alive is not None:
|
|
19238
|
+
self._values["client_keep_alive"] = client_keep_alive
|
|
18955
19239
|
if desync_mitigation_mode is not None:
|
|
18956
19240
|
self._values["desync_mitigation_mode"] = desync_mitigation_mode
|
|
18957
19241
|
if drop_invalid_header_fields is not None:
|
|
@@ -18972,6 +19256,15 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18972
19256
|
assert result is not None, "Required property 'vpc' is missing"
|
|
18973
19257
|
return typing.cast(_IVpc_f30d5663, result)
|
|
18974
19258
|
|
|
19259
|
+
@builtins.property
|
|
19260
|
+
def cross_zone_enabled(self) -> typing.Optional[builtins.bool]:
|
|
19261
|
+
'''Indicates whether cross-zone load balancing is enabled.
|
|
19262
|
+
|
|
19263
|
+
:default: - false for Network Load Balancers and true for Application Load Balancers.
|
|
19264
|
+
'''
|
|
19265
|
+
result = self._values.get("cross_zone_enabled")
|
|
19266
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
19267
|
+
|
|
18975
19268
|
@builtins.property
|
|
18976
19269
|
def deletion_protection(self) -> typing.Optional[builtins.bool]:
|
|
18977
19270
|
'''Indicates whether deletion protection is enabled.
|
|
@@ -18981,6 +19274,15 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18981
19274
|
result = self._values.get("deletion_protection")
|
|
18982
19275
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
18983
19276
|
|
|
19277
|
+
@builtins.property
|
|
19278
|
+
def deny_all_igw_traffic(self) -> typing.Optional[builtins.bool]:
|
|
19279
|
+
'''Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW).
|
|
19280
|
+
|
|
19281
|
+
:default: - false for internet-facing load balancers and true for internal load balancers
|
|
19282
|
+
'''
|
|
19283
|
+
result = self._values.get("deny_all_igw_traffic")
|
|
19284
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
19285
|
+
|
|
18984
19286
|
@builtins.property
|
|
18985
19287
|
def internet_facing(self) -> typing.Optional[builtins.bool]:
|
|
18986
19288
|
'''Whether the load balancer has an internet-routable address.
|
|
@@ -19008,6 +19310,17 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
19008
19310
|
result = self._values.get("vpc_subnets")
|
|
19009
19311
|
return typing.cast(typing.Optional[_SubnetSelection_e57d76df], result)
|
|
19010
19312
|
|
|
19313
|
+
@builtins.property
|
|
19314
|
+
def client_keep_alive(self) -> typing.Optional[_Duration_4839e8c3]:
|
|
19315
|
+
'''The client keep alive duration.
|
|
19316
|
+
|
|
19317
|
+
The valid range is 60 to 604800 seconds (1 minute to 7 days).
|
|
19318
|
+
|
|
19319
|
+
:default: - Duration.seconds(3600)
|
|
19320
|
+
'''
|
|
19321
|
+
result = self._values.get("client_keep_alive")
|
|
19322
|
+
return typing.cast(typing.Optional[_Duration_4839e8c3], result)
|
|
19323
|
+
|
|
19011
19324
|
@builtins.property
|
|
19012
19325
|
def desync_mitigation_mode(self) -> typing.Optional[DesyncMitigationMode]:
|
|
19013
19326
|
'''Determines how the load balancer handles requests that might pose a security risk to your application.
|
|
@@ -19134,20 +19447,15 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
|
|
|
19134
19447
|
# vpc: ec2.Vpc
|
|
19135
19448
|
|
|
19136
19449
|
|
|
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",
|
|
19450
|
+
tg = elbv2.ApplicationTargetGroup(self, "TG",
|
|
19451
|
+
target_type=elbv2.TargetType.IP,
|
|
19452
|
+
port=50051,
|
|
19453
|
+
protocol=elbv2.ApplicationProtocol.HTTP,
|
|
19454
|
+
protocol_version=elbv2.ApplicationProtocolVersion.GRPC,
|
|
19455
|
+
health_check=elbv2.HealthCheck(
|
|
19456
|
+
enabled=True,
|
|
19457
|
+
healthy_grpc_codes="0-99"
|
|
19458
|
+
),
|
|
19151
19459
|
vpc=vpc
|
|
19152
19460
|
)
|
|
19153
19461
|
'''
|
|
@@ -20973,6 +21281,7 @@ class ApplicationLoadBalancer(
|
|
|
20973
21281
|
scope: _constructs_77d1e7e8.Construct,
|
|
20974
21282
|
id: builtins.str,
|
|
20975
21283
|
*,
|
|
21284
|
+
client_keep_alive: typing.Optional[_Duration_4839e8c3] = None,
|
|
20976
21285
|
desync_mitigation_mode: typing.Optional[DesyncMitigationMode] = None,
|
|
20977
21286
|
drop_invalid_header_fields: typing.Optional[builtins.bool] = None,
|
|
20978
21287
|
http2_enabled: typing.Optional[builtins.bool] = None,
|
|
@@ -20980,7 +21289,9 @@ class ApplicationLoadBalancer(
|
|
|
20980
21289
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
20981
21290
|
security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
|
|
20982
21291
|
vpc: _IVpc_f30d5663,
|
|
21292
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
20983
21293
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
21294
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
20984
21295
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
20985
21296
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
20986
21297
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -20988,6 +21299,7 @@ class ApplicationLoadBalancer(
|
|
|
20988
21299
|
'''
|
|
20989
21300
|
:param scope: -
|
|
20990
21301
|
:param id: -
|
|
21302
|
+
: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
21303
|
:param desync_mitigation_mode: Determines how the load balancer handles requests that might pose a security risk to your application. Default: DesyncMitigationMode.DEFENSIVE
|
|
20992
21304
|
: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
21305
|
:param http2_enabled: Indicates whether HTTP/2 is enabled. Default: true
|
|
@@ -20995,7 +21307,9 @@ class ApplicationLoadBalancer(
|
|
|
20995
21307
|
:param ip_address_type: The type of IP addresses to use. Default: IpAddressType.IPV4
|
|
20996
21308
|
:param security_group: Security group to associate with this load balancer. Default: A security group is created
|
|
20997
21309
|
:param vpc: The VPC network to place the load balancer in.
|
|
21310
|
+
: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
21311
|
:param deletion_protection: Indicates whether deletion protection is enabled. Default: false
|
|
21312
|
+
: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
21313
|
:param internet_facing: Whether the load balancer has an internet-routable address. Default: false
|
|
21000
21314
|
:param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
|
|
21001
21315
|
:param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
|
|
@@ -21005,6 +21319,7 @@ class ApplicationLoadBalancer(
|
|
|
21005
21319
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
21006
21320
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
21007
21321
|
props = ApplicationLoadBalancerProps(
|
|
21322
|
+
client_keep_alive=client_keep_alive,
|
|
21008
21323
|
desync_mitigation_mode=desync_mitigation_mode,
|
|
21009
21324
|
drop_invalid_header_fields=drop_invalid_header_fields,
|
|
21010
21325
|
http2_enabled=http2_enabled,
|
|
@@ -21012,7 +21327,9 @@ class ApplicationLoadBalancer(
|
|
|
21012
21327
|
ip_address_type=ip_address_type,
|
|
21013
21328
|
security_group=security_group,
|
|
21014
21329
|
vpc=vpc,
|
|
21330
|
+
cross_zone_enabled=cross_zone_enabled,
|
|
21015
21331
|
deletion_protection=deletion_protection,
|
|
21332
|
+
deny_all_igw_traffic=deny_all_igw_traffic,
|
|
21016
21333
|
internet_facing=internet_facing,
|
|
21017
21334
|
load_balancer_name=load_balancer_name,
|
|
21018
21335
|
vpc_subnets=vpc_subnets,
|
|
@@ -21165,6 +21482,26 @@ class ApplicationLoadBalancer(
|
|
|
21165
21482
|
check_type(argname="argument security_group", value=security_group, expected_type=type_hints["security_group"])
|
|
21166
21483
|
return typing.cast(None, jsii.invoke(self, "addSecurityGroup", [security_group]))
|
|
21167
21484
|
|
|
21485
|
+
@jsii.member(jsii_name="logAccessLogs")
|
|
21486
|
+
def log_access_logs(
|
|
21487
|
+
self,
|
|
21488
|
+
bucket: _IBucket_42e086fd,
|
|
21489
|
+
prefix: typing.Optional[builtins.str] = None,
|
|
21490
|
+
) -> None:
|
|
21491
|
+
'''Enable access logging for this load balancer.
|
|
21492
|
+
|
|
21493
|
+
A region must be specified on the stack containing the load balancer; you cannot enable logging on
|
|
21494
|
+
environment-agnostic stacks. See https://docs.aws.amazon.com/cdk/latest/guide/environments.html
|
|
21495
|
+
|
|
21496
|
+
:param bucket: -
|
|
21497
|
+
:param prefix: -
|
|
21498
|
+
'''
|
|
21499
|
+
if __debug__:
|
|
21500
|
+
type_hints = typing.get_type_hints(_typecheckingstub__14e58136aa424614ad3deed70de619716d36a85a2336e0d16a5d5e3edc8431cd)
|
|
21501
|
+
check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
|
|
21502
|
+
check_type(argname="argument prefix", value=prefix, expected_type=type_hints["prefix"])
|
|
21503
|
+
return typing.cast(None, jsii.invoke(self, "logAccessLogs", [bucket, prefix]))
|
|
21504
|
+
|
|
21168
21505
|
@jsii.member(jsii_name="metric")
|
|
21169
21506
|
def metric(
|
|
21170
21507
|
self,
|
|
@@ -22910,6 +23247,7 @@ __all__ = [
|
|
|
22910
23247
|
"CfnTrustStoreProps",
|
|
22911
23248
|
"CfnTrustStoreRevocation",
|
|
22912
23249
|
"CfnTrustStoreRevocationProps",
|
|
23250
|
+
"ClientRoutingPolicy",
|
|
22913
23251
|
"DesyncMitigationMode",
|
|
22914
23252
|
"FixedResponseOptions",
|
|
22915
23253
|
"ForwardOptions",
|
|
@@ -23159,7 +23497,9 @@ def _typecheckingstub__c636cf30c7688e65af48df2d228f5c138bd07b3c256c82b3692388fb2
|
|
|
23159
23497
|
def _typecheckingstub__36614588a5e075aa6e7ea0a4d41053b09874f2590b227cd5d62f3429901282f2(
|
|
23160
23498
|
*,
|
|
23161
23499
|
vpc: _IVpc_f30d5663,
|
|
23500
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
23162
23501
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
23502
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
23163
23503
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
23164
23504
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
23165
23505
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -24448,11 +24788,14 @@ def _typecheckingstub__e1c7a4c1332bdc807d1e25aa5d69eea6e1f3bf6a88ddd30dac9a64c93
|
|
|
24448
24788
|
scope: _constructs_77d1e7e8.Construct,
|
|
24449
24789
|
id: builtins.str,
|
|
24450
24790
|
*,
|
|
24451
|
-
|
|
24791
|
+
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
24792
|
+
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
24452
24793
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
24453
24794
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
24454
24795
|
vpc: _IVpc_f30d5663,
|
|
24796
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
24455
24797
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
24798
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
24456
24799
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
24457
24800
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
24458
24801
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -24540,11 +24883,14 @@ def _typecheckingstub__d4dc8b446f6caacf313a46c99f00148ea8982b0018d14d0f1d5004245
|
|
|
24540
24883
|
def _typecheckingstub__195ab659ca9cd1c401d6d2d1a1f5cb0aaf7dd80f06dbc724020ac0cc391d75da(
|
|
24541
24884
|
*,
|
|
24542
24885
|
vpc: _IVpc_f30d5663,
|
|
24886
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
24543
24887
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
24888
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
24544
24889
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
24545
24890
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
24546
24891
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
24547
|
-
|
|
24892
|
+
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
24893
|
+
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
24548
24894
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
24549
24895
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
24550
24896
|
) -> None:
|
|
@@ -24724,10 +25070,13 @@ def _typecheckingstub__5e4d185ab2bd554850b96481b3fbdc7ee1a86c97629f1b0fd835c6f72
|
|
|
24724
25070
|
def _typecheckingstub__e43cf75024913d9be0d5d621a5f2c2c7be60a57898a54967cd54179b2b3d1584(
|
|
24725
25071
|
*,
|
|
24726
25072
|
vpc: _IVpc_f30d5663,
|
|
25073
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
24727
25074
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
25075
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
24728
25076
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
24729
25077
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
24730
25078
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
25079
|
+
client_keep_alive: typing.Optional[_Duration_4839e8c3] = None,
|
|
24731
25080
|
desync_mitigation_mode: typing.Optional[DesyncMitigationMode] = None,
|
|
24732
25081
|
drop_invalid_header_fields: typing.Optional[builtins.bool] = None,
|
|
24733
25082
|
http2_enabled: typing.Optional[builtins.bool] = None,
|
|
@@ -25077,6 +25426,7 @@ def _typecheckingstub__22d249b6cdbe3ce0dfc1a873ef276c65fe89ce6a5dba0603fae0a5755
|
|
|
25077
25426
|
scope: _constructs_77d1e7e8.Construct,
|
|
25078
25427
|
id: builtins.str,
|
|
25079
25428
|
*,
|
|
25429
|
+
client_keep_alive: typing.Optional[_Duration_4839e8c3] = None,
|
|
25080
25430
|
desync_mitigation_mode: typing.Optional[DesyncMitigationMode] = None,
|
|
25081
25431
|
drop_invalid_header_fields: typing.Optional[builtins.bool] = None,
|
|
25082
25432
|
http2_enabled: typing.Optional[builtins.bool] = None,
|
|
@@ -25084,7 +25434,9 @@ def _typecheckingstub__22d249b6cdbe3ce0dfc1a873ef276c65fe89ce6a5dba0603fae0a5755
|
|
|
25084
25434
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
25085
25435
|
security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
|
|
25086
25436
|
vpc: _IVpc_f30d5663,
|
|
25437
|
+
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
25087
25438
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
25439
|
+
deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
|
|
25088
25440
|
internet_facing: typing.Optional[builtins.bool] = None,
|
|
25089
25441
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
25090
25442
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -25136,6 +25488,13 @@ def _typecheckingstub__57e7fd3d637561416b99cc18ce93e12b3ff0fd16aa199643bcfdcb4f3
|
|
|
25136
25488
|
"""Type checking stubs"""
|
|
25137
25489
|
pass
|
|
25138
25490
|
|
|
25491
|
+
def _typecheckingstub__14e58136aa424614ad3deed70de619716d36a85a2336e0d16a5d5e3edc8431cd(
|
|
25492
|
+
bucket: _IBucket_42e086fd,
|
|
25493
|
+
prefix: typing.Optional[builtins.str] = None,
|
|
25494
|
+
) -> None:
|
|
25495
|
+
"""Type checking stubs"""
|
|
25496
|
+
pass
|
|
25497
|
+
|
|
25139
25498
|
def _typecheckingstub__062c936e075fbff0552978e79ddc8d8cb01378ba1804b2546d14bd0383a824a0(
|
|
25140
25499
|
metric_name: builtins.str,
|
|
25141
25500
|
*,
|