aws-cdk-lib 2.152.0__py3-none-any.whl → 2.154.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 +157 -215
- aws_cdk/_jsii/__init__.py +2 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.152.0.jsii.tgz → aws-cdk-lib@2.154.0.jsii.tgz} +0 -0
- aws_cdk/alexa_ask/__init__.py +3 -3
- aws_cdk/aws_accessanalyzer/__init__.py +5 -5
- aws_cdk/aws_acmpca/__init__.py +79 -24
- aws_cdk/aws_amazonmq/__init__.py +161 -161
- aws_cdk/aws_amplify/__init__.py +36 -36
- aws_cdk/aws_amplifyuibuilder/__init__.py +32 -32
- aws_cdk/aws_apigateway/__init__.py +122 -122
- aws_cdk/aws_apigatewayv2/__init__.py +135 -121
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +12 -12
- aws_cdk/aws_appconfig/__init__.py +59 -59
- aws_cdk/aws_appflow/__init__.py +20 -20
- aws_cdk/aws_appintegrations/__init__.py +19 -19
- aws_cdk/aws_applicationautoscaling/__init__.py +31 -16
- aws_cdk/aws_applicationinsights/__init__.py +11 -11
- aws_cdk/aws_applicationsignals/__init__.py +5 -5
- aws_cdk/aws_appmesh/__init__.py +35 -35
- aws_cdk/aws_apprunner/__init__.py +25 -25
- aws_cdk/aws_appstream/__init__.py +105 -105
- aws_cdk/aws_appsync/__init__.py +89 -89
- aws_cdk/aws_apptest/__init__.py +25 -25
- aws_cdk/aws_aps/__init__.py +14 -14
- aws_cdk/aws_arczonalshift/__init__.py +200 -3
- aws_cdk/aws_athena/__init__.py +25 -25
- aws_cdk/aws_auditmanager/__init__.py +15 -15
- aws_cdk/aws_autoscaling/__init__.py +84 -84
- aws_cdk/aws_autoscalingplans/__init__.py +2 -2
- aws_cdk/aws_b2bi/__init__.py +24 -24
- aws_cdk/aws_backup/__init__.py +33 -33
- aws_cdk/aws_backupgateway/__init__.py +7 -7
- aws_cdk/aws_batch/__init__.py +289 -35
- aws_cdk/aws_bcmdataexports/__init__.py +2 -2
- aws_cdk/aws_bedrock/__init__.py +13239 -3277
- aws_cdk/aws_billingconductor/__init__.py +28 -28
- aws_cdk/aws_budgets/__init__.py +12 -12
- aws_cdk/aws_cassandra/__init__.py +16 -16
- aws_cdk/aws_ce/__init__.py +17 -17
- aws_cdk/aws_certificatemanager/__init__.py +9 -9
- aws_cdk/aws_chatbot/__init__.py +22 -22
- aws_cdk/aws_cleanrooms/__init__.py +2470 -307
- aws_cdk/aws_cleanroomsml/__init__.py +5 -5
- aws_cdk/aws_cloud9/__init__.py +10 -10
- aws_cdk/aws_cloudformation/__init__.py +94 -69
- aws_cdk/aws_cloudfront/__init__.py +31 -30
- aws_cdk/aws_cloudfront/experimental/__init__.py +23 -0
- aws_cdk/aws_cloudtrail/__init__.py +46 -44
- aws_cdk/aws_cloudwatch/__init__.py +61 -69
- aws_cdk/aws_codeartifact/__init__.py +19 -19
- aws_cdk/aws_codebuild/__init__.py +60 -68
- aws_cdk/aws_codecommit/__init__.py +10 -6
- aws_cdk/aws_codeconnections/__init__.py +5 -5
- aws_cdk/aws_codedeploy/__init__.py +28 -28
- aws_cdk/aws_codeguruprofiler/__init__.py +5 -5
- aws_cdk/aws_codegurureviewer/__init__.py +6 -6
- aws_cdk/aws_codepipeline/__init__.py +849 -52
- aws_cdk/aws_codepipeline_actions/__init__.py +1 -1
- aws_cdk/aws_codestar/__init__.py +8 -8
- aws_cdk/aws_codestarconnections/__init__.py +17 -17
- aws_cdk/aws_codestarnotifications/__init__.py +10 -10
- aws_cdk/aws_cognito/__init__.py +465 -133
- aws_cdk/aws_comprehend/__init__.py +20 -20
- aws_cdk/aws_config/__init__.py +67 -67
- aws_cdk/aws_connect/__init__.py +139 -137
- aws_cdk/aws_connectcampaigns/__init__.py +5 -5
- aws_cdk/aws_controltower/__init__.py +12 -12
- aws_cdk/aws_cur/__init__.py +12 -12
- aws_cdk/aws_customerprofiles/__init__.py +36 -36
- aws_cdk/aws_databrew/__init__.py +45 -45
- aws_cdk/aws_datapipeline/__init__.py +12 -8
- aws_cdk/aws_datasync/__init__.py +119 -117
- aws_cdk/aws_datazone/__init__.py +63 -63
- aws_cdk/aws_dax/__init__.py +20 -20
- aws_cdk/aws_deadline/__init__.py +221 -292
- aws_cdk/aws_detective/__init__.py +8 -8
- aws_cdk/aws_devicefarm/__init__.py +37 -37
- aws_cdk/aws_devopsguru/__init__.py +2 -2
- aws_cdk/aws_directoryservice/__init__.py +15 -15
- aws_cdk/aws_dlm/__init__.py +12 -12
- aws_cdk/aws_dms/__init__.py +300 -298
- aws_cdk/aws_docdb/__init__.py +49 -49
- aws_cdk/aws_docdbelastic/__init__.py +14 -14
- aws_cdk/aws_dynamodb/__init__.py +371 -37
- aws_cdk/aws_ec2/__init__.py +900 -606
- aws_cdk/aws_ecr/__init__.py +117 -77
- aws_cdk/aws_ecr_assets/__init__.py +4 -4
- aws_cdk/aws_ecs/__init__.py +190 -191
- aws_cdk/aws_ecs_patterns/__init__.py +2 -2
- aws_cdk/aws_efs/__init__.py +22 -22
- aws_cdk/aws_eks/__init__.py +177 -61
- aws_cdk/aws_elasticache/__init__.py +218 -226
- aws_cdk/aws_elasticbeanstalk/__init__.py +25 -25
- aws_cdk/aws_elasticloadbalancing/__init__.py +16 -16
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +1066 -102
- aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +86 -4
- aws_cdk/aws_elasticsearch/__init__.py +16 -16
- aws_cdk/aws_emr/__init__.py +74 -74
- aws_cdk/aws_emrcontainers/__init__.py +3 -3
- aws_cdk/aws_emrserverless/__init__.py +157 -14
- aws_cdk/aws_entityresolution/__init__.py +613 -35
- aws_cdk/aws_events/__init__.py +42 -42
- aws_cdk/aws_eventschemas/__init__.py +16 -16
- aws_cdk/aws_evidently/__init__.py +38 -38
- aws_cdk/aws_finspace/__init__.py +8 -8
- aws_cdk/aws_fis/__init__.py +12 -12
- aws_cdk/aws_fms/__init__.py +21 -21
- aws_cdk/aws_forecast/__init__.py +18 -11
- aws_cdk/aws_frauddetector/__init__.py +35 -35
- aws_cdk/aws_fsx/__init__.py +35 -35
- aws_cdk/aws_gamelift/__init__.py +103 -103
- aws_cdk/aws_globalaccelerator/__init__.py +46 -24
- aws_cdk/aws_glue/__init__.py +132 -139
- aws_cdk/aws_grafana/__init__.py +17 -17
- aws_cdk/aws_greengrass/__init__.py +48 -48
- aws_cdk/aws_greengrassv2/__init__.py +10 -10
- aws_cdk/aws_groundstation/__init__.py +16 -16
- aws_cdk/aws_guardduty/__init__.py +40 -38
- aws_cdk/aws_healthimaging/__init__.py +3 -3
- aws_cdk/aws_healthlake/__init__.py +6 -6
- aws_cdk/aws_iam/__init__.py +120 -122
- aws_cdk/aws_identitystore/__init__.py +6 -6
- aws_cdk/aws_imagebuilder/__init__.py +92 -92
- aws_cdk/aws_inspector/__init__.py +8 -8
- aws_cdk/aws_inspectorv2/__init__.py +102 -97
- aws_cdk/aws_internetmonitor/__init__.py +12 -12
- aws_cdk/aws_iot/__init__.py +141 -141
- aws_cdk/aws_iot1click/__init__.py +9 -9
- aws_cdk/aws_iotanalytics/__init__.py +21 -21
- aws_cdk/aws_iotcoredeviceadvisor/__init__.py +2 -2
- aws_cdk/aws_iotevents/__init__.py +20 -20
- aws_cdk/aws_iotfleethub/__init__.py +4 -4
- aws_cdk/aws_iotfleetwise/__init__.py +45 -45
- aws_cdk/aws_iotsitewise/__init__.py +40 -40
- aws_cdk/aws_iotthingsgraph/__init__.py +2 -2
- aws_cdk/aws_iottwinmaker/__init__.py +34 -34
- aws_cdk/aws_iotwireless/__init__.py +66 -66
- aws_cdk/aws_ivs/__init__.py +32 -32
- aws_cdk/aws_ivschat/__init__.py +9 -9
- aws_cdk/aws_kafkaconnect/__init__.py +22 -22
- aws_cdk/aws_kendra/__init__.py +28 -28
- aws_cdk/aws_kendraranking/__init__.py +4 -4
- aws_cdk/aws_kinesis/__init__.py +8 -8
- aws_cdk/aws_kinesisanalytics/__init__.py +23 -23
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +15 -15
- aws_cdk/aws_kinesisfirehose/__init__.py +677 -18
- aws_cdk/aws_kinesisvideo/__init__.py +10 -10
- aws_cdk/aws_kms/__init__.py +20 -20
- aws_cdk/aws_lakeformation/__init__.py +36 -36
- aws_cdk/aws_lambda/__init__.py +435 -227
- aws_cdk/aws_lambda_nodejs/__init__.py +23 -0
- aws_cdk/aws_launchwizard/__init__.py +508 -0
- aws_cdk/aws_lex/__init__.py +24 -24
- aws_cdk/aws_licensemanager/__init__.py +17 -17
- aws_cdk/aws_lightsail/__init__.py +90 -90
- aws_cdk/aws_location/__init__.py +41 -41
- aws_cdk/aws_logs/__init__.py +50 -50
- aws_cdk/aws_lookoutequipment/__init__.py +9 -9
- aws_cdk/aws_lookoutmetrics/__init__.py +10 -10
- aws_cdk/aws_lookoutvision/__init__.py +1 -1
- aws_cdk/aws_m2/__init__.py +20 -20
- aws_cdk/aws_macie/__init__.py +19 -19
- aws_cdk/aws_managedblockchain/__init__.py +10 -10
- aws_cdk/aws_mediaconnect/__init__.py +114 -77
- aws_cdk/aws_mediaconvert/__init__.py +20 -20
- aws_cdk/aws_medialive/__init__.py +44 -76
- aws_cdk/aws_mediapackage/__init__.py +38 -38
- aws_cdk/aws_mediapackagev2/__init__.py +178 -25
- aws_cdk/aws_mediastore/__init__.py +7 -7
- aws_cdk/aws_mediatailor/__init__.py +40 -40
- aws_cdk/aws_memorydb/__init__.py +41 -41
- aws_cdk/aws_msk/__init__.py +39 -39
- aws_cdk/aws_mwaa/__init__.py +25 -25
- aws_cdk/aws_neptune/__init__.py +55 -55
- aws_cdk/aws_neptunegraph/__init__.py +11 -11
- aws_cdk/aws_networkfirewall/__init__.py +36 -30
- aws_cdk/aws_networkmanager/__init__.py +1062 -91
- aws_cdk/aws_nimblestudio/__init__.py +31 -31
- aws_cdk/aws_oam/__init__.py +8 -8
- aws_cdk/aws_omics/__init__.py +36 -36
- aws_cdk/aws_opensearchserverless/__init__.py +25 -25
- aws_cdk/aws_opensearchservice/__init__.py +20 -20
- aws_cdk/aws_opsworks/__init__.py +87 -87
- aws_cdk/aws_opsworkscm/__init__.py +21 -21
- aws_cdk/aws_organizations/__init__.py +17 -17
- aws_cdk/aws_osis/__init__.py +122 -9
- aws_cdk/aws_panorama/__init__.py +27 -22
- aws_cdk/aws_paymentcryptography/__init__.py +7 -7
- aws_cdk/aws_pcaconnectorad/__init__.py +17 -17
- aws_cdk/aws_personalize/__init__.py +19 -19
- aws_cdk/aws_pinpoint/__init__.py +122 -122
- aws_cdk/aws_pinpointemail/__init__.py +16 -16
- aws_cdk/aws_pipes/__init__.py +14 -16
- aws_cdk/aws_proton/__init__.py +19 -19
- aws_cdk/aws_qbusiness/__init__.py +160 -45
- aws_cdk/aws_qldb/__init__.py +12 -12
- aws_cdk/aws_quicksight/__init__.py +91 -91
- aws_cdk/aws_ram/__init__.py +11 -11
- aws_cdk/aws_rds/__init__.py +365 -259
- aws_cdk/aws_redshift/__init__.py +136 -91
- aws_cdk/aws_redshiftserverless/__init__.py +27 -27
- aws_cdk/aws_refactorspaces/__init__.py +26 -26
- aws_cdk/aws_rekognition/__init__.py +16 -16
- aws_cdk/aws_resiliencehub/__init__.py +15 -15
- aws_cdk/aws_resourceexplorer2/__init__.py +8 -8
- aws_cdk/aws_resourcegroups/__init__.py +6 -6
- aws_cdk/aws_robomaker/__init__.py +25 -25
- aws_cdk/aws_rolesanywhere/__init__.py +67 -19
- aws_cdk/aws_route53/__init__.py +36 -36
- aws_cdk/aws_route53profiles/__init__.py +11 -11
- aws_cdk/aws_route53recoverycontrol/__init__.py +14 -14
- aws_cdk/aws_route53recoveryreadiness/__init__.py +13 -13
- aws_cdk/aws_route53resolver/__init__.py +123 -82
- aws_cdk/aws_rum/__init__.py +6 -6
- aws_cdk/aws_s3/__init__.py +136 -80
- aws_cdk/aws_s3_deployment/__init__.py +30 -24
- aws_cdk/aws_s3_notifications/__init__.py +3 -4
- aws_cdk/aws_s3express/__init__.py +5 -5
- aws_cdk/aws_s3objectlambda/__init__.py +6 -6
- aws_cdk/aws_s3outposts/__init__.py +16 -16
- aws_cdk/aws_sagemaker/__init__.py +2412 -280
- aws_cdk/aws_sam/__init__.py +101 -101
- aws_cdk/aws_scheduler/__init__.py +13 -13
- aws_cdk/aws_sdb/__init__.py +1 -1
- aws_cdk/aws_secretsmanager/__init__.py +20 -19
- aws_cdk/aws_securityhub/__init__.py +70 -57
- aws_cdk/aws_securitylake/__init__.py +341 -16
- aws_cdk/aws_servicecatalog/__init__.py +87 -87
- aws_cdk/aws_servicecatalogappregistry/__init__.py +12 -12
- aws_cdk/aws_servicediscovery/__init__.py +23 -23
- aws_cdk/aws_ses/__init__.py +12038 -5604
- aws_cdk/aws_shield/__init__.py +15 -15
- aws_cdk/aws_signer/__init__.py +9 -9
- aws_cdk/aws_simspaceweaver/__init__.py +5 -5
- aws_cdk/aws_sns/__init__.py +28 -28
- aws_cdk/aws_sqs/__init__.py +20 -20
- aws_cdk/aws_ssm/__init__.py +172 -101
- aws_cdk/aws_ssmcontacts/__init__.py +18 -18
- aws_cdk/aws_ssmincidents/__init__.py +11 -11
- aws_cdk/aws_sso/__init__.py +31 -31
- aws_cdk/aws_stepfunctions/__init__.py +370 -28
- aws_cdk/aws_supportapp/__init__.py +11 -11
- aws_cdk/aws_synthetics/__init__.py +18 -18
- aws_cdk/aws_systemsmanagersap/__init__.py +48 -7
- aws_cdk/aws_timestream/__init__.py +34 -34
- aws_cdk/aws_transfer/__init__.py +57 -57
- aws_cdk/aws_verifiedpermissions/__init__.py +11 -11
- aws_cdk/aws_voiceid/__init__.py +4 -4
- aws_cdk/aws_vpclattice/__init__.py +42 -42
- aws_cdk/aws_waf/__init__.py +17 -17
- aws_cdk/aws_wafregional/__init__.py +28 -28
- aws_cdk/aws_wafv2/__init__.py +39 -39
- aws_cdk/aws_wisdom/__init__.py +16 -16
- aws_cdk/aws_workspaces/__init__.py +18 -18
- aws_cdk/aws_workspacesthinclient/__init__.py +63 -9
- aws_cdk/aws_workspacesweb/__init__.py +87 -46
- aws_cdk/aws_xray/__init__.py +12 -12
- aws_cdk/cloud_assembly_schema/__init__.py +348 -239
- aws_cdk/custom_resources/__init__.py +283 -0
- aws_cdk/cx_api/__init__.py +15 -15
- aws_cdk/pipelines/__init__.py +172 -237
- aws_cdk/triggers/__init__.py +23 -0
- {aws_cdk_lib-2.152.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/METADATA +3 -2
- aws_cdk_lib-2.154.0.dist-info/RECORD +292 -0
- aws_cdk_lib-2.152.0.dist-info/RECORD +0 -291
- {aws_cdk_lib-2.152.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.152.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.152.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.152.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/top_level.txt +0 -0
|
@@ -272,6 +272,23 @@ lb = elbv2.ApplicationLoadBalancer(self, "LB", vpc=vpc)
|
|
|
272
272
|
lb.log_access_logs(bucket)
|
|
273
273
|
```
|
|
274
274
|
|
|
275
|
+
### Setting up Connection Log Bucket on Application Load Balancer
|
|
276
|
+
|
|
277
|
+
Like access log bucket, the only server-side encryption option that's supported is Amazon S3-managed keys (SSE-S3). For more information
|
|
278
|
+
Documentation: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-connection-logging.html
|
|
279
|
+
|
|
280
|
+
```python
|
|
281
|
+
# vpc: ec2.Vpc
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
bucket = s3.Bucket(self, "ALBConnectionLogsBucket",
|
|
285
|
+
encryption=s3.BucketEncryption.S3_MANAGED
|
|
286
|
+
)
|
|
287
|
+
|
|
288
|
+
lb = elbv2.ApplicationLoadBalancer(self, "LB", vpc=vpc)
|
|
289
|
+
lb.log_connection_logs(bucket)
|
|
290
|
+
```
|
|
291
|
+
|
|
275
292
|
## Defining a Network Load Balancer
|
|
276
293
|
|
|
277
294
|
Network Load Balancers are defined in a similar way to Application Load
|
|
@@ -552,7 +569,7 @@ nlb = elbv2.NetworkLoadBalancer(self, "Nlb",
|
|
|
552
569
|
listener = nlb.add_listener("listener", port=80)
|
|
553
570
|
|
|
554
571
|
listener.add_targets("Targets",
|
|
555
|
-
targets=[targets.
|
|
572
|
+
targets=[targets.AlbListenerTarget(svc.listener)],
|
|
556
573
|
port=80
|
|
557
574
|
)
|
|
558
575
|
|
|
@@ -819,6 +836,59 @@ then you will need to enable the `removeRuleSuffixFromLogicalId: true` property
|
|
|
819
836
|
|
|
820
837
|
`ListenerRule`s have a unique `priority` for a given `Listener`.
|
|
821
838
|
Because the `priority` must be unique, CloudFormation will always fail when creating a new `ListenerRule` to replace the existing one, unless you change the `priority` as well as the logicalId.
|
|
839
|
+
|
|
840
|
+
## Configuring Mutual authentication with TLS in Application Load Balancer
|
|
841
|
+
|
|
842
|
+
You can configure Mutual authentication with TLS (mTLS) for Application Load Balancer.
|
|
843
|
+
|
|
844
|
+
To set mTLS, you must create an instance of `TrustStore` and set it to `ApplicationListener`.
|
|
845
|
+
|
|
846
|
+
For more information, see [Mutual authentication with TLS in Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/mutual-authentication.html)
|
|
847
|
+
|
|
848
|
+
```python
|
|
849
|
+
import aws_cdk.aws_certificatemanager as acm
|
|
850
|
+
|
|
851
|
+
# certificate: acm.Certificate
|
|
852
|
+
# lb: elbv2.ApplicationLoadBalancer
|
|
853
|
+
# bucket: s3.Bucket
|
|
854
|
+
|
|
855
|
+
|
|
856
|
+
trust_store = elbv2.TrustStore(self, "Store",
|
|
857
|
+
bucket=bucket,
|
|
858
|
+
key="rootCA_cert.pem"
|
|
859
|
+
)
|
|
860
|
+
|
|
861
|
+
lb.add_listener("Listener",
|
|
862
|
+
port=443,
|
|
863
|
+
protocol=elbv2.ApplicationProtocol.HTTPS,
|
|
864
|
+
certificates=[certificate],
|
|
865
|
+
# mTLS settings
|
|
866
|
+
mutual_authentication=elbv2.MutualAuthentication(
|
|
867
|
+
ignore_client_certificate_expiry=False,
|
|
868
|
+
mutual_authentication_mode=elbv2.MutualAuthenticationMode.VERIFY,
|
|
869
|
+
trust_store=trust_store
|
|
870
|
+
),
|
|
871
|
+
default_action=elbv2.ListenerAction.fixed_response(200, content_type="text/plain", message_body="Success mTLS")
|
|
872
|
+
)
|
|
873
|
+
```
|
|
874
|
+
|
|
875
|
+
Optionally, you can create a certificate revocation list for a trust store by creating an instance of `TrustStoreRevocation`.
|
|
876
|
+
|
|
877
|
+
```python
|
|
878
|
+
# trust_store: elbv2.TrustStore
|
|
879
|
+
# bucket: s3.Bucket
|
|
880
|
+
|
|
881
|
+
|
|
882
|
+
elbv2.TrustStoreRevocation(self, "Revocation",
|
|
883
|
+
trust_store=trust_store,
|
|
884
|
+
revocation_contents=[elbv2.RevocationContent(
|
|
885
|
+
revocation_type=elbv2.RevocationType.CRL,
|
|
886
|
+
bucket=bucket,
|
|
887
|
+
key="crl.pem"
|
|
888
|
+
)
|
|
889
|
+
]
|
|
890
|
+
)
|
|
891
|
+
```
|
|
822
892
|
'''
|
|
823
893
|
from pkgutil import extend_path
|
|
824
894
|
__path__ = extend_path(__path__, __name__)
|
|
@@ -1803,21 +1873,29 @@ class ApplicationProtocol(enum.Enum):
|
|
|
1803
1873
|
|
|
1804
1874
|
Example::
|
|
1805
1875
|
|
|
1806
|
-
|
|
1807
|
-
# task_definition: ecs.TaskDefinition
|
|
1808
|
-
# vpc: ec2.Vpc
|
|
1876
|
+
import aws_cdk.aws_certificatemanager as acm
|
|
1809
1877
|
|
|
1810
|
-
|
|
1878
|
+
# certificate: acm.Certificate
|
|
1879
|
+
# lb: elbv2.ApplicationLoadBalancer
|
|
1880
|
+
# bucket: s3.Bucket
|
|
1811
1881
|
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1882
|
+
|
|
1883
|
+
trust_store = elbv2.TrustStore(self, "Store",
|
|
1884
|
+
bucket=bucket,
|
|
1885
|
+
key="rootCA_cert.pem"
|
|
1886
|
+
)
|
|
1887
|
+
|
|
1888
|
+
lb.add_listener("Listener",
|
|
1889
|
+
port=443,
|
|
1890
|
+
protocol=elbv2.ApplicationProtocol.HTTPS,
|
|
1891
|
+
certificates=[certificate],
|
|
1892
|
+
# mTLS settings
|
|
1893
|
+
mutual_authentication=elbv2.MutualAuthentication(
|
|
1894
|
+
ignore_client_certificate_expiry=False,
|
|
1895
|
+
mutual_authentication_mode=elbv2.MutualAuthenticationMode.VERIFY,
|
|
1896
|
+
trust_store=trust_store
|
|
1897
|
+
),
|
|
1898
|
+
default_action=elbv2.ListenerAction.fixed_response(200, content_type="text/plain", message_body="Success mTLS")
|
|
1821
1899
|
)
|
|
1822
1900
|
'''
|
|
1823
1901
|
|
|
@@ -2118,6 +2196,7 @@ class AuthenticateOidcOptions:
|
|
|
2118
2196
|
"certificates": "certificates",
|
|
2119
2197
|
"default_action": "defaultAction",
|
|
2120
2198
|
"default_target_groups": "defaultTargetGroups",
|
|
2199
|
+
"mutual_authentication": "mutualAuthentication",
|
|
2121
2200
|
"open": "open",
|
|
2122
2201
|
"port": "port",
|
|
2123
2202
|
"protocol": "protocol",
|
|
@@ -2131,6 +2210,7 @@ class BaseApplicationListenerProps:
|
|
|
2131
2210
|
certificates: typing.Optional[typing.Sequence["IListenerCertificate"]] = None,
|
|
2132
2211
|
default_action: typing.Optional["ListenerAction"] = None,
|
|
2133
2212
|
default_target_groups: typing.Optional[typing.Sequence["IApplicationTargetGroup"]] = None,
|
|
2213
|
+
mutual_authentication: typing.Optional[typing.Union["MutualAuthentication", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2134
2214
|
open: typing.Optional[builtins.bool] = None,
|
|
2135
2215
|
port: typing.Optional[jsii.Number] = None,
|
|
2136
2216
|
protocol: typing.Optional[ApplicationProtocol] = None,
|
|
@@ -2141,6 +2221,7 @@ class BaseApplicationListenerProps:
|
|
|
2141
2221
|
:param certificates: Certificate list of ACM cert ARNs. You must provide exactly one certificate if the listener protocol is HTTPS or TLS. Default: - No certificates.
|
|
2142
2222
|
:param default_action: Default action to take for requests to this listener. This allows full control of the default action of the load balancer, including Action chaining, fixed responses and redirect responses. See the ``ListenerAction`` class for all options. Cannot be specified together with ``defaultTargetGroups``. Default: - None.
|
|
2143
2223
|
:param default_target_groups: Default target groups to load balance to. All target groups will be load balanced to with equal weight and without stickiness. For a more complex configuration than that, use either ``defaultAction`` or ``addAction()``. Cannot be specified together with ``defaultAction``. Default: - None.
|
|
2224
|
+
:param mutual_authentication: The mutual authentication configuration information. Default: - No mutual authentication configuration
|
|
2144
2225
|
:param open: Allow anyone to connect to the load balancer on the listener port. If this is specified, the load balancer will be opened up to anyone who can reach it. For internal load balancers this is anyone in the same VPC. For public load balancers, this is anyone on the internet. If you want to be more selective about who can access this load balancer, set this to ``false`` and use the listener's ``connections`` object to selectively grant access to the load balancer on the listener port. Default: true
|
|
2145
2226
|
:param port: The port on which the listener listens for requests. Default: - Determined from protocol if known.
|
|
2146
2227
|
:param protocol: The protocol to use. Default: - Determined from port if known.
|
|
@@ -2167,11 +2248,14 @@ class BaseApplicationListenerProps:
|
|
|
2167
2248
|
)
|
|
2168
2249
|
)
|
|
2169
2250
|
'''
|
|
2251
|
+
if isinstance(mutual_authentication, dict):
|
|
2252
|
+
mutual_authentication = MutualAuthentication(**mutual_authentication)
|
|
2170
2253
|
if __debug__:
|
|
2171
2254
|
type_hints = typing.get_type_hints(_typecheckingstub__ff235432aa66ab4c299975824b88660e11bc6ea3280f57c10bdfed8573e462c9)
|
|
2172
2255
|
check_type(argname="argument certificates", value=certificates, expected_type=type_hints["certificates"])
|
|
2173
2256
|
check_type(argname="argument default_action", value=default_action, expected_type=type_hints["default_action"])
|
|
2174
2257
|
check_type(argname="argument default_target_groups", value=default_target_groups, expected_type=type_hints["default_target_groups"])
|
|
2258
|
+
check_type(argname="argument mutual_authentication", value=mutual_authentication, expected_type=type_hints["mutual_authentication"])
|
|
2175
2259
|
check_type(argname="argument open", value=open, expected_type=type_hints["open"])
|
|
2176
2260
|
check_type(argname="argument port", value=port, expected_type=type_hints["port"])
|
|
2177
2261
|
check_type(argname="argument protocol", value=protocol, expected_type=type_hints["protocol"])
|
|
@@ -2183,6 +2267,8 @@ class BaseApplicationListenerProps:
|
|
|
2183
2267
|
self._values["default_action"] = default_action
|
|
2184
2268
|
if default_target_groups is not None:
|
|
2185
2269
|
self._values["default_target_groups"] = default_target_groups
|
|
2270
|
+
if mutual_authentication is not None:
|
|
2271
|
+
self._values["mutual_authentication"] = mutual_authentication
|
|
2186
2272
|
if open is not None:
|
|
2187
2273
|
self._values["open"] = open
|
|
2188
2274
|
if port is not None:
|
|
@@ -2236,6 +2322,17 @@ class BaseApplicationListenerProps:
|
|
|
2236
2322
|
result = self._values.get("default_target_groups")
|
|
2237
2323
|
return typing.cast(typing.Optional[typing.List["IApplicationTargetGroup"]], result)
|
|
2238
2324
|
|
|
2325
|
+
@builtins.property
|
|
2326
|
+
def mutual_authentication(self) -> typing.Optional["MutualAuthentication"]:
|
|
2327
|
+
'''The mutual authentication configuration information.
|
|
2328
|
+
|
|
2329
|
+
:default: - No mutual authentication configuration
|
|
2330
|
+
|
|
2331
|
+
:see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/mutual-authentication.html
|
|
2332
|
+
'''
|
|
2333
|
+
result = self._values.get("mutual_authentication")
|
|
2334
|
+
return typing.cast(typing.Optional["MutualAuthentication"], result)
|
|
2335
|
+
|
|
2239
2336
|
@builtins.property
|
|
2240
2337
|
def open(self) -> typing.Optional[builtins.bool]:
|
|
2241
2338
|
'''Allow anyone to connect to the load balancer on the listener port.
|
|
@@ -3465,7 +3562,7 @@ class CfnListener(
|
|
|
3465
3562
|
if __debug__:
|
|
3466
3563
|
type_hints = typing.get_type_hints(_typecheckingstub__76cdfbb7a1d2a5bd763f1708cf99f85437574dfd6404ec3f127712a8f8ab5f19)
|
|
3467
3564
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3468
|
-
jsii.set(self, "defaultActions", value)
|
|
3565
|
+
jsii.set(self, "defaultActions", value) # pyright: ignore[reportArgumentType]
|
|
3469
3566
|
|
|
3470
3567
|
@builtins.property
|
|
3471
3568
|
@jsii.member(jsii_name="loadBalancerArn")
|
|
@@ -3478,7 +3575,7 @@ class CfnListener(
|
|
|
3478
3575
|
if __debug__:
|
|
3479
3576
|
type_hints = typing.get_type_hints(_typecheckingstub__9e1553fcbcd81ece9aef607535935c2ac70117072c75a29e987b9bdd6e2f27ef)
|
|
3480
3577
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3481
|
-
jsii.set(self, "loadBalancerArn", value)
|
|
3578
|
+
jsii.set(self, "loadBalancerArn", value) # pyright: ignore[reportArgumentType]
|
|
3482
3579
|
|
|
3483
3580
|
@builtins.property
|
|
3484
3581
|
@jsii.member(jsii_name="alpnPolicy")
|
|
@@ -3491,7 +3588,7 @@ class CfnListener(
|
|
|
3491
3588
|
if __debug__:
|
|
3492
3589
|
type_hints = typing.get_type_hints(_typecheckingstub__315e0ad319a9a28c97b07c034825d82caf02b6ce33e2fac8892088cd3225ed37)
|
|
3493
3590
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3494
|
-
jsii.set(self, "alpnPolicy", value)
|
|
3591
|
+
jsii.set(self, "alpnPolicy", value) # pyright: ignore[reportArgumentType]
|
|
3495
3592
|
|
|
3496
3593
|
@builtins.property
|
|
3497
3594
|
@jsii.member(jsii_name="certificates")
|
|
@@ -3509,7 +3606,7 @@ class CfnListener(
|
|
|
3509
3606
|
if __debug__:
|
|
3510
3607
|
type_hints = typing.get_type_hints(_typecheckingstub__61f97e9ea7f88d4009c002606c3949415591bdcf9c6178a79e7393f3b502d73e)
|
|
3511
3608
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3512
|
-
jsii.set(self, "certificates", value)
|
|
3609
|
+
jsii.set(self, "certificates", value) # pyright: ignore[reportArgumentType]
|
|
3513
3610
|
|
|
3514
3611
|
@builtins.property
|
|
3515
3612
|
@jsii.member(jsii_name="mutualAuthentication")
|
|
@@ -3527,7 +3624,7 @@ class CfnListener(
|
|
|
3527
3624
|
if __debug__:
|
|
3528
3625
|
type_hints = typing.get_type_hints(_typecheckingstub__e2037bfa810705678f0e924d5416268a866686cb43dd3194eaf57585e0b95ac3)
|
|
3529
3626
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3530
|
-
jsii.set(self, "mutualAuthentication", value)
|
|
3627
|
+
jsii.set(self, "mutualAuthentication", value) # pyright: ignore[reportArgumentType]
|
|
3531
3628
|
|
|
3532
3629
|
@builtins.property
|
|
3533
3630
|
@jsii.member(jsii_name="port")
|
|
@@ -3540,7 +3637,7 @@ class CfnListener(
|
|
|
3540
3637
|
if __debug__:
|
|
3541
3638
|
type_hints = typing.get_type_hints(_typecheckingstub__6b820ec6e8e50b3636af3334a1bded1331b53eaccdc106b52a191013c8d254f4)
|
|
3542
3639
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3543
|
-
jsii.set(self, "port", value)
|
|
3640
|
+
jsii.set(self, "port", value) # pyright: ignore[reportArgumentType]
|
|
3544
3641
|
|
|
3545
3642
|
@builtins.property
|
|
3546
3643
|
@jsii.member(jsii_name="protocol")
|
|
@@ -3553,7 +3650,7 @@ class CfnListener(
|
|
|
3553
3650
|
if __debug__:
|
|
3554
3651
|
type_hints = typing.get_type_hints(_typecheckingstub__e94f2f9141dca7e98cc3bbfd7f9228e6fe04fa5e5461ab23babd49ab98a02887)
|
|
3555
3652
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3556
|
-
jsii.set(self, "protocol", value)
|
|
3653
|
+
jsii.set(self, "protocol", value) # pyright: ignore[reportArgumentType]
|
|
3557
3654
|
|
|
3558
3655
|
@builtins.property
|
|
3559
3656
|
@jsii.member(jsii_name="sslPolicy")
|
|
@@ -3566,7 +3663,7 @@ class CfnListener(
|
|
|
3566
3663
|
if __debug__:
|
|
3567
3664
|
type_hints = typing.get_type_hints(_typecheckingstub__6a4d4e17d27d6eb1fbeff688c8a6d8662f00a037f04bbda99b92a25346810d87)
|
|
3568
3665
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3569
|
-
jsii.set(self, "sslPolicy", value)
|
|
3666
|
+
jsii.set(self, "sslPolicy", value) # pyright: ignore[reportArgumentType]
|
|
3570
3667
|
|
|
3571
3668
|
@jsii.data_type(
|
|
3572
3669
|
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.CfnListener.ActionProperty",
|
|
@@ -5013,7 +5110,7 @@ class CfnListenerCertificate(
|
|
|
5013
5110
|
if __debug__:
|
|
5014
5111
|
type_hints = typing.get_type_hints(_typecheckingstub__ec5ca8f01c291a65cf755d29637c3c74db5a8f3a06639daf262b04cccf5b5093)
|
|
5015
5112
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
5016
|
-
jsii.set(self, "certificates", value)
|
|
5113
|
+
jsii.set(self, "certificates", value) # pyright: ignore[reportArgumentType]
|
|
5017
5114
|
|
|
5018
5115
|
@builtins.property
|
|
5019
5116
|
@jsii.member(jsii_name="listenerArn")
|
|
@@ -5026,7 +5123,7 @@ class CfnListenerCertificate(
|
|
|
5026
5123
|
if __debug__:
|
|
5027
5124
|
type_hints = typing.get_type_hints(_typecheckingstub__f8331362067b1be023583132da34a9d680977b1fae07cc46d2d608ff2cf4bf85)
|
|
5028
5125
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
5029
|
-
jsii.set(self, "listenerArn", value)
|
|
5126
|
+
jsii.set(self, "listenerArn", value) # pyright: ignore[reportArgumentType]
|
|
5030
5127
|
|
|
5031
5128
|
@jsii.data_type(
|
|
5032
5129
|
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.CfnListenerCertificate.CertificateProperty",
|
|
@@ -5648,7 +5745,7 @@ class CfnListenerRule(
|
|
|
5648
5745
|
if __debug__:
|
|
5649
5746
|
type_hints = typing.get_type_hints(_typecheckingstub__df2aeb643d7c2201cae7e74943f83c1a2592f7d4a6899f3c1d92b46883ce278f)
|
|
5650
5747
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
5651
|
-
jsii.set(self, "actions", value)
|
|
5748
|
+
jsii.set(self, "actions", value) # pyright: ignore[reportArgumentType]
|
|
5652
5749
|
|
|
5653
5750
|
@builtins.property
|
|
5654
5751
|
@jsii.member(jsii_name="conditions")
|
|
@@ -5666,7 +5763,7 @@ class CfnListenerRule(
|
|
|
5666
5763
|
if __debug__:
|
|
5667
5764
|
type_hints = typing.get_type_hints(_typecheckingstub__b964f9ab4a6998a9e14a30bc2ab293ac60d748a814503bebf4ee3bd3c2a21ec6)
|
|
5668
5765
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
5669
|
-
jsii.set(self, "conditions", value)
|
|
5766
|
+
jsii.set(self, "conditions", value) # pyright: ignore[reportArgumentType]
|
|
5670
5767
|
|
|
5671
5768
|
@builtins.property
|
|
5672
5769
|
@jsii.member(jsii_name="priority")
|
|
@@ -5682,7 +5779,7 @@ class CfnListenerRule(
|
|
|
5682
5779
|
if __debug__:
|
|
5683
5780
|
type_hints = typing.get_type_hints(_typecheckingstub__ad2ec0aba371a9fd9fe7b43961d981938e552ae6cf69b73a21d00ec69a77c765)
|
|
5684
5781
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
5685
|
-
jsii.set(self, "priority", value)
|
|
5782
|
+
jsii.set(self, "priority", value) # pyright: ignore[reportArgumentType]
|
|
5686
5783
|
|
|
5687
5784
|
@builtins.property
|
|
5688
5785
|
@jsii.member(jsii_name="listenerArn")
|
|
@@ -5695,7 +5792,7 @@ class CfnListenerRule(
|
|
|
5695
5792
|
if __debug__:
|
|
5696
5793
|
type_hints = typing.get_type_hints(_typecheckingstub__5adb80db0269c5891b4a71aef172af30d3d5bd9e5d96d9809336d9aa10169c73)
|
|
5697
5794
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
5698
|
-
jsii.set(self, "listenerArn", value)
|
|
5795
|
+
jsii.set(self, "listenerArn", value) # pyright: ignore[reportArgumentType]
|
|
5699
5796
|
|
|
5700
5797
|
@jsii.data_type(
|
|
5701
5798
|
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.CfnListenerRule.ActionProperty",
|
|
@@ -8002,7 +8099,7 @@ class CfnLoadBalancer(
|
|
|
8002
8099
|
if __debug__:
|
|
8003
8100
|
type_hints = typing.get_type_hints(_typecheckingstub__9e2f8dd6221319a07a0c76c857d5cc7ce8ca39adbe164a2ff756135108b1ca21)
|
|
8004
8101
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8005
|
-
jsii.set(self, "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic", value)
|
|
8102
|
+
jsii.set(self, "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic", value) # pyright: ignore[reportArgumentType]
|
|
8006
8103
|
|
|
8007
8104
|
@builtins.property
|
|
8008
8105
|
@jsii.member(jsii_name="ipAddressType")
|
|
@@ -8015,7 +8112,7 @@ class CfnLoadBalancer(
|
|
|
8015
8112
|
if __debug__:
|
|
8016
8113
|
type_hints = typing.get_type_hints(_typecheckingstub__aa89d4763e09b4dd77b6896bc1e3ca0aec2c737fc1c1fe61ce151075629bca01)
|
|
8017
8114
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8018
|
-
jsii.set(self, "ipAddressType", value)
|
|
8115
|
+
jsii.set(self, "ipAddressType", value) # pyright: ignore[reportArgumentType]
|
|
8019
8116
|
|
|
8020
8117
|
@builtins.property
|
|
8021
8118
|
@jsii.member(jsii_name="loadBalancerAttributes")
|
|
@@ -8033,7 +8130,7 @@ class CfnLoadBalancer(
|
|
|
8033
8130
|
if __debug__:
|
|
8034
8131
|
type_hints = typing.get_type_hints(_typecheckingstub__8b18943454864026c64dd9c2bc7fdaf60ac5114bf771f7304a82e9bdfd652972)
|
|
8035
8132
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8036
|
-
jsii.set(self, "loadBalancerAttributes", value)
|
|
8133
|
+
jsii.set(self, "loadBalancerAttributes", value) # pyright: ignore[reportArgumentType]
|
|
8037
8134
|
|
|
8038
8135
|
@builtins.property
|
|
8039
8136
|
@jsii.member(jsii_name="name")
|
|
@@ -8046,7 +8143,7 @@ class CfnLoadBalancer(
|
|
|
8046
8143
|
if __debug__:
|
|
8047
8144
|
type_hints = typing.get_type_hints(_typecheckingstub__153ca4a32dcbf43c1076bdc45b59a5463ab49120f83591bcbf13f84ce3fffa0e)
|
|
8048
8145
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8049
|
-
jsii.set(self, "name", value)
|
|
8146
|
+
jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
|
|
8050
8147
|
|
|
8051
8148
|
@builtins.property
|
|
8052
8149
|
@jsii.member(jsii_name="scheme")
|
|
@@ -8059,7 +8156,7 @@ class CfnLoadBalancer(
|
|
|
8059
8156
|
if __debug__:
|
|
8060
8157
|
type_hints = typing.get_type_hints(_typecheckingstub__1687b8b0256f0152680ccdd7765d09ba446fa2f418107fa654acecc9353e3004)
|
|
8061
8158
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8062
|
-
jsii.set(self, "scheme", value)
|
|
8159
|
+
jsii.set(self, "scheme", value) # pyright: ignore[reportArgumentType]
|
|
8063
8160
|
|
|
8064
8161
|
@builtins.property
|
|
8065
8162
|
@jsii.member(jsii_name="securityGroups")
|
|
@@ -8075,7 +8172,7 @@ class CfnLoadBalancer(
|
|
|
8075
8172
|
if __debug__:
|
|
8076
8173
|
type_hints = typing.get_type_hints(_typecheckingstub__5d8791289ff10ea19d01f954382cd0a3d17107bbf2096beacab26be77e51e9eb)
|
|
8077
8174
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8078
|
-
jsii.set(self, "securityGroups", value)
|
|
8175
|
+
jsii.set(self, "securityGroups", value) # pyright: ignore[reportArgumentType]
|
|
8079
8176
|
|
|
8080
8177
|
@builtins.property
|
|
8081
8178
|
@jsii.member(jsii_name="subnetMappings")
|
|
@@ -8093,7 +8190,7 @@ class CfnLoadBalancer(
|
|
|
8093
8190
|
if __debug__:
|
|
8094
8191
|
type_hints = typing.get_type_hints(_typecheckingstub__cff330c51e1623c95db837e724e8e3b68ebc69e7bc468d3c1a76a57fce5c8d2b)
|
|
8095
8192
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8096
|
-
jsii.set(self, "subnetMappings", value)
|
|
8193
|
+
jsii.set(self, "subnetMappings", value) # pyright: ignore[reportArgumentType]
|
|
8097
8194
|
|
|
8098
8195
|
@builtins.property
|
|
8099
8196
|
@jsii.member(jsii_name="subnets")
|
|
@@ -8106,7 +8203,7 @@ class CfnLoadBalancer(
|
|
|
8106
8203
|
if __debug__:
|
|
8107
8204
|
type_hints = typing.get_type_hints(_typecheckingstub__fcdf355ef9be0f1ccfbb8e05078c4cfd134f99a8790e8d66078c5b4f6bc85803)
|
|
8108
8205
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8109
|
-
jsii.set(self, "subnets", value)
|
|
8206
|
+
jsii.set(self, "subnets", value) # pyright: ignore[reportArgumentType]
|
|
8110
8207
|
|
|
8111
8208
|
@builtins.property
|
|
8112
8209
|
@jsii.member(jsii_name="tagsRaw")
|
|
@@ -8119,7 +8216,7 @@ class CfnLoadBalancer(
|
|
|
8119
8216
|
if __debug__:
|
|
8120
8217
|
type_hints = typing.get_type_hints(_typecheckingstub__47ca7bdbcee5e90bfb350393a41f7a94fc04dae49bd2406a71f6d865bb6f0068)
|
|
8121
8218
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8122
|
-
jsii.set(self, "tagsRaw", value)
|
|
8219
|
+
jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
|
|
8123
8220
|
|
|
8124
8221
|
@builtins.property
|
|
8125
8222
|
@jsii.member(jsii_name="type")
|
|
@@ -8132,7 +8229,7 @@ class CfnLoadBalancer(
|
|
|
8132
8229
|
if __debug__:
|
|
8133
8230
|
type_hints = typing.get_type_hints(_typecheckingstub__3f97aab40477aaed39ee8981b79b8e7b41a285eae19cb1d0e34b6f44846e303f)
|
|
8134
8231
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8135
|
-
jsii.set(self, "type", value)
|
|
8232
|
+
jsii.set(self, "type", value) # pyright: ignore[reportArgumentType]
|
|
8136
8233
|
|
|
8137
8234
|
@jsii.data_type(
|
|
8138
8235
|
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.CfnLoadBalancer.LoadBalancerAttributeProperty",
|
|
@@ -8846,7 +8943,7 @@ class CfnTargetGroup(
|
|
|
8846
8943
|
if __debug__:
|
|
8847
8944
|
type_hints = typing.get_type_hints(_typecheckingstub__2ff5cc58de04963cc11c975fd400a3b3cedca5c47c26d8c2b0bbde2e86765175)
|
|
8848
8945
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8849
|
-
jsii.set(self, "healthCheckEnabled", value)
|
|
8946
|
+
jsii.set(self, "healthCheckEnabled", value) # pyright: ignore[reportArgumentType]
|
|
8850
8947
|
|
|
8851
8948
|
@builtins.property
|
|
8852
8949
|
@jsii.member(jsii_name="healthCheckIntervalSeconds")
|
|
@@ -8862,7 +8959,7 @@ class CfnTargetGroup(
|
|
|
8862
8959
|
if __debug__:
|
|
8863
8960
|
type_hints = typing.get_type_hints(_typecheckingstub__47d3dc2d677f261b7ed36f7500d60c18c7e8ce2a9668d1280d9d59677ea299c0)
|
|
8864
8961
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8865
|
-
jsii.set(self, "healthCheckIntervalSeconds", value)
|
|
8962
|
+
jsii.set(self, "healthCheckIntervalSeconds", value) # pyright: ignore[reportArgumentType]
|
|
8866
8963
|
|
|
8867
8964
|
@builtins.property
|
|
8868
8965
|
@jsii.member(jsii_name="healthCheckPath")
|
|
@@ -8875,7 +8972,7 @@ class CfnTargetGroup(
|
|
|
8875
8972
|
if __debug__:
|
|
8876
8973
|
type_hints = typing.get_type_hints(_typecheckingstub__2b48a23a63bdffc48348adf6d6bf680e8da5e666d41536a660b9682dc1e68c36)
|
|
8877
8974
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8878
|
-
jsii.set(self, "healthCheckPath", value)
|
|
8975
|
+
jsii.set(self, "healthCheckPath", value) # pyright: ignore[reportArgumentType]
|
|
8879
8976
|
|
|
8880
8977
|
@builtins.property
|
|
8881
8978
|
@jsii.member(jsii_name="healthCheckPort")
|
|
@@ -8888,7 +8985,7 @@ class CfnTargetGroup(
|
|
|
8888
8985
|
if __debug__:
|
|
8889
8986
|
type_hints = typing.get_type_hints(_typecheckingstub__5eb382055802f26c476159879cacfff918b5d21c1202d9d8911cbb376c1fa41c)
|
|
8890
8987
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8891
|
-
jsii.set(self, "healthCheckPort", value)
|
|
8988
|
+
jsii.set(self, "healthCheckPort", value) # pyright: ignore[reportArgumentType]
|
|
8892
8989
|
|
|
8893
8990
|
@builtins.property
|
|
8894
8991
|
@jsii.member(jsii_name="healthCheckProtocol")
|
|
@@ -8901,7 +8998,7 @@ class CfnTargetGroup(
|
|
|
8901
8998
|
if __debug__:
|
|
8902
8999
|
type_hints = typing.get_type_hints(_typecheckingstub__ff99cc0f6ea6287d15d1544a7cdbac13da6350673bcac6fd5c3435d7da206d3d)
|
|
8903
9000
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8904
|
-
jsii.set(self, "healthCheckProtocol", value)
|
|
9001
|
+
jsii.set(self, "healthCheckProtocol", value) # pyright: ignore[reportArgumentType]
|
|
8905
9002
|
|
|
8906
9003
|
@builtins.property
|
|
8907
9004
|
@jsii.member(jsii_name="healthCheckTimeoutSeconds")
|
|
@@ -8914,7 +9011,7 @@ class CfnTargetGroup(
|
|
|
8914
9011
|
if __debug__:
|
|
8915
9012
|
type_hints = typing.get_type_hints(_typecheckingstub__697051a0b94edeacb2cec657341540ab1559c96c3fa3124a4f0e95b706324a5c)
|
|
8916
9013
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8917
|
-
jsii.set(self, "healthCheckTimeoutSeconds", value)
|
|
9014
|
+
jsii.set(self, "healthCheckTimeoutSeconds", value) # pyright: ignore[reportArgumentType]
|
|
8918
9015
|
|
|
8919
9016
|
@builtins.property
|
|
8920
9017
|
@jsii.member(jsii_name="healthyThresholdCount")
|
|
@@ -8927,7 +9024,7 @@ class CfnTargetGroup(
|
|
|
8927
9024
|
if __debug__:
|
|
8928
9025
|
type_hints = typing.get_type_hints(_typecheckingstub__ca78c45b7aff96c23d0e1eb057ca982346db552c0a702378506eaaa9fd9be3ae)
|
|
8929
9026
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8930
|
-
jsii.set(self, "healthyThresholdCount", value)
|
|
9027
|
+
jsii.set(self, "healthyThresholdCount", value) # pyright: ignore[reportArgumentType]
|
|
8931
9028
|
|
|
8932
9029
|
@builtins.property
|
|
8933
9030
|
@jsii.member(jsii_name="ipAddressType")
|
|
@@ -8940,7 +9037,7 @@ class CfnTargetGroup(
|
|
|
8940
9037
|
if __debug__:
|
|
8941
9038
|
type_hints = typing.get_type_hints(_typecheckingstub__55a9ce7d2e172f64fd44f29162f139583855588c7a3f7b3cd51c4cbdf5d217e3)
|
|
8942
9039
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8943
|
-
jsii.set(self, "ipAddressType", value)
|
|
9040
|
+
jsii.set(self, "ipAddressType", value) # pyright: ignore[reportArgumentType]
|
|
8944
9041
|
|
|
8945
9042
|
@builtins.property
|
|
8946
9043
|
@jsii.member(jsii_name="matcher")
|
|
@@ -8958,7 +9055,7 @@ class CfnTargetGroup(
|
|
|
8958
9055
|
if __debug__:
|
|
8959
9056
|
type_hints = typing.get_type_hints(_typecheckingstub__c3f3cfa6dd3413f652c8ceb38e89ededefed98bfd145dbd49b7aabc2a9cdb958)
|
|
8960
9057
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8961
|
-
jsii.set(self, "matcher", value)
|
|
9058
|
+
jsii.set(self, "matcher", value) # pyright: ignore[reportArgumentType]
|
|
8962
9059
|
|
|
8963
9060
|
@builtins.property
|
|
8964
9061
|
@jsii.member(jsii_name="name")
|
|
@@ -8971,7 +9068,7 @@ class CfnTargetGroup(
|
|
|
8971
9068
|
if __debug__:
|
|
8972
9069
|
type_hints = typing.get_type_hints(_typecheckingstub__2c8aa8e76935d05afebffd22774a518671daeecc5747521064a6c9d37098440c)
|
|
8973
9070
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8974
|
-
jsii.set(self, "name", value)
|
|
9071
|
+
jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
|
|
8975
9072
|
|
|
8976
9073
|
@builtins.property
|
|
8977
9074
|
@jsii.member(jsii_name="port")
|
|
@@ -8984,7 +9081,7 @@ class CfnTargetGroup(
|
|
|
8984
9081
|
if __debug__:
|
|
8985
9082
|
type_hints = typing.get_type_hints(_typecheckingstub__0cf86b5c013efabb295c3964fa8bd6419f845793bfea736ddfa9c4375f026ea5)
|
|
8986
9083
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8987
|
-
jsii.set(self, "port", value)
|
|
9084
|
+
jsii.set(self, "port", value) # pyright: ignore[reportArgumentType]
|
|
8988
9085
|
|
|
8989
9086
|
@builtins.property
|
|
8990
9087
|
@jsii.member(jsii_name="protocol")
|
|
@@ -8997,7 +9094,7 @@ class CfnTargetGroup(
|
|
|
8997
9094
|
if __debug__:
|
|
8998
9095
|
type_hints = typing.get_type_hints(_typecheckingstub__ecaaff446324c10b91997abf2370a4348e4318bd647a716835f3a20dc984264b)
|
|
8999
9096
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9000
|
-
jsii.set(self, "protocol", value)
|
|
9097
|
+
jsii.set(self, "protocol", value) # pyright: ignore[reportArgumentType]
|
|
9001
9098
|
|
|
9002
9099
|
@builtins.property
|
|
9003
9100
|
@jsii.member(jsii_name="protocolVersion")
|
|
@@ -9010,7 +9107,7 @@ class CfnTargetGroup(
|
|
|
9010
9107
|
if __debug__:
|
|
9011
9108
|
type_hints = typing.get_type_hints(_typecheckingstub__4550b3fd15081898b70fc7a1f06ad0693dbf7f759f6adf0a0dede0489143735f)
|
|
9012
9109
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9013
|
-
jsii.set(self, "protocolVersion", value)
|
|
9110
|
+
jsii.set(self, "protocolVersion", value) # pyright: ignore[reportArgumentType]
|
|
9014
9111
|
|
|
9015
9112
|
@builtins.property
|
|
9016
9113
|
@jsii.member(jsii_name="tagsRaw")
|
|
@@ -9023,7 +9120,7 @@ class CfnTargetGroup(
|
|
|
9023
9120
|
if __debug__:
|
|
9024
9121
|
type_hints = typing.get_type_hints(_typecheckingstub__65c80be0d3b8ea2ed041d794a354ab02a7e59679072f139341d1a790950529cf)
|
|
9025
9122
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9026
|
-
jsii.set(self, "tagsRaw", value)
|
|
9123
|
+
jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
|
|
9027
9124
|
|
|
9028
9125
|
@builtins.property
|
|
9029
9126
|
@jsii.member(jsii_name="targetGroupAttributes")
|
|
@@ -9041,7 +9138,7 @@ class CfnTargetGroup(
|
|
|
9041
9138
|
if __debug__:
|
|
9042
9139
|
type_hints = typing.get_type_hints(_typecheckingstub__cb73ac6a2765613179f01b40aa0acd1485f4da7aad297231218b43761d098b56)
|
|
9043
9140
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9044
|
-
jsii.set(self, "targetGroupAttributes", value)
|
|
9141
|
+
jsii.set(self, "targetGroupAttributes", value) # pyright: ignore[reportArgumentType]
|
|
9045
9142
|
|
|
9046
9143
|
@builtins.property
|
|
9047
9144
|
@jsii.member(jsii_name="targets")
|
|
@@ -9059,7 +9156,7 @@ class CfnTargetGroup(
|
|
|
9059
9156
|
if __debug__:
|
|
9060
9157
|
type_hints = typing.get_type_hints(_typecheckingstub__f7b91c4bf9dd65200f5a8a19eae6f122c8ba2013d270324ca2d1b69c05b5961b)
|
|
9061
9158
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9062
|
-
jsii.set(self, "targets", value)
|
|
9159
|
+
jsii.set(self, "targets", value) # pyright: ignore[reportArgumentType]
|
|
9063
9160
|
|
|
9064
9161
|
@builtins.property
|
|
9065
9162
|
@jsii.member(jsii_name="targetType")
|
|
@@ -9072,7 +9169,7 @@ class CfnTargetGroup(
|
|
|
9072
9169
|
if __debug__:
|
|
9073
9170
|
type_hints = typing.get_type_hints(_typecheckingstub__3c923ba4a3debe61e9ae74fb69913086bc0edac7a7ed4b91beb3fec8906a0b50)
|
|
9074
9171
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9075
|
-
jsii.set(self, "targetType", value)
|
|
9172
|
+
jsii.set(self, "targetType", value) # pyright: ignore[reportArgumentType]
|
|
9076
9173
|
|
|
9077
9174
|
@builtins.property
|
|
9078
9175
|
@jsii.member(jsii_name="unhealthyThresholdCount")
|
|
@@ -9085,7 +9182,7 @@ class CfnTargetGroup(
|
|
|
9085
9182
|
if __debug__:
|
|
9086
9183
|
type_hints = typing.get_type_hints(_typecheckingstub__36cee0ff74e391bbf22da13d4085b7b4bb8d7faac3518e1501b34cbdd75845b4)
|
|
9087
9184
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9088
|
-
jsii.set(self, "unhealthyThresholdCount", value)
|
|
9185
|
+
jsii.set(self, "unhealthyThresholdCount", value) # pyright: ignore[reportArgumentType]
|
|
9089
9186
|
|
|
9090
9187
|
@builtins.property
|
|
9091
9188
|
@jsii.member(jsii_name="vpcId")
|
|
@@ -9098,7 +9195,7 @@ class CfnTargetGroup(
|
|
|
9098
9195
|
if __debug__:
|
|
9099
9196
|
type_hints = typing.get_type_hints(_typecheckingstub__9c46268f2c625ac14256af2878dd97453fb18ee5391161d4b62e2c22a39267ad)
|
|
9100
9197
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9101
|
-
jsii.set(self, "vpcId", value)
|
|
9198
|
+
jsii.set(self, "vpcId", value) # pyright: ignore[reportArgumentType]
|
|
9102
9199
|
|
|
9103
9200
|
@jsii.data_type(
|
|
9104
9201
|
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.CfnTargetGroup.MatcherProperty",
|
|
@@ -9302,7 +9399,7 @@ class CfnTargetGroup(
|
|
|
9302
9399
|
) -> None:
|
|
9303
9400
|
'''Specifies a target group attribute.
|
|
9304
9401
|
|
|
9305
|
-
:param key: The name of the attribute. The following attributes are supported by all load balancers: - ``deregistration_delay.timeout_seconds`` - The amount of time, in seconds, for Elastic Load Balancing to wait before changing the state of a deregistering target from ``draining`` to ``unused`` . The range is 0-3600 seconds. The default value is 300 seconds. If the target is a Lambda function, this attribute is not supported. - ``stickiness.enabled`` - Indicates whether target stickiness is enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``stickiness.type`` - Indicates the type of stickiness. The possible values are: - ``lb_cookie`` and ``app_cookie`` for Application Load Balancers. - ``source_ip`` for Network Load Balancers. - ``source_ip_dest_ip`` and ``source_ip_dest_ip_proto`` for Gateway Load Balancers. The following attributes are supported by Application Load Balancers and Network Load Balancers: - ``load_balancing.cross_zone.enabled`` - Indicates whether cross zone load balancing is enabled. The value is ``true`` , ``false`` or ``use_load_balancer_configuration`` . The default is ``use_load_balancer_configuration`` . - ``target_group_health.dns_failover.minimum_healthy_targets.count`` - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are ``off`` or an integer from 1 to the maximum number of targets. The default is ``
|
|
9402
|
+
:param key: The name of the attribute. The following attributes are supported by all load balancers: - ``deregistration_delay.timeout_seconds`` - The amount of time, in seconds, for Elastic Load Balancing to wait before changing the state of a deregistering target from ``draining`` to ``unused`` . The range is 0-3600 seconds. The default value is 300 seconds. If the target is a Lambda function, this attribute is not supported. - ``stickiness.enabled`` - Indicates whether target stickiness is enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``stickiness.type`` - Indicates the type of stickiness. The possible values are: - ``lb_cookie`` and ``app_cookie`` for Application Load Balancers. - ``source_ip`` for Network Load Balancers. - ``source_ip_dest_ip`` and ``source_ip_dest_ip_proto`` for Gateway Load Balancers. The following attributes are supported by Application Load Balancers and Network Load Balancers: - ``load_balancing.cross_zone.enabled`` - Indicates whether cross zone load balancing is enabled. The value is ``true`` , ``false`` or ``use_load_balancer_configuration`` . The default is ``use_load_balancer_configuration`` . - ``target_group_health.dns_failover.minimum_healthy_targets.count`` - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are ``off`` or an integer from 1 to the maximum number of targets. The default is ``off`` . - ``target_group_health.dns_failover.minimum_healthy_targets.percentage`` - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are ``off`` or an integer from 1 to 100. The default is ``off`` . - ``target_group_health.unhealthy_state_routing.minimum_healthy_targets.count`` - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are 1 to the maximum number of targets. The default is 1. - ``target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage`` - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are ``off`` or an integer from 1 to 100. The default is ``off`` . The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address: - ``load_balancing.algorithm.type`` - The load balancing algorithm determines how the load balancer selects targets when routing requests. The value is ``round_robin`` , ``least_outstanding_requests`` , or ``weighted_random`` . The default is ``round_robin`` . - ``load_balancing.algorithm.anomaly_mitigation`` - Only available when ``load_balancing.algorithm.type`` is ``weighted_random`` . Indicates whether anomaly mitigation is enabled. The value is ``on`` or ``off`` . The default is ``off`` . - ``slow_start.duration_seconds`` - The time period, in seconds, during which a newly registered target receives an increasing share of the traffic to the target group. After this time period ends, the target receives its full share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 seconds (disabled). - ``stickiness.app_cookie.cookie_name`` - Indicates the name of the application-based cookie. Names that start with the following prefixes are not allowed: ``AWSALB`` , ``AWSALBAPP`` , and ``AWSALBTG`` ; they're reserved for use by the load balancer. - ``stickiness.app_cookie.duration_seconds`` - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the application-based cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). - ``stickiness.lb_cookie.duration_seconds`` - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function: - ``lambda.multi_value_headers.enabled`` - Indicates whether the request and response headers that are exchanged between the load balancer and the Lambda function include arrays of values or strings. The value is ``true`` or ``false`` . The default is ``false`` . If the value is ``false`` and the request contains a duplicate header field name or query parameter key, the load balancer uses the last value sent by the client. The following attributes are supported only by Network Load Balancers: - ``deregistration_delay.connection_termination.enabled`` - Indicates whether the load balancer terminates connections at the end of the deregistration timeout. The value is ``true`` or ``false`` . For new UDP/TCP_UDP target groups the default is ``true`` . Otherwise, the default is ``false`` . - ``preserve_client_ip.enabled`` - Indicates whether client IP preservation is enabled. The value is ``true`` or ``false`` . The default is disabled if the target group type is IP address and the target group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP preservation cannot be disabled for UDP and TCP_UDP target groups. - ``proxy_protocol_v2.enabled`` - Indicates whether Proxy Protocol version 2 is enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``target_health_state.unhealthy.connection_termination.enabled`` - Indicates whether the load balancer terminates connections to unhealthy targets. The value is ``true`` or ``false`` . The default is ``true`` . - ``target_health_state.unhealthy.draining_interval_seconds`` - The amount of time for Elastic Load Balancing to wait before changing the state of an unhealthy target from ``unhealthy.draining`` to ``unhealthy`` . The range is 0-360000 seconds. The default value is 0 seconds. Note: This attribute can only be configured when ``target_health_state.unhealthy.connection_termination.enabled`` is ``false`` . The following attributes are supported only by Gateway Load Balancers: - ``target_failover.on_deregistration`` - Indicates how the Gateway Load Balancer handles existing flows when a target is deregistered. The possible values are ``rebalance`` and ``no_rebalance`` . The default is ``no_rebalance`` . The two attributes ( ``target_failover.on_deregistration`` and ``target_failover.on_unhealthy`` ) can't be set independently. The value you set for both attributes must be the same. - ``target_failover.on_unhealthy`` - Indicates how the Gateway Load Balancer handles existing flows when a target is unhealthy. The possible values are ``rebalance`` and ``no_rebalance`` . The default is ``no_rebalance`` . The two attributes ( ``target_failover.on_deregistration`` and ``target_failover.on_unhealthy`` ) cannot be set independently. The value you set for both attributes must be the same.
|
|
9306
9403
|
:param value: The value of the attribute.
|
|
9307
9404
|
|
|
9308
9405
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetgroupattribute.html
|
|
@@ -9345,7 +9442,7 @@ class CfnTargetGroup(
|
|
|
9345
9442
|
The following attributes are supported by Application Load Balancers and Network Load Balancers:
|
|
9346
9443
|
|
|
9347
9444
|
- ``load_balancing.cross_zone.enabled`` - Indicates whether cross zone load balancing is enabled. The value is ``true`` , ``false`` or ``use_load_balancer_configuration`` . The default is ``use_load_balancer_configuration`` .
|
|
9348
|
-
- ``target_group_health.dns_failover.minimum_healthy_targets.count`` - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are ``off`` or an integer from 1 to the maximum number of targets. The default is ``
|
|
9445
|
+
- ``target_group_health.dns_failover.minimum_healthy_targets.count`` - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are ``off`` or an integer from 1 to the maximum number of targets. The default is ``off`` .
|
|
9349
9446
|
- ``target_group_health.dns_failover.minimum_healthy_targets.percentage`` - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are ``off`` or an integer from 1 to 100. The default is ``off`` .
|
|
9350
9447
|
- ``target_group_health.unhealthy_state_routing.minimum_healthy_targets.count`` - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are 1 to the maximum number of targets. The default is 1.
|
|
9351
9448
|
- ``target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage`` - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are ``off`` or an integer from 1 to 100. The default is ``off`` .
|
|
@@ -9960,7 +10057,7 @@ class CfnTrustStore(
|
|
|
9960
10057
|
if __debug__:
|
|
9961
10058
|
type_hints = typing.get_type_hints(_typecheckingstub__8d14d81a883ca6c66da1c8241977661c623e7d87f0fbc032d2a18c47e6d04c02)
|
|
9962
10059
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9963
|
-
jsii.set(self, "caCertificatesBundleS3Bucket", value)
|
|
10060
|
+
jsii.set(self, "caCertificatesBundleS3Bucket", value) # pyright: ignore[reportArgumentType]
|
|
9964
10061
|
|
|
9965
10062
|
@builtins.property
|
|
9966
10063
|
@jsii.member(jsii_name="caCertificatesBundleS3Key")
|
|
@@ -9976,7 +10073,7 @@ class CfnTrustStore(
|
|
|
9976
10073
|
if __debug__:
|
|
9977
10074
|
type_hints = typing.get_type_hints(_typecheckingstub__1be3624ad22bc8e080375a39f74f348e8948697acb97bf9d0dc2a45a0da1ecbb)
|
|
9978
10075
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9979
|
-
jsii.set(self, "caCertificatesBundleS3Key", value)
|
|
10076
|
+
jsii.set(self, "caCertificatesBundleS3Key", value) # pyright: ignore[reportArgumentType]
|
|
9980
10077
|
|
|
9981
10078
|
@builtins.property
|
|
9982
10079
|
@jsii.member(jsii_name="caCertificatesBundleS3ObjectVersion")
|
|
@@ -9992,7 +10089,7 @@ class CfnTrustStore(
|
|
|
9992
10089
|
if __debug__:
|
|
9993
10090
|
type_hints = typing.get_type_hints(_typecheckingstub__1b1cc6b55e607d3f7b50af18e6f407b241b490a03a37d191dc10695613197055)
|
|
9994
10091
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9995
|
-
jsii.set(self, "caCertificatesBundleS3ObjectVersion", value)
|
|
10092
|
+
jsii.set(self, "caCertificatesBundleS3ObjectVersion", value) # pyright: ignore[reportArgumentType]
|
|
9996
10093
|
|
|
9997
10094
|
@builtins.property
|
|
9998
10095
|
@jsii.member(jsii_name="name")
|
|
@@ -10005,7 +10102,7 @@ class CfnTrustStore(
|
|
|
10005
10102
|
if __debug__:
|
|
10006
10103
|
type_hints = typing.get_type_hints(_typecheckingstub__3337d71099649abc3c47242a84244ef95b8c731df62e245e24794386c2acec29)
|
|
10007
10104
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
10008
|
-
jsii.set(self, "name", value)
|
|
10105
|
+
jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
|
|
10009
10106
|
|
|
10010
10107
|
@builtins.property
|
|
10011
10108
|
@jsii.member(jsii_name="tags")
|
|
@@ -10018,7 +10115,7 @@ class CfnTrustStore(
|
|
|
10018
10115
|
if __debug__:
|
|
10019
10116
|
type_hints = typing.get_type_hints(_typecheckingstub__ecadc34176804597e7f528cec41ade7e67216a7f15056ab07af2331954c2734e)
|
|
10020
10117
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
10021
|
-
jsii.set(self, "tags", value)
|
|
10118
|
+
jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
|
|
10022
10119
|
|
|
10023
10120
|
|
|
10024
10121
|
@jsii.data_type(
|
|
@@ -10272,7 +10369,7 @@ class CfnTrustStoreRevocation(
|
|
|
10272
10369
|
if __debug__:
|
|
10273
10370
|
type_hints = typing.get_type_hints(_typecheckingstub__6d9908bd788133bb9849b01d630a4c7dcf50bc2ed03f6b29b780dcd9f4e0c3a7)
|
|
10274
10371
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
10275
|
-
jsii.set(self, "revocationContents", value)
|
|
10372
|
+
jsii.set(self, "revocationContents", value) # pyright: ignore[reportArgumentType]
|
|
10276
10373
|
|
|
10277
10374
|
@builtins.property
|
|
10278
10375
|
@jsii.member(jsii_name="trustStoreArn")
|
|
@@ -10285,7 +10382,7 @@ class CfnTrustStoreRevocation(
|
|
|
10285
10382
|
if __debug__:
|
|
10286
10383
|
type_hints = typing.get_type_hints(_typecheckingstub__ae30a764e06e87f1e2e0b59ce60d1d1cea467ed30d54af4009f73f33936dd448)
|
|
10287
10384
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
10288
|
-
jsii.set(self, "trustStoreArn", value)
|
|
10385
|
+
jsii.set(self, "trustStoreArn", value) # pyright: ignore[reportArgumentType]
|
|
10289
10386
|
|
|
10290
10387
|
@jsii.data_type(
|
|
10291
10388
|
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.CfnTrustStoreRevocation.RevocationContentProperty",
|
|
@@ -10705,18 +10802,29 @@ class FixedResponseOptions:
|
|
|
10705
10802
|
|
|
10706
10803
|
Example::
|
|
10707
10804
|
|
|
10708
|
-
|
|
10805
|
+
import aws_cdk.aws_certificatemanager as acm
|
|
10709
10806
|
|
|
10807
|
+
# certificate: acm.Certificate
|
|
10808
|
+
# lb: elbv2.ApplicationLoadBalancer
|
|
10809
|
+
# bucket: s3.Bucket
|
|
10710
10810
|
|
|
10711
|
-
|
|
10712
|
-
|
|
10713
|
-
|
|
10714
|
-
|
|
10715
|
-
|
|
10716
|
-
|
|
10717
|
-
|
|
10718
|
-
|
|
10719
|
-
|
|
10811
|
+
|
|
10812
|
+
trust_store = elbv2.TrustStore(self, "Store",
|
|
10813
|
+
bucket=bucket,
|
|
10814
|
+
key="rootCA_cert.pem"
|
|
10815
|
+
)
|
|
10816
|
+
|
|
10817
|
+
lb.add_listener("Listener",
|
|
10818
|
+
port=443,
|
|
10819
|
+
protocol=elbv2.ApplicationProtocol.HTTPS,
|
|
10820
|
+
certificates=[certificate],
|
|
10821
|
+
# mTLS settings
|
|
10822
|
+
mutual_authentication=elbv2.MutualAuthentication(
|
|
10823
|
+
ignore_client_certificate_expiry=False,
|
|
10824
|
+
mutual_authentication_mode=elbv2.MutualAuthenticationMode.VERIFY,
|
|
10825
|
+
trust_store=trust_store
|
|
10826
|
+
),
|
|
10827
|
+
default_action=elbv2.ListenerAction.fixed_response(200, content_type="text/plain", message_body="Success mTLS")
|
|
10720
10828
|
)
|
|
10721
10829
|
'''
|
|
10722
10830
|
if __debug__:
|
|
@@ -14774,6 +14882,58 @@ class _ITargetGroupProxy(
|
|
|
14774
14882
|
typing.cast(typing.Any, ITargetGroup).__jsii_proxy_class__ = lambda : _ITargetGroupProxy
|
|
14775
14883
|
|
|
14776
14884
|
|
|
14885
|
+
@jsii.interface(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.ITrustStore")
|
|
14886
|
+
class ITrustStore(_IResource_c80c4260, typing_extensions.Protocol):
|
|
14887
|
+
'''Represents a Trust Store.'''
|
|
14888
|
+
|
|
14889
|
+
@builtins.property
|
|
14890
|
+
@jsii.member(jsii_name="trustStoreArn")
|
|
14891
|
+
def trust_store_arn(self) -> builtins.str:
|
|
14892
|
+
'''The ARN of the trust store.
|
|
14893
|
+
|
|
14894
|
+
:attribute: true
|
|
14895
|
+
'''
|
|
14896
|
+
...
|
|
14897
|
+
|
|
14898
|
+
@builtins.property
|
|
14899
|
+
@jsii.member(jsii_name="trustStoreName")
|
|
14900
|
+
def trust_store_name(self) -> builtins.str:
|
|
14901
|
+
'''The name of the trust store.
|
|
14902
|
+
|
|
14903
|
+
:attribute: true
|
|
14904
|
+
'''
|
|
14905
|
+
...
|
|
14906
|
+
|
|
14907
|
+
|
|
14908
|
+
class _ITrustStoreProxy(
|
|
14909
|
+
jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
|
|
14910
|
+
):
|
|
14911
|
+
'''Represents a Trust Store.'''
|
|
14912
|
+
|
|
14913
|
+
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_elasticloadbalancingv2.ITrustStore"
|
|
14914
|
+
|
|
14915
|
+
@builtins.property
|
|
14916
|
+
@jsii.member(jsii_name="trustStoreArn")
|
|
14917
|
+
def trust_store_arn(self) -> builtins.str:
|
|
14918
|
+
'''The ARN of the trust store.
|
|
14919
|
+
|
|
14920
|
+
:attribute: true
|
|
14921
|
+
'''
|
|
14922
|
+
return typing.cast(builtins.str, jsii.get(self, "trustStoreArn"))
|
|
14923
|
+
|
|
14924
|
+
@builtins.property
|
|
14925
|
+
@jsii.member(jsii_name="trustStoreName")
|
|
14926
|
+
def trust_store_name(self) -> builtins.str:
|
|
14927
|
+
'''The name of the trust store.
|
|
14928
|
+
|
|
14929
|
+
:attribute: true
|
|
14930
|
+
'''
|
|
14931
|
+
return typing.cast(builtins.str, jsii.get(self, "trustStoreName"))
|
|
14932
|
+
|
|
14933
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
14934
|
+
typing.cast(typing.Any, ITrustStore).__jsii_proxy_class__ = lambda : _ITrustStoreProxy
|
|
14935
|
+
|
|
14936
|
+
|
|
14777
14937
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.IpAddressType")
|
|
14778
14938
|
class IpAddressType(enum.Enum):
|
|
14779
14939
|
'''What kind of addresses to allocate to the load balancer.
|
|
@@ -14862,23 +15022,29 @@ class ListenerAction(
|
|
|
14862
15022
|
|
|
14863
15023
|
Example::
|
|
14864
15024
|
|
|
14865
|
-
|
|
14866
|
-
# my_target_group: elbv2.ApplicationTargetGroup
|
|
15025
|
+
import aws_cdk.aws_certificatemanager as acm
|
|
14867
15026
|
|
|
15027
|
+
# certificate: acm.Certificate
|
|
15028
|
+
# lb: elbv2.ApplicationLoadBalancer
|
|
15029
|
+
# bucket: s3.Bucket
|
|
14868
15030
|
|
|
14869
|
-
listener.add_action("DefaultAction",
|
|
14870
|
-
action=elbv2.ListenerAction.authenticate_oidc(
|
|
14871
|
-
authorization_endpoint="https://example.com/openid",
|
|
14872
|
-
# Other OIDC properties here
|
|
14873
|
-
client_id="...",
|
|
14874
|
-
client_secret=SecretValue.secrets_manager("..."),
|
|
14875
|
-
issuer="...",
|
|
14876
|
-
token_endpoint="...",
|
|
14877
|
-
user_info_endpoint="...",
|
|
14878
15031
|
|
|
14879
|
-
|
|
14880
|
-
|
|
14881
|
-
|
|
15032
|
+
trust_store = elbv2.TrustStore(self, "Store",
|
|
15033
|
+
bucket=bucket,
|
|
15034
|
+
key="rootCA_cert.pem"
|
|
15035
|
+
)
|
|
15036
|
+
|
|
15037
|
+
lb.add_listener("Listener",
|
|
15038
|
+
port=443,
|
|
15039
|
+
protocol=elbv2.ApplicationProtocol.HTTPS,
|
|
15040
|
+
certificates=[certificate],
|
|
15041
|
+
# mTLS settings
|
|
15042
|
+
mutual_authentication=elbv2.MutualAuthentication(
|
|
15043
|
+
ignore_client_certificate_expiry=False,
|
|
15044
|
+
mutual_authentication_mode=elbv2.MutualAuthenticationMode.VERIFY,
|
|
15045
|
+
trust_store=trust_store
|
|
15046
|
+
),
|
|
15047
|
+
default_action=elbv2.ListenerAction.fixed_response(200, content_type="text/plain", message_body="Success mTLS")
|
|
14882
15048
|
)
|
|
14883
15049
|
'''
|
|
14884
15050
|
|
|
@@ -15439,6 +15605,156 @@ class LoadBalancerTargetProps:
|
|
|
15439
15605
|
)
|
|
15440
15606
|
|
|
15441
15607
|
|
|
15608
|
+
@jsii.data_type(
|
|
15609
|
+
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.MutualAuthentication",
|
|
15610
|
+
jsii_struct_bases=[],
|
|
15611
|
+
name_mapping={
|
|
15612
|
+
"ignore_client_certificate_expiry": "ignoreClientCertificateExpiry",
|
|
15613
|
+
"mutual_authentication_mode": "mutualAuthenticationMode",
|
|
15614
|
+
"trust_store": "trustStore",
|
|
15615
|
+
},
|
|
15616
|
+
)
|
|
15617
|
+
class MutualAuthentication:
|
|
15618
|
+
def __init__(
|
|
15619
|
+
self,
|
|
15620
|
+
*,
|
|
15621
|
+
ignore_client_certificate_expiry: typing.Optional[builtins.bool] = None,
|
|
15622
|
+
mutual_authentication_mode: typing.Optional["MutualAuthenticationMode"] = None,
|
|
15623
|
+
trust_store: typing.Optional[ITrustStore] = None,
|
|
15624
|
+
) -> None:
|
|
15625
|
+
'''The mutual authentication configuration information.
|
|
15626
|
+
|
|
15627
|
+
:param ignore_client_certificate_expiry: Indicates whether expired client certificates are ignored. Cannot be used with MutualAuthenticationMode.OFF or MutualAuthenticationMode.PASS_THROUGH Default: false
|
|
15628
|
+
:param mutual_authentication_mode: The client certificate handling method. Default: MutualAuthenticationMode.OFF
|
|
15629
|
+
:param trust_store: The trust store. Cannot be used with MutualAuthenticationMode.OFF or MutualAuthenticationMode.PASS_THROUGH Default: - no trust store
|
|
15630
|
+
|
|
15631
|
+
:exampleMetadata: infused
|
|
15632
|
+
|
|
15633
|
+
Example::
|
|
15634
|
+
|
|
15635
|
+
import aws_cdk.aws_certificatemanager as acm
|
|
15636
|
+
|
|
15637
|
+
# certificate: acm.Certificate
|
|
15638
|
+
# lb: elbv2.ApplicationLoadBalancer
|
|
15639
|
+
# bucket: s3.Bucket
|
|
15640
|
+
|
|
15641
|
+
|
|
15642
|
+
trust_store = elbv2.TrustStore(self, "Store",
|
|
15643
|
+
bucket=bucket,
|
|
15644
|
+
key="rootCA_cert.pem"
|
|
15645
|
+
)
|
|
15646
|
+
|
|
15647
|
+
lb.add_listener("Listener",
|
|
15648
|
+
port=443,
|
|
15649
|
+
protocol=elbv2.ApplicationProtocol.HTTPS,
|
|
15650
|
+
certificates=[certificate],
|
|
15651
|
+
# mTLS settings
|
|
15652
|
+
mutual_authentication=elbv2.MutualAuthentication(
|
|
15653
|
+
ignore_client_certificate_expiry=False,
|
|
15654
|
+
mutual_authentication_mode=elbv2.MutualAuthenticationMode.VERIFY,
|
|
15655
|
+
trust_store=trust_store
|
|
15656
|
+
),
|
|
15657
|
+
default_action=elbv2.ListenerAction.fixed_response(200, content_type="text/plain", message_body="Success mTLS")
|
|
15658
|
+
)
|
|
15659
|
+
'''
|
|
15660
|
+
if __debug__:
|
|
15661
|
+
type_hints = typing.get_type_hints(_typecheckingstub__89e8c0615ab98434e16d3e39e80ba0dcf6db041697e65279c8dffc68d7380e62)
|
|
15662
|
+
check_type(argname="argument ignore_client_certificate_expiry", value=ignore_client_certificate_expiry, expected_type=type_hints["ignore_client_certificate_expiry"])
|
|
15663
|
+
check_type(argname="argument mutual_authentication_mode", value=mutual_authentication_mode, expected_type=type_hints["mutual_authentication_mode"])
|
|
15664
|
+
check_type(argname="argument trust_store", value=trust_store, expected_type=type_hints["trust_store"])
|
|
15665
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
15666
|
+
if ignore_client_certificate_expiry is not None:
|
|
15667
|
+
self._values["ignore_client_certificate_expiry"] = ignore_client_certificate_expiry
|
|
15668
|
+
if mutual_authentication_mode is not None:
|
|
15669
|
+
self._values["mutual_authentication_mode"] = mutual_authentication_mode
|
|
15670
|
+
if trust_store is not None:
|
|
15671
|
+
self._values["trust_store"] = trust_store
|
|
15672
|
+
|
|
15673
|
+
@builtins.property
|
|
15674
|
+
def ignore_client_certificate_expiry(self) -> typing.Optional[builtins.bool]:
|
|
15675
|
+
'''Indicates whether expired client certificates are ignored.
|
|
15676
|
+
|
|
15677
|
+
Cannot be used with MutualAuthenticationMode.OFF or MutualAuthenticationMode.PASS_THROUGH
|
|
15678
|
+
|
|
15679
|
+
:default: false
|
|
15680
|
+
'''
|
|
15681
|
+
result = self._values.get("ignore_client_certificate_expiry")
|
|
15682
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
15683
|
+
|
|
15684
|
+
@builtins.property
|
|
15685
|
+
def mutual_authentication_mode(self) -> typing.Optional["MutualAuthenticationMode"]:
|
|
15686
|
+
'''The client certificate handling method.
|
|
15687
|
+
|
|
15688
|
+
:default: MutualAuthenticationMode.OFF
|
|
15689
|
+
'''
|
|
15690
|
+
result = self._values.get("mutual_authentication_mode")
|
|
15691
|
+
return typing.cast(typing.Optional["MutualAuthenticationMode"], result)
|
|
15692
|
+
|
|
15693
|
+
@builtins.property
|
|
15694
|
+
def trust_store(self) -> typing.Optional[ITrustStore]:
|
|
15695
|
+
'''The trust store.
|
|
15696
|
+
|
|
15697
|
+
Cannot be used with MutualAuthenticationMode.OFF or MutualAuthenticationMode.PASS_THROUGH
|
|
15698
|
+
|
|
15699
|
+
:default: - no trust store
|
|
15700
|
+
'''
|
|
15701
|
+
result = self._values.get("trust_store")
|
|
15702
|
+
return typing.cast(typing.Optional[ITrustStore], result)
|
|
15703
|
+
|
|
15704
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
15705
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
15706
|
+
|
|
15707
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
15708
|
+
return not (rhs == self)
|
|
15709
|
+
|
|
15710
|
+
def __repr__(self) -> str:
|
|
15711
|
+
return "MutualAuthentication(%s)" % ", ".join(
|
|
15712
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
15713
|
+
)
|
|
15714
|
+
|
|
15715
|
+
|
|
15716
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.MutualAuthenticationMode")
|
|
15717
|
+
class MutualAuthenticationMode(enum.Enum):
|
|
15718
|
+
'''The client certificate handling method.
|
|
15719
|
+
|
|
15720
|
+
:exampleMetadata: infused
|
|
15721
|
+
|
|
15722
|
+
Example::
|
|
15723
|
+
|
|
15724
|
+
import aws_cdk.aws_certificatemanager as acm
|
|
15725
|
+
|
|
15726
|
+
# certificate: acm.Certificate
|
|
15727
|
+
# lb: elbv2.ApplicationLoadBalancer
|
|
15728
|
+
# bucket: s3.Bucket
|
|
15729
|
+
|
|
15730
|
+
|
|
15731
|
+
trust_store = elbv2.TrustStore(self, "Store",
|
|
15732
|
+
bucket=bucket,
|
|
15733
|
+
key="rootCA_cert.pem"
|
|
15734
|
+
)
|
|
15735
|
+
|
|
15736
|
+
lb.add_listener("Listener",
|
|
15737
|
+
port=443,
|
|
15738
|
+
protocol=elbv2.ApplicationProtocol.HTTPS,
|
|
15739
|
+
certificates=[certificate],
|
|
15740
|
+
# mTLS settings
|
|
15741
|
+
mutual_authentication=elbv2.MutualAuthentication(
|
|
15742
|
+
ignore_client_certificate_expiry=False,
|
|
15743
|
+
mutual_authentication_mode=elbv2.MutualAuthenticationMode.VERIFY,
|
|
15744
|
+
trust_store=trust_store
|
|
15745
|
+
),
|
|
15746
|
+
default_action=elbv2.ListenerAction.fixed_response(200, content_type="text/plain", message_body="Success mTLS")
|
|
15747
|
+
)
|
|
15748
|
+
'''
|
|
15749
|
+
|
|
15750
|
+
OFF = "OFF"
|
|
15751
|
+
'''Off.'''
|
|
15752
|
+
PASS_THROUGH = "PASS_THROUGH"
|
|
15753
|
+
'''Application Load Balancer sends the whole client certificate chain to the target using HTTP headers.'''
|
|
15754
|
+
VERIFY = "VERIFY"
|
|
15755
|
+
'''Application Load Balancer performs X.509 client certificate authentication for clients when a load balancer negotiates TLS connections.'''
|
|
15756
|
+
|
|
15757
|
+
|
|
15442
15758
|
@jsii.data_type(
|
|
15443
15759
|
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.NetworkForwardOptions",
|
|
15444
15760
|
jsii_struct_bases=[],
|
|
@@ -17633,19 +17949,151 @@ class RedirectOptions:
|
|
|
17633
17949
|
)
|
|
17634
17950
|
|
|
17635
17951
|
|
|
17636
|
-
@jsii.
|
|
17637
|
-
|
|
17638
|
-
|
|
17952
|
+
@jsii.data_type(
|
|
17953
|
+
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.RevocationContent",
|
|
17954
|
+
jsii_struct_bases=[],
|
|
17955
|
+
name_mapping={
|
|
17956
|
+
"bucket": "bucket",
|
|
17957
|
+
"key": "key",
|
|
17958
|
+
"revocation_type": "revocationType",
|
|
17959
|
+
"version": "version",
|
|
17960
|
+
},
|
|
17961
|
+
)
|
|
17962
|
+
class RevocationContent:
|
|
17963
|
+
def __init__(
|
|
17964
|
+
self,
|
|
17965
|
+
*,
|
|
17966
|
+
bucket: _IBucket_42e086fd,
|
|
17967
|
+
key: builtins.str,
|
|
17968
|
+
revocation_type: typing.Optional["RevocationType"] = None,
|
|
17969
|
+
version: typing.Optional[builtins.str] = None,
|
|
17970
|
+
) -> None:
|
|
17971
|
+
'''Information about a revocation file.
|
|
17639
17972
|
|
|
17640
|
-
|
|
17641
|
-
|
|
17642
|
-
|
|
17973
|
+
:param bucket: The Amazon S3 bucket for the revocation file.
|
|
17974
|
+
:param key: The Amazon S3 path for the revocation file.
|
|
17975
|
+
:param revocation_type: The type of revocation file. Default: RevocationType.CRL
|
|
17976
|
+
:param version: The Amazon S3 object version of the revocation file. Default: - latest version
|
|
17643
17977
|
|
|
17644
|
-
|
|
17645
|
-
|
|
17646
|
-
|
|
17978
|
+
:exampleMetadata: fixture=_generated
|
|
17979
|
+
|
|
17980
|
+
Example::
|
|
17981
|
+
|
|
17982
|
+
# The code below shows an example of how to instantiate this type.
|
|
17983
|
+
# The values are placeholders you should change.
|
|
17984
|
+
from aws_cdk import aws_elasticloadbalancingv2 as elbv2
|
|
17985
|
+
from aws_cdk import aws_s3 as s3
|
|
17986
|
+
|
|
17987
|
+
# bucket: s3.Bucket
|
|
17988
|
+
|
|
17989
|
+
revocation_content = elbv2.RevocationContent(
|
|
17990
|
+
bucket=bucket,
|
|
17991
|
+
key="key",
|
|
17992
|
+
|
|
17993
|
+
# the properties below are optional
|
|
17994
|
+
revocation_type=elbv2.RevocationType.CRL,
|
|
17995
|
+
version="version"
|
|
17996
|
+
)
|
|
17997
|
+
'''
|
|
17998
|
+
if __debug__:
|
|
17999
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a2d98c0c87c9335126a85af9c46b02ccfdb480d04d96fb422b8f62f17d09b801)
|
|
18000
|
+
check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
|
|
18001
|
+
check_type(argname="argument key", value=key, expected_type=type_hints["key"])
|
|
18002
|
+
check_type(argname="argument revocation_type", value=revocation_type, expected_type=type_hints["revocation_type"])
|
|
18003
|
+
check_type(argname="argument version", value=version, expected_type=type_hints["version"])
|
|
18004
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
18005
|
+
"bucket": bucket,
|
|
18006
|
+
"key": key,
|
|
18007
|
+
}
|
|
18008
|
+
if revocation_type is not None:
|
|
18009
|
+
self._values["revocation_type"] = revocation_type
|
|
18010
|
+
if version is not None:
|
|
18011
|
+
self._values["version"] = version
|
|
18012
|
+
|
|
18013
|
+
@builtins.property
|
|
18014
|
+
def bucket(self) -> _IBucket_42e086fd:
|
|
18015
|
+
'''The Amazon S3 bucket for the revocation file.'''
|
|
18016
|
+
result = self._values.get("bucket")
|
|
18017
|
+
assert result is not None, "Required property 'bucket' is missing"
|
|
18018
|
+
return typing.cast(_IBucket_42e086fd, result)
|
|
18019
|
+
|
|
18020
|
+
@builtins.property
|
|
18021
|
+
def key(self) -> builtins.str:
|
|
18022
|
+
'''The Amazon S3 path for the revocation file.'''
|
|
18023
|
+
result = self._values.get("key")
|
|
18024
|
+
assert result is not None, "Required property 'key' is missing"
|
|
18025
|
+
return typing.cast(builtins.str, result)
|
|
18026
|
+
|
|
18027
|
+
@builtins.property
|
|
18028
|
+
def revocation_type(self) -> typing.Optional["RevocationType"]:
|
|
18029
|
+
'''The type of revocation file.
|
|
18030
|
+
|
|
18031
|
+
:default: RevocationType.CRL
|
|
18032
|
+
'''
|
|
18033
|
+
result = self._values.get("revocation_type")
|
|
18034
|
+
return typing.cast(typing.Optional["RevocationType"], result)
|
|
18035
|
+
|
|
18036
|
+
@builtins.property
|
|
18037
|
+
def version(self) -> typing.Optional[builtins.str]:
|
|
18038
|
+
'''The Amazon S3 object version of the revocation file.
|
|
18039
|
+
|
|
18040
|
+
:default: - latest version
|
|
18041
|
+
'''
|
|
18042
|
+
result = self._values.get("version")
|
|
18043
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
18044
|
+
|
|
18045
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
18046
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
18047
|
+
|
|
18048
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
18049
|
+
return not (rhs == self)
|
|
18050
|
+
|
|
18051
|
+
def __repr__(self) -> str:
|
|
18052
|
+
return "RevocationContent(%s)" % ", ".join(
|
|
18053
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
18054
|
+
)
|
|
18055
|
+
|
|
18056
|
+
|
|
18057
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.RevocationType")
|
|
18058
|
+
class RevocationType(enum.Enum):
|
|
18059
|
+
'''The type of revocation file.
|
|
17647
18060
|
|
|
17648
|
-
:
|
|
18061
|
+
:exampleMetadata: infused
|
|
18062
|
+
|
|
18063
|
+
Example::
|
|
18064
|
+
|
|
18065
|
+
# trust_store: elbv2.TrustStore
|
|
18066
|
+
# bucket: s3.Bucket
|
|
18067
|
+
|
|
18068
|
+
|
|
18069
|
+
elbv2.TrustStoreRevocation(self, "Revocation",
|
|
18070
|
+
trust_store=trust_store,
|
|
18071
|
+
revocation_contents=[elbv2.RevocationContent(
|
|
18072
|
+
revocation_type=elbv2.RevocationType.CRL,
|
|
18073
|
+
bucket=bucket,
|
|
18074
|
+
key="crl.pem"
|
|
18075
|
+
)
|
|
18076
|
+
]
|
|
18077
|
+
)
|
|
18078
|
+
'''
|
|
18079
|
+
|
|
18080
|
+
CRL = "CRL"
|
|
18081
|
+
'''A signed list of revoked certificates.'''
|
|
18082
|
+
|
|
18083
|
+
|
|
18084
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.SslPolicy")
|
|
18085
|
+
class SslPolicy(enum.Enum):
|
|
18086
|
+
'''Elastic Load Balancing provides the following security policies for Application Load Balancers.
|
|
18087
|
+
|
|
18088
|
+
We recommend the Recommended policy for general use. You can
|
|
18089
|
+
use the ForwardSecrecy policy if you require Forward Secrecy
|
|
18090
|
+
(FS).
|
|
18091
|
+
|
|
18092
|
+
You can use one of the TLS policies to meet compliance and security
|
|
18093
|
+
standards that require disabling certain TLS protocol versions, or to
|
|
18094
|
+
support legacy clients that require deprecated ciphers.
|
|
18095
|
+
|
|
18096
|
+
:see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html
|
|
17649
18097
|
:exampleMetadata: infused
|
|
17650
18098
|
|
|
17651
18099
|
Example::
|
|
@@ -18033,7 +18481,7 @@ class TargetGroupBase(
|
|
|
18033
18481
|
if __debug__:
|
|
18034
18482
|
type_hints = typing.get_type_hints(_typecheckingstub__abb5a8931437f8e7217ee9fc1b5e8775ee2fa63e0ad5310f5c3ee5a7ee0a34fe)
|
|
18035
18483
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
18036
|
-
jsii.set(self, "healthCheck", value)
|
|
18484
|
+
jsii.set(self, "healthCheck", value) # pyright: ignore[reportArgumentType]
|
|
18037
18485
|
|
|
18038
18486
|
@builtins.property
|
|
18039
18487
|
@jsii.member(jsii_name="targetType")
|
|
@@ -18046,7 +18494,7 @@ class TargetGroupBase(
|
|
|
18046
18494
|
if __debug__:
|
|
18047
18495
|
type_hints = typing.get_type_hints(_typecheckingstub__7c19dd8de36c1c86ebd89e7c24379bf1b20a6e5f343db95042864bf022f23513)
|
|
18048
18496
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
18049
|
-
jsii.set(self, "targetType", value)
|
|
18497
|
+
jsii.set(self, "targetType", value) # pyright: ignore[reportArgumentType]
|
|
18050
18498
|
|
|
18051
18499
|
|
|
18052
18500
|
class _TargetGroupBaseProxy(TargetGroupBase):
|
|
@@ -18128,6 +18576,370 @@ class TargetType(enum.Enum):
|
|
|
18128
18576
|
'''Target is a single Application Load Balancer.'''
|
|
18129
18577
|
|
|
18130
18578
|
|
|
18579
|
+
@jsii.implements(ITrustStore)
|
|
18580
|
+
class TrustStore(
|
|
18581
|
+
_Resource_45bc6135,
|
|
18582
|
+
metaclass=jsii.JSIIMeta,
|
|
18583
|
+
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TrustStore",
|
|
18584
|
+
):
|
|
18585
|
+
'''A new Trust Store.
|
|
18586
|
+
|
|
18587
|
+
:exampleMetadata: infused
|
|
18588
|
+
|
|
18589
|
+
Example::
|
|
18590
|
+
|
|
18591
|
+
import aws_cdk.aws_certificatemanager as acm
|
|
18592
|
+
|
|
18593
|
+
# certificate: acm.Certificate
|
|
18594
|
+
# lb: elbv2.ApplicationLoadBalancer
|
|
18595
|
+
# bucket: s3.Bucket
|
|
18596
|
+
|
|
18597
|
+
|
|
18598
|
+
trust_store = elbv2.TrustStore(self, "Store",
|
|
18599
|
+
bucket=bucket,
|
|
18600
|
+
key="rootCA_cert.pem"
|
|
18601
|
+
)
|
|
18602
|
+
|
|
18603
|
+
lb.add_listener("Listener",
|
|
18604
|
+
port=443,
|
|
18605
|
+
protocol=elbv2.ApplicationProtocol.HTTPS,
|
|
18606
|
+
certificates=[certificate],
|
|
18607
|
+
# mTLS settings
|
|
18608
|
+
mutual_authentication=elbv2.MutualAuthentication(
|
|
18609
|
+
ignore_client_certificate_expiry=False,
|
|
18610
|
+
mutual_authentication_mode=elbv2.MutualAuthenticationMode.VERIFY,
|
|
18611
|
+
trust_store=trust_store
|
|
18612
|
+
),
|
|
18613
|
+
default_action=elbv2.ListenerAction.fixed_response(200, content_type="text/plain", message_body="Success mTLS")
|
|
18614
|
+
)
|
|
18615
|
+
'''
|
|
18616
|
+
|
|
18617
|
+
def __init__(
|
|
18618
|
+
self,
|
|
18619
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
18620
|
+
id: builtins.str,
|
|
18621
|
+
*,
|
|
18622
|
+
bucket: _IBucket_42e086fd,
|
|
18623
|
+
key: builtins.str,
|
|
18624
|
+
trust_store_name: typing.Optional[builtins.str] = None,
|
|
18625
|
+
version: typing.Optional[builtins.str] = None,
|
|
18626
|
+
) -> None:
|
|
18627
|
+
'''
|
|
18628
|
+
:param scope: -
|
|
18629
|
+
:param id: -
|
|
18630
|
+
:param bucket: The bucket that the trust store is hosted in.
|
|
18631
|
+
:param key: The key in S3 to look at for the trust store.
|
|
18632
|
+
:param trust_store_name: The name of the trust store. Default: - Auto generated
|
|
18633
|
+
:param version: The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket. Default: - latest version
|
|
18634
|
+
'''
|
|
18635
|
+
if __debug__:
|
|
18636
|
+
type_hints = typing.get_type_hints(_typecheckingstub__fbafbf35d05de3ceecc0965698aa7d45dd0a58477f5c8555d0efa8b8cfedbd7d)
|
|
18637
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
18638
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
18639
|
+
props = TrustStoreProps(
|
|
18640
|
+
bucket=bucket, key=key, trust_store_name=trust_store_name, version=version
|
|
18641
|
+
)
|
|
18642
|
+
|
|
18643
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
18644
|
+
|
|
18645
|
+
@jsii.member(jsii_name="fromTrustStoreArn")
|
|
18646
|
+
@builtins.classmethod
|
|
18647
|
+
def from_trust_store_arn(
|
|
18648
|
+
cls,
|
|
18649
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
18650
|
+
id: builtins.str,
|
|
18651
|
+
trust_store_arn: builtins.str,
|
|
18652
|
+
) -> ITrustStore:
|
|
18653
|
+
'''Import from ARN.
|
|
18654
|
+
|
|
18655
|
+
:param scope: -
|
|
18656
|
+
:param id: -
|
|
18657
|
+
:param trust_store_arn: -
|
|
18658
|
+
'''
|
|
18659
|
+
if __debug__:
|
|
18660
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1e078d73452d520ce829e14315128763e3ef291dcb7c3e40df660393d5135f4b)
|
|
18661
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
18662
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
18663
|
+
check_type(argname="argument trust_store_arn", value=trust_store_arn, expected_type=type_hints["trust_store_arn"])
|
|
18664
|
+
return typing.cast(ITrustStore, jsii.sinvoke(cls, "fromTrustStoreArn", [scope, id, trust_store_arn]))
|
|
18665
|
+
|
|
18666
|
+
@builtins.property
|
|
18667
|
+
@jsii.member(jsii_name="numberOfCaCertificates")
|
|
18668
|
+
def number_of_ca_certificates(self) -> jsii.Number:
|
|
18669
|
+
'''The number of CA certificates in the trust store.
|
|
18670
|
+
|
|
18671
|
+
:attribute: true
|
|
18672
|
+
'''
|
|
18673
|
+
return typing.cast(jsii.Number, jsii.get(self, "numberOfCaCertificates"))
|
|
18674
|
+
|
|
18675
|
+
@builtins.property
|
|
18676
|
+
@jsii.member(jsii_name="status")
|
|
18677
|
+
def status(self) -> builtins.str:
|
|
18678
|
+
'''The status of the trust store.
|
|
18679
|
+
|
|
18680
|
+
:attribute: true
|
|
18681
|
+
'''
|
|
18682
|
+
return typing.cast(builtins.str, jsii.get(self, "status"))
|
|
18683
|
+
|
|
18684
|
+
@builtins.property
|
|
18685
|
+
@jsii.member(jsii_name="trustStoreArn")
|
|
18686
|
+
def trust_store_arn(self) -> builtins.str:
|
|
18687
|
+
'''The ARN of the trust store.
|
|
18688
|
+
|
|
18689
|
+
:attribute: true
|
|
18690
|
+
'''
|
|
18691
|
+
return typing.cast(builtins.str, jsii.get(self, "trustStoreArn"))
|
|
18692
|
+
|
|
18693
|
+
@builtins.property
|
|
18694
|
+
@jsii.member(jsii_name="trustStoreName")
|
|
18695
|
+
def trust_store_name(self) -> builtins.str:
|
|
18696
|
+
'''The name of the trust store.
|
|
18697
|
+
|
|
18698
|
+
:attribute: true
|
|
18699
|
+
'''
|
|
18700
|
+
return typing.cast(builtins.str, jsii.get(self, "trustStoreName"))
|
|
18701
|
+
|
|
18702
|
+
|
|
18703
|
+
@jsii.data_type(
|
|
18704
|
+
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TrustStoreProps",
|
|
18705
|
+
jsii_struct_bases=[],
|
|
18706
|
+
name_mapping={
|
|
18707
|
+
"bucket": "bucket",
|
|
18708
|
+
"key": "key",
|
|
18709
|
+
"trust_store_name": "trustStoreName",
|
|
18710
|
+
"version": "version",
|
|
18711
|
+
},
|
|
18712
|
+
)
|
|
18713
|
+
class TrustStoreProps:
|
|
18714
|
+
def __init__(
|
|
18715
|
+
self,
|
|
18716
|
+
*,
|
|
18717
|
+
bucket: _IBucket_42e086fd,
|
|
18718
|
+
key: builtins.str,
|
|
18719
|
+
trust_store_name: typing.Optional[builtins.str] = None,
|
|
18720
|
+
version: typing.Optional[builtins.str] = None,
|
|
18721
|
+
) -> None:
|
|
18722
|
+
'''Properties used for the Trust Store.
|
|
18723
|
+
|
|
18724
|
+
:param bucket: The bucket that the trust store is hosted in.
|
|
18725
|
+
:param key: The key in S3 to look at for the trust store.
|
|
18726
|
+
:param trust_store_name: The name of the trust store. Default: - Auto generated
|
|
18727
|
+
:param version: The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket. Default: - latest version
|
|
18728
|
+
|
|
18729
|
+
:exampleMetadata: infused
|
|
18730
|
+
|
|
18731
|
+
Example::
|
|
18732
|
+
|
|
18733
|
+
import aws_cdk.aws_certificatemanager as acm
|
|
18734
|
+
|
|
18735
|
+
# certificate: acm.Certificate
|
|
18736
|
+
# lb: elbv2.ApplicationLoadBalancer
|
|
18737
|
+
# bucket: s3.Bucket
|
|
18738
|
+
|
|
18739
|
+
|
|
18740
|
+
trust_store = elbv2.TrustStore(self, "Store",
|
|
18741
|
+
bucket=bucket,
|
|
18742
|
+
key="rootCA_cert.pem"
|
|
18743
|
+
)
|
|
18744
|
+
|
|
18745
|
+
lb.add_listener("Listener",
|
|
18746
|
+
port=443,
|
|
18747
|
+
protocol=elbv2.ApplicationProtocol.HTTPS,
|
|
18748
|
+
certificates=[certificate],
|
|
18749
|
+
# mTLS settings
|
|
18750
|
+
mutual_authentication=elbv2.MutualAuthentication(
|
|
18751
|
+
ignore_client_certificate_expiry=False,
|
|
18752
|
+
mutual_authentication_mode=elbv2.MutualAuthenticationMode.VERIFY,
|
|
18753
|
+
trust_store=trust_store
|
|
18754
|
+
),
|
|
18755
|
+
default_action=elbv2.ListenerAction.fixed_response(200, content_type="text/plain", message_body="Success mTLS")
|
|
18756
|
+
)
|
|
18757
|
+
'''
|
|
18758
|
+
if __debug__:
|
|
18759
|
+
type_hints = typing.get_type_hints(_typecheckingstub__41f3f138d5b55c026366c540abffc84d65da6413c7cfa2972612fb796b1d3206)
|
|
18760
|
+
check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
|
|
18761
|
+
check_type(argname="argument key", value=key, expected_type=type_hints["key"])
|
|
18762
|
+
check_type(argname="argument trust_store_name", value=trust_store_name, expected_type=type_hints["trust_store_name"])
|
|
18763
|
+
check_type(argname="argument version", value=version, expected_type=type_hints["version"])
|
|
18764
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
18765
|
+
"bucket": bucket,
|
|
18766
|
+
"key": key,
|
|
18767
|
+
}
|
|
18768
|
+
if trust_store_name is not None:
|
|
18769
|
+
self._values["trust_store_name"] = trust_store_name
|
|
18770
|
+
if version is not None:
|
|
18771
|
+
self._values["version"] = version
|
|
18772
|
+
|
|
18773
|
+
@builtins.property
|
|
18774
|
+
def bucket(self) -> _IBucket_42e086fd:
|
|
18775
|
+
'''The bucket that the trust store is hosted in.'''
|
|
18776
|
+
result = self._values.get("bucket")
|
|
18777
|
+
assert result is not None, "Required property 'bucket' is missing"
|
|
18778
|
+
return typing.cast(_IBucket_42e086fd, result)
|
|
18779
|
+
|
|
18780
|
+
@builtins.property
|
|
18781
|
+
def key(self) -> builtins.str:
|
|
18782
|
+
'''The key in S3 to look at for the trust store.'''
|
|
18783
|
+
result = self._values.get("key")
|
|
18784
|
+
assert result is not None, "Required property 'key' is missing"
|
|
18785
|
+
return typing.cast(builtins.str, result)
|
|
18786
|
+
|
|
18787
|
+
@builtins.property
|
|
18788
|
+
def trust_store_name(self) -> typing.Optional[builtins.str]:
|
|
18789
|
+
'''The name of the trust store.
|
|
18790
|
+
|
|
18791
|
+
:default: - Auto generated
|
|
18792
|
+
'''
|
|
18793
|
+
result = self._values.get("trust_store_name")
|
|
18794
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
18795
|
+
|
|
18796
|
+
@builtins.property
|
|
18797
|
+
def version(self) -> typing.Optional[builtins.str]:
|
|
18798
|
+
'''The version of the S3 object that contains your truststore.
|
|
18799
|
+
|
|
18800
|
+
To specify a version, you must have versioning enabled for the S3 bucket.
|
|
18801
|
+
|
|
18802
|
+
:default: - latest version
|
|
18803
|
+
'''
|
|
18804
|
+
result = self._values.get("version")
|
|
18805
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
18806
|
+
|
|
18807
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
18808
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
18809
|
+
|
|
18810
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
18811
|
+
return not (rhs == self)
|
|
18812
|
+
|
|
18813
|
+
def __repr__(self) -> str:
|
|
18814
|
+
return "TrustStoreProps(%s)" % ", ".join(
|
|
18815
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
18816
|
+
)
|
|
18817
|
+
|
|
18818
|
+
|
|
18819
|
+
class TrustStoreRevocation(
|
|
18820
|
+
_Resource_45bc6135,
|
|
18821
|
+
metaclass=jsii.JSIIMeta,
|
|
18822
|
+
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TrustStoreRevocation",
|
|
18823
|
+
):
|
|
18824
|
+
'''A new Trust Store Revocation.
|
|
18825
|
+
|
|
18826
|
+
:exampleMetadata: infused
|
|
18827
|
+
|
|
18828
|
+
Example::
|
|
18829
|
+
|
|
18830
|
+
# trust_store: elbv2.TrustStore
|
|
18831
|
+
# bucket: s3.Bucket
|
|
18832
|
+
|
|
18833
|
+
|
|
18834
|
+
elbv2.TrustStoreRevocation(self, "Revocation",
|
|
18835
|
+
trust_store=trust_store,
|
|
18836
|
+
revocation_contents=[elbv2.RevocationContent(
|
|
18837
|
+
revocation_type=elbv2.RevocationType.CRL,
|
|
18838
|
+
bucket=bucket,
|
|
18839
|
+
key="crl.pem"
|
|
18840
|
+
)
|
|
18841
|
+
]
|
|
18842
|
+
)
|
|
18843
|
+
'''
|
|
18844
|
+
|
|
18845
|
+
def __init__(
|
|
18846
|
+
self,
|
|
18847
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
18848
|
+
id: builtins.str,
|
|
18849
|
+
*,
|
|
18850
|
+
revocation_contents: typing.Sequence[typing.Union[RevocationContent, typing.Dict[builtins.str, typing.Any]]],
|
|
18851
|
+
trust_store: ITrustStore,
|
|
18852
|
+
) -> None:
|
|
18853
|
+
'''
|
|
18854
|
+
:param scope: -
|
|
18855
|
+
:param id: -
|
|
18856
|
+
:param revocation_contents: The revocation file to add.
|
|
18857
|
+
:param trust_store: The trust store.
|
|
18858
|
+
'''
|
|
18859
|
+
if __debug__:
|
|
18860
|
+
type_hints = typing.get_type_hints(_typecheckingstub__688628f84e2cff85506975764e889f60121aab1ab9420e53b24769400ab3c7d7)
|
|
18861
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
18862
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
18863
|
+
props = TrustStoreRevocationProps(
|
|
18864
|
+
revocation_contents=revocation_contents, trust_store=trust_store
|
|
18865
|
+
)
|
|
18866
|
+
|
|
18867
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
18868
|
+
|
|
18869
|
+
|
|
18870
|
+
@jsii.data_type(
|
|
18871
|
+
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TrustStoreRevocationProps",
|
|
18872
|
+
jsii_struct_bases=[],
|
|
18873
|
+
name_mapping={
|
|
18874
|
+
"revocation_contents": "revocationContents",
|
|
18875
|
+
"trust_store": "trustStore",
|
|
18876
|
+
},
|
|
18877
|
+
)
|
|
18878
|
+
class TrustStoreRevocationProps:
|
|
18879
|
+
def __init__(
|
|
18880
|
+
self,
|
|
18881
|
+
*,
|
|
18882
|
+
revocation_contents: typing.Sequence[typing.Union[RevocationContent, typing.Dict[builtins.str, typing.Any]]],
|
|
18883
|
+
trust_store: ITrustStore,
|
|
18884
|
+
) -> None:
|
|
18885
|
+
'''Properties for the trust store revocation.
|
|
18886
|
+
|
|
18887
|
+
:param revocation_contents: The revocation file to add.
|
|
18888
|
+
:param trust_store: The trust store.
|
|
18889
|
+
|
|
18890
|
+
:exampleMetadata: infused
|
|
18891
|
+
|
|
18892
|
+
Example::
|
|
18893
|
+
|
|
18894
|
+
# trust_store: elbv2.TrustStore
|
|
18895
|
+
# bucket: s3.Bucket
|
|
18896
|
+
|
|
18897
|
+
|
|
18898
|
+
elbv2.TrustStoreRevocation(self, "Revocation",
|
|
18899
|
+
trust_store=trust_store,
|
|
18900
|
+
revocation_contents=[elbv2.RevocationContent(
|
|
18901
|
+
revocation_type=elbv2.RevocationType.CRL,
|
|
18902
|
+
bucket=bucket,
|
|
18903
|
+
key="crl.pem"
|
|
18904
|
+
)
|
|
18905
|
+
]
|
|
18906
|
+
)
|
|
18907
|
+
'''
|
|
18908
|
+
if __debug__:
|
|
18909
|
+
type_hints = typing.get_type_hints(_typecheckingstub__de0bf3e884d9bbf4a0d3582e17910f3a46c89450790ad669a820be588c4bb749)
|
|
18910
|
+
check_type(argname="argument revocation_contents", value=revocation_contents, expected_type=type_hints["revocation_contents"])
|
|
18911
|
+
check_type(argname="argument trust_store", value=trust_store, expected_type=type_hints["trust_store"])
|
|
18912
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
18913
|
+
"revocation_contents": revocation_contents,
|
|
18914
|
+
"trust_store": trust_store,
|
|
18915
|
+
}
|
|
18916
|
+
|
|
18917
|
+
@builtins.property
|
|
18918
|
+
def revocation_contents(self) -> typing.List[RevocationContent]:
|
|
18919
|
+
'''The revocation file to add.'''
|
|
18920
|
+
result = self._values.get("revocation_contents")
|
|
18921
|
+
assert result is not None, "Required property 'revocation_contents' is missing"
|
|
18922
|
+
return typing.cast(typing.List[RevocationContent], result)
|
|
18923
|
+
|
|
18924
|
+
@builtins.property
|
|
18925
|
+
def trust_store(self) -> ITrustStore:
|
|
18926
|
+
'''The trust store.'''
|
|
18927
|
+
result = self._values.get("trust_store")
|
|
18928
|
+
assert result is not None, "Required property 'trust_store' is missing"
|
|
18929
|
+
return typing.cast(ITrustStore, result)
|
|
18930
|
+
|
|
18931
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
18932
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
18933
|
+
|
|
18934
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
18935
|
+
return not (rhs == self)
|
|
18936
|
+
|
|
18937
|
+
def __repr__(self) -> str:
|
|
18938
|
+
return "TrustStoreRevocationProps(%s)" % ", ".join(
|
|
18939
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
18940
|
+
)
|
|
18941
|
+
|
|
18942
|
+
|
|
18131
18943
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.UnauthenticatedAction")
|
|
18132
18944
|
class UnauthenticatedAction(enum.Enum):
|
|
18133
18945
|
'''What to do with unauthenticated requests.'''
|
|
@@ -18939,6 +19751,7 @@ class ApplicationListenerLookupOptions(BaseListenerLookupOptions):
|
|
|
18939
19751
|
"certificates": "certificates",
|
|
18940
19752
|
"default_action": "defaultAction",
|
|
18941
19753
|
"default_target_groups": "defaultTargetGroups",
|
|
19754
|
+
"mutual_authentication": "mutualAuthentication",
|
|
18942
19755
|
"open": "open",
|
|
18943
19756
|
"port": "port",
|
|
18944
19757
|
"protocol": "protocol",
|
|
@@ -18953,6 +19766,7 @@ class ApplicationListenerProps(BaseApplicationListenerProps):
|
|
|
18953
19766
|
certificates: typing.Optional[typing.Sequence[IListenerCertificate]] = None,
|
|
18954
19767
|
default_action: typing.Optional[ListenerAction] = None,
|
|
18955
19768
|
default_target_groups: typing.Optional[typing.Sequence["IApplicationTargetGroup"]] = None,
|
|
19769
|
+
mutual_authentication: typing.Optional[typing.Union[MutualAuthentication, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
18956
19770
|
open: typing.Optional[builtins.bool] = None,
|
|
18957
19771
|
port: typing.Optional[jsii.Number] = None,
|
|
18958
19772
|
protocol: typing.Optional[ApplicationProtocol] = None,
|
|
@@ -18964,6 +19778,7 @@ class ApplicationListenerProps(BaseApplicationListenerProps):
|
|
|
18964
19778
|
:param certificates: Certificate list of ACM cert ARNs. You must provide exactly one certificate if the listener protocol is HTTPS or TLS. Default: - No certificates.
|
|
18965
19779
|
:param default_action: Default action to take for requests to this listener. This allows full control of the default action of the load balancer, including Action chaining, fixed responses and redirect responses. See the ``ListenerAction`` class for all options. Cannot be specified together with ``defaultTargetGroups``. Default: - None.
|
|
18966
19780
|
:param default_target_groups: Default target groups to load balance to. All target groups will be load balanced to with equal weight and without stickiness. For a more complex configuration than that, use either ``defaultAction`` or ``addAction()``. Cannot be specified together with ``defaultAction``. Default: - None.
|
|
19781
|
+
:param mutual_authentication: The mutual authentication configuration information. Default: - No mutual authentication configuration
|
|
18967
19782
|
:param open: Allow anyone to connect to the load balancer on the listener port. If this is specified, the load balancer will be opened up to anyone who can reach it. For internal load balancers this is anyone in the same VPC. For public load balancers, this is anyone on the internet. If you want to be more selective about who can access this load balancer, set this to ``false`` and use the listener's ``connections`` object to selectively grant access to the load balancer on the listener port. Default: true
|
|
18968
19783
|
:param port: The port on which the listener listens for requests. Default: - Determined from protocol if known.
|
|
18969
19784
|
:param protocol: The protocol to use. Default: - Determined from port if known.
|
|
@@ -18982,6 +19797,7 @@ class ApplicationListenerProps(BaseApplicationListenerProps):
|
|
|
18982
19797
|
# application_target_group: elbv2.ApplicationTargetGroup
|
|
18983
19798
|
# listener_action: elbv2.ListenerAction
|
|
18984
19799
|
# listener_certificate: elbv2.ListenerCertificate
|
|
19800
|
+
# trust_store: elbv2.TrustStore
|
|
18985
19801
|
|
|
18986
19802
|
application_listener_props = elbv2.ApplicationListenerProps(
|
|
18987
19803
|
load_balancer=application_load_balancer,
|
|
@@ -18990,17 +19806,25 @@ class ApplicationListenerProps(BaseApplicationListenerProps):
|
|
|
18990
19806
|
certificates=[listener_certificate],
|
|
18991
19807
|
default_action=listener_action,
|
|
18992
19808
|
default_target_groups=[application_target_group],
|
|
19809
|
+
mutual_authentication=elbv2.MutualAuthentication(
|
|
19810
|
+
ignore_client_certificate_expiry=False,
|
|
19811
|
+
mutual_authentication_mode=elbv2.MutualAuthenticationMode.OFF,
|
|
19812
|
+
trust_store=trust_store
|
|
19813
|
+
),
|
|
18993
19814
|
open=False,
|
|
18994
19815
|
port=123,
|
|
18995
19816
|
protocol=elbv2.ApplicationProtocol.HTTP,
|
|
18996
19817
|
ssl_policy=elbv2.SslPolicy.RECOMMENDED_TLS
|
|
18997
19818
|
)
|
|
18998
19819
|
'''
|
|
19820
|
+
if isinstance(mutual_authentication, dict):
|
|
19821
|
+
mutual_authentication = MutualAuthentication(**mutual_authentication)
|
|
18999
19822
|
if __debug__:
|
|
19000
19823
|
type_hints = typing.get_type_hints(_typecheckingstub__e75c9b01f3107ce8d6eaba24046fe2615baadcbc80764f82433f160f3cde00e9)
|
|
19001
19824
|
check_type(argname="argument certificates", value=certificates, expected_type=type_hints["certificates"])
|
|
19002
19825
|
check_type(argname="argument default_action", value=default_action, expected_type=type_hints["default_action"])
|
|
19003
19826
|
check_type(argname="argument default_target_groups", value=default_target_groups, expected_type=type_hints["default_target_groups"])
|
|
19827
|
+
check_type(argname="argument mutual_authentication", value=mutual_authentication, expected_type=type_hints["mutual_authentication"])
|
|
19004
19828
|
check_type(argname="argument open", value=open, expected_type=type_hints["open"])
|
|
19005
19829
|
check_type(argname="argument port", value=port, expected_type=type_hints["port"])
|
|
19006
19830
|
check_type(argname="argument protocol", value=protocol, expected_type=type_hints["protocol"])
|
|
@@ -19015,6 +19839,8 @@ class ApplicationListenerProps(BaseApplicationListenerProps):
|
|
|
19015
19839
|
self._values["default_action"] = default_action
|
|
19016
19840
|
if default_target_groups is not None:
|
|
19017
19841
|
self._values["default_target_groups"] = default_target_groups
|
|
19842
|
+
if mutual_authentication is not None:
|
|
19843
|
+
self._values["mutual_authentication"] = mutual_authentication
|
|
19018
19844
|
if open is not None:
|
|
19019
19845
|
self._values["open"] = open
|
|
19020
19846
|
if port is not None:
|
|
@@ -19068,6 +19894,17 @@ class ApplicationListenerProps(BaseApplicationListenerProps):
|
|
|
19068
19894
|
result = self._values.get("default_target_groups")
|
|
19069
19895
|
return typing.cast(typing.Optional[typing.List["IApplicationTargetGroup"]], result)
|
|
19070
19896
|
|
|
19897
|
+
@builtins.property
|
|
19898
|
+
def mutual_authentication(self) -> typing.Optional[MutualAuthentication]:
|
|
19899
|
+
'''The mutual authentication configuration information.
|
|
19900
|
+
|
|
19901
|
+
:default: - No mutual authentication configuration
|
|
19902
|
+
|
|
19903
|
+
:see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/mutual-authentication.html
|
|
19904
|
+
'''
|
|
19905
|
+
result = self._values.get("mutual_authentication")
|
|
19906
|
+
return typing.cast(typing.Optional[MutualAuthentication], result)
|
|
19907
|
+
|
|
19071
19908
|
@builtins.property
|
|
19072
19909
|
def open(self) -> typing.Optional[builtins.bool]:
|
|
19073
19910
|
'''Allow anyone to connect to the load balancer on the listener port.
|
|
@@ -20432,6 +21269,7 @@ class IApplicationLoadBalancer(
|
|
|
20432
21269
|
certificates: typing.Optional[typing.Sequence[IListenerCertificate]] = None,
|
|
20433
21270
|
default_action: typing.Optional[ListenerAction] = None,
|
|
20434
21271
|
default_target_groups: typing.Optional[typing.Sequence["IApplicationTargetGroup"]] = None,
|
|
21272
|
+
mutual_authentication: typing.Optional[typing.Union[MutualAuthentication, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
20435
21273
|
open: typing.Optional[builtins.bool] = None,
|
|
20436
21274
|
port: typing.Optional[jsii.Number] = None,
|
|
20437
21275
|
protocol: typing.Optional[ApplicationProtocol] = None,
|
|
@@ -20443,6 +21281,7 @@ class IApplicationLoadBalancer(
|
|
|
20443
21281
|
:param certificates: Certificate list of ACM cert ARNs. You must provide exactly one certificate if the listener protocol is HTTPS or TLS. Default: - No certificates.
|
|
20444
21282
|
:param default_action: Default action to take for requests to this listener. This allows full control of the default action of the load balancer, including Action chaining, fixed responses and redirect responses. See the ``ListenerAction`` class for all options. Cannot be specified together with ``defaultTargetGroups``. Default: - None.
|
|
20445
21283
|
:param default_target_groups: Default target groups to load balance to. All target groups will be load balanced to with equal weight and without stickiness. For a more complex configuration than that, use either ``defaultAction`` or ``addAction()``. Cannot be specified together with ``defaultAction``. Default: - None.
|
|
21284
|
+
:param mutual_authentication: The mutual authentication configuration information. Default: - No mutual authentication configuration
|
|
20446
21285
|
:param open: Allow anyone to connect to the load balancer on the listener port. If this is specified, the load balancer will be opened up to anyone who can reach it. For internal load balancers this is anyone in the same VPC. For public load balancers, this is anyone on the internet. If you want to be more selective about who can access this load balancer, set this to ``false`` and use the listener's ``connections`` object to selectively grant access to the load balancer on the listener port. Default: true
|
|
20447
21286
|
:param port: The port on which the listener listens for requests. Default: - Determined from protocol if known.
|
|
20448
21287
|
:param protocol: The protocol to use. Default: - Determined from port if known.
|
|
@@ -20507,6 +21346,7 @@ class _IApplicationLoadBalancerProxy(
|
|
|
20507
21346
|
certificates: typing.Optional[typing.Sequence[IListenerCertificate]] = None,
|
|
20508
21347
|
default_action: typing.Optional[ListenerAction] = None,
|
|
20509
21348
|
default_target_groups: typing.Optional[typing.Sequence["IApplicationTargetGroup"]] = None,
|
|
21349
|
+
mutual_authentication: typing.Optional[typing.Union[MutualAuthentication, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
20510
21350
|
open: typing.Optional[builtins.bool] = None,
|
|
20511
21351
|
port: typing.Optional[jsii.Number] = None,
|
|
20512
21352
|
protocol: typing.Optional[ApplicationProtocol] = None,
|
|
@@ -20518,6 +21358,7 @@ class _IApplicationLoadBalancerProxy(
|
|
|
20518
21358
|
:param certificates: Certificate list of ACM cert ARNs. You must provide exactly one certificate if the listener protocol is HTTPS or TLS. Default: - No certificates.
|
|
20519
21359
|
:param default_action: Default action to take for requests to this listener. This allows full control of the default action of the load balancer, including Action chaining, fixed responses and redirect responses. See the ``ListenerAction`` class for all options. Cannot be specified together with ``defaultTargetGroups``. Default: - None.
|
|
20520
21360
|
:param default_target_groups: Default target groups to load balance to. All target groups will be load balanced to with equal weight and without stickiness. For a more complex configuration than that, use either ``defaultAction`` or ``addAction()``. Cannot be specified together with ``defaultAction``. Default: - None.
|
|
21361
|
+
:param mutual_authentication: The mutual authentication configuration information. Default: - No mutual authentication configuration
|
|
20521
21362
|
:param open: Allow anyone to connect to the load balancer on the listener port. If this is specified, the load balancer will be opened up to anyone who can reach it. For internal load balancers this is anyone in the same VPC. For public load balancers, this is anyone on the internet. If you want to be more selective about who can access this load balancer, set this to ``false`` and use the listener's ``connections`` object to selectively grant access to the load balancer on the listener port. Default: true
|
|
20522
21363
|
:param port: The port on which the listener listens for requests. Default: - Determined from protocol if known.
|
|
20523
21364
|
:param protocol: The protocol to use. Default: - Determined from port if known.
|
|
@@ -20530,6 +21371,7 @@ class _IApplicationLoadBalancerProxy(
|
|
|
20530
21371
|
certificates=certificates,
|
|
20531
21372
|
default_action=default_action,
|
|
20532
21373
|
default_target_groups=default_target_groups,
|
|
21374
|
+
mutual_authentication=mutual_authentication,
|
|
20533
21375
|
open=open,
|
|
20534
21376
|
port=port,
|
|
20535
21377
|
protocol=protocol,
|
|
@@ -21280,6 +22122,7 @@ class ApplicationListener(
|
|
|
21280
22122
|
certificates: typing.Optional[typing.Sequence[IListenerCertificate]] = None,
|
|
21281
22123
|
default_action: typing.Optional[ListenerAction] = None,
|
|
21282
22124
|
default_target_groups: typing.Optional[typing.Sequence[IApplicationTargetGroup]] = None,
|
|
22125
|
+
mutual_authentication: typing.Optional[typing.Union[MutualAuthentication, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
21283
22126
|
open: typing.Optional[builtins.bool] = None,
|
|
21284
22127
|
port: typing.Optional[jsii.Number] = None,
|
|
21285
22128
|
protocol: typing.Optional[ApplicationProtocol] = None,
|
|
@@ -21292,6 +22135,7 @@ class ApplicationListener(
|
|
|
21292
22135
|
:param certificates: Certificate list of ACM cert ARNs. You must provide exactly one certificate if the listener protocol is HTTPS or TLS. Default: - No certificates.
|
|
21293
22136
|
:param default_action: Default action to take for requests to this listener. This allows full control of the default action of the load balancer, including Action chaining, fixed responses and redirect responses. See the ``ListenerAction`` class for all options. Cannot be specified together with ``defaultTargetGroups``. Default: - None.
|
|
21294
22137
|
:param default_target_groups: Default target groups to load balance to. All target groups will be load balanced to with equal weight and without stickiness. For a more complex configuration than that, use either ``defaultAction`` or ``addAction()``. Cannot be specified together with ``defaultAction``. Default: - None.
|
|
22138
|
+
:param mutual_authentication: The mutual authentication configuration information. Default: - No mutual authentication configuration
|
|
21295
22139
|
:param open: Allow anyone to connect to the load balancer on the listener port. If this is specified, the load balancer will be opened up to anyone who can reach it. For internal load balancers this is anyone in the same VPC. For public load balancers, this is anyone on the internet. If you want to be more selective about who can access this load balancer, set this to ``false`` and use the listener's ``connections`` object to selectively grant access to the load balancer on the listener port. Default: true
|
|
21296
22140
|
:param port: The port on which the listener listens for requests. Default: - Determined from protocol if known.
|
|
21297
22141
|
:param protocol: The protocol to use. Default: - Determined from port if known.
|
|
@@ -21306,6 +22150,7 @@ class ApplicationListener(
|
|
|
21306
22150
|
certificates=certificates,
|
|
21307
22151
|
default_action=default_action,
|
|
21308
22152
|
default_target_groups=default_target_groups,
|
|
22153
|
+
mutual_authentication=mutual_authentication,
|
|
21309
22154
|
open=open,
|
|
21310
22155
|
port=port,
|
|
21311
22156
|
protocol=protocol,
|
|
@@ -21580,6 +22425,12 @@ class ApplicationListener(
|
|
|
21580
22425
|
'''Load balancer this listener is associated with.'''
|
|
21581
22426
|
return typing.cast(IApplicationLoadBalancer, jsii.get(self, "loadBalancer"))
|
|
21582
22427
|
|
|
22428
|
+
@builtins.property
|
|
22429
|
+
@jsii.member(jsii_name="port")
|
|
22430
|
+
def port(self) -> jsii.Number:
|
|
22431
|
+
'''The port of the listener.'''
|
|
22432
|
+
return typing.cast(jsii.Number, jsii.get(self, "port"))
|
|
22433
|
+
|
|
21583
22434
|
|
|
21584
22435
|
@jsii.implements(IApplicationLoadBalancer)
|
|
21585
22436
|
class ApplicationLoadBalancer(
|
|
@@ -21776,6 +22627,7 @@ class ApplicationLoadBalancer(
|
|
|
21776
22627
|
certificates: typing.Optional[typing.Sequence[IListenerCertificate]] = None,
|
|
21777
22628
|
default_action: typing.Optional[ListenerAction] = None,
|
|
21778
22629
|
default_target_groups: typing.Optional[typing.Sequence[IApplicationTargetGroup]] = None,
|
|
22630
|
+
mutual_authentication: typing.Optional[typing.Union[MutualAuthentication, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
21779
22631
|
open: typing.Optional[builtins.bool] = None,
|
|
21780
22632
|
port: typing.Optional[jsii.Number] = None,
|
|
21781
22633
|
protocol: typing.Optional[ApplicationProtocol] = None,
|
|
@@ -21787,6 +22639,7 @@ class ApplicationLoadBalancer(
|
|
|
21787
22639
|
:param certificates: Certificate list of ACM cert ARNs. You must provide exactly one certificate if the listener protocol is HTTPS or TLS. Default: - No certificates.
|
|
21788
22640
|
:param default_action: Default action to take for requests to this listener. This allows full control of the default action of the load balancer, including Action chaining, fixed responses and redirect responses. See the ``ListenerAction`` class for all options. Cannot be specified together with ``defaultTargetGroups``. Default: - None.
|
|
21789
22641
|
:param default_target_groups: Default target groups to load balance to. All target groups will be load balanced to with equal weight and without stickiness. For a more complex configuration than that, use either ``defaultAction`` or ``addAction()``. Cannot be specified together with ``defaultAction``. Default: - None.
|
|
22642
|
+
:param mutual_authentication: The mutual authentication configuration information. Default: - No mutual authentication configuration
|
|
21790
22643
|
:param open: Allow anyone to connect to the load balancer on the listener port. If this is specified, the load balancer will be opened up to anyone who can reach it. For internal load balancers this is anyone in the same VPC. For public load balancers, this is anyone on the internet. If you want to be more selective about who can access this load balancer, set this to ``false`` and use the listener's ``connections`` object to selectively grant access to the load balancer on the listener port. Default: true
|
|
21791
22644
|
:param port: The port on which the listener listens for requests. Default: - Determined from protocol if known.
|
|
21792
22645
|
:param protocol: The protocol to use. Default: - Determined from port if known.
|
|
@@ -21799,6 +22652,7 @@ class ApplicationLoadBalancer(
|
|
|
21799
22652
|
certificates=certificates,
|
|
21800
22653
|
default_action=default_action,
|
|
21801
22654
|
default_target_groups=default_target_groups,
|
|
22655
|
+
mutual_authentication=mutual_authentication,
|
|
21802
22656
|
open=open,
|
|
21803
22657
|
port=port,
|
|
21804
22658
|
protocol=protocol,
|
|
@@ -21866,6 +22720,28 @@ class ApplicationLoadBalancer(
|
|
|
21866
22720
|
check_type(argname="argument prefix", value=prefix, expected_type=type_hints["prefix"])
|
|
21867
22721
|
return typing.cast(None, jsii.invoke(self, "logAccessLogs", [bucket, prefix]))
|
|
21868
22722
|
|
|
22723
|
+
@jsii.member(jsii_name="logConnectionLogs")
|
|
22724
|
+
def log_connection_logs(
|
|
22725
|
+
self,
|
|
22726
|
+
bucket: _IBucket_42e086fd,
|
|
22727
|
+
prefix: typing.Optional[builtins.str] = None,
|
|
22728
|
+
) -> None:
|
|
22729
|
+
'''Enable connection logging for this load balancer.
|
|
22730
|
+
|
|
22731
|
+
A region must be specified on the stack containing the load balancer; you cannot enable logging on
|
|
22732
|
+
environment-agnostic stacks.
|
|
22733
|
+
|
|
22734
|
+
:param bucket: -
|
|
22735
|
+
:param prefix: -
|
|
22736
|
+
|
|
22737
|
+
:see: https://docs.aws.amazon.com/cdk/latest/guide/environments.html
|
|
22738
|
+
'''
|
|
22739
|
+
if __debug__:
|
|
22740
|
+
type_hints = typing.get_type_hints(_typecheckingstub__83af77b39f54e0ddb4dfef1f0572e098aa10c9c98e90f7b63b99c010ab474953)
|
|
22741
|
+
check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
|
|
22742
|
+
check_type(argname="argument prefix", value=prefix, expected_type=type_hints["prefix"])
|
|
22743
|
+
return typing.cast(None, jsii.invoke(self, "logConnectionLogs", [bucket, prefix]))
|
|
22744
|
+
|
|
21869
22745
|
@jsii.member(jsii_name="metric")
|
|
21870
22746
|
def metric(
|
|
21871
22747
|
self,
|
|
@@ -23638,11 +24514,14 @@ __all__ = [
|
|
|
23638
24514
|
"INetworkTargetGroup",
|
|
23639
24515
|
"INetworkTargetGroupMetrics",
|
|
23640
24516
|
"ITargetGroup",
|
|
24517
|
+
"ITrustStore",
|
|
23641
24518
|
"IpAddressType",
|
|
23642
24519
|
"ListenerAction",
|
|
23643
24520
|
"ListenerCertificate",
|
|
23644
24521
|
"ListenerCondition",
|
|
23645
24522
|
"LoadBalancerTargetProps",
|
|
24523
|
+
"MutualAuthentication",
|
|
24524
|
+
"MutualAuthenticationMode",
|
|
23646
24525
|
"NetworkForwardOptions",
|
|
23647
24526
|
"NetworkListener",
|
|
23648
24527
|
"NetworkListenerAction",
|
|
@@ -23658,11 +24537,17 @@ __all__ = [
|
|
|
23658
24537
|
"Protocol",
|
|
23659
24538
|
"QueryStringCondition",
|
|
23660
24539
|
"RedirectOptions",
|
|
24540
|
+
"RevocationContent",
|
|
24541
|
+
"RevocationType",
|
|
23661
24542
|
"SslPolicy",
|
|
23662
24543
|
"TargetGroupAttributes",
|
|
23663
24544
|
"TargetGroupBase",
|
|
23664
24545
|
"TargetGroupLoadBalancingAlgorithmType",
|
|
23665
24546
|
"TargetType",
|
|
24547
|
+
"TrustStore",
|
|
24548
|
+
"TrustStoreProps",
|
|
24549
|
+
"TrustStoreRevocation",
|
|
24550
|
+
"TrustStoreRevocationProps",
|
|
23666
24551
|
"UnauthenticatedAction",
|
|
23667
24552
|
"WeightedTargetGroup",
|
|
23668
24553
|
"XffHeaderProcessingMode",
|
|
@@ -23798,6 +24683,7 @@ def _typecheckingstub__ff235432aa66ab4c299975824b88660e11bc6ea3280f57c10bdfed857
|
|
|
23798
24683
|
certificates: typing.Optional[typing.Sequence[IListenerCertificate]] = None,
|
|
23799
24684
|
default_action: typing.Optional[ListenerAction] = None,
|
|
23800
24685
|
default_target_groups: typing.Optional[typing.Sequence[IApplicationTargetGroup]] = None,
|
|
24686
|
+
mutual_authentication: typing.Optional[typing.Union[MutualAuthentication, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
23801
24687
|
open: typing.Optional[builtins.bool] = None,
|
|
23802
24688
|
port: typing.Optional[jsii.Number] = None,
|
|
23803
24689
|
protocol: typing.Optional[ApplicationProtocol] = None,
|
|
@@ -25085,6 +25971,15 @@ def _typecheckingstub__8c6465f32cb6dbca33916708dcb5db1b787fcbdd00c3ff0265d561109
|
|
|
25085
25971
|
"""Type checking stubs"""
|
|
25086
25972
|
pass
|
|
25087
25973
|
|
|
25974
|
+
def _typecheckingstub__89e8c0615ab98434e16d3e39e80ba0dcf6db041697e65279c8dffc68d7380e62(
|
|
25975
|
+
*,
|
|
25976
|
+
ignore_client_certificate_expiry: typing.Optional[builtins.bool] = None,
|
|
25977
|
+
mutual_authentication_mode: typing.Optional[MutualAuthenticationMode] = None,
|
|
25978
|
+
trust_store: typing.Optional[ITrustStore] = None,
|
|
25979
|
+
) -> None:
|
|
25980
|
+
"""Type checking stubs"""
|
|
25981
|
+
pass
|
|
25982
|
+
|
|
25088
25983
|
def _typecheckingstub__297ec1640077e25cc26000f0d1a615a93ea1f21d3208449475389d378b91e335(
|
|
25089
25984
|
*,
|
|
25090
25985
|
stickiness_duration: typing.Optional[_Duration_4839e8c3] = None,
|
|
@@ -25310,6 +26205,16 @@ def _typecheckingstub__51d56527f4dc28756e02b9a793d897a5ba076221ea88231c8ab457284
|
|
|
25310
26205
|
"""Type checking stubs"""
|
|
25311
26206
|
pass
|
|
25312
26207
|
|
|
26208
|
+
def _typecheckingstub__a2d98c0c87c9335126a85af9c46b02ccfdb480d04d96fb422b8f62f17d09b801(
|
|
26209
|
+
*,
|
|
26210
|
+
bucket: _IBucket_42e086fd,
|
|
26211
|
+
key: builtins.str,
|
|
26212
|
+
revocation_type: typing.Optional[RevocationType] = None,
|
|
26213
|
+
version: typing.Optional[builtins.str] = None,
|
|
26214
|
+
) -> None:
|
|
26215
|
+
"""Type checking stubs"""
|
|
26216
|
+
pass
|
|
26217
|
+
|
|
25313
26218
|
def _typecheckingstub__37df8dc72952ae228e1a00919ab4c7fcae58e15f47e4e6bc9c1dfdb923d23dcd(
|
|
25314
26219
|
*,
|
|
25315
26220
|
target_group_arn: builtins.str,
|
|
@@ -25346,6 +26251,54 @@ def _typecheckingstub__7c19dd8de36c1c86ebd89e7c24379bf1b20a6e5f343db95042864bf02
|
|
|
25346
26251
|
"""Type checking stubs"""
|
|
25347
26252
|
pass
|
|
25348
26253
|
|
|
26254
|
+
def _typecheckingstub__fbafbf35d05de3ceecc0965698aa7d45dd0a58477f5c8555d0efa8b8cfedbd7d(
|
|
26255
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
26256
|
+
id: builtins.str,
|
|
26257
|
+
*,
|
|
26258
|
+
bucket: _IBucket_42e086fd,
|
|
26259
|
+
key: builtins.str,
|
|
26260
|
+
trust_store_name: typing.Optional[builtins.str] = None,
|
|
26261
|
+
version: typing.Optional[builtins.str] = None,
|
|
26262
|
+
) -> None:
|
|
26263
|
+
"""Type checking stubs"""
|
|
26264
|
+
pass
|
|
26265
|
+
|
|
26266
|
+
def _typecheckingstub__1e078d73452d520ce829e14315128763e3ef291dcb7c3e40df660393d5135f4b(
|
|
26267
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
26268
|
+
id: builtins.str,
|
|
26269
|
+
trust_store_arn: builtins.str,
|
|
26270
|
+
) -> None:
|
|
26271
|
+
"""Type checking stubs"""
|
|
26272
|
+
pass
|
|
26273
|
+
|
|
26274
|
+
def _typecheckingstub__41f3f138d5b55c026366c540abffc84d65da6413c7cfa2972612fb796b1d3206(
|
|
26275
|
+
*,
|
|
26276
|
+
bucket: _IBucket_42e086fd,
|
|
26277
|
+
key: builtins.str,
|
|
26278
|
+
trust_store_name: typing.Optional[builtins.str] = None,
|
|
26279
|
+
version: typing.Optional[builtins.str] = None,
|
|
26280
|
+
) -> None:
|
|
26281
|
+
"""Type checking stubs"""
|
|
26282
|
+
pass
|
|
26283
|
+
|
|
26284
|
+
def _typecheckingstub__688628f84e2cff85506975764e889f60121aab1ab9420e53b24769400ab3c7d7(
|
|
26285
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
26286
|
+
id: builtins.str,
|
|
26287
|
+
*,
|
|
26288
|
+
revocation_contents: typing.Sequence[typing.Union[RevocationContent, typing.Dict[builtins.str, typing.Any]]],
|
|
26289
|
+
trust_store: ITrustStore,
|
|
26290
|
+
) -> None:
|
|
26291
|
+
"""Type checking stubs"""
|
|
26292
|
+
pass
|
|
26293
|
+
|
|
26294
|
+
def _typecheckingstub__de0bf3e884d9bbf4a0d3582e17910f3a46c89450790ad669a820be588c4bb749(
|
|
26295
|
+
*,
|
|
26296
|
+
revocation_contents: typing.Sequence[typing.Union[RevocationContent, typing.Dict[builtins.str, typing.Any]]],
|
|
26297
|
+
trust_store: ITrustStore,
|
|
26298
|
+
) -> None:
|
|
26299
|
+
"""Type checking stubs"""
|
|
26300
|
+
pass
|
|
26301
|
+
|
|
25349
26302
|
def _typecheckingstub__ab2badf5ff29dbd830b4a4cd8498b7662a6a7143720d1c6fe2cabe26ccd49179(
|
|
25350
26303
|
*,
|
|
25351
26304
|
target_group: IApplicationTargetGroup,
|
|
@@ -25409,6 +26362,7 @@ def _typecheckingstub__e75c9b01f3107ce8d6eaba24046fe2615baadcbc80764f82433f160f3
|
|
|
25409
26362
|
certificates: typing.Optional[typing.Sequence[IListenerCertificate]] = None,
|
|
25410
26363
|
default_action: typing.Optional[ListenerAction] = None,
|
|
25411
26364
|
default_target_groups: typing.Optional[typing.Sequence[IApplicationTargetGroup]] = None,
|
|
26365
|
+
mutual_authentication: typing.Optional[typing.Union[MutualAuthentication, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
25412
26366
|
open: typing.Optional[builtins.bool] = None,
|
|
25413
26367
|
port: typing.Optional[jsii.Number] = None,
|
|
25414
26368
|
protocol: typing.Optional[ApplicationProtocol] = None,
|
|
@@ -25552,6 +26506,7 @@ def _typecheckingstub__ec66b1151d33baa64d152f0d9139b5eb90ae2a933206ec714d9231577
|
|
|
25552
26506
|
certificates: typing.Optional[typing.Sequence[IListenerCertificate]] = None,
|
|
25553
26507
|
default_action: typing.Optional[ListenerAction] = None,
|
|
25554
26508
|
default_target_groups: typing.Optional[typing.Sequence[IApplicationTargetGroup]] = None,
|
|
26509
|
+
mutual_authentication: typing.Optional[typing.Union[MutualAuthentication, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
25555
26510
|
open: typing.Optional[builtins.bool] = None,
|
|
25556
26511
|
port: typing.Optional[jsii.Number] = None,
|
|
25557
26512
|
protocol: typing.Optional[ApplicationProtocol] = None,
|
|
@@ -25714,6 +26669,7 @@ def _typecheckingstub__456b854cc2e0f11115cdc6d97d27e54e4d0b70c3bbcac268b8302e61b
|
|
|
25714
26669
|
certificates: typing.Optional[typing.Sequence[IListenerCertificate]] = None,
|
|
25715
26670
|
default_action: typing.Optional[ListenerAction] = None,
|
|
25716
26671
|
default_target_groups: typing.Optional[typing.Sequence[IApplicationTargetGroup]] = None,
|
|
26672
|
+
mutual_authentication: typing.Optional[typing.Union[MutualAuthentication, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
25717
26673
|
open: typing.Optional[builtins.bool] = None,
|
|
25718
26674
|
port: typing.Optional[jsii.Number] = None,
|
|
25719
26675
|
protocol: typing.Optional[ApplicationProtocol] = None,
|
|
@@ -25859,6 +26815,7 @@ def _typecheckingstub__4f4b497be05dc5ab6f5a49395304fa7ec41bb629f32d3da388c2e70e1
|
|
|
25859
26815
|
certificates: typing.Optional[typing.Sequence[IListenerCertificate]] = None,
|
|
25860
26816
|
default_action: typing.Optional[ListenerAction] = None,
|
|
25861
26817
|
default_target_groups: typing.Optional[typing.Sequence[IApplicationTargetGroup]] = None,
|
|
26818
|
+
mutual_authentication: typing.Optional[typing.Union[MutualAuthentication, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
25862
26819
|
open: typing.Optional[builtins.bool] = None,
|
|
25863
26820
|
port: typing.Optional[jsii.Number] = None,
|
|
25864
26821
|
protocol: typing.Optional[ApplicationProtocol] = None,
|
|
@@ -25880,6 +26837,13 @@ def _typecheckingstub__14e58136aa424614ad3deed70de619716d36a85a2336e0d16a5d5e3ed
|
|
|
25880
26837
|
"""Type checking stubs"""
|
|
25881
26838
|
pass
|
|
25882
26839
|
|
|
26840
|
+
def _typecheckingstub__83af77b39f54e0ddb4dfef1f0572e098aa10c9c98e90f7b63b99c010ab474953(
|
|
26841
|
+
bucket: _IBucket_42e086fd,
|
|
26842
|
+
prefix: typing.Optional[builtins.str] = None,
|
|
26843
|
+
) -> None:
|
|
26844
|
+
"""Type checking stubs"""
|
|
26845
|
+
pass
|
|
26846
|
+
|
|
25883
26847
|
def _typecheckingstub__062c936e075fbff0552978e79ddc8d8cb01378ba1804b2546d14bd0383a824a0(
|
|
25884
26848
|
metric_name: builtins.str,
|
|
25885
26849
|
*,
|