aws-cdk-lib 2.200.2__py3-none-any.whl → 2.224.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 +1349 -373
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
- aws_cdk/alexa_ask/__init__.py +12 -2
- aws_cdk/aws_accessanalyzer/__init__.py +323 -6
- aws_cdk/aws_acmpca/__init__.py +53 -10
- aws_cdk/aws_aiops/__init__.py +1019 -0
- aws_cdk/aws_amazonmq/__init__.py +357 -313
- aws_cdk/aws_amplify/__init__.py +173 -17
- aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
- aws_cdk/aws_apigateway/__init__.py +1017 -155
- aws_cdk/aws_apigatewayv2/__init__.py +2796 -379
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
- aws_cdk/aws_appconfig/__init__.py +298 -43
- aws_cdk/aws_appflow/__init__.py +151 -6
- aws_cdk/aws_appintegrations/__init__.py +546 -6
- aws_cdk/aws_applicationautoscaling/__init__.py +29 -6
- aws_cdk/aws_applicationinsights/__init__.py +13 -2
- aws_cdk/aws_applicationsignals/__init__.py +374 -6
- aws_cdk/aws_appmesh/__init__.py +94 -26
- aws_cdk/aws_apprunner/__init__.py +66 -18
- aws_cdk/aws_appstream/__init__.py +309 -55
- aws_cdk/aws_appsync/__init__.py +227 -53
- aws_cdk/aws_apptest/__init__.py +71 -2
- aws_cdk/aws_aps/__init__.py +1875 -132
- aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
- aws_cdk/aws_arczonalshift/__init__.py +39 -12
- aws_cdk/aws_athena/__init__.py +365 -29
- aws_cdk/aws_auditmanager/__init__.py +71 -2
- aws_cdk/aws_autoscaling/__init__.py +135 -55
- aws_cdk/aws_autoscaling_common/__init__.py +3 -0
- aws_cdk/aws_autoscalingplans/__init__.py +13 -2
- aws_cdk/aws_b2bi/__init__.py +1819 -99
- aws_cdk/aws_backup/__init__.py +317 -28
- aws_cdk/aws_backupgateway/__init__.py +13 -2
- aws_cdk/aws_batch/__init__.py +1405 -178
- aws_cdk/aws_bcmdataexports/__init__.py +21 -2
- aws_cdk/aws_bedrock/__init__.py +6747 -627
- aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
- aws_cdk/aws_billingconductor/__init__.py +197 -11
- aws_cdk/aws_budgets/__init__.py +42 -4
- aws_cdk/aws_cassandra/__init__.py +247 -6
- aws_cdk/aws_ce/__init__.py +35 -6
- aws_cdk/aws_certificatemanager/__init__.py +237 -32
- aws_cdk/aws_chatbot/__init__.py +70 -6
- aws_cdk/aws_cleanrooms/__init__.py +709 -206
- aws_cdk/aws_cleanroomsml/__init__.py +13 -2
- aws_cdk/aws_cloud9/__init__.py +13 -2
- aws_cdk/aws_cloudformation/__init__.py +345 -166
- aws_cdk/aws_cloudfront/__init__.py +2101 -680
- aws_cdk/aws_cloudfront/experimental/__init__.py +108 -16
- aws_cdk/aws_cloudfront_origins/__init__.py +614 -73
- aws_cdk/aws_cloudtrail/__init__.py +301 -17
- aws_cdk/aws_cloudwatch/__init__.py +1414 -153
- aws_cdk/aws_codeartifact/__init__.py +35 -6
- aws_cdk/aws_codebuild/__init__.py +1103 -118
- aws_cdk/aws_codecommit/__init__.py +23 -9
- aws_cdk/aws_codeconnections/__init__.py +13 -2
- aws_cdk/aws_codedeploy/__init__.py +67 -6
- aws_cdk/aws_codeguruprofiler/__init__.py +74 -2
- aws_cdk/aws_codegurureviewer/__init__.py +13 -2
- aws_cdk/aws_codepipeline/__init__.py +127 -64
- aws_cdk/aws_codepipeline_actions/__init__.py +749 -0
- aws_cdk/aws_codestar/__init__.py +13 -2
- aws_cdk/aws_codestarconnections/__init__.py +35 -6
- aws_cdk/aws_codestarnotifications/__init__.py +16 -2
- aws_cdk/aws_cognito/__init__.py +814 -80
- aws_cdk/aws_cognito_identitypool/__init__.py +17 -12
- aws_cdk/aws_comprehend/__init__.py +24 -4
- aws_cdk/aws_config/__init__.py +191 -30
- aws_cdk/aws_connect/__init__.py +2736 -191
- aws_cdk/aws_connectcampaigns/__init__.py +13 -2
- aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
- aws_cdk/aws_controltower/__init__.py +35 -6
- aws_cdk/aws_cur/__init__.py +100 -4
- aws_cdk/aws_customerprofiles/__init__.py +617 -27
- aws_cdk/aws_databrew/__init__.py +68 -12
- aws_cdk/aws_datapipeline/__init__.py +42 -2
- aws_cdk/aws_datasync/__init__.py +723 -203
- aws_cdk/aws_datazone/__init__.py +4425 -608
- aws_cdk/aws_dax/__init__.py +83 -6
- aws_cdk/aws_deadline/__init__.py +321 -32
- aws_cdk/aws_detective/__init__.py +35 -6
- aws_cdk/aws_devicefarm/__init__.py +68 -12
- aws_cdk/aws_devopsguru/__init__.py +37 -6
- aws_cdk/aws_directoryservice/__init__.py +53 -4
- aws_cdk/aws_dlm/__init__.py +13 -2
- aws_cdk/aws_dms/__init__.py +184 -27
- aws_cdk/aws_docdb/__init__.py +323 -46
- aws_cdk/aws_docdbelastic/__init__.py +13 -2
- aws_cdk/aws_dsql/__init__.py +340 -12
- aws_cdk/aws_dynamodb/__init__.py +1463 -166
- aws_cdk/aws_ec2/__init__.py +9636 -1120
- aws_cdk/aws_ecr/__init__.py +631 -43
- aws_cdk/aws_ecr_assets/__init__.py +4 -0
- aws_cdk/aws_ecs/__init__.py +6524 -497
- aws_cdk/aws_ecs_patterns/__init__.py +2 -0
- aws_cdk/aws_efs/__init__.py +264 -24
- aws_cdk/aws_eks/__init__.py +1050 -218
- aws_cdk/aws_elasticache/__init__.py +373 -20
- aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
- aws_cdk/aws_elasticloadbalancing/__init__.py +16 -2
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +1670 -106
- aws_cdk/aws_elasticsearch/__init__.py +282 -9
- aws_cdk/aws_emr/__init__.py +187 -20
- aws_cdk/aws_emrcontainers/__init__.py +71 -2
- aws_cdk/aws_emrserverless/__init__.py +188 -3
- aws_cdk/aws_entityresolution/__init__.py +585 -58
- aws_cdk/aws_events/__init__.py +969 -124
- aws_cdk/aws_events_targets/__init__.py +310 -54
- aws_cdk/aws_eventschemas/__init__.py +46 -8
- aws_cdk/aws_evidently/__init__.py +57 -10
- aws_cdk/aws_evs/__init__.py +2244 -0
- aws_cdk/aws_finspace/__init__.py +71 -2
- aws_cdk/aws_fis/__init__.py +26 -4
- aws_cdk/aws_fms/__init__.py +35 -6
- aws_cdk/aws_forecast/__init__.py +24 -4
- aws_cdk/aws_frauddetector/__init__.py +79 -14
- aws_cdk/aws_fsx/__init__.py +1236 -142
- aws_cdk/aws_gamelift/__init__.py +653 -78
- aws_cdk/aws_gameliftstreams/__init__.py +38 -16
- aws_cdk/aws_globalaccelerator/__init__.py +55 -14
- aws_cdk/aws_glue/__init__.py +1368 -320
- aws_cdk/aws_grafana/__init__.py +13 -2
- aws_cdk/aws_greengrass/__init__.py +654 -32
- aws_cdk/aws_greengrassv2/__init__.py +53 -4
- aws_cdk/aws_groundstation/__init__.py +122 -6
- aws_cdk/aws_guardduty/__init__.py +1613 -123
- aws_cdk/aws_healthimaging/__init__.py +71 -2
- aws_cdk/aws_healthlake/__init__.py +42 -2
- aws_cdk/aws_iam/__init__.py +480 -140
- aws_cdk/aws_identitystore/__init__.py +24 -4
- aws_cdk/aws_imagebuilder/__init__.py +1433 -183
- aws_cdk/aws_inspector/__init__.py +38 -6
- aws_cdk/aws_inspectorv2/__init__.py +2285 -243
- aws_cdk/aws_internetmonitor/__init__.py +71 -2
- aws_cdk/aws_invoicing/__init__.py +13 -2
- aws_cdk/aws_iot/__init__.py +1730 -86
- aws_cdk/aws_iotanalytics/__init__.py +162 -8
- aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
- aws_cdk/aws_iotevents/__init__.py +122 -6
- aws_cdk/aws_iotfleethub/__init__.py +71 -2
- aws_cdk/aws_iotfleetwise/__init__.py +195 -14
- aws_cdk/aws_iotsitewise/__init__.py +1837 -89
- aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
- aws_cdk/aws_iottwinmaker/__init__.py +115 -10
- aws_cdk/aws_iotwireless/__init__.py +649 -22
- aws_cdk/aws_ivs/__init__.py +561 -57
- aws_cdk/aws_ivschat/__init__.py +24 -4
- aws_cdk/aws_kafkaconnect/__init__.py +35 -6
- aws_cdk/aws_kendra/__init__.py +120 -28
- aws_cdk/aws_kendraranking/__init__.py +13 -2
- aws_cdk/aws_kinesis/__init__.py +622 -22
- aws_cdk/aws_kinesisanalytics/__init__.py +467 -94
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +201 -11
- aws_cdk/aws_kinesisfirehose/__init__.py +3077 -295
- aws_cdk/aws_kinesisvideo/__init__.py +24 -4
- aws_cdk/aws_kms/__init__.py +188 -41
- aws_cdk/aws_lakeformation/__init__.py +80 -15
- aws_cdk/aws_lambda/__init__.py +2101 -252
- aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
- aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
- aws_cdk/aws_launchwizard/__init__.py +13 -2
- aws_cdk/aws_lex/__init__.py +871 -8
- aws_cdk/aws_licensemanager/__init__.py +24 -4
- aws_cdk/aws_lightsail/__init__.py +2159 -975
- aws_cdk/aws_location/__init__.py +618 -14
- aws_cdk/aws_logs/__init__.py +5904 -956
- aws_cdk/aws_lookoutequipment/__init__.py +13 -2
- aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
- aws_cdk/aws_lookoutvision/__init__.py +71 -2
- aws_cdk/aws_m2/__init__.py +94 -19
- aws_cdk/aws_macie/__init__.py +49 -11
- aws_cdk/aws_managedblockchain/__init__.py +180 -6
- aws_cdk/aws_mediaconnect/__init__.py +101 -18
- aws_cdk/aws_mediaconvert/__init__.py +35 -6
- aws_cdk/aws_medialive/__init__.py +1239 -35
- aws_cdk/aws_mediapackage/__init__.py +59 -12
- aws_cdk/aws_mediapackagev2/__init__.py +1607 -225
- aws_cdk/aws_mediastore/__init__.py +13 -2
- aws_cdk/aws_mediatailor/__init__.py +583 -12
- aws_cdk/aws_memorydb/__init__.py +271 -12
- aws_cdk/aws_mpa/__init__.py +1495 -0
- aws_cdk/aws_msk/__init__.py +104 -18
- aws_cdk/aws_mwaa/__init__.py +121 -9
- aws_cdk/aws_neptune/__init__.py +290 -78
- aws_cdk/aws_neptunegraph/__init__.py +24 -4
- aws_cdk/aws_networkfirewall/__init__.py +1289 -273
- aws_cdk/aws_networkmanager/__init__.py +349 -33
- aws_cdk/aws_nimblestudio/__init__.py +75 -8
- aws_cdk/aws_notifications/__init__.py +317 -12
- aws_cdk/aws_notificationscontacts/__init__.py +13 -2
- aws_cdk/aws_oam/__init__.py +24 -4
- aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
- aws_cdk/aws_odb/__init__.py +5872 -0
- aws_cdk/aws_omics/__init__.py +2495 -529
- aws_cdk/aws_opensearchserverless/__init__.py +312 -37
- aws_cdk/aws_opensearchservice/__init__.py +495 -19
- aws_cdk/aws_opsworks/__init__.py +235 -139
- aws_cdk/aws_opsworkscm/__init__.py +16 -52
- aws_cdk/aws_organizations/__init__.py +70 -10
- aws_cdk/aws_osis/__init__.py +167 -2
- aws_cdk/aws_panorama/__init__.py +151 -6
- aws_cdk/aws_paymentcryptography/__init__.py +24 -4
- aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
- aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
- aws_cdk/aws_pcs/__init__.py +387 -68
- aws_cdk/aws_personalize/__init__.py +46 -8
- aws_cdk/aws_pinpoint/__init__.py +329 -38
- aws_cdk/aws_pinpointemail/__init__.py +48 -8
- aws_cdk/aws_pipes/__init__.py +12 -2
- aws_cdk/aws_proton/__init__.py +37 -6
- aws_cdk/aws_qbusiness/__init__.py +635 -34
- aws_cdk/aws_qldb/__init__.py +24 -4
- aws_cdk/aws_quicksight/__init__.py +7900 -1160
- aws_cdk/aws_ram/__init__.py +24 -4
- aws_cdk/aws_rbin/__init__.py +12 -2
- aws_cdk/aws_rds/__init__.py +3345 -512
- aws_cdk/aws_redshift/__init__.py +143 -20
- aws_cdk/aws_redshiftserverless/__init__.py +692 -4
- aws_cdk/aws_refactorspaces/__init__.py +64 -14
- aws_cdk/aws_rekognition/__init__.py +93 -6
- aws_cdk/aws_resiliencehub/__init__.py +24 -4
- aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
- aws_cdk/aws_resourcegroups/__init__.py +82 -4
- aws_cdk/aws_robomaker/__init__.py +72 -12
- aws_cdk/aws_rolesanywhere/__init__.py +180 -6
- aws_cdk/aws_route53/__init__.py +3273 -1442
- aws_cdk/aws_route53_targets/__init__.py +3 -0
- aws_cdk/aws_route53profiles/__init__.py +37 -6
- aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
- aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
- aws_cdk/aws_route53resolver/__init__.py +226 -36
- aws_cdk/aws_rtbfabric/__init__.py +3498 -0
- aws_cdk/aws_rum/__init__.py +13 -2
- aws_cdk/aws_s3/__init__.py +1291 -158
- aws_cdk/aws_s3_assets/__init__.py +11 -11
- aws_cdk/aws_s3_deployment/__init__.py +147 -11
- aws_cdk/aws_s3_notifications/__init__.py +7 -7
- aws_cdk/aws_s3express/__init__.py +266 -8
- aws_cdk/aws_s3objectlambda/__init__.py +68 -16
- aws_cdk/aws_s3outposts/__init__.py +46 -8
- aws_cdk/aws_s3tables/__init__.py +2000 -323
- aws_cdk/aws_s3vectors/__init__.py +1378 -0
- aws_cdk/aws_sagemaker/__init__.py +6617 -363
- aws_cdk/aws_sam/__init__.py +79 -14
- aws_cdk/aws_scheduler/__init__.py +237 -4
- aws_cdk/aws_sdb/__init__.py +12 -2
- aws_cdk/aws_secretsmanager/__init__.py +170 -14
- aws_cdk/aws_securityhub/__init__.py +3121 -176
- aws_cdk/aws_securitylake/__init__.py +46 -8
- aws_cdk/aws_servicecatalog/__init__.py +405 -246
- aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
- aws_cdk/aws_servicediscovery/__init__.py +140 -47
- aws_cdk/aws_ses/__init__.py +1231 -140
- aws_cdk/aws_shield/__init__.py +46 -8
- aws_cdk/aws_signer/__init__.py +27 -4
- aws_cdk/aws_simspaceweaver/__init__.py +42 -2
- aws_cdk/aws_smsvoice/__init__.py +4716 -0
- aws_cdk/aws_sns/__init__.py +245 -29
- aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
- aws_cdk/aws_sqs/__init__.py +211 -14
- aws_cdk/aws_ssm/__init__.py +401 -58
- aws_cdk/aws_ssmcontacts/__init__.py +46 -8
- aws_cdk/aws_ssmguiconnect/__init__.py +13 -2
- aws_cdk/aws_ssmincidents/__init__.py +24 -4
- aws_cdk/aws_ssmquicksetup/__init__.py +383 -6
- aws_cdk/aws_sso/__init__.py +70 -12
- aws_cdk/aws_stepfunctions/__init__.py +615 -70
- aws_cdk/aws_stepfunctions_tasks/__init__.py +781 -144
- aws_cdk/aws_supportapp/__init__.py +39 -6
- aws_cdk/aws_synthetics/__init__.py +861 -75
- aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
- aws_cdk/aws_timestream/__init__.py +104 -8
- aws_cdk/aws_transfer/__init__.py +784 -87
- aws_cdk/aws_verifiedpermissions/__init__.py +145 -17
- aws_cdk/aws_voiceid/__init__.py +41 -2
- aws_cdk/aws_vpclattice/__init__.py +376 -30
- aws_cdk/aws_waf/__init__.py +79 -14
- aws_cdk/aws_wafregional/__init__.py +123 -22
- aws_cdk/aws_wafv2/__init__.py +1179 -60
- aws_cdk/aws_wisdom/__init__.py +1401 -90
- aws_cdk/aws_workspaces/__init__.py +93 -6
- aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
- aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
- aws_cdk/aws_workspacesweb/__init__.py +1057 -141
- aws_cdk/aws_xray/__init__.py +48 -8
- aws_cdk/cloud_assembly_schema/__init__.py +231 -6
- aws_cdk/custom_resources/__init__.py +40 -12
- aws_cdk/cx_api/__init__.py +85 -14
- aws_cdk/interfaces/__init__.py +739 -0
- aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
- aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
- aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
- aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
- aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
- aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
- aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
- aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
- aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
- aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
- aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
- aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
- aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
- aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
- aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
- aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
- aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
- aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
- aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
- aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
- aws_cdk/interfaces/aws_aps/__init__.py +558 -0
- aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
- aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
- aws_cdk/interfaces/aws_athena/__init__.py +575 -0
- aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
- aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
- aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
- aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
- aws_cdk/interfaces/aws_backup/__init__.py +955 -0
- aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
- aws_cdk/interfaces/aws_batch/__init__.py +681 -0
- aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
- aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
- aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
- aws_cdk/interfaces/aws_billing/__init__.py +146 -0
- aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
- aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
- aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
- aws_cdk/interfaces/aws_ce/__init__.py +352 -0
- aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
- aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
- aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
- aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
- aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
- aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
- aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
- aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
- aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
- aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
- aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
- aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
- aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
- aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
- aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
- aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
- aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
- aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
- aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
- aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
- aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
- aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
- aws_cdk/interfaces/aws_config/__init__.py +1165 -0
- aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
- aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
- aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
- aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
- aws_cdk/interfaces/aws_cur/__init__.py +146 -0
- aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
- aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
- aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
- aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
- aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
- aws_cdk/interfaces/aws_dax/__init__.py +364 -0
- aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
- aws_cdk/interfaces/aws_detective/__init__.py +364 -0
- aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
- aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
- aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
- aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
- aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
- aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
- aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
- aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
- aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
- aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
- aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
- aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
- aws_cdk/interfaces/aws_efs/__init__.py +392 -0
- aws_cdk/interfaces/aws_eks/__init__.py +948 -0
- aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
- aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
- aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
- aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
- aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
- aws_cdk/interfaces/aws_emr/__init__.py +913 -0
- aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
- aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
- aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
- aws_cdk/interfaces/aws_events/__init__.py +872 -0
- aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
- aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
- aws_cdk/interfaces/aws_evs/__init__.py +166 -0
- aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
- aws_cdk/interfaces/aws_fis/__init__.py +271 -0
- aws_cdk/interfaces/aws_fms/__init__.py +364 -0
- aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
- aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
- aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
- aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
- aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
- aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
- aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
- aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
- aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
- aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
- aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
- aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
- aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
- aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
- aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
- aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
- aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
- aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
- aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
- aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
- aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
- aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
- aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
- aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
- aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
- aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
- aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
- aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
- aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
- aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
- aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
- aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
- aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
- aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
- aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
- aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
- aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
- aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
- aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
- aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
- aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
- aws_cdk/interfaces/aws_kms/__init__.py +376 -0
- aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
- aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
- aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
- aws_cdk/interfaces/aws_lex/__init__.py +513 -0
- aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
- aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
- aws_cdk/interfaces/aws_location/__init__.py +879 -0
- aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
- aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
- aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
- aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
- aws_cdk/interfaces/aws_m2/__init__.py +352 -0
- aws_cdk/interfaces/aws_macie/__init__.py +512 -0
- aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
- aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
- aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
- aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
- aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
- aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
- aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
- aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
- aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
- aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
- aws_cdk/interfaces/aws_msk/__init__.py +764 -0
- aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
- aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
- aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
- aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
- aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
- aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
- aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
- aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
- aws_cdk/interfaces/aws_oam/__init__.py +249 -0
- aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
- aws_cdk/interfaces/aws_odb/__init__.py +562 -0
- aws_cdk/interfaces/aws_omics/__init__.py +838 -0
- aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
- aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
- aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
- aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
- aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
- aws_cdk/interfaces/aws_osis/__init__.py +146 -0
- aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
- aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
- aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
- aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
- aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
- aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
- aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
- aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
- aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
- aws_cdk/interfaces/aws_proton/__init__.py +360 -0
- aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
- aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
- aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
- aws_cdk/interfaces/aws_ram/__init__.py +249 -0
- aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
- aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
- aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
- aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
- aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
- aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
- aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
- aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
- aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
- aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
- aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
- aws_cdk/interfaces/aws_route53/__init__.py +804 -0
- aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
- aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
- aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
- aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
- aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
- aws_cdk/interfaces/aws_rum/__init__.py +146 -0
- aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
- aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
- aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
- aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
- aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
- aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
- aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
- aws_cdk/interfaces/aws_sam/__init__.py +603 -0
- aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
- aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
- aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
- aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
- aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
- aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
- aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
- aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
- aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
- aws_cdk/interfaces/aws_shield/__init__.py +455 -0
- aws_cdk/interfaces/aws_signer/__init__.py +266 -0
- aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
- aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
- aws_cdk/interfaces/aws_sns/__init__.py +455 -0
- aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
- aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
- aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
- aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
- aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
- aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
- aws_cdk/interfaces/aws_sso/__init__.py +797 -0
- aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
- aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
- aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
- aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
- aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
- aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
- aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
- aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
- aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
- aws_cdk/interfaces/aws_waf/__init__.py +764 -0
- aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
- aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
- aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
- aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
- aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
- aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
- aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
- aws_cdk/interfaces/aws_xray/__init__.py +457 -0
- aws_cdk/pipelines/__init__.py +192 -42
- aws_cdk/region_info/__init__.py +3 -0
- aws_cdk/triggers/__init__.py +60 -18
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +338 -16
- aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
- aws_cdk_lib-2.200.2.dist-info/RECORD +0 -304
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_wafv2/__init__.py
CHANGED
|
@@ -67,9 +67,23 @@ from .. import (
|
|
|
67
67
|
TagManager as _TagManager_0a598cb3,
|
|
68
68
|
TreeInspector as _TreeInspector_488e0dd5,
|
|
69
69
|
)
|
|
70
|
+
from ..interfaces.aws_wafv2 import (
|
|
71
|
+
IIPSetRef as _IIPSetRef_7ceca2ca,
|
|
72
|
+
ILoggingConfigurationRef as _ILoggingConfigurationRef_d8299b46,
|
|
73
|
+
IPSetReference as _IPSetReference_1b447a31,
|
|
74
|
+
IRegexPatternSetRef as _IRegexPatternSetRef_4af57c5a,
|
|
75
|
+
IRuleGroupRef as _IRuleGroupRef_42ed609b,
|
|
76
|
+
IWebACLAssociationRef as _IWebACLAssociationRef_16e76921,
|
|
77
|
+
IWebACLRef as _IWebACLRef_3dd0843c,
|
|
78
|
+
LoggingConfigurationReference as _LoggingConfigurationReference_1cb27b11,
|
|
79
|
+
RegexPatternSetReference as _RegexPatternSetReference_247d9777,
|
|
80
|
+
RuleGroupReference as _RuleGroupReference_f7804c21,
|
|
81
|
+
WebACLAssociationReference as _WebACLAssociationReference_f2f05891,
|
|
82
|
+
WebACLReference as _WebACLReference_21f0435a,
|
|
83
|
+
)
|
|
70
84
|
|
|
71
85
|
|
|
72
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
86
|
+
@jsii.implements(_IInspectable_c2943556, _IIPSetRef_7ceca2ca, _ITaggable_36806126)
|
|
73
87
|
class CfnIPSet(
|
|
74
88
|
_CfnResource_9df397a6,
|
|
75
89
|
metaclass=jsii.JSIIMeta,
|
|
@@ -122,7 +136,8 @@ class CfnIPSet(
|
|
|
122
136
|
name: typing.Optional[builtins.str] = None,
|
|
123
137
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
124
138
|
) -> None:
|
|
125
|
-
'''
|
|
139
|
+
'''Create a new ``AWS::WAFv2::IPSet``.
|
|
140
|
+
|
|
126
141
|
:param scope_: Scope in which this resource is defined.
|
|
127
142
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
128
143
|
:param addresses: Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses that you want AWS WAF to inspect for in incoming requests. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all IPv4 and IPv6 CIDR ranges except for ``/0`` . Example address strings: - For requests that originated from the IP address 192.0.2.44, specify ``192.0.2.44/32`` . - For requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify ``192.0.2.0/24`` . - For requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify ``1111:0000:0000:0000:0000:0000:0000:0111/128`` . - For requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify ``1111:0000:0000:0000:0000:0000:0000:0000/64`` . For more information about CIDR notation, see the Wikipedia entry `Classless Inter-Domain Routing <https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing>`_ . Example JSON ``Addresses`` specifications: - Empty array: ``"Addresses": []`` - Array with one address: ``"Addresses": ["192.0.2.44/32"]`` - Array with three addresses: ``"Addresses": ["192.0.2.44/32", "192.0.2.0/24", "192.0.0.0/16"]`` - INVALID specification: ``"Addresses": [""]`` INVALID
|
|
@@ -200,6 +215,12 @@ class CfnIPSet(
|
|
|
200
215
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
201
216
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
202
217
|
|
|
218
|
+
@builtins.property
|
|
219
|
+
@jsii.member(jsii_name="ipSetRef")
|
|
220
|
+
def ip_set_ref(self) -> _IPSetReference_1b447a31:
|
|
221
|
+
'''A reference to a IPSet resource.'''
|
|
222
|
+
return typing.cast(_IPSetReference_1b447a31, jsii.get(self, "ipSetRef"))
|
|
223
|
+
|
|
203
224
|
@builtins.property
|
|
204
225
|
@jsii.member(jsii_name="tags")
|
|
205
226
|
def tags(self) -> _TagManager_0a598cb3:
|
|
@@ -459,7 +480,7 @@ class CfnIPSetProps:
|
|
|
459
480
|
)
|
|
460
481
|
|
|
461
482
|
|
|
462
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
483
|
+
@jsii.implements(_IInspectable_c2943556, _ILoggingConfigurationRef_d8299b46)
|
|
463
484
|
class CfnLoggingConfiguration(
|
|
464
485
|
_CfnResource_9df397a6,
|
|
465
486
|
metaclass=jsii.JSIIMeta,
|
|
@@ -531,7 +552,8 @@ class CfnLoggingConfiguration(
|
|
|
531
552
|
logging_filter: typing.Any = None,
|
|
532
553
|
redacted_fields: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLoggingConfiguration.FieldToMatchProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
533
554
|
) -> None:
|
|
534
|
-
'''
|
|
555
|
+
'''Create a new ``AWS::WAFv2::LoggingConfiguration``.
|
|
556
|
+
|
|
535
557
|
:param scope: Scope in which this resource is defined.
|
|
536
558
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
537
559
|
:param log_destination_configs: The logging destination configuration that you want to associate with the web ACL. .. epigraph:: You can associate one logging destination to a web ACL.
|
|
@@ -598,6 +620,12 @@ class CfnLoggingConfiguration(
|
|
|
598
620
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
599
621
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
600
622
|
|
|
623
|
+
@builtins.property
|
|
624
|
+
@jsii.member(jsii_name="loggingConfigurationRef")
|
|
625
|
+
def logging_configuration_ref(self) -> _LoggingConfigurationReference_1cb27b11:
|
|
626
|
+
'''A reference to a LoggingConfiguration resource.'''
|
|
627
|
+
return typing.cast(_LoggingConfigurationReference_1cb27b11, jsii.get(self, "loggingConfigurationRef"))
|
|
628
|
+
|
|
601
629
|
@builtins.property
|
|
602
630
|
@jsii.member(jsii_name="logDestinationConfigs")
|
|
603
631
|
def log_destination_configs(self) -> typing.List[builtins.str]:
|
|
@@ -1547,7 +1575,7 @@ class CfnLoggingConfigurationProps:
|
|
|
1547
1575
|
)
|
|
1548
1576
|
|
|
1549
1577
|
|
|
1550
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
1578
|
+
@jsii.implements(_IInspectable_c2943556, _IRegexPatternSetRef_4af57c5a, _ITaggable_36806126)
|
|
1551
1579
|
class CfnRegexPatternSet(
|
|
1552
1580
|
_CfnResource_9df397a6,
|
|
1553
1581
|
metaclass=jsii.JSIIMeta,
|
|
@@ -1598,7 +1626,8 @@ class CfnRegexPatternSet(
|
|
|
1598
1626
|
name: typing.Optional[builtins.str] = None,
|
|
1599
1627
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1600
1628
|
) -> None:
|
|
1601
|
-
'''
|
|
1629
|
+
'''Create a new ``AWS::WAFv2::RegexPatternSet``.
|
|
1630
|
+
|
|
1602
1631
|
:param scope_: Scope in which this resource is defined.
|
|
1603
1632
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
1604
1633
|
:param regular_expression_list: The regular expression patterns in the set.
|
|
@@ -1674,6 +1703,12 @@ class CfnRegexPatternSet(
|
|
|
1674
1703
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
1675
1704
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
1676
1705
|
|
|
1706
|
+
@builtins.property
|
|
1707
|
+
@jsii.member(jsii_name="regexPatternSetRef")
|
|
1708
|
+
def regex_pattern_set_ref(self) -> _RegexPatternSetReference_247d9777:
|
|
1709
|
+
'''A reference to a RegexPatternSet resource.'''
|
|
1710
|
+
return typing.cast(_RegexPatternSetReference_247d9777, jsii.get(self, "regexPatternSetRef"))
|
|
1711
|
+
|
|
1677
1712
|
@builtins.property
|
|
1678
1713
|
@jsii.member(jsii_name="tags")
|
|
1679
1714
|
def tags(self) -> _TagManager_0a598cb3:
|
|
@@ -1886,7 +1921,7 @@ class CfnRegexPatternSetProps:
|
|
|
1886
1921
|
)
|
|
1887
1922
|
|
|
1888
1923
|
|
|
1889
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
1924
|
+
@jsii.implements(_IInspectable_c2943556, _IRuleGroupRef_42ed609b, _ITaggable_36806126)
|
|
1890
1925
|
class CfnRuleGroup(
|
|
1891
1926
|
_CfnResource_9df397a6,
|
|
1892
1927
|
metaclass=jsii.JSIIMeta,
|
|
@@ -1927,7 +1962,8 @@ class CfnRuleGroup(
|
|
|
1927
1962
|
rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.RuleProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
1928
1963
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1929
1964
|
) -> None:
|
|
1930
|
-
'''
|
|
1965
|
+
'''Create a new ``AWS::WAFv2::RuleGroup``.
|
|
1966
|
+
|
|
1931
1967
|
:param scope_: Scope in which this resource is defined.
|
|
1932
1968
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
1933
1969
|
:param capacity: The web ACL capacity units (WCUs) required for this rule group. When you create your own rule group, you define this, and you cannot change it after creation. When you add or modify the rules in a rule group, AWS WAF enforces this limit. AWS WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.
|
|
@@ -2028,6 +2064,12 @@ class CfnRuleGroup(
|
|
|
2028
2064
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
2029
2065
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
2030
2066
|
|
|
2067
|
+
@builtins.property
|
|
2068
|
+
@jsii.member(jsii_name="ruleGroupRef")
|
|
2069
|
+
def rule_group_ref(self) -> _RuleGroupReference_f7804c21:
|
|
2070
|
+
'''A reference to a RuleGroup resource.'''
|
|
2071
|
+
return typing.cast(_RuleGroupReference_f7804c21, jsii.get(self, "ruleGroupRef"))
|
|
2072
|
+
|
|
2031
2073
|
@builtins.property
|
|
2032
2074
|
@jsii.member(jsii_name="tags")
|
|
2033
2075
|
def tags(self) -> _TagManager_0a598cb3:
|
|
@@ -2280,6 +2322,7 @@ class CfnRuleGroup(
|
|
|
2280
2322
|
# all: Any
|
|
2281
2323
|
# all_query_arguments: Any
|
|
2282
2324
|
# and_statement_property_: wafv2.CfnRuleGroup.AndStatementProperty
|
|
2325
|
+
# asn: Any
|
|
2283
2326
|
# forwarded_ip: Any
|
|
2284
2327
|
# http_method: Any
|
|
2285
2328
|
# ip: Any
|
|
@@ -2293,6 +2336,13 @@ class CfnRuleGroup(
|
|
|
2293
2336
|
and_statement_property = wafv2.CfnRuleGroup.AndStatementProperty(
|
|
2294
2337
|
statements=[wafv2.CfnRuleGroup.StatementProperty(
|
|
2295
2338
|
and_statement=and_statement_property_,
|
|
2339
|
+
asn_match_statement=wafv2.CfnRuleGroup.AsnMatchStatementProperty(
|
|
2340
|
+
asn_list=[123],
|
|
2341
|
+
forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
|
|
2342
|
+
fallback_behavior="fallbackBehavior",
|
|
2343
|
+
header_name="headerName"
|
|
2344
|
+
)
|
|
2345
|
+
),
|
|
2296
2346
|
byte_match_statement=wafv2.CfnRuleGroup.ByteMatchStatementProperty(
|
|
2297
2347
|
field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
|
|
2298
2348
|
all_query_arguments=all_query_arguments,
|
|
@@ -2386,6 +2436,7 @@ class CfnRuleGroup(
|
|
|
2386
2436
|
|
|
2387
2437
|
# the properties below are optional
|
|
2388
2438
|
custom_keys=[wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
|
|
2439
|
+
asn=asn,
|
|
2389
2440
|
cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
|
|
2390
2441
|
name="name",
|
|
2391
2442
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -2756,6 +2807,92 @@ class CfnRuleGroup(
|
|
|
2756
2807
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
2757
2808
|
)
|
|
2758
2809
|
|
|
2810
|
+
@jsii.data_type(
|
|
2811
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnRuleGroup.AsnMatchStatementProperty",
|
|
2812
|
+
jsii_struct_bases=[],
|
|
2813
|
+
name_mapping={
|
|
2814
|
+
"asn_list": "asnList",
|
|
2815
|
+
"forwarded_ip_config": "forwardedIpConfig",
|
|
2816
|
+
},
|
|
2817
|
+
)
|
|
2818
|
+
class AsnMatchStatementProperty:
|
|
2819
|
+
def __init__(
|
|
2820
|
+
self,
|
|
2821
|
+
*,
|
|
2822
|
+
asn_list: typing.Optional[typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b]] = None,
|
|
2823
|
+
forwarded_ip_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.ForwardedIPConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2824
|
+
) -> None:
|
|
2825
|
+
'''A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address.
|
|
2826
|
+
|
|
2827
|
+
For additional details, see `ASN match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
2828
|
+
|
|
2829
|
+
:param asn_list: Contains one or more Autonomous System Numbers (ASNs). ASNs are unique identifiers assigned to large internet networks managed by organizations such as internet service providers, enterprises, universities, or government agencies.
|
|
2830
|
+
:param forwarded_ip_config: The configuration for inspecting IP addresses to match against an ASN in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
|
|
2831
|
+
|
|
2832
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-asnmatchstatement.html
|
|
2833
|
+
:exampleMetadata: fixture=_generated
|
|
2834
|
+
|
|
2835
|
+
Example::
|
|
2836
|
+
|
|
2837
|
+
# The code below shows an example of how to instantiate this type.
|
|
2838
|
+
# The values are placeholders you should change.
|
|
2839
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
2840
|
+
|
|
2841
|
+
asn_match_statement_property = wafv2.CfnRuleGroup.AsnMatchStatementProperty(
|
|
2842
|
+
asn_list=[123],
|
|
2843
|
+
forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
|
|
2844
|
+
fallback_behavior="fallbackBehavior",
|
|
2845
|
+
header_name="headerName"
|
|
2846
|
+
)
|
|
2847
|
+
)
|
|
2848
|
+
'''
|
|
2849
|
+
if __debug__:
|
|
2850
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1b7bfd70c769fabe423acc42aa4ce7a934b8907c56a69421327294c209c8da78)
|
|
2851
|
+
check_type(argname="argument asn_list", value=asn_list, expected_type=type_hints["asn_list"])
|
|
2852
|
+
check_type(argname="argument forwarded_ip_config", value=forwarded_ip_config, expected_type=type_hints["forwarded_ip_config"])
|
|
2853
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
2854
|
+
if asn_list is not None:
|
|
2855
|
+
self._values["asn_list"] = asn_list
|
|
2856
|
+
if forwarded_ip_config is not None:
|
|
2857
|
+
self._values["forwarded_ip_config"] = forwarded_ip_config
|
|
2858
|
+
|
|
2859
|
+
@builtins.property
|
|
2860
|
+
def asn_list(
|
|
2861
|
+
self,
|
|
2862
|
+
) -> typing.Optional[typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]]:
|
|
2863
|
+
'''Contains one or more Autonomous System Numbers (ASNs).
|
|
2864
|
+
|
|
2865
|
+
ASNs are unique identifiers assigned to large internet networks managed by organizations such as internet service providers, enterprises, universities, or government agencies.
|
|
2866
|
+
|
|
2867
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-asnmatchstatement.html#cfn-wafv2-rulegroup-asnmatchstatement-asnlist
|
|
2868
|
+
'''
|
|
2869
|
+
result = self._values.get("asn_list")
|
|
2870
|
+
return typing.cast(typing.Optional[typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]], result)
|
|
2871
|
+
|
|
2872
|
+
@builtins.property
|
|
2873
|
+
def forwarded_ip_config(
|
|
2874
|
+
self,
|
|
2875
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.ForwardedIPConfigurationProperty"]]:
|
|
2876
|
+
'''The configuration for inspecting IP addresses to match against an ASN in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin.
|
|
2877
|
+
|
|
2878
|
+
Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
|
|
2879
|
+
|
|
2880
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-asnmatchstatement.html#cfn-wafv2-rulegroup-asnmatchstatement-forwardedipconfig
|
|
2881
|
+
'''
|
|
2882
|
+
result = self._values.get("forwarded_ip_config")
|
|
2883
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.ForwardedIPConfigurationProperty"]], result)
|
|
2884
|
+
|
|
2885
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2886
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2887
|
+
|
|
2888
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2889
|
+
return not (rhs == self)
|
|
2890
|
+
|
|
2891
|
+
def __repr__(self) -> str:
|
|
2892
|
+
return "AsnMatchStatementProperty(%s)" % ", ".join(
|
|
2893
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2894
|
+
)
|
|
2895
|
+
|
|
2759
2896
|
@jsii.data_type(
|
|
2760
2897
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnRuleGroup.BlockProperty",
|
|
2761
2898
|
jsii_struct_bases=[],
|
|
@@ -4377,7 +4514,7 @@ class CfnRuleGroup(
|
|
|
4377
4514
|
|
|
4378
4515
|
If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.
|
|
4379
4516
|
|
|
4380
|
-
This configuration is used for ``GeoMatchStatement`` and ``RateBasedStatement`` . For ``IPSetReferenceStatement`` , use ``IPSetForwardedIPConfig`` instead.
|
|
4517
|
+
This configuration is used for ``GeoMatchStatement`` , ``AsnMatchStatement`` , and ``RateBasedStatement`` . For ``IPSetReferenceStatement`` , use ``IPSetForwardedIPConfig`` instead.
|
|
4381
4518
|
|
|
4382
4519
|
AWS WAF only evaluates the first IP address found in the specified HTTP header.
|
|
4383
4520
|
|
|
@@ -5615,6 +5752,7 @@ class CfnRuleGroup(
|
|
|
5615
5752
|
|
|
5616
5753
|
# all: Any
|
|
5617
5754
|
# all_query_arguments: Any
|
|
5755
|
+
# asn: Any
|
|
5618
5756
|
# forwarded_ip: Any
|
|
5619
5757
|
# http_method: Any
|
|
5620
5758
|
# ip: Any
|
|
@@ -5631,6 +5769,13 @@ class CfnRuleGroup(
|
|
|
5631
5769
|
and_statement=wafv2.CfnRuleGroup.AndStatementProperty(
|
|
5632
5770
|
statements=[statement_property_]
|
|
5633
5771
|
),
|
|
5772
|
+
asn_match_statement=wafv2.CfnRuleGroup.AsnMatchStatementProperty(
|
|
5773
|
+
asn_list=[123],
|
|
5774
|
+
forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
|
|
5775
|
+
fallback_behavior="fallbackBehavior",
|
|
5776
|
+
header_name="headerName"
|
|
5777
|
+
)
|
|
5778
|
+
),
|
|
5634
5779
|
byte_match_statement=wafv2.CfnRuleGroup.ByteMatchStatementProperty(
|
|
5635
5780
|
field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
|
|
5636
5781
|
all_query_arguments=all_query_arguments,
|
|
@@ -5722,6 +5867,7 @@ class CfnRuleGroup(
|
|
|
5722
5867
|
|
|
5723
5868
|
# the properties below are optional
|
|
5724
5869
|
custom_keys=[wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
|
|
5870
|
+
asn=asn,
|
|
5725
5871
|
cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
|
|
5726
5872
|
name="name",
|
|
5727
5873
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -6120,6 +6266,7 @@ class CfnRuleGroup(
|
|
|
6120
6266
|
|
|
6121
6267
|
# all: Any
|
|
6122
6268
|
# all_query_arguments: Any
|
|
6269
|
+
# asn: Any
|
|
6123
6270
|
# forwarded_ip: Any
|
|
6124
6271
|
# http_method: Any
|
|
6125
6272
|
# ip: Any
|
|
@@ -6136,6 +6283,13 @@ class CfnRuleGroup(
|
|
|
6136
6283
|
and_statement=wafv2.CfnRuleGroup.AndStatementProperty(
|
|
6137
6284
|
statements=[statement_property_]
|
|
6138
6285
|
),
|
|
6286
|
+
asn_match_statement=wafv2.CfnRuleGroup.AsnMatchStatementProperty(
|
|
6287
|
+
asn_list=[123],
|
|
6288
|
+
forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
|
|
6289
|
+
fallback_behavior="fallbackBehavior",
|
|
6290
|
+
header_name="headerName"
|
|
6291
|
+
)
|
|
6292
|
+
),
|
|
6139
6293
|
byte_match_statement=wafv2.CfnRuleGroup.ByteMatchStatementProperty(
|
|
6140
6294
|
field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
|
|
6141
6295
|
all_query_arguments=all_query_arguments,
|
|
@@ -6227,6 +6381,7 @@ class CfnRuleGroup(
|
|
|
6227
6381
|
|
|
6228
6382
|
# the properties below are optional
|
|
6229
6383
|
custom_keys=[wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
|
|
6384
|
+
asn=asn,
|
|
6230
6385
|
cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
|
|
6231
6386
|
name="name",
|
|
6232
6387
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -6601,6 +6756,7 @@ class CfnRuleGroup(
|
|
|
6601
6756
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty",
|
|
6602
6757
|
jsii_struct_bases=[],
|
|
6603
6758
|
name_mapping={
|
|
6759
|
+
"asn": "asn",
|
|
6604
6760
|
"cookie": "cookie",
|
|
6605
6761
|
"forwarded_ip": "forwardedIp",
|
|
6606
6762
|
"header": "header",
|
|
@@ -6618,6 +6774,7 @@ class CfnRuleGroup(
|
|
|
6618
6774
|
def __init__(
|
|
6619
6775
|
self,
|
|
6620
6776
|
*,
|
|
6777
|
+
asn: typing.Any = None,
|
|
6621
6778
|
cookie: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.RateLimitCookieProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6622
6779
|
forwarded_ip: typing.Any = None,
|
|
6623
6780
|
header: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.RateLimitHeaderProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -6636,6 +6793,7 @@ class CfnRuleGroup(
|
|
|
6636
6793
|
|
|
6637
6794
|
Web requests that are missing any of the components specified in the aggregation keys are omitted from the rate-based rule evaluation and handling.
|
|
6638
6795
|
|
|
6796
|
+
:param asn: Use an Autonomous System Number (ASN) derived from the request's originating or forwarded IP address as an aggregate key. Each distinct ASN contributes to the aggregation instance.
|
|
6639
6797
|
:param cookie: Use the value of a cookie in the request as an aggregate key. Each distinct value in the cookie contributes to the aggregation instance. If you use a single cookie as your custom key, then each value fully defines an aggregation instance.
|
|
6640
6798
|
:param forwarded_ip: Use the first IP address in an HTTP header as an aggregate key. Each distinct forwarded IP address contributes to the aggregation instance. When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the forwarded IP address by specifying ``FORWARDED_IP`` in your rate-based statement's ``AggregateKeyType`` . With this option, you must specify the header to use in the rate-based rule's ``ForwardedIPConfig`` property.
|
|
6641
6799
|
:param header: Use the value of a header in the request as an aggregate key. Each distinct value in the header contributes to the aggregation instance. If you use a single header as your custom key, then each value fully defines an aggregation instance.
|
|
@@ -6657,11 +6815,13 @@ class CfnRuleGroup(
|
|
|
6657
6815
|
# The values are placeholders you should change.
|
|
6658
6816
|
from aws_cdk import aws_wafv2 as wafv2
|
|
6659
6817
|
|
|
6818
|
+
# asn: Any
|
|
6660
6819
|
# forwarded_ip: Any
|
|
6661
6820
|
# http_method: Any
|
|
6662
6821
|
# ip: Any
|
|
6663
6822
|
|
|
6664
6823
|
rate_based_statement_custom_key_property = wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
|
|
6824
|
+
asn=asn,
|
|
6665
6825
|
cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
|
|
6666
6826
|
name="name",
|
|
6667
6827
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -6711,6 +6871,7 @@ class CfnRuleGroup(
|
|
|
6711
6871
|
'''
|
|
6712
6872
|
if __debug__:
|
|
6713
6873
|
type_hints = typing.get_type_hints(_typecheckingstub__6bc232408309212f7b145d76c0106073269f111e106ab6d74a4d2168f41f248b)
|
|
6874
|
+
check_type(argname="argument asn", value=asn, expected_type=type_hints["asn"])
|
|
6714
6875
|
check_type(argname="argument cookie", value=cookie, expected_type=type_hints["cookie"])
|
|
6715
6876
|
check_type(argname="argument forwarded_ip", value=forwarded_ip, expected_type=type_hints["forwarded_ip"])
|
|
6716
6877
|
check_type(argname="argument header", value=header, expected_type=type_hints["header"])
|
|
@@ -6723,6 +6884,8 @@ class CfnRuleGroup(
|
|
|
6723
6884
|
check_type(argname="argument query_string", value=query_string, expected_type=type_hints["query_string"])
|
|
6724
6885
|
check_type(argname="argument uri_path", value=uri_path, expected_type=type_hints["uri_path"])
|
|
6725
6886
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
6887
|
+
if asn is not None:
|
|
6888
|
+
self._values["asn"] = asn
|
|
6726
6889
|
if cookie is not None:
|
|
6727
6890
|
self._values["cookie"] = cookie
|
|
6728
6891
|
if forwarded_ip is not None:
|
|
@@ -6746,6 +6909,17 @@ class CfnRuleGroup(
|
|
|
6746
6909
|
if uri_path is not None:
|
|
6747
6910
|
self._values["uri_path"] = uri_path
|
|
6748
6911
|
|
|
6912
|
+
@builtins.property
|
|
6913
|
+
def asn(self) -> typing.Any:
|
|
6914
|
+
'''Use an Autonomous System Number (ASN) derived from the request's originating or forwarded IP address as an aggregate key.
|
|
6915
|
+
|
|
6916
|
+
Each distinct ASN contributes to the aggregation instance.
|
|
6917
|
+
|
|
6918
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementcustomkey.html#cfn-wafv2-rulegroup-ratebasedstatementcustomkey-asn
|
|
6919
|
+
'''
|
|
6920
|
+
result = self._values.get("asn")
|
|
6921
|
+
return typing.cast(typing.Any, result)
|
|
6922
|
+
|
|
6749
6923
|
@builtins.property
|
|
6750
6924
|
def cookie(
|
|
6751
6925
|
self,
|
|
@@ -6986,6 +7160,7 @@ class CfnRuleGroup(
|
|
|
6986
7160
|
|
|
6987
7161
|
# all: Any
|
|
6988
7162
|
# all_query_arguments: Any
|
|
7163
|
+
# asn: Any
|
|
6989
7164
|
# forwarded_ip: Any
|
|
6990
7165
|
# http_method: Any
|
|
6991
7166
|
# ip: Any
|
|
@@ -7003,6 +7178,7 @@ class CfnRuleGroup(
|
|
|
7003
7178
|
|
|
7004
7179
|
# the properties below are optional
|
|
7005
7180
|
custom_keys=[wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
|
|
7181
|
+
asn=asn,
|
|
7006
7182
|
cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
|
|
7007
7183
|
name="name",
|
|
7008
7184
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -7058,6 +7234,13 @@ class CfnRuleGroup(
|
|
|
7058
7234
|
and_statement=wafv2.CfnRuleGroup.AndStatementProperty(
|
|
7059
7235
|
statements=[statement_property_]
|
|
7060
7236
|
),
|
|
7237
|
+
asn_match_statement=wafv2.CfnRuleGroup.AsnMatchStatementProperty(
|
|
7238
|
+
asn_list=[123],
|
|
7239
|
+
forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
|
|
7240
|
+
fallback_behavior="fallbackBehavior",
|
|
7241
|
+
header_name="headerName"
|
|
7242
|
+
)
|
|
7243
|
+
),
|
|
7061
7244
|
byte_match_statement=wafv2.CfnRuleGroup.ByteMatchStatementProperty(
|
|
7062
7245
|
field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
|
|
7063
7246
|
all_query_arguments=all_query_arguments,
|
|
@@ -8625,6 +8808,7 @@ class CfnRuleGroup(
|
|
|
8625
8808
|
# all: Any
|
|
8626
8809
|
# allow: Any
|
|
8627
8810
|
# all_query_arguments: Any
|
|
8811
|
+
# asn: Any
|
|
8628
8812
|
# block: Any
|
|
8629
8813
|
# captcha: Any
|
|
8630
8814
|
# challenge: Any
|
|
@@ -8646,6 +8830,13 @@ class CfnRuleGroup(
|
|
|
8646
8830
|
and_statement=wafv2.CfnRuleGroup.AndStatementProperty(
|
|
8647
8831
|
statements=[statement_property_]
|
|
8648
8832
|
),
|
|
8833
|
+
asn_match_statement=wafv2.CfnRuleGroup.AsnMatchStatementProperty(
|
|
8834
|
+
asn_list=[123],
|
|
8835
|
+
forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
|
|
8836
|
+
fallback_behavior="fallbackBehavior",
|
|
8837
|
+
header_name="headerName"
|
|
8838
|
+
)
|
|
8839
|
+
),
|
|
8649
8840
|
byte_match_statement=wafv2.CfnRuleGroup.ByteMatchStatementProperty(
|
|
8650
8841
|
field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
|
|
8651
8842
|
all_query_arguments=all_query_arguments,
|
|
@@ -8739,6 +8930,7 @@ class CfnRuleGroup(
|
|
|
8739
8930
|
|
|
8740
8931
|
# the properties below are optional
|
|
8741
8932
|
custom_keys=[wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
|
|
8933
|
+
asn=asn,
|
|
8742
8934
|
cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
|
|
8743
8935
|
name="name",
|
|
8744
8936
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -9721,6 +9913,7 @@ class CfnRuleGroup(
|
|
|
9721
9913
|
jsii_struct_bases=[],
|
|
9722
9914
|
name_mapping={
|
|
9723
9915
|
"and_statement": "andStatement",
|
|
9916
|
+
"asn_match_statement": "asnMatchStatement",
|
|
9724
9917
|
"byte_match_statement": "byteMatchStatement",
|
|
9725
9918
|
"geo_match_statement": "geoMatchStatement",
|
|
9726
9919
|
"ip_set_reference_statement": "ipSetReferenceStatement",
|
|
@@ -9740,6 +9933,7 @@ class CfnRuleGroup(
|
|
|
9740
9933
|
self,
|
|
9741
9934
|
*,
|
|
9742
9935
|
and_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.AndStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
9936
|
+
asn_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.AsnMatchStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
9743
9937
|
byte_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.ByteMatchStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
9744
9938
|
geo_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.GeoMatchStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
9745
9939
|
ip_set_reference_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.IPSetReferenceStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -9756,6 +9950,7 @@ class CfnRuleGroup(
|
|
|
9756
9950
|
'''The processing guidance for a rule, used by AWS WAF to determine whether a web request matches the rule.
|
|
9757
9951
|
|
|
9758
9952
|
:param and_statement: A logical rule statement used to combine other rule statements with AND logic. You provide more than one ``Statement`` within the ``AndStatement`` .
|
|
9953
|
+
:param asn_match_statement: A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address. For additional details, see `ASN match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
9759
9954
|
:param byte_match_statement: A rule statement that defines a string match search for AWS WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want AWS WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the AWS WAF console and the developer guide, this is called a string match statement.
|
|
9760
9955
|
:param geo_match_statement: A rule statement that labels web requests by country and region and that matches against web requests based on country code. A geo match rule labels every request that it inspects regardless of whether it finds a match. - To manage requests only by country, you can use this statement by itself and specify the countries that you want to match against in the ``CountryCodes`` array. - Otherwise, configure your geo match rule with Count action so that it only labels requests. Then, add one or more label match rules to run after the geo match rule and configure them to match against the geographic labels and handle the requests as needed. AWS WAF labels requests using the alpha-2 country and region codes from the International Organization for Standardization (ISO) 3166 standard. AWS WAF determines the codes using either the IP address in the web request origin or, if you specify it, the address in the geo match ``ForwardedIPConfig`` . If you use the web request origin, the label formats are ``awswaf:clientip:geo:region:<ISO country code>-<ISO region code>`` and ``awswaf:clientip:geo:country:<ISO country code>`` . If you use a forwarded IP address, the label formats are ``awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code>`` and ``awswaf:forwardedip:geo:country:<ISO country code>`` . For additional details, see `Geographic match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-geo-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
9761
9956
|
:param ip_set_reference_statement: A rule statement used to detect web requests coming from particular IP addresses or address ranges. To use this, create an ``IPSet`` that specifies the addresses you want to detect, then use the ARN of that set in this statement. Each IP set rule statement references an IP set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.
|
|
@@ -9780,6 +9975,7 @@ class CfnRuleGroup(
|
|
|
9780
9975
|
|
|
9781
9976
|
# all: Any
|
|
9782
9977
|
# all_query_arguments: Any
|
|
9978
|
+
# asn: Any
|
|
9783
9979
|
# forwarded_ip: Any
|
|
9784
9980
|
# http_method: Any
|
|
9785
9981
|
# ip: Any
|
|
@@ -9794,6 +9990,13 @@ class CfnRuleGroup(
|
|
|
9794
9990
|
and_statement=wafv2.CfnRuleGroup.AndStatementProperty(
|
|
9795
9991
|
statements=[statement_property_]
|
|
9796
9992
|
),
|
|
9993
|
+
asn_match_statement=wafv2.CfnRuleGroup.AsnMatchStatementProperty(
|
|
9994
|
+
asn_list=[123],
|
|
9995
|
+
forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
|
|
9996
|
+
fallback_behavior="fallbackBehavior",
|
|
9997
|
+
header_name="headerName"
|
|
9998
|
+
)
|
|
9999
|
+
),
|
|
9797
10000
|
byte_match_statement=wafv2.CfnRuleGroup.ByteMatchStatementProperty(
|
|
9798
10001
|
field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
|
|
9799
10002
|
all_query_arguments=all_query_arguments,
|
|
@@ -9887,6 +10090,7 @@ class CfnRuleGroup(
|
|
|
9887
10090
|
|
|
9888
10091
|
# the properties below are optional
|
|
9889
10092
|
custom_keys=[wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
|
|
10093
|
+
asn=asn,
|
|
9890
10094
|
cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
|
|
9891
10095
|
name="name",
|
|
9892
10096
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -10227,6 +10431,7 @@ class CfnRuleGroup(
|
|
|
10227
10431
|
if __debug__:
|
|
10228
10432
|
type_hints = typing.get_type_hints(_typecheckingstub__c10bc3e3f69d89ad06f25a44daee62e7de586ae4280e39230f29c24092fe4a4f)
|
|
10229
10433
|
check_type(argname="argument and_statement", value=and_statement, expected_type=type_hints["and_statement"])
|
|
10434
|
+
check_type(argname="argument asn_match_statement", value=asn_match_statement, expected_type=type_hints["asn_match_statement"])
|
|
10230
10435
|
check_type(argname="argument byte_match_statement", value=byte_match_statement, expected_type=type_hints["byte_match_statement"])
|
|
10231
10436
|
check_type(argname="argument geo_match_statement", value=geo_match_statement, expected_type=type_hints["geo_match_statement"])
|
|
10232
10437
|
check_type(argname="argument ip_set_reference_statement", value=ip_set_reference_statement, expected_type=type_hints["ip_set_reference_statement"])
|
|
@@ -10242,6 +10447,8 @@ class CfnRuleGroup(
|
|
|
10242
10447
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
10243
10448
|
if and_statement is not None:
|
|
10244
10449
|
self._values["and_statement"] = and_statement
|
|
10450
|
+
if asn_match_statement is not None:
|
|
10451
|
+
self._values["asn_match_statement"] = asn_match_statement
|
|
10245
10452
|
if byte_match_statement is not None:
|
|
10246
10453
|
self._values["byte_match_statement"] = byte_match_statement
|
|
10247
10454
|
if geo_match_statement is not None:
|
|
@@ -10280,6 +10487,19 @@ class CfnRuleGroup(
|
|
|
10280
10487
|
result = self._values.get("and_statement")
|
|
10281
10488
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.AndStatementProperty"]], result)
|
|
10282
10489
|
|
|
10490
|
+
@builtins.property
|
|
10491
|
+
def asn_match_statement(
|
|
10492
|
+
self,
|
|
10493
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.AsnMatchStatementProperty"]]:
|
|
10494
|
+
'''A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address.
|
|
10495
|
+
|
|
10496
|
+
For additional details, see `ASN match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
10497
|
+
|
|
10498
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html#cfn-wafv2-rulegroup-statement-asnmatchstatement
|
|
10499
|
+
'''
|
|
10500
|
+
result = self._values.get("asn_match_statement")
|
|
10501
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.AsnMatchStatementProperty"]], result)
|
|
10502
|
+
|
|
10283
10503
|
@builtins.property
|
|
10284
10504
|
def byte_match_statement(
|
|
10285
10505
|
self,
|
|
@@ -11119,7 +11339,7 @@ class CfnRuleGroupProps:
|
|
|
11119
11339
|
)
|
|
11120
11340
|
|
|
11121
11341
|
|
|
11122
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
11342
|
+
@jsii.implements(_IInspectable_c2943556, _IWebACLRef_3dd0843c, _ITaggable_36806126)
|
|
11123
11343
|
class CfnWebACL(
|
|
11124
11344
|
_CfnResource_9df397a6,
|
|
11125
11345
|
metaclass=jsii.JSIIMeta,
|
|
@@ -11166,6 +11386,7 @@ class CfnWebACL(
|
|
|
11166
11386
|
default_action: typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.DefaultActionProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
11167
11387
|
scope: builtins.str,
|
|
11168
11388
|
visibility_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.VisibilityConfigProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
11389
|
+
application_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ApplicationConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11169
11390
|
association_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.AssociationConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11170
11391
|
captcha_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.CaptchaConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11171
11392
|
challenge_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ChallengeConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -11173,16 +11394,19 @@ class CfnWebACL(
|
|
|
11173
11394
|
data_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.DataProtectionConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11174
11395
|
description: typing.Optional[builtins.str] = None,
|
|
11175
11396
|
name: typing.Optional[builtins.str] = None,
|
|
11397
|
+
on_source_d_do_s_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.OnSourceDDoSProtectionConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11176
11398
|
rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.RuleProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
11177
11399
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11178
11400
|
token_domains: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
11179
11401
|
) -> None:
|
|
11180
|
-
'''
|
|
11402
|
+
'''Create a new ``AWS::WAFv2::WebACL``.
|
|
11403
|
+
|
|
11181
11404
|
:param scope_: Scope in which this resource is defined.
|
|
11182
11405
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
11183
11406
|
:param default_action: The action to perform if none of the ``Rules`` contained in the ``WebACL`` match.
|
|
11184
11407
|
:param scope: Specifies whether this is for an Amazon CloudFront distribution or for a regional application. For an AWS Amplify application, use ``CLOUDFRONT`` . A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AWS AppSync GraphQL API, an Amazon Cognito user pool, an AWS App Runner service, or an AWS Verified Access instance. Valid Values are ``CLOUDFRONT`` and ``REGIONAL`` . .. epigraph:: For ``CLOUDFRONT`` , you must create your WAFv2 resources in the US East (N. Virginia) Region, ``us-east-1`` . For information about how to define the association of the web ACL with your resource, see ``WebACLAssociation`` .
|
|
11185
11408
|
:param visibility_config: Defines and enables Amazon CloudWatch metrics and web request sample collection.
|
|
11409
|
+
:param application_config: Returns a list of ``ApplicationAttribute`` s.
|
|
11186
11410
|
:param association_config: Specifies custom configurations for the associations between the web ACL and protected resources. Use this to customize the maximum size of the request body that your protected resources forward to AWS WAF for inspection. You can customize this setting for CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources. The default setting is 16 KB (16,384 bytes). .. epigraph:: You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see `AWS WAF Pricing <https://docs.aws.amazon.com/waf/pricing/>`_ . For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
11187
11411
|
:param captcha_config: Specifies how AWS WAF should handle ``CAPTCHA`` evaluations for rules that don't have their own ``CaptchaConfig`` settings. If you don't specify this, AWS WAF uses its default settings for ``CaptchaConfig`` .
|
|
11188
11412
|
:param challenge_config: Specifies how AWS WAF should handle challenge evaluations for rules that don't have their own ``ChallengeConfig`` settings. If you don't specify this, AWS WAF uses its default settings for ``ChallengeConfig`` .
|
|
@@ -11190,6 +11414,7 @@ class CfnWebACL(
|
|
|
11190
11414
|
:param data_protection_config: Specifies data protection to apply to the web request data for the web ACL. This is a web ACL level data protection option. The data protection that you configure for the web ACL alters the data that's available for any other data collection activity, including your AWS WAF logging destinations, web ACL request sampling, and Amazon Security Lake data collection and management. Your other option for data protection is in the logging configuration, which only affects logging.
|
|
11191
11415
|
:param description: A description of the web ACL that helps with identification.
|
|
11192
11416
|
:param name: The name of the web ACL. You cannot change the name of a web ACL after you create it.
|
|
11417
|
+
:param on_source_d_do_s_protection_config: Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.
|
|
11193
11418
|
:param rules: The rule statements used to identify the web requests that you want to manage. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them.
|
|
11194
11419
|
:param tags: Key:value pairs associated with an AWS resource. The key:value pair can be anything you define. Typically, the tag key represents a category (such as "environment") and the tag value represents a specific value within that category (such as "test," "development," or "production"). You can add up to 50 tags to each AWS resource. .. epigraph:: To modify tags on existing resources, use the AWS WAF APIs or command line interface. With AWS CloudFormation , you can only add tags to AWS WAF resources during resource creation.
|
|
11195
11420
|
:param token_domains: Specifies the domains that AWS WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When AWS WAF provides a token, it uses the domain of the AWS resource that the web ACL is protecting. If you don't specify a list of token domains, AWS WAF accepts tokens only for the domain of the protected resource. With a token domain list, AWS WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.
|
|
@@ -11202,6 +11427,7 @@ class CfnWebACL(
|
|
|
11202
11427
|
default_action=default_action,
|
|
11203
11428
|
scope=scope,
|
|
11204
11429
|
visibility_config=visibility_config,
|
|
11430
|
+
application_config=application_config,
|
|
11205
11431
|
association_config=association_config,
|
|
11206
11432
|
captcha_config=captcha_config,
|
|
11207
11433
|
challenge_config=challenge_config,
|
|
@@ -11209,6 +11435,7 @@ class CfnWebACL(
|
|
|
11209
11435
|
data_protection_config=data_protection_config,
|
|
11210
11436
|
description=description,
|
|
11211
11437
|
name=name,
|
|
11438
|
+
on_source_d_do_s_protection_config=on_source_d_do_s_protection_config,
|
|
11212
11439
|
rules=rules,
|
|
11213
11440
|
tags=tags,
|
|
11214
11441
|
token_domains=token_domains,
|
|
@@ -11301,6 +11528,12 @@ class CfnWebACL(
|
|
|
11301
11528
|
'''Tag Manager which manages the tags for this resource.'''
|
|
11302
11529
|
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
|
|
11303
11530
|
|
|
11531
|
+
@builtins.property
|
|
11532
|
+
@jsii.member(jsii_name="webAclRef")
|
|
11533
|
+
def web_acl_ref(self) -> _WebACLReference_21f0435a:
|
|
11534
|
+
'''A reference to a WebACL resource.'''
|
|
11535
|
+
return typing.cast(_WebACLReference_21f0435a, jsii.get(self, "webAclRef"))
|
|
11536
|
+
|
|
11304
11537
|
@builtins.property
|
|
11305
11538
|
@jsii.member(jsii_name="defaultAction")
|
|
11306
11539
|
def default_action(
|
|
@@ -11350,6 +11583,24 @@ class CfnWebACL(
|
|
|
11350
11583
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
11351
11584
|
jsii.set(self, "visibilityConfig", value) # pyright: ignore[reportArgumentType]
|
|
11352
11585
|
|
|
11586
|
+
@builtins.property
|
|
11587
|
+
@jsii.member(jsii_name="applicationConfig")
|
|
11588
|
+
def application_config(
|
|
11589
|
+
self,
|
|
11590
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ApplicationConfigProperty"]]:
|
|
11591
|
+
'''Returns a list of ``ApplicationAttribute`` s.'''
|
|
11592
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ApplicationConfigProperty"]], jsii.get(self, "applicationConfig"))
|
|
11593
|
+
|
|
11594
|
+
@application_config.setter
|
|
11595
|
+
def application_config(
|
|
11596
|
+
self,
|
|
11597
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ApplicationConfigProperty"]],
|
|
11598
|
+
) -> None:
|
|
11599
|
+
if __debug__:
|
|
11600
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ead4c1be355009abdb5c2bef2a7b836cddf9001fdb29e766c4445e21aa5b7091)
|
|
11601
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
11602
|
+
jsii.set(self, "applicationConfig", value) # pyright: ignore[reportArgumentType]
|
|
11603
|
+
|
|
11353
11604
|
@builtins.property
|
|
11354
11605
|
@jsii.member(jsii_name="associationConfig")
|
|
11355
11606
|
def association_config(
|
|
@@ -11466,6 +11717,24 @@ class CfnWebACL(
|
|
|
11466
11717
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
11467
11718
|
jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
|
|
11468
11719
|
|
|
11720
|
+
@builtins.property
|
|
11721
|
+
@jsii.member(jsii_name="onSourceDDoSProtectionConfig")
|
|
11722
|
+
def on_source_d_do_s_protection_config(
|
|
11723
|
+
self,
|
|
11724
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.OnSourceDDoSProtectionConfigProperty"]]:
|
|
11725
|
+
'''Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.'''
|
|
11726
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.OnSourceDDoSProtectionConfigProperty"]], jsii.get(self, "onSourceDDoSProtectionConfig"))
|
|
11727
|
+
|
|
11728
|
+
@on_source_d_do_s_protection_config.setter
|
|
11729
|
+
def on_source_d_do_s_protection_config(
|
|
11730
|
+
self,
|
|
11731
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.OnSourceDDoSProtectionConfigProperty"]],
|
|
11732
|
+
) -> None:
|
|
11733
|
+
if __debug__:
|
|
11734
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1180464a1661a74085b880efee37841284ce892adac9d3cda8cb5c117c625ba2)
|
|
11735
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
11736
|
+
jsii.set(self, "onSourceDDoSProtectionConfig", value) # pyright: ignore[reportArgumentType]
|
|
11737
|
+
|
|
11469
11738
|
@builtins.property
|
|
11470
11739
|
@jsii.member(jsii_name="rules")
|
|
11471
11740
|
def rules(
|
|
@@ -11535,6 +11804,8 @@ class CfnWebACL(
|
|
|
11535
11804
|
|
|
11536
11805
|
This configuration is used in ``ManagedRuleGroupConfig`` .
|
|
11537
11806
|
|
|
11807
|
+
For additional information about this and the other intelligent threat mitigation rule groups, see `Intelligent threat mitigation in AWS WAF <https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections>`_ and `AWS Managed Rules rule groups list <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list>`_ in the *AWS WAF Developer Guide* .
|
|
11808
|
+
|
|
11538
11809
|
:param creation_path: The path of the account creation endpoint for your application. This is the page on your website that accepts the completed registration form for a new user. This page must accept ``POST`` requests. For example, for the URL ``https://example.com/web/newaccount`` , you would provide the path ``/web/newaccount`` . Account creation page paths that start with the path that you provide are considered a match. For example ``/web/newaccount`` matches the account creation paths ``/web/newaccount`` , ``/web/newaccount/`` , ``/web/newaccountPage`` , and ``/web/newaccount/thisPage`` , but doesn't match the path ``/home/web/newaccount`` or ``/website/newaccount`` .
|
|
11539
11810
|
:param registration_page_path: The path of the account registration endpoint for your application. This is the page on your website that presents the registration form to new users. .. epigraph:: This page must accept ``GET`` text/html requests. For example, for the URL ``https://example.com/web/registration`` , you would provide the path ``/web/registration`` . Registration page paths that start with the path that you provide are considered a match. For example ``/web/registration`` matches the registration paths ``/web/registration`` , ``/web/registration/`` , ``/web/registrationPage`` , and ``/web/registration/thisPage`` , but doesn't match the path ``/home/web/registration`` or ``/website/registration`` .
|
|
11540
11811
|
:param request_inspection: The criteria for inspecting account creation requests, used by the ACFP rule group to validate and track account creation attempts.
|
|
@@ -11720,6 +11991,8 @@ class CfnWebACL(
|
|
|
11720
11991
|
|
|
11721
11992
|
This configuration is used in ``ManagedRuleGroupConfig`` .
|
|
11722
11993
|
|
|
11994
|
+
For additional information about this and the other intelligent threat mitigation rule groups, see `Intelligent threat mitigation in AWS WAF <https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections>`_ and `AWS Managed Rules rule groups list <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list>`_ in the *AWS WAF Developer Guide* .
|
|
11995
|
+
|
|
11723
11996
|
:param login_path: The path of the login endpoint for your application. For example, for the URL ``https://example.com/web/login`` , you would provide the path ``/web/login`` . Login paths that start with the path that you provide are considered a match. For example ``/web/login`` matches the login paths ``/web/login`` , ``/web/login/`` , ``/web/loginPage`` , and ``/web/login/thisPage`` , but doesn't match the login path ``/home/web/login`` or ``/website/login`` . The rule group inspects only HTTP ``POST`` requests to your specified login endpoint.
|
|
11724
11997
|
:param enable_regex_in_path: Allow the use of regular expressions in the login page path.
|
|
11725
11998
|
:param request_inspection: The criteria for inspecting login requests, used by the ATP rule group to validate credentials usage.
|
|
@@ -11850,6 +12123,108 @@ class CfnWebACL(
|
|
|
11850
12123
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
11851
12124
|
)
|
|
11852
12125
|
|
|
12126
|
+
@jsii.data_type(
|
|
12127
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.AWSManagedRulesAntiDDoSRuleSetProperty",
|
|
12128
|
+
jsii_struct_bases=[],
|
|
12129
|
+
name_mapping={
|
|
12130
|
+
"client_side_action_config": "clientSideActionConfig",
|
|
12131
|
+
"sensitivity_to_block": "sensitivityToBlock",
|
|
12132
|
+
},
|
|
12133
|
+
)
|
|
12134
|
+
class AWSManagedRulesAntiDDoSRuleSetProperty:
|
|
12135
|
+
def __init__(
|
|
12136
|
+
self,
|
|
12137
|
+
*,
|
|
12138
|
+
client_side_action_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ClientSideActionConfigProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
12139
|
+
sensitivity_to_block: typing.Optional[builtins.str] = None,
|
|
12140
|
+
) -> None:
|
|
12141
|
+
'''Configures the use of the anti-DDoS managed rule group, ``AWSManagedRulesAntiDDoSRuleSet`` . This configuration is used in ``ManagedRuleGroupConfig`` .
|
|
12142
|
+
|
|
12143
|
+
The configuration that you provide here determines whether and how the rules in the rule group are used.
|
|
12144
|
+
|
|
12145
|
+
For additional information about this and the other intelligent threat mitigation rule groups, see `Intelligent threat mitigation in AWS WAF <https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections>`_ and `AWS Managed Rules rule groups list <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list>`_ in the *AWS WAF Developer Guide* .
|
|
12146
|
+
|
|
12147
|
+
:param client_side_action_config: Configures the request handling that's applied by the managed rule group rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` during a distributed denial of service (DDoS) attack.
|
|
12148
|
+
:param sensitivity_to_block: The sensitivity that the rule group rule ``DDoSRequests`` uses when matching against the DDoS suspicion labeling on a request. The managed rule group adds the labeling during DDoS events, before the ``DDoSRequests`` rule runs. The higher the sensitivity, the more levels of labeling that the rule matches: - Low sensitivity is less sensitive, causing the rule to match only on the most likely participants in an attack, which are the requests with the high suspicion label ``awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request`` . - Medium sensitivity causes the rule to match on the medium and high suspicion labels. - High sensitivity causes the rule to match on all of the suspicion labels: low, medium, and high. Default: ``LOW``
|
|
12149
|
+
|
|
12150
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesantiddosruleset.html
|
|
12151
|
+
:exampleMetadata: fixture=_generated
|
|
12152
|
+
|
|
12153
|
+
Example::
|
|
12154
|
+
|
|
12155
|
+
# The code below shows an example of how to instantiate this type.
|
|
12156
|
+
# The values are placeholders you should change.
|
|
12157
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
12158
|
+
|
|
12159
|
+
a_wSManaged_rules_anti_dDo_sRule_set_property = wafv2.CfnWebACL.AWSManagedRulesAntiDDoSRuleSetProperty(
|
|
12160
|
+
client_side_action_config=wafv2.CfnWebACL.ClientSideActionConfigProperty(
|
|
12161
|
+
challenge=wafv2.CfnWebACL.ClientSideActionProperty(
|
|
12162
|
+
usage_of_action="usageOfAction",
|
|
12163
|
+
|
|
12164
|
+
# the properties below are optional
|
|
12165
|
+
exempt_uri_regular_expressions=[wafv2.CfnWebACL.RegexProperty(
|
|
12166
|
+
regex_string="regexString"
|
|
12167
|
+
)],
|
|
12168
|
+
sensitivity="sensitivity"
|
|
12169
|
+
)
|
|
12170
|
+
),
|
|
12171
|
+
|
|
12172
|
+
# the properties below are optional
|
|
12173
|
+
sensitivity_to_block="sensitivityToBlock"
|
|
12174
|
+
)
|
|
12175
|
+
'''
|
|
12176
|
+
if __debug__:
|
|
12177
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9315d92e3528c134a601f6cf9b27df2b90e082b1e29a17eadf8fbf68ac10e8c4)
|
|
12178
|
+
check_type(argname="argument client_side_action_config", value=client_side_action_config, expected_type=type_hints["client_side_action_config"])
|
|
12179
|
+
check_type(argname="argument sensitivity_to_block", value=sensitivity_to_block, expected_type=type_hints["sensitivity_to_block"])
|
|
12180
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
12181
|
+
"client_side_action_config": client_side_action_config,
|
|
12182
|
+
}
|
|
12183
|
+
if sensitivity_to_block is not None:
|
|
12184
|
+
self._values["sensitivity_to_block"] = sensitivity_to_block
|
|
12185
|
+
|
|
12186
|
+
@builtins.property
|
|
12187
|
+
def client_side_action_config(
|
|
12188
|
+
self,
|
|
12189
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnWebACL.ClientSideActionConfigProperty"]:
|
|
12190
|
+
'''Configures the request handling that's applied by the managed rule group rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` during a distributed denial of service (DDoS) attack.
|
|
12191
|
+
|
|
12192
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesantiddosruleset.html#cfn-wafv2-webacl-awsmanagedrulesantiddosruleset-clientsideactionconfig
|
|
12193
|
+
'''
|
|
12194
|
+
result = self._values.get("client_side_action_config")
|
|
12195
|
+
assert result is not None, "Required property 'client_side_action_config' is missing"
|
|
12196
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnWebACL.ClientSideActionConfigProperty"], result)
|
|
12197
|
+
|
|
12198
|
+
@builtins.property
|
|
12199
|
+
def sensitivity_to_block(self) -> typing.Optional[builtins.str]:
|
|
12200
|
+
'''The sensitivity that the rule group rule ``DDoSRequests`` uses when matching against the DDoS suspicion labeling on a request.
|
|
12201
|
+
|
|
12202
|
+
The managed rule group adds the labeling during DDoS events, before the ``DDoSRequests`` rule runs.
|
|
12203
|
+
|
|
12204
|
+
The higher the sensitivity, the more levels of labeling that the rule matches:
|
|
12205
|
+
|
|
12206
|
+
- Low sensitivity is less sensitive, causing the rule to match only on the most likely participants in an attack, which are the requests with the high suspicion label ``awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request`` .
|
|
12207
|
+
- Medium sensitivity causes the rule to match on the medium and high suspicion labels.
|
|
12208
|
+
- High sensitivity causes the rule to match on all of the suspicion labels: low, medium, and high.
|
|
12209
|
+
|
|
12210
|
+
Default: ``LOW``
|
|
12211
|
+
|
|
12212
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesantiddosruleset.html#cfn-wafv2-webacl-awsmanagedrulesantiddosruleset-sensitivitytoblock
|
|
12213
|
+
'''
|
|
12214
|
+
result = self._values.get("sensitivity_to_block")
|
|
12215
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
12216
|
+
|
|
12217
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
12218
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
12219
|
+
|
|
12220
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
12221
|
+
return not (rhs == self)
|
|
12222
|
+
|
|
12223
|
+
def __repr__(self) -> str:
|
|
12224
|
+
return "AWSManagedRulesAntiDDoSRuleSetProperty(%s)" % ", ".join(
|
|
12225
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
12226
|
+
)
|
|
12227
|
+
|
|
11853
12228
|
@jsii.data_type(
|
|
11854
12229
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.AWSManagedRulesBotControlRuleSetProperty",
|
|
11855
12230
|
jsii_struct_bases=[],
|
|
@@ -11869,6 +12244,8 @@ class CfnWebACL(
|
|
|
11869
12244
|
|
|
11870
12245
|
This configuration is used in ``ManagedRuleGroupConfig`` .
|
|
11871
12246
|
|
|
12247
|
+
For additional information about this and the other intelligent threat mitigation rule groups, see `Intelligent threat mitigation in AWS WAF <https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections>`_ and `AWS Managed Rules rule groups list <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list>`_ in the *AWS WAF Developer Guide* .
|
|
12248
|
+
|
|
11872
12249
|
:param inspection_level: The inspection level to use for the Bot Control rule group. The common level is the least expensive. The targeted level includes all common level rules and adds rules with more advanced inspection criteria. For details, see `AWS WAF Bot Control rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html>`_ in the *AWS WAF Developer Guide* .
|
|
11873
12250
|
:param enable_machine_learning: Applies only to the targeted inspection level. Determines whether to use machine learning (ML) to analyze your web traffic for bot-related activity. Machine learning is required for the Bot Control rules ``TGT_ML_CoordinatedActivityLow`` and ``TGT_ML_CoordinatedActivityMedium`` , which inspect for anomalous behavior that might indicate distributed, coordinated bot activity. For more information about this choice, see the listing for these rules in the table at `Bot Control rules listing <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html#aws-managed-rule-groups-bot-rules>`_ in the *AWS WAF Developer Guide* . Default: ``TRUE``
|
|
11874
12251
|
|
|
@@ -12062,28 +12439,25 @@ class CfnWebACL(
|
|
|
12062
12439
|
)
|
|
12063
12440
|
|
|
12064
12441
|
@jsii.data_type(
|
|
12065
|
-
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.
|
|
12442
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.ApplicationAttributeProperty",
|
|
12066
12443
|
jsii_struct_bases=[],
|
|
12067
|
-
name_mapping={"
|
|
12444
|
+
name_mapping={"name": "name", "values": "values"},
|
|
12068
12445
|
)
|
|
12069
|
-
class
|
|
12446
|
+
class ApplicationAttributeProperty:
|
|
12070
12447
|
def __init__(
|
|
12071
12448
|
self,
|
|
12072
12449
|
*,
|
|
12073
|
-
|
|
12450
|
+
name: builtins.str,
|
|
12451
|
+
values: typing.Sequence[builtins.str],
|
|
12074
12452
|
) -> None:
|
|
12075
|
-
'''
|
|
12453
|
+
'''Application details defined during the web ACL creation process.
|
|
12076
12454
|
|
|
12077
|
-
|
|
12078
|
-
.. epigraph::
|
|
12079
|
-
|
|
12080
|
-
You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see `AWS WAF Pricing <https://docs.aws.amazon.com/waf/pricing/>`_ .
|
|
12455
|
+
Application attributes help AWS WAF give recommendations for protection packs.
|
|
12081
12456
|
|
|
12082
|
-
|
|
12083
|
-
|
|
12084
|
-
:param request_body: Customizes the maximum size of the request body that your protected CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access resources forward to AWS WAF for inspection. The default size is 16 KB (16,384 bytes). You can change the setting for any of the available resource types. .. epigraph:: You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see `AWS WAF Pricing <https://docs.aws.amazon.com/waf/pricing/>`_ . Example JSON: ``{ "API_GATEWAY": "KB_48", "APP_RUNNER_SERVICE": "KB_32" }`` For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
12457
|
+
:param name: Specifies the attribute name.
|
|
12458
|
+
:param values: Specifies the attribute value.
|
|
12085
12459
|
|
|
12086
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-
|
|
12460
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-applicationattribute.html
|
|
12087
12461
|
:exampleMetadata: fixture=_generated
|
|
12088
12462
|
|
|
12089
12463
|
Example::
|
|
@@ -12092,40 +12466,39 @@ class CfnWebACL(
|
|
|
12092
12466
|
# The values are placeholders you should change.
|
|
12093
12467
|
from aws_cdk import aws_wafv2 as wafv2
|
|
12094
12468
|
|
|
12095
|
-
|
|
12096
|
-
|
|
12097
|
-
|
|
12098
|
-
default_size_inspection_limit="defaultSizeInspectionLimit"
|
|
12099
|
-
)
|
|
12100
|
-
}
|
|
12469
|
+
application_attribute_property = wafv2.CfnWebACL.ApplicationAttributeProperty(
|
|
12470
|
+
name="name",
|
|
12471
|
+
values=["values"]
|
|
12101
12472
|
)
|
|
12102
12473
|
'''
|
|
12103
12474
|
if __debug__:
|
|
12104
|
-
type_hints = typing.get_type_hints(
|
|
12105
|
-
check_type(argname="argument
|
|
12106
|
-
|
|
12107
|
-
|
|
12108
|
-
|
|
12475
|
+
type_hints = typing.get_type_hints(_typecheckingstub__66f2adaad9f19c44dc2cd5fab5ec44ef266cea6d9b6def3e9dff0bf7e376ee21)
|
|
12476
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
12477
|
+
check_type(argname="argument values", value=values, expected_type=type_hints["values"])
|
|
12478
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
12479
|
+
"name": name,
|
|
12480
|
+
"values": values,
|
|
12481
|
+
}
|
|
12109
12482
|
|
|
12110
12483
|
@builtins.property
|
|
12111
|
-
def
|
|
12112
|
-
|
|
12113
|
-
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, "CfnWebACL.RequestBodyAssociatedResourceTypeConfigProperty"]]]]:
|
|
12114
|
-
'''Customizes the maximum size of the request body that your protected CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access resources forward to AWS WAF for inspection.
|
|
12115
|
-
|
|
12116
|
-
The default size is 16 KB (16,384 bytes). You can change the setting for any of the available resource types.
|
|
12117
|
-
.. epigraph::
|
|
12118
|
-
|
|
12119
|
-
You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see `AWS WAF Pricing <https://docs.aws.amazon.com/waf/pricing/>`_ .
|
|
12484
|
+
def name(self) -> builtins.str:
|
|
12485
|
+
'''Specifies the attribute name.
|
|
12120
12486
|
|
|
12121
|
-
|
|
12487
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-applicationattribute.html#cfn-wafv2-webacl-applicationattribute-name
|
|
12488
|
+
'''
|
|
12489
|
+
result = self._values.get("name")
|
|
12490
|
+
assert result is not None, "Required property 'name' is missing"
|
|
12491
|
+
return typing.cast(builtins.str, result)
|
|
12122
12492
|
|
|
12123
|
-
|
|
12493
|
+
@builtins.property
|
|
12494
|
+
def values(self) -> typing.List[builtins.str]:
|
|
12495
|
+
'''Specifies the attribute value.
|
|
12124
12496
|
|
|
12125
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-
|
|
12497
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-applicationattribute.html#cfn-wafv2-webacl-applicationattribute-values
|
|
12126
12498
|
'''
|
|
12127
|
-
result = self._values.get("
|
|
12128
|
-
|
|
12499
|
+
result = self._values.get("values")
|
|
12500
|
+
assert result is not None, "Required property 'values' is missing"
|
|
12501
|
+
return typing.cast(typing.List[builtins.str], result)
|
|
12129
12502
|
|
|
12130
12503
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
12131
12504
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -12134,14 +12507,238 @@ class CfnWebACL(
|
|
|
12134
12507
|
return not (rhs == self)
|
|
12135
12508
|
|
|
12136
12509
|
def __repr__(self) -> str:
|
|
12137
|
-
return "
|
|
12510
|
+
return "ApplicationAttributeProperty(%s)" % ", ".join(
|
|
12138
12511
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
12139
12512
|
)
|
|
12140
12513
|
|
|
12141
12514
|
@jsii.data_type(
|
|
12142
|
-
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.
|
|
12515
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.ApplicationConfigProperty",
|
|
12143
12516
|
jsii_struct_bases=[],
|
|
12144
|
-
name_mapping={"
|
|
12517
|
+
name_mapping={"attributes": "attributes"},
|
|
12518
|
+
)
|
|
12519
|
+
class ApplicationConfigProperty:
|
|
12520
|
+
def __init__(
|
|
12521
|
+
self,
|
|
12522
|
+
*,
|
|
12523
|
+
attributes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ApplicationAttributeProperty", typing.Dict[builtins.str, typing.Any]]]]],
|
|
12524
|
+
) -> None:
|
|
12525
|
+
'''A list of ``ApplicationAttribute`` s that contains information about the application.
|
|
12526
|
+
|
|
12527
|
+
:param attributes: Contains the attribute name and a list of values for that attribute.
|
|
12528
|
+
|
|
12529
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-applicationconfig.html
|
|
12530
|
+
:exampleMetadata: fixture=_generated
|
|
12531
|
+
|
|
12532
|
+
Example::
|
|
12533
|
+
|
|
12534
|
+
# The code below shows an example of how to instantiate this type.
|
|
12535
|
+
# The values are placeholders you should change.
|
|
12536
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
12537
|
+
|
|
12538
|
+
application_config_property = wafv2.CfnWebACL.ApplicationConfigProperty(
|
|
12539
|
+
attributes=[wafv2.CfnWebACL.ApplicationAttributeProperty(
|
|
12540
|
+
name="name",
|
|
12541
|
+
values=["values"]
|
|
12542
|
+
)]
|
|
12543
|
+
)
|
|
12544
|
+
'''
|
|
12545
|
+
if __debug__:
|
|
12546
|
+
type_hints = typing.get_type_hints(_typecheckingstub__0c9805d456e58fdf333f88cd7ea47bcd6006aee9ebb8f4f23bd7fa2a03587fbb)
|
|
12547
|
+
check_type(argname="argument attributes", value=attributes, expected_type=type_hints["attributes"])
|
|
12548
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
12549
|
+
"attributes": attributes,
|
|
12550
|
+
}
|
|
12551
|
+
|
|
12552
|
+
@builtins.property
|
|
12553
|
+
def attributes(
|
|
12554
|
+
self,
|
|
12555
|
+
) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ApplicationAttributeProperty"]]]:
|
|
12556
|
+
'''Contains the attribute name and a list of values for that attribute.
|
|
12557
|
+
|
|
12558
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-applicationconfig.html#cfn-wafv2-webacl-applicationconfig-attributes
|
|
12559
|
+
'''
|
|
12560
|
+
result = self._values.get("attributes")
|
|
12561
|
+
assert result is not None, "Required property 'attributes' is missing"
|
|
12562
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ApplicationAttributeProperty"]]], result)
|
|
12563
|
+
|
|
12564
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
12565
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
12566
|
+
|
|
12567
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
12568
|
+
return not (rhs == self)
|
|
12569
|
+
|
|
12570
|
+
def __repr__(self) -> str:
|
|
12571
|
+
return "ApplicationConfigProperty(%s)" % ", ".join(
|
|
12572
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
12573
|
+
)
|
|
12574
|
+
|
|
12575
|
+
@jsii.data_type(
|
|
12576
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.AsnMatchStatementProperty",
|
|
12577
|
+
jsii_struct_bases=[],
|
|
12578
|
+
name_mapping={
|
|
12579
|
+
"asn_list": "asnList",
|
|
12580
|
+
"forwarded_ip_config": "forwardedIpConfig",
|
|
12581
|
+
},
|
|
12582
|
+
)
|
|
12583
|
+
class AsnMatchStatementProperty:
|
|
12584
|
+
def __init__(
|
|
12585
|
+
self,
|
|
12586
|
+
*,
|
|
12587
|
+
asn_list: typing.Optional[typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b]] = None,
|
|
12588
|
+
forwarded_ip_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ForwardedIPConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
12589
|
+
) -> None:
|
|
12590
|
+
'''A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address.
|
|
12591
|
+
|
|
12592
|
+
For additional details, see `ASN match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
12593
|
+
|
|
12594
|
+
:param asn_list: Contains one or more Autonomous System Numbers (ASNs). ASNs are unique identifiers assigned to large internet networks managed by organizations such as internet service providers, enterprises, universities, or government agencies.
|
|
12595
|
+
:param forwarded_ip_config: The configuration for inspecting IP addresses to match against an ASN in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
|
|
12596
|
+
|
|
12597
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-asnmatchstatement.html
|
|
12598
|
+
:exampleMetadata: fixture=_generated
|
|
12599
|
+
|
|
12600
|
+
Example::
|
|
12601
|
+
|
|
12602
|
+
# The code below shows an example of how to instantiate this type.
|
|
12603
|
+
# The values are placeholders you should change.
|
|
12604
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
12605
|
+
|
|
12606
|
+
asn_match_statement_property = wafv2.CfnWebACL.AsnMatchStatementProperty(
|
|
12607
|
+
asn_list=[123],
|
|
12608
|
+
forwarded_ip_config=wafv2.CfnWebACL.ForwardedIPConfigurationProperty(
|
|
12609
|
+
fallback_behavior="fallbackBehavior",
|
|
12610
|
+
header_name="headerName"
|
|
12611
|
+
)
|
|
12612
|
+
)
|
|
12613
|
+
'''
|
|
12614
|
+
if __debug__:
|
|
12615
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8995ed18208bf9dcca46075f2ba4072467a8327472896fee5efcf1415648dfe8)
|
|
12616
|
+
check_type(argname="argument asn_list", value=asn_list, expected_type=type_hints["asn_list"])
|
|
12617
|
+
check_type(argname="argument forwarded_ip_config", value=forwarded_ip_config, expected_type=type_hints["forwarded_ip_config"])
|
|
12618
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
12619
|
+
if asn_list is not None:
|
|
12620
|
+
self._values["asn_list"] = asn_list
|
|
12621
|
+
if forwarded_ip_config is not None:
|
|
12622
|
+
self._values["forwarded_ip_config"] = forwarded_ip_config
|
|
12623
|
+
|
|
12624
|
+
@builtins.property
|
|
12625
|
+
def asn_list(
|
|
12626
|
+
self,
|
|
12627
|
+
) -> typing.Optional[typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]]:
|
|
12628
|
+
'''Contains one or more Autonomous System Numbers (ASNs).
|
|
12629
|
+
|
|
12630
|
+
ASNs are unique identifiers assigned to large internet networks managed by organizations such as internet service providers, enterprises, universities, or government agencies.
|
|
12631
|
+
|
|
12632
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-asnmatchstatement.html#cfn-wafv2-webacl-asnmatchstatement-asnlist
|
|
12633
|
+
'''
|
|
12634
|
+
result = self._values.get("asn_list")
|
|
12635
|
+
return typing.cast(typing.Optional[typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]], result)
|
|
12636
|
+
|
|
12637
|
+
@builtins.property
|
|
12638
|
+
def forwarded_ip_config(
|
|
12639
|
+
self,
|
|
12640
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ForwardedIPConfigurationProperty"]]:
|
|
12641
|
+
'''The configuration for inspecting IP addresses to match against an ASN in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin.
|
|
12642
|
+
|
|
12643
|
+
Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
|
|
12644
|
+
|
|
12645
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-asnmatchstatement.html#cfn-wafv2-webacl-asnmatchstatement-forwardedipconfig
|
|
12646
|
+
'''
|
|
12647
|
+
result = self._values.get("forwarded_ip_config")
|
|
12648
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ForwardedIPConfigurationProperty"]], result)
|
|
12649
|
+
|
|
12650
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
12651
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
12652
|
+
|
|
12653
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
12654
|
+
return not (rhs == self)
|
|
12655
|
+
|
|
12656
|
+
def __repr__(self) -> str:
|
|
12657
|
+
return "AsnMatchStatementProperty(%s)" % ", ".join(
|
|
12658
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
12659
|
+
)
|
|
12660
|
+
|
|
12661
|
+
@jsii.data_type(
|
|
12662
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.AssociationConfigProperty",
|
|
12663
|
+
jsii_struct_bases=[],
|
|
12664
|
+
name_mapping={"request_body": "requestBody"},
|
|
12665
|
+
)
|
|
12666
|
+
class AssociationConfigProperty:
|
|
12667
|
+
def __init__(
|
|
12668
|
+
self,
|
|
12669
|
+
*,
|
|
12670
|
+
request_body: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.RequestBodyAssociatedResourceTypeConfigProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
12671
|
+
) -> None:
|
|
12672
|
+
'''Specifies custom configurations for the associations between the web ACL and protected resources.
|
|
12673
|
+
|
|
12674
|
+
Use this to customize the maximum size of the request body that your protected resources forward to AWS WAF for inspection. You can customize this setting for CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources. The default setting is 16 KB (16,384 bytes).
|
|
12675
|
+
.. epigraph::
|
|
12676
|
+
|
|
12677
|
+
You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see `AWS WAF Pricing <https://docs.aws.amazon.com/waf/pricing/>`_ .
|
|
12678
|
+
|
|
12679
|
+
For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
12680
|
+
|
|
12681
|
+
:param request_body: Customizes the maximum size of the request body that your protected CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access resources forward to AWS WAF for inspection. The default size is 16 KB (16,384 bytes). You can change the setting for any of the available resource types. .. epigraph:: You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see `AWS WAF Pricing <https://docs.aws.amazon.com/waf/pricing/>`_ . Example JSON: ``{ "API_GATEWAY": "KB_48", "APP_RUNNER_SERVICE": "KB_32" }`` For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
12682
|
+
|
|
12683
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-associationconfig.html
|
|
12684
|
+
:exampleMetadata: fixture=_generated
|
|
12685
|
+
|
|
12686
|
+
Example::
|
|
12687
|
+
|
|
12688
|
+
# The code below shows an example of how to instantiate this type.
|
|
12689
|
+
# The values are placeholders you should change.
|
|
12690
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
12691
|
+
|
|
12692
|
+
association_config_property = wafv2.CfnWebACL.AssociationConfigProperty(
|
|
12693
|
+
request_body={
|
|
12694
|
+
"request_body_key": wafv2.CfnWebACL.RequestBodyAssociatedResourceTypeConfigProperty(
|
|
12695
|
+
default_size_inspection_limit="defaultSizeInspectionLimit"
|
|
12696
|
+
)
|
|
12697
|
+
}
|
|
12698
|
+
)
|
|
12699
|
+
'''
|
|
12700
|
+
if __debug__:
|
|
12701
|
+
type_hints = typing.get_type_hints(_typecheckingstub__889bff55ba91160187275a11669025b829161457b27db183745c6a70c6fb0947)
|
|
12702
|
+
check_type(argname="argument request_body", value=request_body, expected_type=type_hints["request_body"])
|
|
12703
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
12704
|
+
if request_body is not None:
|
|
12705
|
+
self._values["request_body"] = request_body
|
|
12706
|
+
|
|
12707
|
+
@builtins.property
|
|
12708
|
+
def request_body(
|
|
12709
|
+
self,
|
|
12710
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, "CfnWebACL.RequestBodyAssociatedResourceTypeConfigProperty"]]]]:
|
|
12711
|
+
'''Customizes the maximum size of the request body that your protected CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access resources forward to AWS WAF for inspection.
|
|
12712
|
+
|
|
12713
|
+
The default size is 16 KB (16,384 bytes). You can change the setting for any of the available resource types.
|
|
12714
|
+
.. epigraph::
|
|
12715
|
+
|
|
12716
|
+
You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see `AWS WAF Pricing <https://docs.aws.amazon.com/waf/pricing/>`_ .
|
|
12717
|
+
|
|
12718
|
+
Example JSON: ``{ "API_GATEWAY": "KB_48", "APP_RUNNER_SERVICE": "KB_32" }``
|
|
12719
|
+
|
|
12720
|
+
For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
12721
|
+
|
|
12722
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-associationconfig.html#cfn-wafv2-webacl-associationconfig-requestbody
|
|
12723
|
+
'''
|
|
12724
|
+
result = self._values.get("request_body")
|
|
12725
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, "CfnWebACL.RequestBodyAssociatedResourceTypeConfigProperty"]]]], result)
|
|
12726
|
+
|
|
12727
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
12728
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
12729
|
+
|
|
12730
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
12731
|
+
return not (rhs == self)
|
|
12732
|
+
|
|
12733
|
+
def __repr__(self) -> str:
|
|
12734
|
+
return "AssociationConfigProperty(%s)" % ", ".join(
|
|
12735
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
12736
|
+
)
|
|
12737
|
+
|
|
12738
|
+
@jsii.data_type(
|
|
12739
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.BlockActionProperty",
|
|
12740
|
+
jsii_struct_bases=[],
|
|
12741
|
+
name_mapping={"custom_response": "customResponse"},
|
|
12145
12742
|
)
|
|
12146
12743
|
class BlockActionProperty:
|
|
12147
12744
|
def __init__(
|
|
@@ -12790,6 +13387,210 @@ class CfnWebACL(
|
|
|
12790
13387
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
12791
13388
|
)
|
|
12792
13389
|
|
|
13390
|
+
@jsii.data_type(
|
|
13391
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.ClientSideActionConfigProperty",
|
|
13392
|
+
jsii_struct_bases=[],
|
|
13393
|
+
name_mapping={"challenge": "challenge"},
|
|
13394
|
+
)
|
|
13395
|
+
class ClientSideActionConfigProperty:
|
|
13396
|
+
def __init__(
|
|
13397
|
+
self,
|
|
13398
|
+
*,
|
|
13399
|
+
challenge: typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ClientSideActionProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
13400
|
+
) -> None:
|
|
13401
|
+
'''This is part of the configuration for the managed rules ``AWSManagedRulesAntiDDoSRuleSet`` in ``ManagedRuleGroupConfig`` .
|
|
13402
|
+
|
|
13403
|
+
:param challenge: Configuration for the use of the ``AWSManagedRulesAntiDDoSRuleSet`` rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` . .. epigraph:: This setting isn't related to the configuration of the ``Challenge`` action itself. It only configures the use of the two anti-DDoS rules named here. You can enable or disable the use of these rules, and you can configure how to use them when they are enabled.
|
|
13404
|
+
|
|
13405
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideactionconfig.html
|
|
13406
|
+
:exampleMetadata: fixture=_generated
|
|
13407
|
+
|
|
13408
|
+
Example::
|
|
13409
|
+
|
|
13410
|
+
# The code below shows an example of how to instantiate this type.
|
|
13411
|
+
# The values are placeholders you should change.
|
|
13412
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
13413
|
+
|
|
13414
|
+
client_side_action_config_property = wafv2.CfnWebACL.ClientSideActionConfigProperty(
|
|
13415
|
+
challenge=wafv2.CfnWebACL.ClientSideActionProperty(
|
|
13416
|
+
usage_of_action="usageOfAction",
|
|
13417
|
+
|
|
13418
|
+
# the properties below are optional
|
|
13419
|
+
exempt_uri_regular_expressions=[wafv2.CfnWebACL.RegexProperty(
|
|
13420
|
+
regex_string="regexString"
|
|
13421
|
+
)],
|
|
13422
|
+
sensitivity="sensitivity"
|
|
13423
|
+
)
|
|
13424
|
+
)
|
|
13425
|
+
'''
|
|
13426
|
+
if __debug__:
|
|
13427
|
+
type_hints = typing.get_type_hints(_typecheckingstub__776e223dfae595baf3dc144792b2d7158c77847ddf24785048d19516ebcb955b)
|
|
13428
|
+
check_type(argname="argument challenge", value=challenge, expected_type=type_hints["challenge"])
|
|
13429
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
13430
|
+
"challenge": challenge,
|
|
13431
|
+
}
|
|
13432
|
+
|
|
13433
|
+
@builtins.property
|
|
13434
|
+
def challenge(
|
|
13435
|
+
self,
|
|
13436
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnWebACL.ClientSideActionProperty"]:
|
|
13437
|
+
'''Configuration for the use of the ``AWSManagedRulesAntiDDoSRuleSet`` rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` .
|
|
13438
|
+
|
|
13439
|
+
.. epigraph::
|
|
13440
|
+
|
|
13441
|
+
This setting isn't related to the configuration of the ``Challenge`` action itself. It only configures the use of the two anti-DDoS rules named here.
|
|
13442
|
+
|
|
13443
|
+
You can enable or disable the use of these rules, and you can configure how to use them when they are enabled.
|
|
13444
|
+
|
|
13445
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideactionconfig.html#cfn-wafv2-webacl-clientsideactionconfig-challenge
|
|
13446
|
+
'''
|
|
13447
|
+
result = self._values.get("challenge")
|
|
13448
|
+
assert result is not None, "Required property 'challenge' is missing"
|
|
13449
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnWebACL.ClientSideActionProperty"], result)
|
|
13450
|
+
|
|
13451
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
13452
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
13453
|
+
|
|
13454
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
13455
|
+
return not (rhs == self)
|
|
13456
|
+
|
|
13457
|
+
def __repr__(self) -> str:
|
|
13458
|
+
return "ClientSideActionConfigProperty(%s)" % ", ".join(
|
|
13459
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
13460
|
+
)
|
|
13461
|
+
|
|
13462
|
+
@jsii.data_type(
|
|
13463
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.ClientSideActionProperty",
|
|
13464
|
+
jsii_struct_bases=[],
|
|
13465
|
+
name_mapping={
|
|
13466
|
+
"usage_of_action": "usageOfAction",
|
|
13467
|
+
"exempt_uri_regular_expressions": "exemptUriRegularExpressions",
|
|
13468
|
+
"sensitivity": "sensitivity",
|
|
13469
|
+
},
|
|
13470
|
+
)
|
|
13471
|
+
class ClientSideActionProperty:
|
|
13472
|
+
def __init__(
|
|
13473
|
+
self,
|
|
13474
|
+
*,
|
|
13475
|
+
usage_of_action: builtins.str,
|
|
13476
|
+
exempt_uri_regular_expressions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.RegexProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
13477
|
+
sensitivity: typing.Optional[builtins.str] = None,
|
|
13478
|
+
) -> None:
|
|
13479
|
+
'''This is part of the ``AWSManagedRulesAntiDDoSRuleSet`` ``ClientSideActionConfig`` configuration in ``ManagedRuleGroupConfig`` .
|
|
13480
|
+
|
|
13481
|
+
:param usage_of_action: Determines whether to use the ``AWSManagedRulesAntiDDoSRuleSet`` rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` in the rule group evaluation and the related label ``awswaf:managed:aws:anti-ddos:challengeable-request`` . - If usage is enabled: - The managed rule group adds the label ``awswaf:managed:aws:anti-ddos:challengeable-request`` to any web request whose URL does *NOT* match the regular expressions provided in the ``ClientSideAction`` setting ``ExemptUriRegularExpressions`` . - The two rules are evaluated against web requests for protected resources that are experiencing a DDoS attack. The two rules only apply their action to matching requests that have the label ``awswaf:managed:aws:anti-ddos:challengeable-request`` . - If usage is disabled: - The managed rule group doesn't add the label ``awswaf:managed:aws:anti-ddos:challengeable-request`` to any web requests. - The two rules are not evaluated. - None of the other ``ClientSideAction`` settings have any effect. .. epigraph:: This setting only enables or disables the use of the two anti-DDOS rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` in the anti-DDoS managed rule group. This setting doesn't alter the action setting in the two rules. To override the actions used by the rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` , enable this setting, and then override the rule actions in the usual way, in your managed rule group configuration.
|
|
13482
|
+
:param exempt_uri_regular_expressions: The regular expression to match against the web request URI, used to identify requests that can't handle a silent browser challenge. When the ``ClientSideAction`` setting ``UsageOfAction`` is enabled, the managed rule group uses this setting to determine which requests to label with ``awswaf:managed:aws:anti-ddos:challengeable-request`` . If ``UsageOfAction`` is disabled, this setting has no effect and the managed rule group doesn't add the label to any requests. The anti-DDoS managed rule group doesn't evaluate the rules ``ChallengeDDoSRequests`` or ``ChallengeAllDuringEvent`` for web requests whose URIs match this regex. This is true regardless of whether you override the rule action for either of the rules in your web ACL configuration. AWS recommends using a regular expression. This setting is required if ``UsageOfAction`` is set to ``ENABLED`` . If required, you can provide between 1 and 5 regex objects in the array of settings. AWS recommends starting with the following setting. Review and update it for your application's needs: ``\\/api\\/|\\.(acc|avi|css|gif|jpe?g|js|mp[34]|ogg|otf|pdf|png|tiff?|ttf|webm|webp|woff2?)$``
|
|
13483
|
+
:param sensitivity: The sensitivity that the rule group rule ``ChallengeDDoSRequests`` uses when matching against the DDoS suspicion labeling on a request. The managed rule group adds the labeling during DDoS events, before the ``ChallengeDDoSRequests`` rule runs. The higher the sensitivity, the more levels of labeling that the rule matches: - Low sensitivity is less sensitive, causing the rule to match only on the most likely participants in an attack, which are the requests with the high suspicion label ``awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request`` . - Medium sensitivity causes the rule to match on the medium and high suspicion labels. - High sensitivity causes the rule to match on all of the suspicion labels: low, medium, and high. Default: ``HIGH``
|
|
13484
|
+
|
|
13485
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideaction.html
|
|
13486
|
+
:exampleMetadata: fixture=_generated
|
|
13487
|
+
|
|
13488
|
+
Example::
|
|
13489
|
+
|
|
13490
|
+
# The code below shows an example of how to instantiate this type.
|
|
13491
|
+
# The values are placeholders you should change.
|
|
13492
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
13493
|
+
|
|
13494
|
+
client_side_action_property = wafv2.CfnWebACL.ClientSideActionProperty(
|
|
13495
|
+
usage_of_action="usageOfAction",
|
|
13496
|
+
|
|
13497
|
+
# the properties below are optional
|
|
13498
|
+
exempt_uri_regular_expressions=[wafv2.CfnWebACL.RegexProperty(
|
|
13499
|
+
regex_string="regexString"
|
|
13500
|
+
)],
|
|
13501
|
+
sensitivity="sensitivity"
|
|
13502
|
+
)
|
|
13503
|
+
'''
|
|
13504
|
+
if __debug__:
|
|
13505
|
+
type_hints = typing.get_type_hints(_typecheckingstub__de331114f33ba80cf8bd042358ad9467ab930574012abea7782f175fd2a7b649)
|
|
13506
|
+
check_type(argname="argument usage_of_action", value=usage_of_action, expected_type=type_hints["usage_of_action"])
|
|
13507
|
+
check_type(argname="argument exempt_uri_regular_expressions", value=exempt_uri_regular_expressions, expected_type=type_hints["exempt_uri_regular_expressions"])
|
|
13508
|
+
check_type(argname="argument sensitivity", value=sensitivity, expected_type=type_hints["sensitivity"])
|
|
13509
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
13510
|
+
"usage_of_action": usage_of_action,
|
|
13511
|
+
}
|
|
13512
|
+
if exempt_uri_regular_expressions is not None:
|
|
13513
|
+
self._values["exempt_uri_regular_expressions"] = exempt_uri_regular_expressions
|
|
13514
|
+
if sensitivity is not None:
|
|
13515
|
+
self._values["sensitivity"] = sensitivity
|
|
13516
|
+
|
|
13517
|
+
@builtins.property
|
|
13518
|
+
def usage_of_action(self) -> builtins.str:
|
|
13519
|
+
'''Determines whether to use the ``AWSManagedRulesAntiDDoSRuleSet`` rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` in the rule group evaluation and the related label ``awswaf:managed:aws:anti-ddos:challengeable-request`` .
|
|
13520
|
+
|
|
13521
|
+
- If usage is enabled:
|
|
13522
|
+
- The managed rule group adds the label ``awswaf:managed:aws:anti-ddos:challengeable-request`` to any web request whose URL does *NOT* match the regular expressions provided in the ``ClientSideAction`` setting ``ExemptUriRegularExpressions`` .
|
|
13523
|
+
- The two rules are evaluated against web requests for protected resources that are experiencing a DDoS attack. The two rules only apply their action to matching requests that have the label ``awswaf:managed:aws:anti-ddos:challengeable-request`` .
|
|
13524
|
+
- If usage is disabled:
|
|
13525
|
+
- The managed rule group doesn't add the label ``awswaf:managed:aws:anti-ddos:challengeable-request`` to any web requests.
|
|
13526
|
+
- The two rules are not evaluated.
|
|
13527
|
+
- None of the other ``ClientSideAction`` settings have any effect.
|
|
13528
|
+
|
|
13529
|
+
.. epigraph::
|
|
13530
|
+
|
|
13531
|
+
This setting only enables or disables the use of the two anti-DDOS rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` in the anti-DDoS managed rule group.
|
|
13532
|
+
|
|
13533
|
+
This setting doesn't alter the action setting in the two rules. To override the actions used by the rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` , enable this setting, and then override the rule actions in the usual way, in your managed rule group configuration.
|
|
13534
|
+
|
|
13535
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideaction.html#cfn-wafv2-webacl-clientsideaction-usageofaction
|
|
13536
|
+
'''
|
|
13537
|
+
result = self._values.get("usage_of_action")
|
|
13538
|
+
assert result is not None, "Required property 'usage_of_action' is missing"
|
|
13539
|
+
return typing.cast(builtins.str, result)
|
|
13540
|
+
|
|
13541
|
+
@builtins.property
|
|
13542
|
+
def exempt_uri_regular_expressions(
|
|
13543
|
+
self,
|
|
13544
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWebACL.RegexProperty"]]]]:
|
|
13545
|
+
'''The regular expression to match against the web request URI, used to identify requests that can't handle a silent browser challenge.
|
|
13546
|
+
|
|
13547
|
+
When the ``ClientSideAction`` setting ``UsageOfAction`` is enabled, the managed rule group uses this setting to determine which requests to label with ``awswaf:managed:aws:anti-ddos:challengeable-request`` . If ``UsageOfAction`` is disabled, this setting has no effect and the managed rule group doesn't add the label to any requests.
|
|
13548
|
+
|
|
13549
|
+
The anti-DDoS managed rule group doesn't evaluate the rules ``ChallengeDDoSRequests`` or ``ChallengeAllDuringEvent`` for web requests whose URIs match this regex. This is true regardless of whether you override the rule action for either of the rules in your web ACL configuration.
|
|
13550
|
+
|
|
13551
|
+
AWS recommends using a regular expression.
|
|
13552
|
+
|
|
13553
|
+
This setting is required if ``UsageOfAction`` is set to ``ENABLED`` . If required, you can provide between 1 and 5 regex objects in the array of settings.
|
|
13554
|
+
|
|
13555
|
+
AWS recommends starting with the following setting. Review and update it for your application's needs:
|
|
13556
|
+
|
|
13557
|
+
``\\/api\\/|\\.(acc|avi|css|gif|jpe?g|js|mp[34]|ogg|otf|pdf|png|tiff?|ttf|webm|webp|woff2?)$``
|
|
13558
|
+
|
|
13559
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideaction.html#cfn-wafv2-webacl-clientsideaction-exempturiregularexpressions
|
|
13560
|
+
'''
|
|
13561
|
+
result = self._values.get("exempt_uri_regular_expressions")
|
|
13562
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWebACL.RegexProperty"]]]], result)
|
|
13563
|
+
|
|
13564
|
+
@builtins.property
|
|
13565
|
+
def sensitivity(self) -> typing.Optional[builtins.str]:
|
|
13566
|
+
'''The sensitivity that the rule group rule ``ChallengeDDoSRequests`` uses when matching against the DDoS suspicion labeling on a request.
|
|
13567
|
+
|
|
13568
|
+
The managed rule group adds the labeling during DDoS events, before the ``ChallengeDDoSRequests`` rule runs.
|
|
13569
|
+
|
|
13570
|
+
The higher the sensitivity, the more levels of labeling that the rule matches:
|
|
13571
|
+
|
|
13572
|
+
- Low sensitivity is less sensitive, causing the rule to match only on the most likely participants in an attack, which are the requests with the high suspicion label ``awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request`` .
|
|
13573
|
+
- Medium sensitivity causes the rule to match on the medium and high suspicion labels.
|
|
13574
|
+
- High sensitivity causes the rule to match on all of the suspicion labels: low, medium, and high.
|
|
13575
|
+
|
|
13576
|
+
Default: ``HIGH``
|
|
13577
|
+
|
|
13578
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideaction.html#cfn-wafv2-webacl-clientsideaction-sensitivity
|
|
13579
|
+
'''
|
|
13580
|
+
result = self._values.get("sensitivity")
|
|
13581
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
13582
|
+
|
|
13583
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
13584
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
13585
|
+
|
|
13586
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
13587
|
+
return not (rhs == self)
|
|
13588
|
+
|
|
13589
|
+
def __repr__(self) -> str:
|
|
13590
|
+
return "ClientSideActionProperty(%s)" % ", ".join(
|
|
13591
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
13592
|
+
)
|
|
13593
|
+
|
|
12793
13594
|
@jsii.data_type(
|
|
12794
13595
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.CookieMatchPatternProperty",
|
|
12795
13596
|
jsii_struct_bases=[],
|
|
@@ -14282,7 +15083,7 @@ class CfnWebACL(
|
|
|
14282
15083
|
|
|
14283
15084
|
If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.
|
|
14284
15085
|
|
|
14285
|
-
This configuration is used for ``GeoMatchStatement`` and ``RateBasedStatement`` . For ``IPSetReferenceStatement`` , use ``IPSetForwardedIPConfig`` instead.
|
|
15086
|
+
This configuration is used for ``GeoMatchStatement`` , ``AsnMatchStatement`` , and ``RateBasedStatement`` . For ``IPSetReferenceStatement`` , use ``IPSetForwardedIPConfig`` instead.
|
|
14286
15087
|
|
|
14287
15088
|
AWS WAF only evaluates the first IP address found in the specified HTTP header.
|
|
14288
15089
|
|
|
@@ -15441,6 +16242,7 @@ class CfnWebACL(
|
|
|
15441
16242
|
jsii_struct_bases=[],
|
|
15442
16243
|
name_mapping={
|
|
15443
16244
|
"aws_managed_rules_acfp_rule_set": "awsManagedRulesAcfpRuleSet",
|
|
16245
|
+
"aws_managed_rules_anti_d_do_s_rule_set": "awsManagedRulesAntiDDoSRuleSet",
|
|
15444
16246
|
"aws_managed_rules_atp_rule_set": "awsManagedRulesAtpRuleSet",
|
|
15445
16247
|
"aws_managed_rules_bot_control_rule_set": "awsManagedRulesBotControlRuleSet",
|
|
15446
16248
|
"login_path": "loginPath",
|
|
@@ -15454,6 +16256,7 @@ class CfnWebACL(
|
|
|
15454
16256
|
self,
|
|
15455
16257
|
*,
|
|
15456
16258
|
aws_managed_rules_acfp_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.AWSManagedRulesACFPRuleSetProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
16259
|
+
aws_managed_rules_anti_d_do_s_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.AWSManagedRulesAntiDDoSRuleSetProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
15457
16260
|
aws_managed_rules_atp_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.AWSManagedRulesATPRuleSetProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
15458
16261
|
aws_managed_rules_bot_control_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.AWSManagedRulesBotControlRuleSetProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
15459
16262
|
login_path: typing.Optional[builtins.str] = None,
|
|
@@ -15470,6 +16273,7 @@ class CfnWebACL(
|
|
|
15470
16273
|
- Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
|
|
15471
16274
|
|
|
15472
16275
|
:param aws_managed_rules_acfp_rule_set: Additional configuration for using the account creation fraud prevention (ACFP) managed rule group, ``AWSManagedRulesACFPRuleSet`` . Use this to provide account creation request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide the information about how your distribution responds to account creation requests. For information about using the ACFP managed rule group, see `AWS WAF Fraud Control account creation fraud prevention (ACFP) rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-acfp.html>`_ and `AWS WAF Fraud Control account creation fraud prevention (ACFP) <https://docs.aws.amazon.com/waf/latest/developerguide/waf-acfp.html>`_ in the *AWS WAF Developer Guide* .
|
|
16276
|
+
:param aws_managed_rules_anti_d_do_s_rule_set: Additional configuration for using the anti-DDoS managed rule group, ``AWSManagedRulesAntiDDoSRuleSet`` . Use this to configure anti-DDoS behavior for the rule group. For information about using the anti-DDoS managed rule group, see `AWS WAF Anti-DDoS rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-anti-ddos.html>`_ and `Distributed Denial of Service (DDoS) prevention <https://docs.aws.amazon.com/waf/latest/developerguide/waf-anti-ddos.html>`_ in the *AWS WAF Developer Guide* .
|
|
15473
16277
|
:param aws_managed_rules_atp_rule_set: Additional configuration for using the account takeover prevention (ATP) managed rule group, ``AWSManagedRulesATPRuleSet`` . Use this to provide login request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide the information about how your distribution responds to login requests. This configuration replaces the individual configuration fields in ``ManagedRuleGroupConfig`` and provides additional feature configuration. For information about using the ATP managed rule group, see `AWS WAF Fraud Control account takeover prevention (ATP) rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-atp.html>`_ and `AWS WAF Fraud Control account takeover prevention (ATP) <https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html>`_ in the *AWS WAF Developer Guide* .
|
|
15474
16278
|
:param aws_managed_rules_bot_control_rule_set: Additional configuration for using the Bot Control managed rule group. Use this to specify the inspection level that you want to use. For information about using the Bot Control managed rule group, see `AWS WAF Bot Control rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html>`_ and `AWS WAF Bot Control <https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html>`_ in the *AWS WAF Developer Guide* .
|
|
15475
16279
|
:param login_path: .. epigraph:: Instead of this setting, provide your configuration under ``AWSManagedRulesATPRuleSet`` .
|
|
@@ -15534,6 +16338,22 @@ class CfnWebACL(
|
|
|
15534
16338
|
)
|
|
15535
16339
|
)
|
|
15536
16340
|
),
|
|
16341
|
+
aws_managed_rules_anti_dDo_sRule_set=wafv2.CfnWebACL.AWSManagedRulesAntiDDoSRuleSetProperty(
|
|
16342
|
+
client_side_action_config=wafv2.CfnWebACL.ClientSideActionConfigProperty(
|
|
16343
|
+
challenge=wafv2.CfnWebACL.ClientSideActionProperty(
|
|
16344
|
+
usage_of_action="usageOfAction",
|
|
16345
|
+
|
|
16346
|
+
# the properties below are optional
|
|
16347
|
+
exempt_uri_regular_expressions=[wafv2.CfnWebACL.RegexProperty(
|
|
16348
|
+
regex_string="regexString"
|
|
16349
|
+
)],
|
|
16350
|
+
sensitivity="sensitivity"
|
|
16351
|
+
)
|
|
16352
|
+
),
|
|
16353
|
+
|
|
16354
|
+
# the properties below are optional
|
|
16355
|
+
sensitivity_to_block="sensitivityToBlock"
|
|
16356
|
+
),
|
|
15537
16357
|
aws_managed_rules_atp_rule_set=wafv2.CfnWebACL.AWSManagedRulesATPRuleSetProperty(
|
|
15538
16358
|
login_path="loginPath",
|
|
15539
16359
|
|
|
@@ -15588,6 +16408,7 @@ class CfnWebACL(
|
|
|
15588
16408
|
if __debug__:
|
|
15589
16409
|
type_hints = typing.get_type_hints(_typecheckingstub__517661cb97cc58c609587fc6ca9907b2e23d8f3cd6e1e4034f3f6d82b85d2d77)
|
|
15590
16410
|
check_type(argname="argument aws_managed_rules_acfp_rule_set", value=aws_managed_rules_acfp_rule_set, expected_type=type_hints["aws_managed_rules_acfp_rule_set"])
|
|
16411
|
+
check_type(argname="argument aws_managed_rules_anti_d_do_s_rule_set", value=aws_managed_rules_anti_d_do_s_rule_set, expected_type=type_hints["aws_managed_rules_anti_d_do_s_rule_set"])
|
|
15591
16412
|
check_type(argname="argument aws_managed_rules_atp_rule_set", value=aws_managed_rules_atp_rule_set, expected_type=type_hints["aws_managed_rules_atp_rule_set"])
|
|
15592
16413
|
check_type(argname="argument aws_managed_rules_bot_control_rule_set", value=aws_managed_rules_bot_control_rule_set, expected_type=type_hints["aws_managed_rules_bot_control_rule_set"])
|
|
15593
16414
|
check_type(argname="argument login_path", value=login_path, expected_type=type_hints["login_path"])
|
|
@@ -15597,6 +16418,8 @@ class CfnWebACL(
|
|
|
15597
16418
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
15598
16419
|
if aws_managed_rules_acfp_rule_set is not None:
|
|
15599
16420
|
self._values["aws_managed_rules_acfp_rule_set"] = aws_managed_rules_acfp_rule_set
|
|
16421
|
+
if aws_managed_rules_anti_d_do_s_rule_set is not None:
|
|
16422
|
+
self._values["aws_managed_rules_anti_d_do_s_rule_set"] = aws_managed_rules_anti_d_do_s_rule_set
|
|
15600
16423
|
if aws_managed_rules_atp_rule_set is not None:
|
|
15601
16424
|
self._values["aws_managed_rules_atp_rule_set"] = aws_managed_rules_atp_rule_set
|
|
15602
16425
|
if aws_managed_rules_bot_control_rule_set is not None:
|
|
@@ -15625,6 +16448,21 @@ class CfnWebACL(
|
|
|
15625
16448
|
result = self._values.get("aws_managed_rules_acfp_rule_set")
|
|
15626
16449
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AWSManagedRulesACFPRuleSetProperty"]], result)
|
|
15627
16450
|
|
|
16451
|
+
@builtins.property
|
|
16452
|
+
def aws_managed_rules_anti_d_do_s_rule_set(
|
|
16453
|
+
self,
|
|
16454
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AWSManagedRulesAntiDDoSRuleSetProperty"]]:
|
|
16455
|
+
'''Additional configuration for using the anti-DDoS managed rule group, ``AWSManagedRulesAntiDDoSRuleSet`` .
|
|
16456
|
+
|
|
16457
|
+
Use this to configure anti-DDoS behavior for the rule group.
|
|
16458
|
+
|
|
16459
|
+
For information about using the anti-DDoS managed rule group, see `AWS WAF Anti-DDoS rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-anti-ddos.html>`_ and `Distributed Denial of Service (DDoS) prevention <https://docs.aws.amazon.com/waf/latest/developerguide/waf-anti-ddos.html>`_ in the *AWS WAF Developer Guide* .
|
|
16460
|
+
|
|
16461
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupconfig.html#cfn-wafv2-webacl-managedrulegroupconfig-awsmanagedrulesantiddosruleset
|
|
16462
|
+
'''
|
|
16463
|
+
result = self._values.get("aws_managed_rules_anti_d_do_s_rule_set")
|
|
16464
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AWSManagedRulesAntiDDoSRuleSetProperty"]], result)
|
|
16465
|
+
|
|
15628
16466
|
@builtins.property
|
|
15629
16467
|
def aws_managed_rules_atp_rule_set(
|
|
15630
16468
|
self,
|
|
@@ -15751,8 +16589,8 @@ class CfnWebACL(
|
|
|
15751
16589
|
:param name: The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.
|
|
15752
16590
|
:param vendor_name: The name of the managed rule group vendor. You use this, along with the rule group name, to identify a rule group.
|
|
15753
16591
|
:param excluded_rules: Rules in the referenced rule group whose actions are set to ``Count`` . .. epigraph:: Instead of this option, use ``RuleActionOverrides`` . It accepts any valid action setting, including ``Count`` .
|
|
15754
|
-
:param managed_rule_group_configs: Additional information that's used by a managed rule group. Many managed rule groups don't require this. The rule groups used for intelligent threat mitigation require additional configuration: - Use the ``AWSManagedRulesACFPRuleSet`` configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields. - Use the ``AWSManagedRulesATPRuleSet`` configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password. - Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
|
|
15755
|
-
:param rule_action_overrides: Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change. .. epigraph::
|
|
16592
|
+
:param managed_rule_group_configs: Additional information that's used by a managed rule group. Many managed rule groups don't require this. The rule groups used for intelligent threat mitigation require additional configuration: - Use the ``AWSManagedRulesACFPRuleSet`` configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields. - Use the ``AWSManagedRulesAntiDDoSRuleSet`` configuration object to configure the anti-DDoS managed rule group. The configuration includes the sensitivity levels to use in the rules that typically block and challenge requests that might be participating in DDoS attacks and the specification to use to indicate whether a request can handle a silent browser challenge. - Use the ``AWSManagedRulesATPRuleSet`` configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password. - Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
|
|
16593
|
+
:param rule_action_overrides: Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change. .. epigraph:: Verify the rule names in your overrides carefully. With managed rule groups, AWS WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group. You can use overrides for testing, for example you can override all of rule actions to ``Count`` and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.
|
|
15756
16594
|
:param scope_down_statement: An optional nested statement that narrows the scope of the web requests that are evaluated by the managed rule group. Requests are only evaluated by the rule group if they match the scope-down statement. You can use any nestable ``Statement`` in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.
|
|
15757
16595
|
:param version: The version of the managed rule group to use. If you specify this, the version setting is fixed until you change it. If you don't specify this, AWS WAF uses the vendor's default version, and then keeps the version at the vendor's default when the vendor updates the managed rule group settings.
|
|
15758
16596
|
|
|
@@ -15835,6 +16673,7 @@ class CfnWebACL(
|
|
|
15835
16673
|
The rule groups used for intelligent threat mitigation require additional configuration:
|
|
15836
16674
|
|
|
15837
16675
|
- Use the ``AWSManagedRulesACFPRuleSet`` configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields.
|
|
16676
|
+
- Use the ``AWSManagedRulesAntiDDoSRuleSet`` configuration object to configure the anti-DDoS managed rule group. The configuration includes the sensitivity levels to use in the rules that typically block and challenge requests that might be participating in DDoS attacks and the specification to use to indicate whether a request can handle a silent browser challenge.
|
|
15838
16677
|
- Use the ``AWSManagedRulesATPRuleSet`` configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password.
|
|
15839
16678
|
- Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
|
|
15840
16679
|
|
|
@@ -15852,7 +16691,7 @@ class CfnWebACL(
|
|
|
15852
16691
|
You specify one override for each rule whose action you want to change.
|
|
15853
16692
|
.. epigraph::
|
|
15854
16693
|
|
|
15855
|
-
|
|
16694
|
+
Verify the rule names in your overrides carefully. With managed rule groups, AWS WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group.
|
|
15856
16695
|
|
|
15857
16696
|
You can use overrides for testing, for example you can override all of rule actions to ``Count`` and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.
|
|
15858
16697
|
|
|
@@ -15952,6 +16791,60 @@ class CfnWebACL(
|
|
|
15952
16791
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
15953
16792
|
)
|
|
15954
16793
|
|
|
16794
|
+
@jsii.data_type(
|
|
16795
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.OnSourceDDoSProtectionConfigProperty",
|
|
16796
|
+
jsii_struct_bases=[],
|
|
16797
|
+
name_mapping={"alb_low_reputation_mode": "albLowReputationMode"},
|
|
16798
|
+
)
|
|
16799
|
+
class OnSourceDDoSProtectionConfigProperty:
|
|
16800
|
+
def __init__(self, *, alb_low_reputation_mode: builtins.str) -> None:
|
|
16801
|
+
'''Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.
|
|
16802
|
+
|
|
16803
|
+
:param alb_low_reputation_mode: The level of DDoS protection that applies to web ACLs associated with Application Load Balancers. ``ACTIVE_UNDER_DDOS`` protection is enabled by default whenever a web ACL is associated with an Application Load Balancer. In the event that an Application Load Balancer experiences high-load conditions or suspected DDoS attacks, the ``ACTIVE_UNDER_DDOS`` protection automatically rate limits traffic from known low reputation sources without disrupting Application Load Balancer availability. ``ALWAYS_ON`` protection provides constant, always-on monitoring of known low reputation sources for suspected DDoS attacks. While this provides a higher level of protection, there may be potential impacts on legitimate traffic.
|
|
16804
|
+
|
|
16805
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-onsourceddosprotectionconfig.html
|
|
16806
|
+
:exampleMetadata: fixture=_generated
|
|
16807
|
+
|
|
16808
|
+
Example::
|
|
16809
|
+
|
|
16810
|
+
# The code below shows an example of how to instantiate this type.
|
|
16811
|
+
# The values are placeholders you should change.
|
|
16812
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
16813
|
+
|
|
16814
|
+
on_source_dDo_sProtection_config_property = wafv2.CfnWebACL.OnSourceDDoSProtectionConfigProperty(
|
|
16815
|
+
alb_low_reputation_mode="albLowReputationMode"
|
|
16816
|
+
)
|
|
16817
|
+
'''
|
|
16818
|
+
if __debug__:
|
|
16819
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b1d55e97c88ee1084655df55da4bb940ea39dc6807c3b4f425073a3a747e0dbc)
|
|
16820
|
+
check_type(argname="argument alb_low_reputation_mode", value=alb_low_reputation_mode, expected_type=type_hints["alb_low_reputation_mode"])
|
|
16821
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
16822
|
+
"alb_low_reputation_mode": alb_low_reputation_mode,
|
|
16823
|
+
}
|
|
16824
|
+
|
|
16825
|
+
@builtins.property
|
|
16826
|
+
def alb_low_reputation_mode(self) -> builtins.str:
|
|
16827
|
+
'''The level of DDoS protection that applies to web ACLs associated with Application Load Balancers.
|
|
16828
|
+
|
|
16829
|
+
``ACTIVE_UNDER_DDOS`` protection is enabled by default whenever a web ACL is associated with an Application Load Balancer. In the event that an Application Load Balancer experiences high-load conditions or suspected DDoS attacks, the ``ACTIVE_UNDER_DDOS`` protection automatically rate limits traffic from known low reputation sources without disrupting Application Load Balancer availability. ``ALWAYS_ON`` protection provides constant, always-on monitoring of known low reputation sources for suspected DDoS attacks. While this provides a higher level of protection, there may be potential impacts on legitimate traffic.
|
|
16830
|
+
|
|
16831
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-onsourceddosprotectionconfig.html#cfn-wafv2-webacl-onsourceddosprotectionconfig-alblowreputationmode
|
|
16832
|
+
'''
|
|
16833
|
+
result = self._values.get("alb_low_reputation_mode")
|
|
16834
|
+
assert result is not None, "Required property 'alb_low_reputation_mode' is missing"
|
|
16835
|
+
return typing.cast(builtins.str, result)
|
|
16836
|
+
|
|
16837
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
16838
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
16839
|
+
|
|
16840
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
16841
|
+
return not (rhs == self)
|
|
16842
|
+
|
|
16843
|
+
def __repr__(self) -> str:
|
|
16844
|
+
return "OnSourceDDoSProtectionConfigProperty(%s)" % ", ".join(
|
|
16845
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
16846
|
+
)
|
|
16847
|
+
|
|
15955
16848
|
@jsii.data_type(
|
|
15956
16849
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.OrStatementProperty",
|
|
15957
16850
|
jsii_struct_bases=[],
|
|
@@ -16098,6 +16991,7 @@ class CfnWebACL(
|
|
|
16098
16991
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.RateBasedStatementCustomKeyProperty",
|
|
16099
16992
|
jsii_struct_bases=[],
|
|
16100
16993
|
name_mapping={
|
|
16994
|
+
"asn": "asn",
|
|
16101
16995
|
"cookie": "cookie",
|
|
16102
16996
|
"forwarded_ip": "forwardedIp",
|
|
16103
16997
|
"header": "header",
|
|
@@ -16115,6 +17009,7 @@ class CfnWebACL(
|
|
|
16115
17009
|
def __init__(
|
|
16116
17010
|
self,
|
|
16117
17011
|
*,
|
|
17012
|
+
asn: typing.Any = None,
|
|
16118
17013
|
cookie: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.RateLimitCookieProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
16119
17014
|
forwarded_ip: typing.Any = None,
|
|
16120
17015
|
header: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.RateLimitHeaderProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -16133,6 +17028,7 @@ class CfnWebACL(
|
|
|
16133
17028
|
|
|
16134
17029
|
Web requests that are missing any of the components specified in the aggregation keys are omitted from the rate-based rule evaluation and handling.
|
|
16135
17030
|
|
|
17031
|
+
:param asn: Use an Autonomous System Number (ASN) derived from the request's originating or forwarded IP address as an aggregate key. Each distinct ASN contributes to the aggregation instance.
|
|
16136
17032
|
:param cookie: Use the value of a cookie in the request as an aggregate key. Each distinct value in the cookie contributes to the aggregation instance. If you use a single cookie as your custom key, then each value fully defines an aggregation instance.
|
|
16137
17033
|
:param forwarded_ip: Use the first IP address in an HTTP header as an aggregate key. Each distinct forwarded IP address contributes to the aggregation instance. When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the forwarded IP address by specifying ``FORWARDED_IP`` in your rate-based statement's ``AggregateKeyType`` . With this option, you must specify the header to use in the rate-based rule's ``ForwardedIPConfig`` property.
|
|
16138
17034
|
:param header: Use the value of a header in the request as an aggregate key. Each distinct value in the header contributes to the aggregation instance. If you use a single header as your custom key, then each value fully defines an aggregation instance.
|
|
@@ -16154,11 +17050,13 @@ class CfnWebACL(
|
|
|
16154
17050
|
# The values are placeholders you should change.
|
|
16155
17051
|
from aws_cdk import aws_wafv2 as wafv2
|
|
16156
17052
|
|
|
17053
|
+
# asn: Any
|
|
16157
17054
|
# forwarded_ip: Any
|
|
16158
17055
|
# http_method: Any
|
|
16159
17056
|
# ip: Any
|
|
16160
17057
|
|
|
16161
17058
|
rate_based_statement_custom_key_property = wafv2.CfnWebACL.RateBasedStatementCustomKeyProperty(
|
|
17059
|
+
asn=asn,
|
|
16162
17060
|
cookie=wafv2.CfnWebACL.RateLimitCookieProperty(
|
|
16163
17061
|
name="name",
|
|
16164
17062
|
text_transformations=[wafv2.CfnWebACL.TextTransformationProperty(
|
|
@@ -16208,6 +17106,7 @@ class CfnWebACL(
|
|
|
16208
17106
|
'''
|
|
16209
17107
|
if __debug__:
|
|
16210
17108
|
type_hints = typing.get_type_hints(_typecheckingstub__2edac52bcb13f69d4349ba55a4d083851908f1dd71831794e88ac043e1ade5a3)
|
|
17109
|
+
check_type(argname="argument asn", value=asn, expected_type=type_hints["asn"])
|
|
16211
17110
|
check_type(argname="argument cookie", value=cookie, expected_type=type_hints["cookie"])
|
|
16212
17111
|
check_type(argname="argument forwarded_ip", value=forwarded_ip, expected_type=type_hints["forwarded_ip"])
|
|
16213
17112
|
check_type(argname="argument header", value=header, expected_type=type_hints["header"])
|
|
@@ -16220,6 +17119,8 @@ class CfnWebACL(
|
|
|
16220
17119
|
check_type(argname="argument query_string", value=query_string, expected_type=type_hints["query_string"])
|
|
16221
17120
|
check_type(argname="argument uri_path", value=uri_path, expected_type=type_hints["uri_path"])
|
|
16222
17121
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
17122
|
+
if asn is not None:
|
|
17123
|
+
self._values["asn"] = asn
|
|
16223
17124
|
if cookie is not None:
|
|
16224
17125
|
self._values["cookie"] = cookie
|
|
16225
17126
|
if forwarded_ip is not None:
|
|
@@ -16243,6 +17144,17 @@ class CfnWebACL(
|
|
|
16243
17144
|
if uri_path is not None:
|
|
16244
17145
|
self._values["uri_path"] = uri_path
|
|
16245
17146
|
|
|
17147
|
+
@builtins.property
|
|
17148
|
+
def asn(self) -> typing.Any:
|
|
17149
|
+
'''Use an Autonomous System Number (ASN) derived from the request's originating or forwarded IP address as an aggregate key.
|
|
17150
|
+
|
|
17151
|
+
Each distinct ASN contributes to the aggregation instance.
|
|
17152
|
+
|
|
17153
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementcustomkey.html#cfn-wafv2-webacl-ratebasedstatementcustomkey-asn
|
|
17154
|
+
'''
|
|
17155
|
+
result = self._values.get("asn")
|
|
17156
|
+
return typing.cast(typing.Any, result)
|
|
17157
|
+
|
|
16246
17158
|
@builtins.property
|
|
16247
17159
|
def cookie(
|
|
16248
17160
|
self,
|
|
@@ -17479,6 +18391,63 @@ class CfnWebACL(
|
|
|
17479
18391
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
17480
18392
|
)
|
|
17481
18393
|
|
|
18394
|
+
@jsii.data_type(
|
|
18395
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.RegexProperty",
|
|
18396
|
+
jsii_struct_bases=[],
|
|
18397
|
+
name_mapping={"regex_string": "regexString"},
|
|
18398
|
+
)
|
|
18399
|
+
class RegexProperty:
|
|
18400
|
+
def __init__(
|
|
18401
|
+
self,
|
|
18402
|
+
*,
|
|
18403
|
+
regex_string: typing.Optional[builtins.str] = None,
|
|
18404
|
+
) -> None:
|
|
18405
|
+
'''A single regular expression.
|
|
18406
|
+
|
|
18407
|
+
This is used in a ``RegexPatternSet`` and also in the configuration for the AWS Managed Rules rule group ``AWSManagedRulesAntiDDoSRuleSet`` .
|
|
18408
|
+
|
|
18409
|
+
:param regex_string: The string representing the regular expression.
|
|
18410
|
+
|
|
18411
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regex.html
|
|
18412
|
+
:exampleMetadata: fixture=_generated
|
|
18413
|
+
|
|
18414
|
+
Example::
|
|
18415
|
+
|
|
18416
|
+
# The code below shows an example of how to instantiate this type.
|
|
18417
|
+
# The values are placeholders you should change.
|
|
18418
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
18419
|
+
|
|
18420
|
+
regex_property = wafv2.CfnWebACL.RegexProperty(
|
|
18421
|
+
regex_string="regexString"
|
|
18422
|
+
)
|
|
18423
|
+
'''
|
|
18424
|
+
if __debug__:
|
|
18425
|
+
type_hints = typing.get_type_hints(_typecheckingstub__91e754c074f286d30a035b0cb9d25503568a265d4426fe4f4bfc0766c9c71d90)
|
|
18426
|
+
check_type(argname="argument regex_string", value=regex_string, expected_type=type_hints["regex_string"])
|
|
18427
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
18428
|
+
if regex_string is not None:
|
|
18429
|
+
self._values["regex_string"] = regex_string
|
|
18430
|
+
|
|
18431
|
+
@builtins.property
|
|
18432
|
+
def regex_string(self) -> typing.Optional[builtins.str]:
|
|
18433
|
+
'''The string representing the regular expression.
|
|
18434
|
+
|
|
18435
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regex.html#cfn-wafv2-webacl-regex-regexstring
|
|
18436
|
+
'''
|
|
18437
|
+
result = self._values.get("regex_string")
|
|
18438
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
18439
|
+
|
|
18440
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
18441
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
18442
|
+
|
|
18443
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
18444
|
+
return not (rhs == self)
|
|
18445
|
+
|
|
18446
|
+
def __repr__(self) -> str:
|
|
18447
|
+
return "RegexProperty(%s)" % ", ".join(
|
|
18448
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
18449
|
+
)
|
|
18450
|
+
|
|
17482
18451
|
@jsii.data_type(
|
|
17483
18452
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.RequestBodyAssociatedResourceTypeConfigProperty",
|
|
17484
18453
|
jsii_struct_bases=[],
|
|
@@ -18747,7 +19716,7 @@ class CfnWebACL(
|
|
|
18747
19716
|
|
|
18748
19717
|
:param arn: The Amazon Resource Name (ARN) of the entity.
|
|
18749
19718
|
:param excluded_rules: Rules in the referenced rule group whose actions are set to ``Count`` . .. epigraph:: Instead of this option, use ``RuleActionOverrides`` . It accepts any valid action setting, including ``Count`` .
|
|
18750
|
-
:param rule_action_overrides: Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change. .. epigraph::
|
|
19719
|
+
:param rule_action_overrides: Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change. .. epigraph:: Verify the rule names in your overrides carefully. With managed rule groups, AWS WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group. You can use overrides for testing, for example you can override all of rule actions to ``Count`` and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.
|
|
18751
19720
|
|
|
18752
19721
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rulegroupreferencestatement.html
|
|
18753
19722
|
:exampleMetadata: fixture=_generated
|
|
@@ -18863,7 +19832,7 @@ class CfnWebACL(
|
|
|
18863
19832
|
You specify one override for each rule whose action you want to change.
|
|
18864
19833
|
.. epigraph::
|
|
18865
19834
|
|
|
18866
|
-
|
|
19835
|
+
Verify the rule names in your overrides carefully. With managed rule groups, AWS WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group.
|
|
18867
19836
|
|
|
18868
19837
|
You can use overrides for testing, for example you can override all of rule actions to ``Count`` and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.
|
|
18869
19838
|
|
|
@@ -19580,6 +20549,7 @@ class CfnWebACL(
|
|
|
19580
20549
|
jsii_struct_bases=[],
|
|
19581
20550
|
name_mapping={
|
|
19582
20551
|
"and_statement": "andStatement",
|
|
20552
|
+
"asn_match_statement": "asnMatchStatement",
|
|
19583
20553
|
"byte_match_statement": "byteMatchStatement",
|
|
19584
20554
|
"geo_match_statement": "geoMatchStatement",
|
|
19585
20555
|
"ip_set_reference_statement": "ipSetReferenceStatement",
|
|
@@ -19601,6 +20571,7 @@ class CfnWebACL(
|
|
|
19601
20571
|
self,
|
|
19602
20572
|
*,
|
|
19603
20573
|
and_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.AndStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20574
|
+
asn_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.AsnMatchStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19604
20575
|
byte_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ByteMatchStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19605
20576
|
geo_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.GeoMatchStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19606
20577
|
ip_set_reference_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.IPSetReferenceStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -19619,6 +20590,7 @@ class CfnWebACL(
|
|
|
19619
20590
|
'''The processing guidance for a rule, used by AWS WAF to determine whether a web request matches the rule.
|
|
19620
20591
|
|
|
19621
20592
|
:param and_statement: A logical rule statement used to combine other rule statements with AND logic. You provide more than one ``Statement`` within the ``AndStatement`` .
|
|
20593
|
+
:param asn_match_statement: A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address. For additional details, see `ASN match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
19622
20594
|
:param byte_match_statement: A rule statement that defines a string match search for AWS WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want AWS WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the AWS WAF console and the developer guide, this is called a string match statement.
|
|
19623
20595
|
:param geo_match_statement: A rule statement that labels web requests by country and region and that matches against web requests based on country code. A geo match rule labels every request that it inspects regardless of whether it finds a match. - To manage requests only by country, you can use this statement by itself and specify the countries that you want to match against in the ``CountryCodes`` array. - Otherwise, configure your geo match rule with Count action so that it only labels requests. Then, add one or more label match rules to run after the geo match rule and configure them to match against the geographic labels and handle the requests as needed. AWS WAF labels requests using the alpha-2 country and region codes from the International Organization for Standardization (ISO) 3166 standard. AWS WAF determines the codes using either the IP address in the web request origin or, if you specify it, the address in the geo match ``ForwardedIPConfig`` . If you use the web request origin, the label formats are ``awswaf:clientip:geo:region:<ISO country code>-<ISO region code>`` and ``awswaf:clientip:geo:country:<ISO country code>`` . If you use a forwarded IP address, the label formats are ``awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code>`` and ``awswaf:forwardedip:geo:country:<ISO country code>`` . For additional details, see `Geographic match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-geo-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
19624
20596
|
:param ip_set_reference_statement: A rule statement used to detect web requests coming from particular IP addresses or address ranges. To use this, create an ``IPSet`` that specifies the addresses you want to detect, then use the ARN of that set in this statement. Each IP set rule statement references an IP set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.
|
|
@@ -19644,6 +20616,7 @@ class CfnWebACL(
|
|
|
19644
20616
|
if __debug__:
|
|
19645
20617
|
type_hints = typing.get_type_hints(_typecheckingstub__0382dea984940e1444b28282683162580df37103e33ab59384736c3a85a2ec11)
|
|
19646
20618
|
check_type(argname="argument and_statement", value=and_statement, expected_type=type_hints["and_statement"])
|
|
20619
|
+
check_type(argname="argument asn_match_statement", value=asn_match_statement, expected_type=type_hints["asn_match_statement"])
|
|
19647
20620
|
check_type(argname="argument byte_match_statement", value=byte_match_statement, expected_type=type_hints["byte_match_statement"])
|
|
19648
20621
|
check_type(argname="argument geo_match_statement", value=geo_match_statement, expected_type=type_hints["geo_match_statement"])
|
|
19649
20622
|
check_type(argname="argument ip_set_reference_statement", value=ip_set_reference_statement, expected_type=type_hints["ip_set_reference_statement"])
|
|
@@ -19661,6 +20634,8 @@ class CfnWebACL(
|
|
|
19661
20634
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
19662
20635
|
if and_statement is not None:
|
|
19663
20636
|
self._values["and_statement"] = and_statement
|
|
20637
|
+
if asn_match_statement is not None:
|
|
20638
|
+
self._values["asn_match_statement"] = asn_match_statement
|
|
19664
20639
|
if byte_match_statement is not None:
|
|
19665
20640
|
self._values["byte_match_statement"] = byte_match_statement
|
|
19666
20641
|
if geo_match_statement is not None:
|
|
@@ -19703,6 +20678,19 @@ class CfnWebACL(
|
|
|
19703
20678
|
result = self._values.get("and_statement")
|
|
19704
20679
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AndStatementProperty"]], result)
|
|
19705
20680
|
|
|
20681
|
+
@builtins.property
|
|
20682
|
+
def asn_match_statement(
|
|
20683
|
+
self,
|
|
20684
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AsnMatchStatementProperty"]]:
|
|
20685
|
+
'''A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address.
|
|
20686
|
+
|
|
20687
|
+
For additional details, see `ASN match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
20688
|
+
|
|
20689
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statement.html#cfn-wafv2-webacl-statement-asnmatchstatement
|
|
20690
|
+
'''
|
|
20691
|
+
result = self._values.get("asn_match_statement")
|
|
20692
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AsnMatchStatementProperty"]], result)
|
|
20693
|
+
|
|
19706
20694
|
@builtins.property
|
|
19707
20695
|
def byte_match_statement(
|
|
19708
20696
|
self,
|
|
@@ -20349,7 +21337,7 @@ class CfnWebACL(
|
|
|
20349
21337
|
)
|
|
20350
21338
|
|
|
20351
21339
|
|
|
20352
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
21340
|
+
@jsii.implements(_IInspectable_c2943556, _IWebACLAssociationRef_16e76921)
|
|
20353
21341
|
class CfnWebACLAssociation(
|
|
20354
21342
|
_CfnResource_9df397a6,
|
|
20355
21343
|
metaclass=jsii.JSIIMeta,
|
|
@@ -20405,7 +21393,8 @@ class CfnWebACLAssociation(
|
|
|
20405
21393
|
resource_arn: builtins.str,
|
|
20406
21394
|
web_acl_arn: builtins.str,
|
|
20407
21395
|
) -> None:
|
|
20408
|
-
'''
|
|
21396
|
+
'''Create a new ``AWS::WAFv2::WebACLAssociation``.
|
|
21397
|
+
|
|
20409
21398
|
:param scope: Scope in which this resource is defined.
|
|
20410
21399
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
20411
21400
|
:param resource_arn: The Amazon Resource Name (ARN) of the resource to associate with the web ACL. The ARN must be in one of the following formats: - For an Application Load Balancer: ``arn: *partition* :elasticloadbalancing: *region* : *account-id* :loadbalancer/app/ *load-balancer-name* / *load-balancer-id*`` - For an Amazon API Gateway REST API: ``arn: *partition* :apigateway: *region* ::/restapis/ *api-id* /stages/ *stage-name*`` - For an AWS AppSync GraphQL API: ``arn: *partition* :appsync: *region* : *account-id* :apis/ *GraphQLApiId*`` - For an Amazon Cognito user pool: ``arn: *partition* :cognito-idp: *region* : *account-id* :userpool/ *user-pool-id*`` - For an AWS App Runner service: ``arn: *partition* :apprunner: *region* : *account-id* :service/ *apprunner-service-name* / *apprunner-service-id*`` - For an AWS Verified Access instance: ``arn: *partition* :ec2: *region* : *account-id* :verified-access-instance/ *instance-id*`` - For an AWS Amplify instance: ``arn: *partition* :amplify: *region* : *account-id* :apps/ *app-id*``
|
|
@@ -20456,6 +21445,12 @@ class CfnWebACLAssociation(
|
|
|
20456
21445
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
20457
21446
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
20458
21447
|
|
|
21448
|
+
@builtins.property
|
|
21449
|
+
@jsii.member(jsii_name="webAclAssociationRef")
|
|
21450
|
+
def web_acl_association_ref(self) -> _WebACLAssociationReference_f2f05891:
|
|
21451
|
+
'''A reference to a WebACLAssociation resource.'''
|
|
21452
|
+
return typing.cast(_WebACLAssociationReference_f2f05891, jsii.get(self, "webAclAssociationRef"))
|
|
21453
|
+
|
|
20459
21454
|
@builtins.property
|
|
20460
21455
|
@jsii.member(jsii_name="resourceArn")
|
|
20461
21456
|
def resource_arn(self) -> builtins.str:
|
|
@@ -20573,6 +21568,7 @@ class CfnWebACLAssociationProps:
|
|
|
20573
21568
|
"default_action": "defaultAction",
|
|
20574
21569
|
"scope": "scope",
|
|
20575
21570
|
"visibility_config": "visibilityConfig",
|
|
21571
|
+
"application_config": "applicationConfig",
|
|
20576
21572
|
"association_config": "associationConfig",
|
|
20577
21573
|
"captcha_config": "captchaConfig",
|
|
20578
21574
|
"challenge_config": "challengeConfig",
|
|
@@ -20580,6 +21576,7 @@ class CfnWebACLAssociationProps:
|
|
|
20580
21576
|
"data_protection_config": "dataProtectionConfig",
|
|
20581
21577
|
"description": "description",
|
|
20582
21578
|
"name": "name",
|
|
21579
|
+
"on_source_d_do_s_protection_config": "onSourceDDoSProtectionConfig",
|
|
20583
21580
|
"rules": "rules",
|
|
20584
21581
|
"tags": "tags",
|
|
20585
21582
|
"token_domains": "tokenDomains",
|
|
@@ -20592,6 +21589,7 @@ class CfnWebACLProps:
|
|
|
20592
21589
|
default_action: typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.DefaultActionProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
20593
21590
|
scope: builtins.str,
|
|
20594
21591
|
visibility_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.VisibilityConfigProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
21592
|
+
application_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ApplicationConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20595
21593
|
association_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AssociationConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20596
21594
|
captcha_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.CaptchaConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20597
21595
|
challenge_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ChallengeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -20599,6 +21597,7 @@ class CfnWebACLProps:
|
|
|
20599
21597
|
data_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.DataProtectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20600
21598
|
description: typing.Optional[builtins.str] = None,
|
|
20601
21599
|
name: typing.Optional[builtins.str] = None,
|
|
21600
|
+
on_source_d_do_s_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.OnSourceDDoSProtectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20602
21601
|
rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
20603
21602
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20604
21603
|
token_domains: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -20608,6 +21607,7 @@ class CfnWebACLProps:
|
|
|
20608
21607
|
:param default_action: The action to perform if none of the ``Rules`` contained in the ``WebACL`` match.
|
|
20609
21608
|
:param scope: Specifies whether this is for an Amazon CloudFront distribution or for a regional application. For an AWS Amplify application, use ``CLOUDFRONT`` . A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AWS AppSync GraphQL API, an Amazon Cognito user pool, an AWS App Runner service, or an AWS Verified Access instance. Valid Values are ``CLOUDFRONT`` and ``REGIONAL`` . .. epigraph:: For ``CLOUDFRONT`` , you must create your WAFv2 resources in the US East (N. Virginia) Region, ``us-east-1`` . For information about how to define the association of the web ACL with your resource, see ``WebACLAssociation`` .
|
|
20610
21609
|
:param visibility_config: Defines and enables Amazon CloudWatch metrics and web request sample collection.
|
|
21610
|
+
:param application_config: Returns a list of ``ApplicationAttribute`` s.
|
|
20611
21611
|
:param association_config: Specifies custom configurations for the associations between the web ACL and protected resources. Use this to customize the maximum size of the request body that your protected resources forward to AWS WAF for inspection. You can customize this setting for CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources. The default setting is 16 KB (16,384 bytes). .. epigraph:: You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see `AWS WAF Pricing <https://docs.aws.amazon.com/waf/pricing/>`_ . For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
20612
21612
|
:param captcha_config: Specifies how AWS WAF should handle ``CAPTCHA`` evaluations for rules that don't have their own ``CaptchaConfig`` settings. If you don't specify this, AWS WAF uses its default settings for ``CaptchaConfig`` .
|
|
20613
21613
|
:param challenge_config: Specifies how AWS WAF should handle challenge evaluations for rules that don't have their own ``ChallengeConfig`` settings. If you don't specify this, AWS WAF uses its default settings for ``ChallengeConfig`` .
|
|
@@ -20615,6 +21615,7 @@ class CfnWebACLProps:
|
|
|
20615
21615
|
:param data_protection_config: Specifies data protection to apply to the web request data for the web ACL. This is a web ACL level data protection option. The data protection that you configure for the web ACL alters the data that's available for any other data collection activity, including your AWS WAF logging destinations, web ACL request sampling, and Amazon Security Lake data collection and management. Your other option for data protection is in the logging configuration, which only affects logging.
|
|
20616
21616
|
:param description: A description of the web ACL that helps with identification.
|
|
20617
21617
|
:param name: The name of the web ACL. You cannot change the name of a web ACL after you create it.
|
|
21618
|
+
:param on_source_d_do_s_protection_config: Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.
|
|
20618
21619
|
:param rules: The rule statements used to identify the web requests that you want to manage. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them.
|
|
20619
21620
|
:param tags: Key:value pairs associated with an AWS resource. The key:value pair can be anything you define. Typically, the tag key represents a category (such as "environment") and the tag value represents a specific value within that category (such as "test," "development," or "production"). You can add up to 50 tags to each AWS resource. .. epigraph:: To modify tags on existing resources, use the AWS WAF APIs or command line interface. With AWS CloudFormation , you can only add tags to AWS WAF resources during resource creation.
|
|
20620
21621
|
:param token_domains: Specifies the domains that AWS WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When AWS WAF provides a token, it uses the domain of the AWS resource that the web ACL is protecting. If you don't specify a list of token domains, AWS WAF accepts tokens only for the domain of the protected resource. With a token domain list, AWS WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.
|
|
@@ -20631,6 +21632,7 @@ class CfnWebACLProps:
|
|
|
20631
21632
|
check_type(argname="argument default_action", value=default_action, expected_type=type_hints["default_action"])
|
|
20632
21633
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
20633
21634
|
check_type(argname="argument visibility_config", value=visibility_config, expected_type=type_hints["visibility_config"])
|
|
21635
|
+
check_type(argname="argument application_config", value=application_config, expected_type=type_hints["application_config"])
|
|
20634
21636
|
check_type(argname="argument association_config", value=association_config, expected_type=type_hints["association_config"])
|
|
20635
21637
|
check_type(argname="argument captcha_config", value=captcha_config, expected_type=type_hints["captcha_config"])
|
|
20636
21638
|
check_type(argname="argument challenge_config", value=challenge_config, expected_type=type_hints["challenge_config"])
|
|
@@ -20638,6 +21640,7 @@ class CfnWebACLProps:
|
|
|
20638
21640
|
check_type(argname="argument data_protection_config", value=data_protection_config, expected_type=type_hints["data_protection_config"])
|
|
20639
21641
|
check_type(argname="argument description", value=description, expected_type=type_hints["description"])
|
|
20640
21642
|
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
21643
|
+
check_type(argname="argument on_source_d_do_s_protection_config", value=on_source_d_do_s_protection_config, expected_type=type_hints["on_source_d_do_s_protection_config"])
|
|
20641
21644
|
check_type(argname="argument rules", value=rules, expected_type=type_hints["rules"])
|
|
20642
21645
|
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
20643
21646
|
check_type(argname="argument token_domains", value=token_domains, expected_type=type_hints["token_domains"])
|
|
@@ -20646,6 +21649,8 @@ class CfnWebACLProps:
|
|
|
20646
21649
|
"scope": scope,
|
|
20647
21650
|
"visibility_config": visibility_config,
|
|
20648
21651
|
}
|
|
21652
|
+
if application_config is not None:
|
|
21653
|
+
self._values["application_config"] = application_config
|
|
20649
21654
|
if association_config is not None:
|
|
20650
21655
|
self._values["association_config"] = association_config
|
|
20651
21656
|
if captcha_config is not None:
|
|
@@ -20660,6 +21665,8 @@ class CfnWebACLProps:
|
|
|
20660
21665
|
self._values["description"] = description
|
|
20661
21666
|
if name is not None:
|
|
20662
21667
|
self._values["name"] = name
|
|
21668
|
+
if on_source_d_do_s_protection_config is not None:
|
|
21669
|
+
self._values["on_source_d_do_s_protection_config"] = on_source_d_do_s_protection_config
|
|
20663
21670
|
if rules is not None:
|
|
20664
21671
|
self._values["rules"] = rules
|
|
20665
21672
|
if tags is not None:
|
|
@@ -20708,6 +21715,17 @@ class CfnWebACLProps:
|
|
|
20708
21715
|
assert result is not None, "Required property 'visibility_config' is missing"
|
|
20709
21716
|
return typing.cast(typing.Union[_IResolvable_da3f097b, CfnWebACL.VisibilityConfigProperty], result)
|
|
20710
21717
|
|
|
21718
|
+
@builtins.property
|
|
21719
|
+
def application_config(
|
|
21720
|
+
self,
|
|
21721
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebACL.ApplicationConfigProperty]]:
|
|
21722
|
+
'''Returns a list of ``ApplicationAttribute`` s.
|
|
21723
|
+
|
|
21724
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-applicationconfig
|
|
21725
|
+
'''
|
|
21726
|
+
result = self._values.get("application_config")
|
|
21727
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebACL.ApplicationConfigProperty]], result)
|
|
21728
|
+
|
|
20711
21729
|
@builtins.property
|
|
20712
21730
|
def association_config(
|
|
20713
21731
|
self,
|
|
@@ -20804,6 +21822,17 @@ class CfnWebACLProps:
|
|
|
20804
21822
|
result = self._values.get("name")
|
|
20805
21823
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
20806
21824
|
|
|
21825
|
+
@builtins.property
|
|
21826
|
+
def on_source_d_do_s_protection_config(
|
|
21827
|
+
self,
|
|
21828
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebACL.OnSourceDDoSProtectionConfigProperty]]:
|
|
21829
|
+
'''Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.
|
|
21830
|
+
|
|
21831
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-onsourceddosprotectionconfig
|
|
21832
|
+
'''
|
|
21833
|
+
result = self._values.get("on_source_d_do_s_protection_config")
|
|
21834
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebACL.OnSourceDDoSProtectionConfigProperty]], result)
|
|
21835
|
+
|
|
20807
21836
|
@builtins.property
|
|
20808
21837
|
def rules(
|
|
20809
21838
|
self,
|
|
@@ -21247,6 +22276,14 @@ def _typecheckingstub__563d7c7c3c7b0cea107ea61895bf83f08deacaa77dd306915bce97452
|
|
|
21247
22276
|
"""Type checking stubs"""
|
|
21248
22277
|
pass
|
|
21249
22278
|
|
|
22279
|
+
def _typecheckingstub__1b7bfd70c769fabe423acc42aa4ce7a934b8907c56a69421327294c209c8da78(
|
|
22280
|
+
*,
|
|
22281
|
+
asn_list: typing.Optional[typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b]] = None,
|
|
22282
|
+
forwarded_ip_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.ForwardedIPConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22283
|
+
) -> None:
|
|
22284
|
+
"""Type checking stubs"""
|
|
22285
|
+
pass
|
|
22286
|
+
|
|
21250
22287
|
def _typecheckingstub__48d37744c2bde6e8969fbbe9f60128093f4d69360ff6c086fcb635ca42f3ae63(
|
|
21251
22288
|
*,
|
|
21252
22289
|
custom_response: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.CustomResponseProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -21504,6 +22541,7 @@ def _typecheckingstub__ac0f7a31c2c062eaaca70b7d43c11c1e6b78ce7502ec2206e832cabc7
|
|
|
21504
22541
|
|
|
21505
22542
|
def _typecheckingstub__6bc232408309212f7b145d76c0106073269f111e106ab6d74a4d2168f41f248b(
|
|
21506
22543
|
*,
|
|
22544
|
+
asn: typing.Any = None,
|
|
21507
22545
|
cookie: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.RateLimitCookieProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21508
22546
|
forwarded_ip: typing.Any = None,
|
|
21509
22547
|
header: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.RateLimitHeaderProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -21669,6 +22707,7 @@ def _typecheckingstub__b9ae549bd77f9cf10d97954d1e78a797db181843dcc5510b91fc32672
|
|
|
21669
22707
|
def _typecheckingstub__c10bc3e3f69d89ad06f25a44daee62e7de586ae4280e39230f29c24092fe4a4f(
|
|
21670
22708
|
*,
|
|
21671
22709
|
and_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.AndStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22710
|
+
asn_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.AsnMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21672
22711
|
byte_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.ByteMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21673
22712
|
geo_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.GeoMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21674
22713
|
ip_set_reference_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.IPSetReferenceStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -21740,6 +22779,7 @@ def _typecheckingstub__03030a65c492e95a1d1ae5ddafd6acbb9efdfa7e18b6367ac7e03eb8f
|
|
|
21740
22779
|
default_action: typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.DefaultActionProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
21741
22780
|
scope: builtins.str,
|
|
21742
22781
|
visibility_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.VisibilityConfigProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
22782
|
+
application_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ApplicationConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21743
22783
|
association_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AssociationConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21744
22784
|
captcha_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.CaptchaConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21745
22785
|
challenge_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ChallengeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -21747,6 +22787,7 @@ def _typecheckingstub__03030a65c492e95a1d1ae5ddafd6acbb9efdfa7e18b6367ac7e03eb8f
|
|
|
21747
22787
|
data_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.DataProtectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21748
22788
|
description: typing.Optional[builtins.str] = None,
|
|
21749
22789
|
name: typing.Optional[builtins.str] = None,
|
|
22790
|
+
on_source_d_do_s_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.OnSourceDDoSProtectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21750
22791
|
rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
21751
22792
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21752
22793
|
token_domains: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -21784,6 +22825,12 @@ def _typecheckingstub__c31cd418fc7ecfcb56c27ca59f7e1a72ad63669e0587305727953071e
|
|
|
21784
22825
|
"""Type checking stubs"""
|
|
21785
22826
|
pass
|
|
21786
22827
|
|
|
22828
|
+
def _typecheckingstub__ead4c1be355009abdb5c2bef2a7b836cddf9001fdb29e766c4445e21aa5b7091(
|
|
22829
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebACL.ApplicationConfigProperty]],
|
|
22830
|
+
) -> None:
|
|
22831
|
+
"""Type checking stubs"""
|
|
22832
|
+
pass
|
|
22833
|
+
|
|
21787
22834
|
def _typecheckingstub__cd4131e7b800e93fe8dbfa57a0b3448dcc676e6dccccd567162368dbc7b9aa88(
|
|
21788
22835
|
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebACL.AssociationConfigProperty]],
|
|
21789
22836
|
) -> None:
|
|
@@ -21826,6 +22873,12 @@ def _typecheckingstub__191460374393c7b9829682ab4faa571596cd3c2090e46352a427930a2
|
|
|
21826
22873
|
"""Type checking stubs"""
|
|
21827
22874
|
pass
|
|
21828
22875
|
|
|
22876
|
+
def _typecheckingstub__1180464a1661a74085b880efee37841284ce892adac9d3cda8cb5c117c625ba2(
|
|
22877
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebACL.OnSourceDDoSProtectionConfigProperty]],
|
|
22878
|
+
) -> None:
|
|
22879
|
+
"""Type checking stubs"""
|
|
22880
|
+
pass
|
|
22881
|
+
|
|
21829
22882
|
def _typecheckingstub__7e3abb4095a53abe30bca846b48411ffb15b0267398c52a824a8ffba45db4f4c(
|
|
21830
22883
|
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnWebACL.RuleProperty]]]],
|
|
21831
22884
|
) -> None:
|
|
@@ -21865,6 +22918,14 @@ def _typecheckingstub__f9aee7f94c21473b0495313f92d8a99724499d3f5a99e7229679efb1e
|
|
|
21865
22918
|
"""Type checking stubs"""
|
|
21866
22919
|
pass
|
|
21867
22920
|
|
|
22921
|
+
def _typecheckingstub__9315d92e3528c134a601f6cf9b27df2b90e082b1e29a17eadf8fbf68ac10e8c4(
|
|
22922
|
+
*,
|
|
22923
|
+
client_side_action_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ClientSideActionConfigProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
22924
|
+
sensitivity_to_block: typing.Optional[builtins.str] = None,
|
|
22925
|
+
) -> None:
|
|
22926
|
+
"""Type checking stubs"""
|
|
22927
|
+
pass
|
|
22928
|
+
|
|
21868
22929
|
def _typecheckingstub__23917b7bd12237aafb58493973b8f61366778e01800aad21ea2f95a01294dc76(
|
|
21869
22930
|
*,
|
|
21870
22931
|
inspection_level: builtins.str,
|
|
@@ -21887,6 +22948,29 @@ def _typecheckingstub__e3977b616ebe935b8882258fb7fe1261468bceabf99977afc1c05b1df
|
|
|
21887
22948
|
"""Type checking stubs"""
|
|
21888
22949
|
pass
|
|
21889
22950
|
|
|
22951
|
+
def _typecheckingstub__66f2adaad9f19c44dc2cd5fab5ec44ef266cea6d9b6def3e9dff0bf7e376ee21(
|
|
22952
|
+
*,
|
|
22953
|
+
name: builtins.str,
|
|
22954
|
+
values: typing.Sequence[builtins.str],
|
|
22955
|
+
) -> None:
|
|
22956
|
+
"""Type checking stubs"""
|
|
22957
|
+
pass
|
|
22958
|
+
|
|
22959
|
+
def _typecheckingstub__0c9805d456e58fdf333f88cd7ea47bcd6006aee9ebb8f4f23bd7fa2a03587fbb(
|
|
22960
|
+
*,
|
|
22961
|
+
attributes: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ApplicationAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
22962
|
+
) -> None:
|
|
22963
|
+
"""Type checking stubs"""
|
|
22964
|
+
pass
|
|
22965
|
+
|
|
22966
|
+
def _typecheckingstub__8995ed18208bf9dcca46075f2ba4072467a8327472896fee5efcf1415648dfe8(
|
|
22967
|
+
*,
|
|
22968
|
+
asn_list: typing.Optional[typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b]] = None,
|
|
22969
|
+
forwarded_ip_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ForwardedIPConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22970
|
+
) -> None:
|
|
22971
|
+
"""Type checking stubs"""
|
|
22972
|
+
pass
|
|
22973
|
+
|
|
21890
22974
|
def _typecheckingstub__889bff55ba91160187275a11669025b829161457b27db183745c6a70c6fb0947(
|
|
21891
22975
|
*,
|
|
21892
22976
|
request_body: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RequestBodyAssociatedResourceTypeConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
@@ -21947,6 +23031,22 @@ def _typecheckingstub__e59d4e09b55c6fb1e18f3dbf3d0659f147db2659c300a744e836928d4
|
|
|
21947
23031
|
"""Type checking stubs"""
|
|
21948
23032
|
pass
|
|
21949
23033
|
|
|
23034
|
+
def _typecheckingstub__776e223dfae595baf3dc144792b2d7158c77847ddf24785048d19516ebcb955b(
|
|
23035
|
+
*,
|
|
23036
|
+
challenge: typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ClientSideActionProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
23037
|
+
) -> None:
|
|
23038
|
+
"""Type checking stubs"""
|
|
23039
|
+
pass
|
|
23040
|
+
|
|
23041
|
+
def _typecheckingstub__de331114f33ba80cf8bd042358ad9467ab930574012abea7782f175fd2a7b649(
|
|
23042
|
+
*,
|
|
23043
|
+
usage_of_action: builtins.str,
|
|
23044
|
+
exempt_uri_regular_expressions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RegexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
23045
|
+
sensitivity: typing.Optional[builtins.str] = None,
|
|
23046
|
+
) -> None:
|
|
23047
|
+
"""Type checking stubs"""
|
|
23048
|
+
pass
|
|
23049
|
+
|
|
21950
23050
|
def _typecheckingstub__11e565e9aad1b474694cbb7c884715be324a3c5b38238a45e13e0d2ed78d816d(
|
|
21951
23051
|
*,
|
|
21952
23052
|
all: typing.Any = None,
|
|
@@ -22178,6 +23278,7 @@ def _typecheckingstub__bf81be90baf4410ecf4fe3290d007b8b6c18da545bbac600a4ec86a29
|
|
|
22178
23278
|
def _typecheckingstub__517661cb97cc58c609587fc6ca9907b2e23d8f3cd6e1e4034f3f6d82b85d2d77(
|
|
22179
23279
|
*,
|
|
22180
23280
|
aws_managed_rules_acfp_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AWSManagedRulesACFPRuleSetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23281
|
+
aws_managed_rules_anti_d_do_s_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AWSManagedRulesAntiDDoSRuleSetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22181
23282
|
aws_managed_rules_atp_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AWSManagedRulesATPRuleSetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22182
23283
|
aws_managed_rules_bot_control_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AWSManagedRulesBotControlRuleSetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22183
23284
|
login_path: typing.Optional[builtins.str] = None,
|
|
@@ -22208,6 +23309,13 @@ def _typecheckingstub__6323d964e28230f9d2649acc0c25b70ee57b1f6721b37df85848f3c96
|
|
|
22208
23309
|
"""Type checking stubs"""
|
|
22209
23310
|
pass
|
|
22210
23311
|
|
|
23312
|
+
def _typecheckingstub__b1d55e97c88ee1084655df55da4bb940ea39dc6807c3b4f425073a3a747e0dbc(
|
|
23313
|
+
*,
|
|
23314
|
+
alb_low_reputation_mode: builtins.str,
|
|
23315
|
+
) -> None:
|
|
23316
|
+
"""Type checking stubs"""
|
|
23317
|
+
pass
|
|
23318
|
+
|
|
22211
23319
|
def _typecheckingstub__857a9b37018dee0d151e0a05984b557cea8bf5f8e57f6957cacb75335b7f4985(
|
|
22212
23320
|
*,
|
|
22213
23321
|
statements: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.StatementProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
@@ -22225,6 +23333,7 @@ def _typecheckingstub__799e1b838f491914647df091fcbac72eb8119756fda0c013be732c461
|
|
|
22225
23333
|
|
|
22226
23334
|
def _typecheckingstub__2edac52bcb13f69d4349ba55a4d083851908f1dd71831794e88ac043e1ade5a3(
|
|
22227
23335
|
*,
|
|
23336
|
+
asn: typing.Any = None,
|
|
22228
23337
|
cookie: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RateLimitCookieProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22229
23338
|
forwarded_ip: typing.Any = None,
|
|
22230
23339
|
header: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RateLimitHeaderProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -22329,6 +23438,13 @@ def _typecheckingstub__02b7d36560bfd4ed2bd6508818cf89b216972c719200032cdc4b3a04e
|
|
|
22329
23438
|
"""Type checking stubs"""
|
|
22330
23439
|
pass
|
|
22331
23440
|
|
|
23441
|
+
def _typecheckingstub__91e754c074f286d30a035b0cb9d25503568a265d4426fe4f4bfc0766c9c71d90(
|
|
23442
|
+
*,
|
|
23443
|
+
regex_string: typing.Optional[builtins.str] = None,
|
|
23444
|
+
) -> None:
|
|
23445
|
+
"""Type checking stubs"""
|
|
23446
|
+
pass
|
|
23447
|
+
|
|
22332
23448
|
def _typecheckingstub__22d5e10d054b4857a7983cdc47094a04c46a1c4d98b791e6c9aa5b16fe172d31(
|
|
22333
23449
|
*,
|
|
22334
23450
|
default_size_inspection_limit: builtins.str,
|
|
@@ -22480,6 +23596,7 @@ def _typecheckingstub__58178c25f953747f989ea51846855e784a44825b0202fe8e0a5c3920a
|
|
|
22480
23596
|
def _typecheckingstub__0382dea984940e1444b28282683162580df37103e33ab59384736c3a85a2ec11(
|
|
22481
23597
|
*,
|
|
22482
23598
|
and_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AndStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23599
|
+
asn_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AsnMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22483
23600
|
byte_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ByteMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22484
23601
|
geo_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.GeoMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22485
23602
|
ip_set_reference_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.IPSetReferenceStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -22577,6 +23694,7 @@ def _typecheckingstub__6e738df983d65d43590c0a02c03e6e0daa3a2097ae335371d22711838
|
|
|
22577
23694
|
default_action: typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.DefaultActionProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
22578
23695
|
scope: builtins.str,
|
|
22579
23696
|
visibility_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.VisibilityConfigProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
23697
|
+
application_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ApplicationConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22580
23698
|
association_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AssociationConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22581
23699
|
captcha_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.CaptchaConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22582
23700
|
challenge_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ChallengeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -22584,6 +23702,7 @@ def _typecheckingstub__6e738df983d65d43590c0a02c03e6e0daa3a2097ae335371d22711838
|
|
|
22584
23702
|
data_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.DataProtectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22585
23703
|
description: typing.Optional[builtins.str] = None,
|
|
22586
23704
|
name: typing.Optional[builtins.str] = None,
|
|
23705
|
+
on_source_d_do_s_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.OnSourceDDoSProtectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22587
23706
|
rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
22588
23707
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22589
23708
|
token_domains: typing.Optional[typing.Sequence[builtins.str]] = None,
|