{ "author": { "email": "8985088+durkinza@users.noreply.github.com", "name": "durkinza", "roles": [ "author" ] }, "dependencies": { "aws-cdk-lib": "^2.173.2", "constructs": "^10.0.5" }, "dependencyClosure": { "@aws-cdk/asset-awscli-v1": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Asset.AwsCliV1", "packageId": "Amazon.CDK.Asset.AwsCliV1" }, "go": { "moduleName": "github.com/cdklabs/awscdk-asset-awscli-go", "packageName": "awscliv1" }, "java": { "maven": { "artifactId": "cdk-asset-awscli-v1", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.cdk.asset.awscli.v1" }, "js": { "npm": "@aws-cdk/asset-awscli-v1" }, "python": { "distName": "aws-cdk.asset-awscli-v1", "module": "aws_cdk.asset_awscli_v1" } } }, "@aws-cdk/asset-kubectl-v20": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Asset.KubectlV20", "packageId": "Amazon.CDK.Asset.KubectlV20" }, "go": { "moduleName": "github.com/cdklabs/awscdk-asset-kubectl-go", "packageName": "kubectlv20" }, "java": { "maven": { "artifactId": "cdk-asset-kubectl-v20", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.cdk.asset.kubectl.v20" }, "js": { "npm": "@aws-cdk/asset-kubectl-v20" }, "python": { "distName": "aws-cdk.asset-kubectl-v20", "module": "aws_cdk.asset_kubectl_v20" } } }, "@aws-cdk/asset-node-proxy-agent-v6": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Asset.NodeProxyAgentV6", "packageId": "Amazon.CDK.Asset.NodeProxyAgentV6" }, "go": { "moduleName": "github.com/cdklabs/awscdk-asset-node-proxy-agent-go", "packageName": "nodeproxyagentv6" }, "java": { "maven": { "artifactId": "cdk-asset-node-proxy-agent-v6", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.cdk.asset.node.proxy.agent.v6" }, "js": { "npm": "@aws-cdk/asset-node-proxy-agent-v6" }, "python": { "distName": "aws-cdk.asset-node-proxy-agent-v6", "module": "aws_cdk.asset_node_proxy_agent_v6" } } }, "@aws-cdk/cloud-assembly-schema": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png", "namespace": "Amazon.CDK.CloudAssembly.Schema", "packageId": "Amazon.CDK.CloudAssembly.Schema" }, "go": { "moduleName": "github.com/cdklabs/cloud-assembly-schema-go" }, "java": { "maven": { "artifactId": "cdk-cloud-assembly-schema", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.cloudassembly.schema" }, "js": { "npm": "@aws-cdk/cloud-assembly-schema" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.cloud-assembly-schema", "module": "aws_cdk.cloud_assembly_schema" } } }, "aws-cdk-lib": { "submodules": { "aws-cdk-lib.alexa_ask": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Alexa.Ask" }, "java": { "package": "software.amazon.awscdk.alexa.ask" }, "python": { "module": "aws_cdk.alexa_ask" } } }, "aws-cdk-lib.assertions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Assertions" }, "java": { "package": "software.amazon.awscdk.assertions" }, "python": { "module": "aws_cdk.assertions" } } }, "aws-cdk-lib.assets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Assets" }, "java": { "package": "software.amazon.awscdk.assets" }, "python": { "module": "aws_cdk.assets" } } }, "aws-cdk-lib.aws_accessanalyzer": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AccessAnalyzer" }, "java": { "package": "software.amazon.awscdk.services.accessanalyzer" }, "python": { "module": "aws_cdk.aws_accessanalyzer" } } }, "aws-cdk-lib.aws_acmpca": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ACMPCA" }, "java": { "package": "software.amazon.awscdk.services.acmpca" }, "python": { "module": "aws_cdk.aws_acmpca" } } }, "aws-cdk-lib.aws_amazonmq": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AmazonMQ" }, "java": { "package": "software.amazon.awscdk.services.amazonmq" }, "python": { "module": "aws_cdk.aws_amazonmq" } } }, "aws-cdk-lib.aws_amplify": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Amplify" }, "java": { "package": "software.amazon.awscdk.services.amplify" }, "python": { "module": "aws_cdk.aws_amplify" } } }, "aws-cdk-lib.aws_amplifyuibuilder": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AmplifyUIBuilder" }, "java": { "package": "software.amazon.awscdk.services.amplifyuibuilder" }, "python": { "module": "aws_cdk.aws_amplifyuibuilder" } } }, "aws-cdk-lib.aws_apigateway": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.APIGateway" }, "java": { "package": "software.amazon.awscdk.services.apigateway" }, "python": { "module": "aws_cdk.aws_apigateway" } } }, "aws-cdk-lib.aws_apigatewayv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Apigatewayv2" }, "java": { "package": "software.amazon.awscdk.services.apigatewayv2" }, "python": { "module": "aws_cdk.aws_apigatewayv2" } } }, "aws-cdk-lib.aws_apigatewayv2_authorizers": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AwsApigatewayv2Authorizers" }, "java": { "package": "software.amazon.awscdk.aws_apigatewayv2_authorizers" }, "python": { "module": "aws_cdk.aws_apigatewayv2_authorizers" } } }, "aws-cdk-lib.aws_apigatewayv2_integrations": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AwsApigatewayv2Integrations" }, "java": { "package": "software.amazon.awscdk.aws_apigatewayv2_integrations" }, "python": { "module": "aws_cdk.aws_apigatewayv2_integrations" } } }, "aws-cdk-lib.aws_appconfig": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AppConfig" }, "java": { "package": "software.amazon.awscdk.services.appconfig" }, "python": { "module": "aws_cdk.aws_appconfig" } } }, "aws-cdk-lib.aws_appflow": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AppFlow" }, "java": { "package": "software.amazon.awscdk.services.appflow" }, "python": { "module": "aws_cdk.aws_appflow" } } }, "aws-cdk-lib.aws_appintegrations": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AppIntegrations" }, "java": { "package": "software.amazon.awscdk.services.appintegrations" }, "python": { "module": "aws_cdk.aws_appintegrations" } } }, "aws-cdk-lib.aws_applicationautoscaling": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ApplicationAutoScaling" }, "java": { "package": "software.amazon.awscdk.services.applicationautoscaling" }, "python": { "module": "aws_cdk.aws_applicationautoscaling" } } }, "aws-cdk-lib.aws_applicationinsights": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ApplicationInsights" }, "java": { "package": "software.amazon.awscdk.services.applicationinsights" }, "python": { "module": "aws_cdk.aws_applicationinsights" } } }, "aws-cdk-lib.aws_applicationsignals": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.ApplicationSignals" }, "java": { "package": "software.amazon.awscdk.services.applicationsignals" }, "python": { "module": "aws_cdk.aws_applicationsignals" } } }, "aws-cdk-lib.aws_appmesh": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AppMesh" }, "java": { "package": "software.amazon.awscdk.services.appmesh" }, "python": { "module": "aws_cdk.aws_appmesh" } } }, "aws-cdk-lib.aws_apprunner": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AppRunner" }, "java": { "package": "software.amazon.awscdk.services.apprunner" }, "python": { "module": "aws_cdk.aws_apprunner" } } }, "aws-cdk-lib.aws_appstream": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AppStream" }, "java": { "package": "software.amazon.awscdk.services.appstream" }, "python": { "module": "aws_cdk.aws_appstream" } } }, "aws-cdk-lib.aws_appsync": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AppSync" }, "java": { "package": "software.amazon.awscdk.services.appsync" }, "python": { "module": "aws_cdk.aws_appsync" } } }, "aws-cdk-lib.aws_apptest": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.AppTest" }, "java": { "package": "software.amazon.awscdk.services.apptest" }, "python": { "module": "aws_cdk.aws_apptest" } } }, "aws-cdk-lib.aws_aps": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.APS" }, "java": { "package": "software.amazon.awscdk.services.aps" }, "python": { "module": "aws_cdk.aws_aps" } } }, "aws-cdk-lib.aws_arczonalshift": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.ARCZonalShift" }, "java": { "package": "software.amazon.awscdk.services.arczonalshift" }, "python": { "module": "aws_cdk.aws_arczonalshift" } } }, "aws-cdk-lib.aws_athena": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Athena" }, "java": { "package": "software.amazon.awscdk.services.athena" }, "python": { "module": "aws_cdk.aws_athena" } } }, "aws-cdk-lib.aws_auditmanager": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AuditManager" }, "java": { "package": "software.amazon.awscdk.services.auditmanager" }, "python": { "module": "aws_cdk.aws_auditmanager" } } }, "aws-cdk-lib.aws_autoscaling": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AutoScaling" }, "java": { "package": "software.amazon.awscdk.services.autoscaling" }, "python": { "module": "aws_cdk.aws_autoscaling" } } }, "aws-cdk-lib.aws_autoscaling_common": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AutoScaling.Common" }, "java": { "package": "software.amazon.awscdk.services.autoscaling.common" }, "python": { "module": "aws_cdk.aws_autoscaling_common" } } }, "aws-cdk-lib.aws_autoscaling_hooktargets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AutoScaling.HookTargets" }, "java": { "package": "software.amazon.awscdk.services.autoscaling.hooktargets" }, "python": { "module": "aws_cdk.aws_autoscaling_hooktargets" } } }, "aws-cdk-lib.aws_autoscalingplans": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AutoScalingPlans" }, "java": { "package": "software.amazon.awscdk.services.autoscalingplans" }, "python": { "module": "aws_cdk.aws_autoscalingplans" } } }, "aws-cdk-lib.aws_b2bi": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.B2BI" }, "java": { "package": "software.amazon.awscdk.services.b2bi" }, "python": { "module": "aws_cdk.aws_b2bi" } } }, "aws-cdk-lib.aws_backup": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Backup" }, "java": { "package": "software.amazon.awscdk.services.backup" }, "python": { "module": "aws_cdk.aws_backup" } } }, "aws-cdk-lib.aws_backupgateway": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.BackupGateway" }, "java": { "package": "software.amazon.awscdk.services.backupgateway" }, "python": { "module": "aws_cdk.aws_backupgateway" } } }, "aws-cdk-lib.aws_batch": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Batch" }, "java": { "package": "software.amazon.awscdk.services.batch" }, "python": { "module": "aws_cdk.aws_batch" } } }, "aws-cdk-lib.aws_bcmdataexports": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.BCMDataExports" }, "java": { "package": "software.amazon.awscdk.services.bcmdataexports" }, "python": { "module": "aws_cdk.aws_bcmdataexports" } } }, "aws-cdk-lib.aws_bedrock": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.Bedrock" }, "java": { "package": "software.amazon.awscdk.services.bedrock" }, "python": { "module": "aws_cdk.aws_bedrock" } } }, "aws-cdk-lib.aws_billingconductor": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.BillingConductor" }, "java": { "package": "software.amazon.awscdk.services.billingconductor" }, "python": { "module": "aws_cdk.aws_billingconductor" } } }, "aws-cdk-lib.aws_budgets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Budgets" }, "java": { "package": "software.amazon.awscdk.services.budgets" }, "python": { "module": "aws_cdk.aws_budgets" } } }, "aws-cdk-lib.aws_cassandra": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Cassandra" }, "java": { "package": "software.amazon.awscdk.services.cassandra" }, "python": { "module": "aws_cdk.aws_cassandra" } } }, "aws-cdk-lib.aws_ce": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CE" }, "java": { "package": "software.amazon.awscdk.services.ce" }, "python": { "module": "aws_cdk.aws_ce" } } }, "aws-cdk-lib.aws_certificatemanager": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CertificateManager" }, "java": { "package": "software.amazon.awscdk.services.certificatemanager" }, "python": { "module": "aws_cdk.aws_certificatemanager" } } }, "aws-cdk-lib.aws_chatbot": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Chatbot" }, "java": { "package": "software.amazon.awscdk.services.chatbot" }, "python": { "module": "aws_cdk.aws_chatbot" } } }, "aws-cdk-lib.aws_cleanrooms": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.CleanRooms" }, "java": { "package": "software.amazon.awscdk.services.cleanrooms" }, "python": { "module": "aws_cdk.aws_cleanrooms" } } }, "aws-cdk-lib.aws_cleanroomsml": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.CleanRoomsML" }, "java": { "package": "software.amazon.awscdk.services.cleanroomsml" }, "python": { "module": "aws_cdk.aws_cleanroomsml" } } }, "aws-cdk-lib.aws_cloud9": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Cloud9" }, "java": { "package": "software.amazon.awscdk.services.cloud9" }, "python": { "module": "aws_cdk.aws_cloud9" } } }, "aws-cdk-lib.aws_cloudformation": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CloudFormation" }, "java": { "package": "software.amazon.awscdk.services.cloudformation" }, "python": { "module": "aws_cdk.aws_cloudformation" } } }, "aws-cdk-lib.aws_cloudfront": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CloudFront" }, "java": { "package": "software.amazon.awscdk.services.cloudfront" }, "python": { "module": "aws_cdk.aws_cloudfront" } } }, "aws-cdk-lib.aws_cloudfront.experimental": {}, "aws-cdk-lib.aws_cloudfront_origins": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CloudFront.Origins" }, "java": { "package": "software.amazon.awscdk.services.cloudfront.origins" }, "python": { "module": "aws_cdk.aws_cloudfront_origins" } } }, "aws-cdk-lib.aws_cloudtrail": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CloudTrail" }, "java": { "package": "software.amazon.awscdk.services.cloudtrail" }, "python": { "module": "aws_cdk.aws_cloudtrail" } } }, "aws-cdk-lib.aws_cloudwatch": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CloudWatch" }, "java": { "package": "software.amazon.awscdk.services.cloudwatch" }, "python": { "module": "aws_cdk.aws_cloudwatch" } } }, "aws-cdk-lib.aws_cloudwatch_actions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CloudWatch.Actions" }, "java": { "package": "software.amazon.awscdk.services.cloudwatch.actions" }, "python": { "module": "aws_cdk.aws_cloudwatch_actions" } } }, "aws-cdk-lib.aws_codeartifact": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeArtifact" }, "java": { "package": "software.amazon.awscdk.services.codeartifact" }, "python": { "module": "aws_cdk.aws_codeartifact" } } }, "aws-cdk-lib.aws_codebuild": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeBuild" }, "java": { "package": "software.amazon.awscdk.services.codebuild" }, "python": { "module": "aws_cdk.aws_codebuild" } } }, "aws-cdk-lib.aws_codecommit": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeCommit" }, "java": { "package": "software.amazon.awscdk.services.codecommit" }, "python": { "module": "aws_cdk.aws_codecommit" } } }, "aws-cdk-lib.aws_codeconnections": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.CodeConnections" }, "java": { "package": "software.amazon.awscdk.services.codeconnections" }, "python": { "module": "aws_cdk.aws_codeconnections" } } }, "aws-cdk-lib.aws_codedeploy": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeDeploy" }, "java": { "package": "software.amazon.awscdk.services.codedeploy" }, "python": { "module": "aws_cdk.aws_codedeploy" } } }, "aws-cdk-lib.aws_codeguruprofiler": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeGuruProfiler" }, "java": { "package": "software.amazon.awscdk.services.codeguruprofiler" }, "python": { "module": "aws_cdk.aws_codeguruprofiler" } } }, "aws-cdk-lib.aws_codegurureviewer": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeGuruReviewer" }, "java": { "package": "software.amazon.awscdk.services.codegurureviewer" }, "python": { "module": "aws_cdk.aws_codegurureviewer" } } }, "aws-cdk-lib.aws_codepipeline": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodePipeline" }, "java": { "package": "software.amazon.awscdk.services.codepipeline" }, "python": { "module": "aws_cdk.aws_codepipeline" } } }, "aws-cdk-lib.aws_codepipeline_actions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodePipeline.Actions" }, "java": { "package": "software.amazon.awscdk.services.codepipeline.actions" }, "python": { "module": "aws_cdk.aws_codepipeline_actions" } } }, "aws-cdk-lib.aws_codestar": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Codestar" }, "java": { "package": "software.amazon.awscdk.services.codestar" }, "python": { "module": "aws_cdk.aws_codestar" } } }, "aws-cdk-lib.aws_codestarconnections": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeStarConnections" }, "java": { "package": "software.amazon.awscdk.services.codestarconnections" }, "python": { "module": "aws_cdk.aws_codestarconnections" } } }, "aws-cdk-lib.aws_codestarnotifications": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeStarNotifications" }, "java": { "package": "software.amazon.awscdk.services.codestarnotifications" }, "python": { "module": "aws_cdk.aws_codestarnotifications" } } }, "aws-cdk-lib.aws_cognito": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Cognito" }, "java": { "package": "software.amazon.awscdk.services.cognito" }, "python": { "module": "aws_cdk.aws_cognito" } } }, "aws-cdk-lib.aws_comprehend": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Comprehend" }, "java": { "package": "software.amazon.awscdk.services.comprehend" }, "python": { "module": "aws_cdk.aws_comprehend" } } }, "aws-cdk-lib.aws_config": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Config" }, "java": { "package": "software.amazon.awscdk.services.config" }, "python": { "module": "aws_cdk.aws_config" } } }, "aws-cdk-lib.aws_connect": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Connect" }, "java": { "package": "software.amazon.awscdk.services.connect" }, "python": { "module": "aws_cdk.aws_connect" } } }, "aws-cdk-lib.aws_connectcampaigns": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ConnectCampaigns" }, "java": { "package": "software.amazon.awscdk.services.connectcampaigns" }, "python": { "module": "aws_cdk.aws_connectcampaigns" } } }, "aws-cdk-lib.aws_connectcampaignsv2": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.ConnectCampaignsV2" }, "java": { "package": "software.amazon.awscdk.services.connectcampaignsv2" }, "python": { "module": "aws_cdk.aws_connectcampaignsv2" } } }, "aws-cdk-lib.aws_controltower": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ControlTower" }, "java": { "package": "software.amazon.awscdk.services.controltower" }, "python": { "module": "aws_cdk.aws_controltower" } } }, "aws-cdk-lib.aws_cur": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CUR" }, "java": { "package": "software.amazon.awscdk.services.cur" }, "python": { "module": "aws_cdk.aws_cur" } } }, "aws-cdk-lib.aws_customerprofiles": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CustomerProfiles" }, "java": { "package": "software.amazon.awscdk.services.customerprofiles" }, "python": { "module": "aws_cdk.aws_customerprofiles" } } }, "aws-cdk-lib.aws_databrew": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DataBrew" }, "java": { "package": "software.amazon.awscdk.services.databrew" }, "python": { "module": "aws_cdk.aws_databrew" } } }, "aws-cdk-lib.aws_datapipeline": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DataPipeline" }, "java": { "package": "software.amazon.awscdk.services.datapipeline" }, "python": { "module": "aws_cdk.aws_datapipeline" } } }, "aws-cdk-lib.aws_datasync": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DataSync" }, "java": { "package": "software.amazon.awscdk.services.datasync" }, "python": { "module": "aws_cdk.aws_datasync" } } }, "aws-cdk-lib.aws_datazone": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.DataZone" }, "java": { "package": "software.amazon.awscdk.services.datazone" }, "python": { "module": "aws_cdk.aws_datazone" } } }, "aws-cdk-lib.aws_dax": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DAX" }, "java": { "package": "software.amazon.awscdk.services.dax" }, "python": { "module": "aws_cdk.aws_dax" } } }, "aws-cdk-lib.aws_deadline": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.Deadline" }, "java": { "package": "software.amazon.awscdk.services.deadline" }, "python": { "module": "aws_cdk.aws_deadline" } } }, "aws-cdk-lib.aws_detective": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Detective" }, "java": { "package": "software.amazon.awscdk.services.detective" }, "python": { "module": "aws_cdk.aws_detective" } } }, "aws-cdk-lib.aws_devicefarm": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DeviceFarm" }, "java": { "package": "software.amazon.awscdk.services.devicefarm" }, "python": { "module": "aws_cdk.aws_devicefarm" } } }, "aws-cdk-lib.aws_devopsguru": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DevOpsGuru" }, "java": { "package": "software.amazon.awscdk.services.devopsguru" }, "python": { "module": "aws_cdk.aws_devopsguru" } } }, "aws-cdk-lib.aws_directoryservice": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DirectoryService" }, "java": { "package": "software.amazon.awscdk.services.directoryservice" }, "python": { "module": "aws_cdk.aws_directoryservice" } } }, "aws-cdk-lib.aws_dlm": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DLM" }, "java": { "package": "software.amazon.awscdk.services.dlm" }, "python": { "module": "aws_cdk.aws_dlm" } } }, "aws-cdk-lib.aws_dms": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DMS" }, "java": { "package": "software.amazon.awscdk.services.dms" }, "python": { "module": "aws_cdk.aws_dms" } } }, "aws-cdk-lib.aws_docdb": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DocDB" }, "java": { "package": "software.amazon.awscdk.services.docdb" }, "python": { "module": "aws_cdk.aws_docdb" } } }, "aws-cdk-lib.aws_docdbelastic": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DocDBElastic" }, "java": { "package": "software.amazon.awscdk.services.docdbelastic" }, "python": { "module": "aws_cdk.aws_docdbelastic" } } }, "aws-cdk-lib.aws_dynamodb": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DynamoDB" }, "java": { "package": "software.amazon.awscdk.services.dynamodb" }, "python": { "module": "aws_cdk.aws_dynamodb" } } }, "aws-cdk-lib.aws_ec2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EC2" }, "java": { "package": "software.amazon.awscdk.services.ec2" }, "python": { "module": "aws_cdk.aws_ec2" } } }, "aws-cdk-lib.aws_ecr": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ECR" }, "java": { "package": "software.amazon.awscdk.services.ecr" }, "python": { "module": "aws_cdk.aws_ecr" } } }, "aws-cdk-lib.aws_ecr_assets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Ecr.Assets" }, "java": { "package": "software.amazon.awscdk.services.ecr.assets" }, "python": { "module": "aws_cdk.aws_ecr_assets" } } }, "aws-cdk-lib.aws_ecs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ECS" }, "java": { "package": "software.amazon.awscdk.services.ecs" }, "python": { "module": "aws_cdk.aws_ecs" } } }, "aws-cdk-lib.aws_ecs_patterns": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ECS.Patterns" }, "java": { "package": "software.amazon.awscdk.services.ecs.patterns" }, "python": { "module": "aws_cdk.aws_ecs_patterns" } } }, "aws-cdk-lib.aws_efs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EFS" }, "java": { "package": "software.amazon.awscdk.services.efs" }, "python": { "module": "aws_cdk.aws_efs" } } }, "aws-cdk-lib.aws_eks": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EKS" }, "java": { "package": "software.amazon.awscdk.services.eks" }, "python": { "module": "aws_cdk.aws_eks" } } }, "aws-cdk-lib.aws_elasticache": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElastiCache" }, "java": { "package": "software.amazon.awscdk.services.elasticache" }, "python": { "module": "aws_cdk.aws_elasticache" } } }, "aws-cdk-lib.aws_elasticbeanstalk": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElasticBeanstalk" }, "java": { "package": "software.amazon.awscdk.services.elasticbeanstalk" }, "python": { "module": "aws_cdk.aws_elasticbeanstalk" } } }, "aws-cdk-lib.aws_elasticloadbalancing": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElasticLoadBalancing" }, "java": { "package": "software.amazon.awscdk.services.elasticloadbalancing" }, "python": { "module": "aws_cdk.aws_elasticloadbalancing" } } }, "aws-cdk-lib.aws_elasticloadbalancingv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElasticLoadBalancingV2" }, "java": { "package": "software.amazon.awscdk.services.elasticloadbalancingv2" }, "python": { "module": "aws_cdk.aws_elasticloadbalancingv2" } } }, "aws-cdk-lib.aws_elasticloadbalancingv2_actions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElasticLoadBalancingV2.Actions" }, "java": { "package": "software.amazon.awscdk.services.elasticloadbalancingv2.actions" }, "python": { "module": "aws_cdk.aws_elasticloadbalancingv2_actions" } } }, "aws-cdk-lib.aws_elasticloadbalancingv2_targets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElasticLoadBalancingV2.Targets" }, "java": { "package": "software.amazon.awscdk.services.elasticloadbalancingv2.targets" }, "python": { "module": "aws_cdk.aws_elasticloadbalancingv2_targets" } } }, "aws-cdk-lib.aws_elasticsearch": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Elasticsearch" }, "java": { "package": "software.amazon.awscdk.services.elasticsearch" }, "python": { "module": "aws_cdk.aws_elasticsearch" } } }, "aws-cdk-lib.aws_emr": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EMR" }, "java": { "package": "software.amazon.awscdk.services.emr" }, "python": { "module": "aws_cdk.aws_emr" } } }, "aws-cdk-lib.aws_emrcontainers": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EMRContainers" }, "java": { "package": "software.amazon.awscdk.services.emrcontainers" }, "python": { "module": "aws_cdk.aws_emrcontainers" } } }, "aws-cdk-lib.aws_emrserverless": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EMRServerless" }, "java": { "package": "software.amazon.awscdk.services.emrserverless" }, "python": { "module": "aws_cdk.aws_emrserverless" } } }, "aws-cdk-lib.aws_entityresolution": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.EntityResolution" }, "java": { "package": "software.amazon.awscdk.services.entityresolution" }, "python": { "module": "aws_cdk.aws_entityresolution" } } }, "aws-cdk-lib.aws_events": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Events" }, "java": { "package": "software.amazon.awscdk.services.events" }, "python": { "module": "aws_cdk.aws_events" } } }, "aws-cdk-lib.aws_events_targets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Events.Targets" }, "java": { "package": "software.amazon.awscdk.services.events.targets" }, "python": { "module": "aws_cdk.aws_events_targets" } } }, "aws-cdk-lib.aws_eventschemas": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EventSchemas" }, "java": { "package": "software.amazon.awscdk.services.eventschemas" }, "python": { "module": "aws_cdk.aws_eventschemas" } } }, "aws-cdk-lib.aws_evidently": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Evidently" }, "java": { "package": "software.amazon.awscdk.services.evidently" }, "python": { "module": "aws_cdk.aws_evidently" } } }, "aws-cdk-lib.aws_finspace": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.FinSpace" }, "java": { "package": "software.amazon.awscdk.services.finspace" }, "python": { "module": "aws_cdk.aws_finspace" } } }, "aws-cdk-lib.aws_fis": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.FIS" }, "java": { "package": "software.amazon.awscdk.services.fis" }, "python": { "module": "aws_cdk.aws_fis" } } }, "aws-cdk-lib.aws_fms": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.FMS" }, "java": { "package": "software.amazon.awscdk.services.fms" }, "python": { "module": "aws_cdk.aws_fms" } } }, "aws-cdk-lib.aws_forecast": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Forecast" }, "java": { "package": "software.amazon.awscdk.services.forecast" }, "python": { "module": "aws_cdk.aws_forecast" } } }, "aws-cdk-lib.aws_frauddetector": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.FraudDetector" }, "java": { "package": "software.amazon.awscdk.services.frauddetector" }, "python": { "module": "aws_cdk.aws_frauddetector" } } }, "aws-cdk-lib.aws_fsx": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.FSx" }, "java": { "package": "software.amazon.awscdk.services.fsx" }, "python": { "module": "aws_cdk.aws_fsx" } } }, "aws-cdk-lib.aws_gamelift": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GameLift" }, "java": { "package": "software.amazon.awscdk.services.gamelift" }, "python": { "module": "aws_cdk.aws_gamelift" } } }, "aws-cdk-lib.aws_globalaccelerator": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GlobalAccelerator" }, "java": { "package": "software.amazon.awscdk.services.globalaccelerator" }, "python": { "module": "aws_cdk.aws_globalaccelerator" } } }, "aws-cdk-lib.aws_globalaccelerator_endpoints": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GlobalAccelerator.Endpoints" }, "java": { "package": "software.amazon.awscdk.services.globalaccelerator.endpoints" }, "python": { "module": "aws_cdk.aws_globalaccelerator_endpoints" } } }, "aws-cdk-lib.aws_glue": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Glue" }, "java": { "package": "software.amazon.awscdk.services.glue" }, "python": { "module": "aws_cdk.aws_glue" } } }, "aws-cdk-lib.aws_grafana": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Grafana" }, "java": { "package": "software.amazon.awscdk.services.grafana" }, "python": { "module": "aws_cdk.aws_grafana" } } }, "aws-cdk-lib.aws_greengrass": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Greengrass" }, "java": { "package": "software.amazon.awscdk.services.greengrass" }, "python": { "module": "aws_cdk.aws_greengrass" } } }, "aws-cdk-lib.aws_greengrassv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GreengrassV2" }, "java": { "package": "software.amazon.awscdk.services.greengrassv2" }, "python": { "module": "aws_cdk.aws_greengrassv2" } } }, "aws-cdk-lib.aws_groundstation": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GroundStation" }, "java": { "package": "software.amazon.awscdk.services.groundstation" }, "python": { "module": "aws_cdk.aws_groundstation" } } }, "aws-cdk-lib.aws_guardduty": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GuardDuty" }, "java": { "package": "software.amazon.awscdk.services.guardduty" }, "python": { "module": "aws_cdk.aws_guardduty" } } }, "aws-cdk-lib.aws_healthimaging": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.HealthImaging" }, "java": { "package": "software.amazon.awscdk.services.healthimaging" }, "python": { "module": "aws_cdk.aws_healthimaging" } } }, "aws-cdk-lib.aws_healthlake": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.HealthLake" }, "java": { "package": "software.amazon.awscdk.services.healthlake" }, "python": { "module": "aws_cdk.aws_healthlake" } } }, "aws-cdk-lib.aws_iam": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IAM" }, "java": { "package": "software.amazon.awscdk.services.iam" }, "python": { "module": "aws_cdk.aws_iam" } } }, "aws-cdk-lib.aws_identitystore": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IdentityStore" }, "java": { "package": "software.amazon.awscdk.services.identitystore" }, "python": { "module": "aws_cdk.aws_identitystore" } } }, "aws-cdk-lib.aws_imagebuilder": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ImageBuilder" }, "java": { "package": "software.amazon.awscdk.services.imagebuilder" }, "python": { "module": "aws_cdk.aws_imagebuilder" } } }, "aws-cdk-lib.aws_inspector": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Inspector" }, "java": { "package": "software.amazon.awscdk.services.inspector" }, "python": { "module": "aws_cdk.aws_inspector" } } }, "aws-cdk-lib.aws_inspectorv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.InspectorV2" }, "java": { "package": "software.amazon.awscdk.services.inspectorv2" }, "python": { "module": "aws_cdk.aws_inspectorv2" } } }, "aws-cdk-lib.aws_internetmonitor": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.InternetMonitor" }, "java": { "package": "software.amazon.awscdk.services.internetmonitor" }, "python": { "module": "aws_cdk.aws_internetmonitor" } } }, "aws-cdk-lib.aws_invoicing": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.Invoicing" }, "java": { "package": "software.amazon.awscdk.services.invoicing" }, "python": { "module": "aws_cdk.aws_invoicing" } } }, "aws-cdk-lib.aws_iot": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoT" }, "java": { "package": "software.amazon.awscdk.services.iot" }, "python": { "module": "aws_cdk.aws_iot" } } }, "aws-cdk-lib.aws_iot1click": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoT1Click" }, "java": { "package": "software.amazon.awscdk.services.iot1click" }, "python": { "module": "aws_cdk.aws_iot1click" } } }, "aws-cdk-lib.aws_iotanalytics": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTAnalytics" }, "java": { "package": "software.amazon.awscdk.services.iotanalytics" }, "python": { "module": "aws_cdk.aws_iotanalytics" } } }, "aws-cdk-lib.aws_iotcoredeviceadvisor": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTCoreDeviceAdvisor" }, "java": { "package": "software.amazon.awscdk.services.iotcoredeviceadvisor" }, "python": { "module": "aws_cdk.aws_iotcoredeviceadvisor" } } }, "aws-cdk-lib.aws_iotevents": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTEvents" }, "java": { "package": "software.amazon.awscdk.services.iotevents" }, "python": { "module": "aws_cdk.aws_iotevents" } } }, "aws-cdk-lib.aws_iotfleethub": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTFleetHub" }, "java": { "package": "software.amazon.awscdk.services.iotfleethub" }, "python": { "module": "aws_cdk.aws_iotfleethub" } } }, "aws-cdk-lib.aws_iotfleetwise": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTFleetWise" }, "java": { "package": "software.amazon.awscdk.services.iotfleetwise" }, "python": { "module": "aws_cdk.aws_iotfleetwise" } } }, "aws-cdk-lib.aws_iotsitewise": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTSiteWise" }, "java": { "package": "software.amazon.awscdk.services.iotsitewise" }, "python": { "module": "aws_cdk.aws_iotsitewise" } } }, "aws-cdk-lib.aws_iotthingsgraph": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTThingsGraph" }, "java": { "package": "software.amazon.awscdk.services.iotthingsgraph" }, "python": { "module": "aws_cdk.aws_iotthingsgraph" } } }, "aws-cdk-lib.aws_iottwinmaker": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTTwinMaker" }, "java": { "package": "software.amazon.awscdk.services.iottwinmaker" }, "python": { "module": "aws_cdk.aws_iottwinmaker" } } }, "aws-cdk-lib.aws_iotwireless": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTWireless" }, "java": { "package": "software.amazon.awscdk.services.iotwireless" }, "python": { "module": "aws_cdk.aws_iotwireless" } } }, "aws-cdk-lib.aws_ivs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Ivs" }, "java": { "package": "software.amazon.awscdk.services.ivs" }, "python": { "module": "aws_cdk.aws_ivs" } } }, "aws-cdk-lib.aws_ivschat": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IVSChat" }, "java": { "package": "software.amazon.awscdk.services.ivschat" }, "python": { "module": "aws_cdk.aws_ivschat" } } }, "aws-cdk-lib.aws_kafkaconnect": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KafkaConnect" }, "java": { "package": "software.amazon.awscdk.services.kafkaconnect" }, "python": { "module": "aws_cdk.aws_kafkaconnect" } } }, "aws-cdk-lib.aws_kendra": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Kendra" }, "java": { "package": "software.amazon.awscdk.services.kendra" }, "python": { "module": "aws_cdk.aws_kendra" } } }, "aws-cdk-lib.aws_kendraranking": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KendraRanking" }, "java": { "package": "software.amazon.awscdk.services.kendraranking" }, "python": { "module": "aws_cdk.aws_kendraranking" } } }, "aws-cdk-lib.aws_kinesis": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Kinesis" }, "java": { "package": "software.amazon.awscdk.services.kinesis" }, "python": { "module": "aws_cdk.aws_kinesis" } } }, "aws-cdk-lib.aws_kinesisanalytics": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KinesisAnalytics" }, "java": { "package": "software.amazon.awscdk.services.kinesisanalytics" }, "python": { "module": "aws_cdk.aws_kinesisanalytics" } } }, "aws-cdk-lib.aws_kinesisanalyticsv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KinesisAnalyticsV2" }, "java": { "package": "software.amazon.awscdk.services.kinesisanalyticsv2" }, "python": { "module": "aws_cdk.aws_kinesisanalyticsv2" } } }, "aws-cdk-lib.aws_kinesisfirehose": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KinesisFirehose" }, "java": { "package": "software.amazon.awscdk.services.kinesisfirehose" }, "python": { "module": "aws_cdk.aws_kinesisfirehose" } } }, "aws-cdk-lib.aws_kinesisvideo": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KinesisVideo" }, "java": { "package": "software.amazon.awscdk.services.kinesisvideo" }, "python": { "module": "aws_cdk.aws_kinesisvideo" } } }, "aws-cdk-lib.aws_kms": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KMS" }, "java": { "package": "software.amazon.awscdk.services.kms" }, "python": { "module": "aws_cdk.aws_kms" } } }, "aws-cdk-lib.aws_lakeformation": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.LakeFormation" }, "java": { "package": "software.amazon.awscdk.services.lakeformation" }, "python": { "module": "aws_cdk.aws_lakeformation" } } }, "aws-cdk-lib.aws_lambda": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lambda" }, "java": { "package": "software.amazon.awscdk.services.lambda" }, "python": { "module": "aws_cdk.aws_lambda" } } }, "aws-cdk-lib.aws_lambda_destinations": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lambda.Destinations" }, "java": { "package": "software.amazon.awscdk.services.lambda.destinations" }, "python": { "module": "aws_cdk.aws_lambda_destinations" } } }, "aws-cdk-lib.aws_lambda_event_sources": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lambda.EventSources" }, "java": { "package": "software.amazon.awscdk.services.lambda.eventsources" }, "python": { "module": "aws_cdk.aws_lambda_event_sources" } } }, "aws-cdk-lib.aws_lambda_nodejs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lambda.Nodejs" }, "java": { "package": "software.amazon.awscdk.services.lambda.nodejs" }, "python": { "module": "aws_cdk.aws_lambda_nodejs" } } }, "aws-cdk-lib.aws_launchwizard": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.LaunchWizard" }, "java": { "package": "software.amazon.awscdk.services.launchwizard" }, "python": { "module": "aws_cdk.aws_launchwizard" } } }, "aws-cdk-lib.aws_lex": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lex" }, "java": { "package": "software.amazon.awscdk.services.lex" }, "python": { "module": "aws_cdk.aws_lex" } } }, "aws-cdk-lib.aws_licensemanager": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.LicenseManager" }, "java": { "package": "software.amazon.awscdk.services.licensemanager" }, "python": { "module": "aws_cdk.aws_licensemanager" } } }, "aws-cdk-lib.aws_lightsail": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lightsail" }, "java": { "package": "software.amazon.awscdk.services.lightsail" }, "python": { "module": "aws_cdk.aws_lightsail" } } }, "aws-cdk-lib.aws_location": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Location" }, "java": { "package": "software.amazon.awscdk.services.location" }, "python": { "module": "aws_cdk.aws_location" } } }, "aws-cdk-lib.aws_logs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Logs" }, "java": { "package": "software.amazon.awscdk.services.logs" }, "python": { "module": "aws_cdk.aws_logs" } } }, "aws-cdk-lib.aws_logs_destinations": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Logs.Destinations" }, "java": { "package": "software.amazon.awscdk.services.logs.destinations" }, "python": { "module": "aws_cdk.aws_logs_destinations" } } }, "aws-cdk-lib.aws_lookoutequipment": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.LookoutEquipment" }, "java": { "package": "software.amazon.awscdk.services.lookoutequipment" }, "python": { "module": "aws_cdk.aws_lookoutequipment" } } }, "aws-cdk-lib.aws_lookoutmetrics": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.LookoutMetrics" }, "java": { "package": "software.amazon.awscdk.services.lookoutmetrics" }, "python": { "module": "aws_cdk.aws_lookoutmetrics" } } }, "aws-cdk-lib.aws_lookoutvision": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.LookoutVision" }, "java": { "package": "software.amazon.awscdk.services.lookoutvision" }, "python": { "module": "aws_cdk.aws_lookoutvision" } } }, "aws-cdk-lib.aws_m2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.M2" }, "java": { "package": "software.amazon.awscdk.services.m2" }, "python": { "module": "aws_cdk.aws_m2" } } }, "aws-cdk-lib.aws_macie": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Macie" }, "java": { "package": "software.amazon.awscdk.services.macie" }, "python": { "module": "aws_cdk.aws_macie" } } }, "aws-cdk-lib.aws_managedblockchain": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ManagedBlockchain" }, "java": { "package": "software.amazon.awscdk.services.managedblockchain" }, "python": { "module": "aws_cdk.aws_managedblockchain" } } }, "aws-cdk-lib.aws_mediaconnect": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MediaConnect" }, "java": { "package": "software.amazon.awscdk.services.mediaconnect" }, "python": { "module": "aws_cdk.aws_mediaconnect" } } }, "aws-cdk-lib.aws_mediaconvert": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MediaConvert" }, "java": { "package": "software.amazon.awscdk.services.mediaconvert" }, "python": { "module": "aws_cdk.aws_mediaconvert" } } }, "aws-cdk-lib.aws_medialive": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MediaLive" }, "java": { "package": "software.amazon.awscdk.services.medialive" }, "python": { "module": "aws_cdk.aws_medialive" } } }, "aws-cdk-lib.aws_mediapackage": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MediaPackage" }, "java": { "package": "software.amazon.awscdk.services.mediapackage" }, "python": { "module": "aws_cdk.aws_mediapackage" } } }, "aws-cdk-lib.aws_mediapackagev2": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.MediaPackageV2" }, "java": { "package": "software.amazon.awscdk.services.mediapackagev2" }, "python": { "module": "aws_cdk.aws_mediapackagev2" } } }, "aws-cdk-lib.aws_mediastore": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MediaStore" }, "java": { "package": "software.amazon.awscdk.services.mediastore" }, "python": { "module": "aws_cdk.aws_mediastore" } } }, "aws-cdk-lib.aws_mediatailor": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MediaTailor" }, "java": { "package": "software.amazon.awscdk.services.mediatailor" }, "python": { "module": "aws_cdk.aws_mediatailor" } } }, "aws-cdk-lib.aws_memorydb": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MemoryDB" }, "java": { "package": "software.amazon.awscdk.services.memorydb" }, "python": { "module": "aws_cdk.aws_memorydb" } } }, "aws-cdk-lib.aws_msk": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MSK" }, "java": { "package": "software.amazon.awscdk.services.msk" }, "python": { "module": "aws_cdk.aws_msk" } } }, "aws-cdk-lib.aws_mwaa": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MWAA" }, "java": { "package": "software.amazon.awscdk.services.mwaa" }, "python": { "module": "aws_cdk.aws_mwaa" } } }, "aws-cdk-lib.aws_neptune": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Neptune" }, "java": { "package": "software.amazon.awscdk.services.neptune" }, "python": { "module": "aws_cdk.aws_neptune" } } }, "aws-cdk-lib.aws_neptunegraph": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.NeptuneGraph" }, "java": { "package": "software.amazon.awscdk.services.neptunegraph" }, "python": { "module": "aws_cdk.aws_neptunegraph" } } }, "aws-cdk-lib.aws_networkfirewall": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.NetworkFirewall" }, "java": { "package": "software.amazon.awscdk.services.networkfirewall" }, "python": { "module": "aws_cdk.aws_networkfirewall" } } }, "aws-cdk-lib.aws_networkmanager": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.NetworkManager" }, "java": { "package": "software.amazon.awscdk.services.networkmanager" }, "python": { "module": "aws_cdk.aws_networkmanager" } } }, "aws-cdk-lib.aws_nimblestudio": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.NimbleStudio" }, "java": { "package": "software.amazon.awscdk.services.nimblestudio" }, "python": { "module": "aws_cdk.aws_nimblestudio" } } }, "aws-cdk-lib.aws_oam": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Oam" }, "java": { "package": "software.amazon.awscdk.services.oam" }, "python": { "module": "aws_cdk.aws_oam" } } }, "aws-cdk-lib.aws_omics": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Omics" }, "java": { "package": "software.amazon.awscdk.services.omics" }, "python": { "module": "aws_cdk.aws_omics" } } }, "aws-cdk-lib.aws_opensearchserverless": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.OpenSearchServerless" }, "java": { "package": "software.amazon.awscdk.services.opensearchserverless" }, "python": { "module": "aws_cdk.aws_opensearchserverless" } } }, "aws-cdk-lib.aws_opensearchservice": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.OpenSearchService" }, "java": { "package": "software.amazon.awscdk.services.opensearchservice" }, "python": { "module": "aws_cdk.aws_opensearchservice" } } }, "aws-cdk-lib.aws_opsworks": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.OpsWorks" }, "java": { "package": "software.amazon.awscdk.services.opsworks" }, "python": { "module": "aws_cdk.aws_opsworks" } } }, "aws-cdk-lib.aws_opsworkscm": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.OpsWorksCM" }, "java": { "package": "software.amazon.awscdk.services.opsworkscm" }, "python": { "module": "aws_cdk.aws_opsworkscm" } } }, "aws-cdk-lib.aws_organizations": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Organizations" }, "java": { "package": "software.amazon.awscdk.services.organizations" }, "python": { "module": "aws_cdk.aws_organizations" } } }, "aws-cdk-lib.aws_osis": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.OSIS" }, "java": { "package": "software.amazon.awscdk.services.osis" }, "python": { "module": "aws_cdk.aws_osis" } } }, "aws-cdk-lib.aws_panorama": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Panorama" }, "java": { "package": "software.amazon.awscdk.services.panorama" }, "python": { "module": "aws_cdk.aws_panorama" } } }, "aws-cdk-lib.aws_paymentcryptography": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.PaymentCryptography" }, "java": { "package": "software.amazon.awscdk.services.paymentcryptography" }, "python": { "module": "aws_cdk.aws_paymentcryptography" } } }, "aws-cdk-lib.aws_pcaconnectorad": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.PCAConnectorAD" }, "java": { "package": "software.amazon.awscdk.services.pcaconnectorad" }, "python": { "module": "aws_cdk.aws_pcaconnectorad" } } }, "aws-cdk-lib.aws_pcaconnectorscep": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.PCAConnectorSCEP" }, "java": { "package": "software.amazon.awscdk.services.pcaconnectorscep" }, "python": { "module": "aws_cdk.aws_pcaconnectorscep" } } }, "aws-cdk-lib.aws_personalize": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Personalize" }, "java": { "package": "software.amazon.awscdk.services.personalize" }, "python": { "module": "aws_cdk.aws_personalize" } } }, "aws-cdk-lib.aws_pinpoint": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Pinpoint" }, "java": { "package": "software.amazon.awscdk.services.pinpoint" }, "python": { "module": "aws_cdk.aws_pinpoint" } } }, "aws-cdk-lib.aws_pinpointemail": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.PinpointEmail" }, "java": { "package": "software.amazon.awscdk.services.pinpointemail" }, "python": { "module": "aws_cdk.aws_pinpointemail" } } }, "aws-cdk-lib.aws_pipes": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Pipes" }, "java": { "package": "software.amazon.awscdk.services.pipes" }, "python": { "module": "aws_cdk.aws_pipes" } } }, "aws-cdk-lib.aws_proton": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.Proton" }, "java": { "package": "software.amazon.awscdk.services.proton" }, "python": { "module": "aws_cdk.aws_proton" } } }, "aws-cdk-lib.aws_qbusiness": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.QBusiness" }, "java": { "package": "software.amazon.awscdk.services.qbusiness" }, "python": { "module": "aws_cdk.aws_qbusiness" } } }, "aws-cdk-lib.aws_qldb": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.QLDB" }, "java": { "package": "software.amazon.awscdk.services.qldb" }, "python": { "module": "aws_cdk.aws_qldb" } } }, "aws-cdk-lib.aws_quicksight": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.QuickSight" }, "java": { "package": "software.amazon.awscdk.services.quicksight" }, "python": { "module": "aws_cdk.aws_quicksight" } } }, "aws-cdk-lib.aws_ram": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RAM" }, "java": { "package": "software.amazon.awscdk.services.ram" }, "python": { "module": "aws_cdk.aws_ram" } } }, "aws-cdk-lib.aws_rbin": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.Rbin" }, "java": { "package": "software.amazon.awscdk.services.rbin" }, "python": { "module": "aws_cdk.aws_rbin" } } }, "aws-cdk-lib.aws_rds": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RDS" }, "java": { "package": "software.amazon.awscdk.services.rds" }, "python": { "module": "aws_cdk.aws_rds" } } }, "aws-cdk-lib.aws_redshift": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Redshift" }, "java": { "package": "software.amazon.awscdk.services.redshift" }, "python": { "module": "aws_cdk.aws_redshift" } } }, "aws-cdk-lib.aws_redshiftserverless": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RedshiftServerless" }, "java": { "package": "software.amazon.awscdk.services.redshiftserverless" }, "python": { "module": "aws_cdk.aws_redshiftserverless" } } }, "aws-cdk-lib.aws_refactorspaces": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RefactorSpaces" }, "java": { "package": "software.amazon.awscdk.services.refactorspaces" }, "python": { "module": "aws_cdk.aws_refactorspaces" } } }, "aws-cdk-lib.aws_rekognition": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Rekognition" }, "java": { "package": "software.amazon.awscdk.services.rekognition" }, "python": { "module": "aws_cdk.aws_rekognition" } } }, "aws-cdk-lib.aws_resiliencehub": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ResilienceHub" }, "java": { "package": "software.amazon.awscdk.services.resiliencehub" }, "python": { "module": "aws_cdk.aws_resiliencehub" } } }, "aws-cdk-lib.aws_resourceexplorer2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ResourceExplorer2" }, "java": { "package": "software.amazon.awscdk.services.resourceexplorer2" }, "python": { "module": "aws_cdk.aws_resourceexplorer2" } } }, "aws-cdk-lib.aws_resourcegroups": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ResourceGroups" }, "java": { "package": "software.amazon.awscdk.services.resourcegroups" }, "python": { "module": "aws_cdk.aws_resourcegroups" } } }, "aws-cdk-lib.aws_robomaker": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RoboMaker" }, "java": { "package": "software.amazon.awscdk.services.robomaker" }, "python": { "module": "aws_cdk.aws_robomaker" } } }, "aws-cdk-lib.aws_rolesanywhere": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RolesAnywhere" }, "java": { "package": "software.amazon.awscdk.services.rolesanywhere" }, "python": { "module": "aws_cdk.aws_rolesanywhere" } } }, "aws-cdk-lib.aws_route53": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Route53" }, "java": { "package": "software.amazon.awscdk.services.route53" }, "python": { "module": "aws_cdk.aws_route53" } } }, "aws-cdk-lib.aws_route53_patterns": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Route53.Patterns" }, "java": { "package": "software.amazon.awscdk.services.route53.patterns" }, "python": { "module": "aws_cdk.aws_route53_patterns" } } }, "aws-cdk-lib.aws_route53_targets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Route53.Targets" }, "java": { "package": "software.amazon.awscdk.services.route53.targets" }, "python": { "module": "aws_cdk.aws_route53_targets" } } }, "aws-cdk-lib.aws_route53profiles": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.Route53Profiles" }, "java": { "package": "software.amazon.awscdk.services.route53profiles" }, "python": { "module": "aws_cdk.aws_route53profiles" } } }, "aws-cdk-lib.aws_route53recoverycontrol": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Route53RecoveryControl" }, "java": { "package": "software.amazon.awscdk.services.route53recoverycontrol" }, "python": { "module": "aws_cdk.aws_route53recoverycontrol" } } }, "aws-cdk-lib.aws_route53recoveryreadiness": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Route53RecoveryReadiness" }, "java": { "package": "software.amazon.awscdk.services.route53recoveryreadiness" }, "python": { "module": "aws_cdk.aws_route53recoveryreadiness" } } }, "aws-cdk-lib.aws_route53resolver": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Route53Resolver" }, "java": { "package": "software.amazon.awscdk.services.route53resolver" }, "python": { "module": "aws_cdk.aws_route53resolver" } } }, "aws-cdk-lib.aws_rum": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RUM" }, "java": { "package": "software.amazon.awscdk.services.rum" }, "python": { "module": "aws_cdk.aws_rum" } } }, "aws-cdk-lib.aws_s3": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.S3" }, "java": { "package": "software.amazon.awscdk.services.s3" }, "python": { "module": "aws_cdk.aws_s3" } } }, "aws-cdk-lib.aws_s3_assets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.S3.Assets" }, "java": { "package": "software.amazon.awscdk.services.s3.assets" }, "python": { "module": "aws_cdk.aws_s3_assets" } } }, "aws-cdk-lib.aws_s3_deployment": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.S3.Deployment" }, "java": { "package": "software.amazon.awscdk.services.s3.deployment" }, "python": { "module": "aws_cdk.aws_s3_deployment" } } }, "aws-cdk-lib.aws_s3_notifications": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.S3.Notifications" }, "java": { "package": "software.amazon.awscdk.services.s3.notifications" }, "python": { "module": "aws_cdk.aws_s3_notifications" } } }, "aws-cdk-lib.aws_s3express": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.S3Express" }, "java": { "package": "software.amazon.awscdk.services.s3express" }, "python": { "module": "aws_cdk.aws_s3express" } } }, "aws-cdk-lib.aws_s3objectlambda": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.S3ObjectLambda" }, "java": { "package": "software.amazon.awscdk.services.s3objectlambda" }, "python": { "module": "aws_cdk.aws_s3objectlambda" } } }, "aws-cdk-lib.aws_s3outposts": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.S3Outposts" }, "java": { "package": "software.amazon.awscdk.services.s3outposts" }, "python": { "module": "aws_cdk.aws_s3outposts" } } }, "aws-cdk-lib.aws_sagemaker": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Sagemaker" }, "java": { "package": "software.amazon.awscdk.services.sagemaker" }, "python": { "module": "aws_cdk.aws_sagemaker" } } }, "aws-cdk-lib.aws_sam": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SAM" }, "java": { "package": "software.amazon.awscdk.services.sam" }, "python": { "module": "aws_cdk.aws_sam" } } }, "aws-cdk-lib.aws_scheduler": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Scheduler" }, "java": { "package": "software.amazon.awscdk.services.scheduler" }, "python": { "module": "aws_cdk.aws_scheduler" } } }, "aws-cdk-lib.aws_sdb": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SDB" }, "java": { "package": "software.amazon.awscdk.services.sdb" }, "python": { "module": "aws_cdk.aws_sdb" } } }, "aws-cdk-lib.aws_secretsmanager": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SecretsManager" }, "java": { "package": "software.amazon.awscdk.services.secretsmanager" }, "python": { "module": "aws_cdk.aws_secretsmanager" } } }, "aws-cdk-lib.aws_securityhub": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SecurityHub" }, "java": { "package": "software.amazon.awscdk.services.securityhub" }, "python": { "module": "aws_cdk.aws_securityhub" } } }, "aws-cdk-lib.aws_securitylake": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.SecurityLake" }, "java": { "package": "software.amazon.awscdk.services.securitylake" }, "python": { "module": "aws_cdk.aws_securitylake" } } }, "aws-cdk-lib.aws_servicecatalog": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Servicecatalog" }, "java": { "package": "software.amazon.awscdk.services.servicecatalog" }, "python": { "module": "aws_cdk.aws_servicecatalog" } } }, "aws-cdk-lib.aws_servicecatalogappregistry": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Servicecatalogappregistry" }, "java": { "package": "software.amazon.awscdk.services.servicecatalogappregistry" }, "python": { "module": "aws_cdk.aws_servicecatalogappregistry" } } }, "aws-cdk-lib.aws_servicediscovery": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ServiceDiscovery" }, "java": { "package": "software.amazon.awscdk.services.servicediscovery" }, "python": { "module": "aws_cdk.aws_servicediscovery" } } }, "aws-cdk-lib.aws_ses": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SES" }, "java": { "package": "software.amazon.awscdk.services.ses" }, "python": { "module": "aws_cdk.aws_ses" } } }, "aws-cdk-lib.aws_ses_actions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SES.Actions" }, "java": { "package": "software.amazon.awscdk.services.ses.actions" }, "python": { "module": "aws_cdk.aws_ses_actions" } } }, "aws-cdk-lib.aws_shield": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.Shield" }, "java": { "package": "software.amazon.awscdk.services.shield" }, "python": { "module": "aws_cdk.aws_shield" } } }, "aws-cdk-lib.aws_signer": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Signer" }, "java": { "package": "software.amazon.awscdk.services.signer" }, "python": { "module": "aws_cdk.aws_signer" } } }, "aws-cdk-lib.aws_simspaceweaver": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SimSpaceWeaver" }, "java": { "package": "software.amazon.awscdk.services.simspaceweaver" }, "python": { "module": "aws_cdk.aws_simspaceweaver" } } }, "aws-cdk-lib.aws_sns": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SNS" }, "java": { "package": "software.amazon.awscdk.services.sns" }, "python": { "module": "aws_cdk.aws_sns" } } }, "aws-cdk-lib.aws_sns_subscriptions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SNS.Subscriptions" }, "java": { "package": "software.amazon.awscdk.services.sns.subscriptions" }, "python": { "module": "aws_cdk.aws_sns_subscriptions" } } }, "aws-cdk-lib.aws_sqs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SQS" }, "java": { "package": "software.amazon.awscdk.services.sqs" }, "python": { "module": "aws_cdk.aws_sqs" } } }, "aws-cdk-lib.aws_ssm": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SSM" }, "java": { "package": "software.amazon.awscdk.services.ssm" }, "python": { "module": "aws_cdk.aws_ssm" } } }, "aws-cdk-lib.aws_ssmcontacts": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SSMContacts" }, "java": { "package": "software.amazon.awscdk.services.ssmcontacts" }, "python": { "module": "aws_cdk.aws_ssmcontacts" } } }, "aws-cdk-lib.aws_ssmincidents": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SSMIncidents" }, "java": { "package": "software.amazon.awscdk.services.ssmincidents" }, "python": { "module": "aws_cdk.aws_ssmincidents" } } }, "aws-cdk-lib.aws_ssmquicksetup": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.SSMQuickSetup" }, "java": { "package": "software.amazon.awscdk.services.ssmquicksetup" }, "python": { "module": "aws_cdk.aws_ssmquicksetup" } } }, "aws-cdk-lib.aws_sso": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SSO" }, "java": { "package": "software.amazon.awscdk.services.sso" }, "python": { "module": "aws_cdk.aws_sso" } } }, "aws-cdk-lib.aws_stepfunctions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.StepFunctions" }, "java": { "package": "software.amazon.awscdk.services.stepfunctions" }, "python": { "module": "aws_cdk.aws_stepfunctions" } } }, "aws-cdk-lib.aws_stepfunctions_tasks": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.StepFunctions.Tasks" }, "java": { "package": "software.amazon.awscdk.services.stepfunctions.tasks" }, "python": { "module": "aws_cdk.aws_stepfunctions_tasks" } } }, "aws-cdk-lib.aws_supportapp": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SupportApp" }, "java": { "package": "software.amazon.awscdk.services.supportapp" }, "python": { "module": "aws_cdk.aws_supportapp" } } }, "aws-cdk-lib.aws_synthetics": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Synthetics" }, "java": { "package": "software.amazon.awscdk.services.synthetics" }, "python": { "module": "aws_cdk.aws_synthetics" } } }, "aws-cdk-lib.aws_systemsmanagersap": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SystemsManagerSAP" }, "java": { "package": "software.amazon.awscdk.services.systemsmanagersap" }, "python": { "module": "aws_cdk.aws_systemsmanagersap" } } }, "aws-cdk-lib.aws_timestream": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Timestream" }, "java": { "package": "software.amazon.awscdk.services.timestream" }, "python": { "module": "aws_cdk.aws_timestream" } } }, "aws-cdk-lib.aws_transfer": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Transfer" }, "java": { "package": "software.amazon.awscdk.services.transfer" }, "python": { "module": "aws_cdk.aws_transfer" } } }, "aws-cdk-lib.aws_verifiedpermissions": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.VerifiedPermissions" }, "java": { "package": "software.amazon.awscdk.services.verifiedpermissions" }, "python": { "module": "aws_cdk.aws_verifiedpermissions" } } }, "aws-cdk-lib.aws_voiceid": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.VoiceID" }, "java": { "package": "software.amazon.awscdk.services.voiceid" }, "python": { "module": "aws_cdk.aws_voiceid" } } }, "aws-cdk-lib.aws_vpclattice": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.VpcLattice" }, "java": { "package": "software.amazon.awscdk.services.vpclattice" }, "python": { "module": "aws_cdk.aws_vpclattice" } } }, "aws-cdk-lib.aws_waf": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.WAF" }, "java": { "package": "software.amazon.awscdk.services.waf" }, "python": { "module": "aws_cdk.aws_waf" } } }, "aws-cdk-lib.aws_wafregional": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.WAFRegional" }, "java": { "package": "software.amazon.awscdk.services.waf.regional" }, "python": { "module": "aws_cdk.aws_wafregional" } } }, "aws-cdk-lib.aws_wafv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.WAFv2" }, "java": { "package": "software.amazon.awscdk.services.wafv2" }, "python": { "module": "aws_cdk.aws_wafv2" } } }, "aws-cdk-lib.aws_wisdom": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Wisdom" }, "java": { "package": "software.amazon.awscdk.services.wisdom" }, "python": { "module": "aws_cdk.aws_wisdom" } } }, "aws-cdk-lib.aws_workspaces": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.WorkSpaces" }, "java": { "package": "software.amazon.awscdk.services.workspaces" }, "python": { "module": "aws_cdk.aws_workspaces" } } }, "aws-cdk-lib.aws_workspacesthinclient": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.WorkSpacesThinClient" }, "java": { "package": "software.amazon.awscdk.services.workspacesthinclient" }, "python": { "module": "aws_cdk.aws_workspacesthinclient" } } }, "aws-cdk-lib.aws_workspacesweb": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.WorkSpacesWeb" }, "java": { "package": "software.amazon.awscdk.services.workspacesweb" }, "python": { "module": "aws_cdk.aws_workspacesweb" } } }, "aws-cdk-lib.aws_xray": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.XRay" }, "java": { "package": "software.amazon.awscdk.services.xray" }, "python": { "module": "aws_cdk.aws_xray" } } }, "aws-cdk-lib.cloud_assembly_schema": {}, "aws-cdk-lib.cloudformation_include": { "targets": { "dotnet": { "namespace": "Amazon.CDK.CloudFormation.Include" }, "java": { "package": "software.amazon.awscdk.cloudformation.include" }, "python": { "module": "aws_cdk.cloudformation_include" } } }, "aws-cdk-lib.custom_resources": { "targets": { "dotnet": { "namespace": "Amazon.CDK.CustomResources" }, "java": { "package": "software.amazon.awscdk.customresources" }, "python": { "module": "aws_cdk.custom_resources" } } }, "aws-cdk-lib.cx_api": { "targets": { "dotnet": { "namespace": "Amazon.CDK.CXAPI" }, "java": { "package": "software.amazon.awscdk.cxapi" }, "python": { "module": "aws_cdk.cx_api" } } }, "aws-cdk-lib.lambda_layer_awscli": { "targets": { "dotnet": { "namespace": "Amazon.CDK.LambdaLayer.AwsCli" }, "java": { "package": "software.amazon.awscdk.lambdalayer.awscli" }, "python": { "module": "aws_cdk.lambda_layer_awscli" } } }, "aws-cdk-lib.lambda_layer_kubectl": { "targets": { "dotnet": { "namespace": "Amazon.CDK.LambdaLayer.Kubectl" }, "java": { "package": "software.amazon.awscdk.lambdalayer.kubectl" }, "python": { "module": "aws_cdk.lambda_layer_kubectl" } } }, "aws-cdk-lib.lambda_layer_node_proxy_agent": { "targets": { "dotnet": { "namespace": "Amazon.CDK.LambdaLayer.NodeProxyAgent" }, "java": { "package": "software.amazon.awscdk.lambda.layer.node.proxy.agent" }, "python": { "module": "aws_cdk.lambda_layer_node_proxy_agent" } } }, "aws-cdk-lib.pipelines": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Pipelines" }, "java": { "package": "software.amazon.awscdk.pipelines" }, "python": { "module": "aws_cdk.pipelines" } } }, "aws-cdk-lib.region_info": { "targets": { "dotnet": { "namespace": "Amazon.CDK.RegionInfo" }, "java": { "package": "software.amazon.awscdk.regioninfo" }, "python": { "module": "aws_cdk.region_info" } } }, "aws-cdk-lib.triggers": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Triggers" }, "java": { "package": "software.amazon.awscdk.triggers" }, "python": { "module": "aws_cdk.triggers" } } } }, "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png", "namespace": "Amazon.CDK", "packageId": "Amazon.CDK.Lib" }, "go": { "moduleName": "github.com/aws/aws-cdk-go", "packageName": "awscdk" }, "java": { "maven": { "artifactId": "aws-cdk-lib", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk" }, "js": { "npm": "aws-cdk-lib" }, "python": { "distName": "aws-cdk-lib", "module": "aws_cdk" } } }, "constructs": { "targets": { "dotnet": { "namespace": "Constructs", "packageId": "Constructs" }, "go": { "moduleName": "github.com/aws/constructs-go" }, "java": { "maven": { "artifactId": "constructs", "groupId": "software.constructs" }, "package": "software.constructs" }, "js": { "npm": "constructs" }, "python": { "distName": "constructs", "module": "constructs" } } } }, "description": "AWS CDK L2 constructs for the AWS Network Firewall (AWS::NetworkFirewall)", "docs": { "stability": "experimental" }, "homepage": "https://github.com/durkinza/cdk-networkfirewall-l2#readme", "jsiiVersion": "5.7.4 (build fc2a28e)", "keywords": [ "AWS::NetworkFirewall", "Firewall", "L2", "Logging", "Network", "Security", "aws", "aws-cdk", "aws-networkfirewall", "awscdk", "cdk", "networkfirewall" ], "license": "Apache-2.0", "metadata": { "jsii": { "pacmak": { "hasDefaultInterfaces": true } }, "tscRootDir": "src" }, "name": "@durkinza/cdk-networkfirewall-l2", "readme": { "markdown": "
\n

AWS CDK Network Firewall L2

\nThis repo holds some experimental L2 constructs for the\n\n[AWS-CDK](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_networkfirewall-readme.html)\n
\n\n[![release](https://github.com/durkinza/cdk-networkfirewall-l2/actions/workflows/release.yml/badge.svg?branch=main)](https://github.com/durkinza/cdk-networkfirewall-l2/actions/workflows/release.yml)\n\n[![View on Construct Hub](https://constructs.dev/badge?package=%40durkinza%2Fcdk-networkfirewall-l2)](https://constructs.dev/packages/@durkinza/cdk-networkfirewall-l2)\n\n
\n\n---\n## Description\n\nAWS Network Firewall is a stateful, managed, network firewall and intrusion detection and prevention service.\nThese L2 Constructs can be used to create managed network firewalls with stateful and stateless rules and rule groups.\n\nThe goal of these constructs is to provide a way to decouple the creation of firewall rules from their rule groups and reduce the amount of boilerplate code required to define a network firewall.\n\n\n### Quick Start Examples\nFor new environments an example that matches the default Security Group rules [can be found here.](docs/example-only-outbound.md)\n\nIf you're adding a firewall to an existing environment that does not have an expectation of normal traffic, try the [non-obtrusive approach here](docs/example-non-obtrusive.md).\nThis example passively monitors packets to build a baseline of \"normal\" traffic that can then be used as a reference to build appropriate firewall rules.\n\n\n### Defaults\n\nThe ideal examples shown below provide only the parameters required to create a resource.\nWherever possible, optional parameters are available to give the same level of customization as the L1 API.\n\nTo keep the constructs unopinionated, default actions are required for deployment of new resources.\nIt may be possible to reduce boilerplate code more if default actions were to be defined.\nSome examples of possible opinionated approaches:\n\nAn unobtrusive logging approach, to promote implementation of network firewalls in existing stacks.\n> When a parameter in an L2 construct is optional, where it would normally be required for an L1 construct, an unobtrusive and logging default option would be implied. This allows resources to be implemented in an existing stack with minimal obstruction to the existing operation of the stack.\n> After implementing a network firewall with logging defaults in a testing environment, a user can define a standard of \"normal traffic\" for their environment and implement firewall rules and default actions to restrict traffic.\n\nA more obtrusive, but higher security approach could be:\n> When a parameter in an L2 construct is optional, where it would normally be required for an L1 construct, a default drop rule would be implied. This ensures traffic that is not specifically allowed is blocked, a user would need to define rules to allow the traffic that is expected in their environment.\n\nFor new policies, it would also be possible to mirror the defaults set for security groups, where a default action of drop is set, with a single stateless rule being set to allow all outbound traffic. This approach would require generating an entire set of Policy, Stateless group, and stateless rule.\n\nIn any case a user can overwrite the default action(s) and create their own policies and rules as they see fit.\nGiven the relatively small amount of code required to define the resources with default actions, I would opt to leave the code unopinionated for the first revision, as defaults can be specified in a later revision if needed.\n\n### Firewalls\nAn ideal implementation would allow users to create firewall with minimal boiler plate.\n```ts\nconst policy = NetFW.FirewallPolicy.fromFirewallPolicyName(stack, 'MyNetworkFirewallPolicy', 'MyFirewallPolicy');\nnew NetFW.Firewall(stack, 'MyNetworkFirewall', {\n vpc: vpc,\n policy: policy,\n});\n```\nWhere the firewall would be created in the provided vpc with the given firewall policy applied.\n\nIn this example, `policy` is defined only to meet the requirement that a firewall must have a firewall policy attached.\nAs explained in the Defaults section above, it may be possible to generate a default policy when one is not provided.\n\n### Firewall Policies\nFirewall policy definitions can be done by referencing an existing name/ARN as shown in the last example, or by generating a new policy.\nSince a policy does not require rule groups to be attached, it will only need a few requirements to get started.\n```ts\nnew NetFW.FirewallPolicy(stack, 'MyNetworkFirewallPolicy', {\n statelessDefaultActions: [NetFW.StatelessStandardAction.DROP],\n statelessFragmentDefaultActions: [NetFW.StatelessStandardAction.DROP],\n});\n```\n\nEditing an existing Policy (e.x. adding a rule group to an existing policy that has been referenced via ARN) would be out of scope.\n\nWhen applying rule groups to a policy, a unique priority of must be provided for each group.\n```ts\nconst statelessRuleGroupList:NetFW.StatelessRuleGroupList[] = [\n {\n priority: 10,\n ruleGroup: statelessRuleGroup1,\n },\n];\nconst statefulRuleGroupList:NetFW.StatefulRuleGroupList[] = [\n {\n priority: 10,\n ruleGroup: statefulRuleGroup1,\n },\n {\n priority: 20,\n ruleGroup: statefulRuleGroup2,\n },\n {\n priority: 30,\n ruleGroup: statefulRuleGroup3,\n },\n];\nconst policy = new NetFW.FirewallPolicy(stack, 'MyNetworkFirewallPolicy', {\n statelessDefaultActions: [NetFW.StatelessStandardAction.DROP],\n statelessFragmentDefaultActions: [NetFW.StatelessStandardAction.DROP],\n statelessRuleGroups: statelessRuleGroupList,\n statefulRuleGroups: statefulRuleGroupList,\n});\n```\n\n### Stateless Rule Groups\nStateless firewall rule groups can be defined by referencing an existing name/ARN, or by generating a new group.\nNew groups don't require any rules to be defined, so their implementation can be fairly quick.\n```ts\nnew NetFW.StatelessRuleGroup(stack, 'MyStatelessRuleGroup');\n```\n\nThe capacity requirements of a stateless rule group is fairly trivial to determine programmatically, but it can't be edited throughout the life time of the rule group. ([ref](https://docs.aws.amazon.com/network-firewall/latest/developerguide/rule-group-managing.html#nwfw-rule-group-capacity))\nThe stateless rule group could programmatically determine the capacity required for the rules assigned to it when no capacity is provided. Using the exact capacity requirements for a rule group by default may cause the user issues later if they decide to add another rule to the group.\n\nEditing an existing rule-group (e.x. adding a rule to an existing group referenced via ARN) would be out of scope.\n\n##### Stateless Rules\nStateless rules are not defined as a resource in AWS, they only exist in the context of the rule group they are defined in.\nTo allow stateless rules to be decoupled from the rule group throughout the stack, they are defined as their own class, but reduce down to a L1 `RuleDefinitionProperty`\n```ts\nnew NetFW.StatelessRule({\n actions: [NetFW.StatelessStandardAction.DROP]\n});\n```\n\nAssigning stateless rules to a stateless rule-group requires a priority mapping, similar to the way a rule-group requires a priority map when assigned to a policy.\n```ts\nconst statelessRule1 = new NetFW.StatelessRule({\n actions: [NetFW.StatelessStandardAction.DROP],\n});\nconst statelessRule2 = new NetFW.StatelessRule({\n actions: [NetFW.StatelessStandardAction.DROP],\n});\nnew NetFW.StatelessRuleGroup(stack, 'MyStatelessRuleGroup', {\n rules: [\n {\n rule: statelessRule1,\n priority: 10,\n },\n {\n rule: statelessRule2,\n priority: 20,\n },\n ],\n});\n```\n\n### Stateful Rule Groups\nStateful firewall rules are split into 3 categories (5Tuple, Suricata, Domain List).\nThe console requires the category of rules to be defined when creating the rule group.\nHowever, from my understanding, the L1 constructs reduced all 3 down into Suricata rules. So a single stateful rule group could hold a mix of all 3 types of rules.\n\nIt appeared easier to merge the three types in a future revision than to split them apart if the requirements happened to change.\nI opted to match the AWS console, giving each rule group category has it's own class. Stateful rule groups are based on the same abstract class, to reduce duplicate code.\n\nStateful rule groups can be defined with no actionable rules within them, so the minimal implementation would be the same for all of them.\n```ts\nnew NetFW.Stateful5TupleRuleGroup(stack, 'MyStateful5TupleRuleGroup', {\n // Assumes the following\n // rules: None\n // ruleOrder: NetFW.StatefulRuleOptions.STRICT_ORDER,\n // capacity: 100\n});\nnew NetFW.StatefulDomainListRuleGroup(stack, 'MyStatefulDomainListRuleGroup', {\n // Assumes the following\n // rule: None\n // ruleOrder: NetFW.StatefulRuleOptions.STRICT_ORDER,\n // capacity: 100\n});\nnew NetFW.StatefulSuricataRuleGroup(stack, 'MyStatefulSuricataRuleGroup', {\n // Assumes the following\n // rules: \"\"\n // ruleOrder: NetFW.StatefulRuleOptions.STRICT_ORDER,\n // capacity: 100\n});\n```\n\n##### Stateful 5 Tuple Rules\nTo define a stateful 5tuple rule, all parameters must be provided to the L1 construct. In most cases the ANY keyword is used to generalize the rule as much as possible by default. Allowing the user to narrow down the rule as needed. A default action must be specified to determine what the rule does when it matches the traffic.\n```ts\nnew NetFW.Stateful5TupleRule({\n action: NetFW.StatefulStandardAction.DROP,\n // Assumes the following\n // destination: 'ANY',\n // destinationPort: 'ANY',\n // direction: 'ANY',\n // protocol: 'IP',\n // source: 'ANY',\n // sourcePort: 'ANY',\n // ruleOptions: None\n});\n```\nWhen adding the stateful 5Tuple rule to a stateful5Tuple rule-group, no priority is required, the ruleOrder assigned to the rule-group will be used.\n\n```ts\nconst stateful5TupleRule1 = new NetFW.Stateful5TupleRule({\n action: NetFW.StatefulStandardAction.DROP,\n});\nconst stateful5TupleRule2 = new NetFW.Stateful5TupleRule({\n action: NetFW.StatefulStandardAction.PASS,\n});\nnew NetFW.Stateful5TupleRuleGroup(stack, 'MyStateful5TupleRuleGroup', {\n capacity: 100,\n rules: [stateful5TupleRule1, stateful5TupleRule2],\n});\n```\n\n##### Domain List Rules\nWhen defining a Domain List, only a single set of targets can be provided, as set by the L1 construct.\nAll Domain List specific parameters are required for this rule.\n```ts\n const statefulDomainListRule = new NetFW.StatefulDomainListRule({\n type: NetFW.StatefulDomainListType.ALLOWLIST,\n targets: [\"example.com\"],\n targetTypes: [StatefulDomainListTargetType.HTTP_HOST],\n });\n```\n##### Suricata Rules\nSuricata rules are just strings, so they don't have a class type, they are defined directly into the suricata rule-group.\n```ts\nnew NetFW.StatefulSuricataRuleGroup(stack, 'MyStatefulSuricataRuleGroup', {\n rules: 'drop tls $HOME_NET any -> $EXTERNAL_NET any (tls.sni; content:\"evil.com\"; startswith; nocase; endswith; msg:\"matching TLS denylisted FQDNs\"; priority:1; flow:to_server, established; sid:1; rev:1;)\n drop http $HOME_NET any -> $EXTERNAL_NET any (http.host; content:\"evil.com\"; startswith; endswith; msg:\"matching HTTP denylisted FQDNs\"; priority:1; flow:to_server, established; sid:2; rev:1;)'\n});\n```\n\nSuricata rule groups can also be imported from a file.\n```ts\nconst ruleGroup:NetFW.StatefulSuricataRuleGroup = NetFW.StatefulSuricataRuleGroup.fromFile(stack, 'MyStatefulSuricataRuleGroup', {\n path: './suricata.rules'\n});\n```\nAll other arguments for creating a Suricata Rule Group are also supported here with an exception of the `rules` property.\nThe `rules` property will be filled in with the contents from the file path, anything supplied will be ignored.\n\n### Firewall Logs\n\nLogging can be done using 3 AWS services, Cloud Watch trails, S3 buckets, and Kinesis Data Firehose streams.\n\nThe logging locations are configured with a Logging type, either Flow or Alert logs.\nIn the case of Alert logs, it is up to the firewall policy to decide when a log should be generated.\n\nLogs can be configured to be sent to multiple locations simultaneously.\n\n```ts\nnew NetFW.Firewall(stack, 'MyNetworkFirewall', {\n vpc: vpc,\n policy: policy,\n loggingCloudWatchLogGroups: [\n {\n logGroup: logGroup.logGroupName,\n logType: NetFW.LogType.ALERT,\n },\n ],\n loggingS3Buckets: [\n {\n bucketName: s3LoggingBucket.bucketName,\n logType: NetFW.LogType.ALERT,\n prefix: 'alerts',\n },\n {\n bucketName: s3LoggingBucket.bucketName,\n logType: NetFW.LogType.FLOW,\n prefix: 'flow',\n },\n ],\n loggingKinesisDataStreams: [\n {\n deliveryStream: kinesisStream.streamName,\n logType: NetFW.LogType.ALERT,\n }\n ],\n});\n```" }, "repository": { "type": "git", "url": "https://github.com/durkinza/cdk-networkfirewall-l2.git" }, "schema": "jsii/0.10.0", "targets": { "js": { "npm": "@durkinza/cdk-networkfirewall-l2" }, "python": { "distName": "durkinza.cdk-networkfirewall-l2", "module": "durkinza.cdk_networkfirewall_l2" } }, "types": { "@durkinza/cdk-networkfirewall-l2.CloudWatchLogLocation": { "assembly": "@durkinza/cdk-networkfirewall-l2", "base": "@durkinza/cdk-networkfirewall-l2.LogLocationBase", "docs": { "stability": "experimental", "summary": "Defines a Cloud Watch Log Group Logging Configuration." }, "fqn": "@durkinza/cdk-networkfirewall-l2.CloudWatchLogLocation", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/lib/logging.ts", "line": 202 }, "parameters": [ { "name": "props", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.CloudWatchLogLocationProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/lib/logging.ts", "line": 193 }, "name": "CloudWatchLogLocation", "properties": [ { "docs": { "stability": "experimental", "summary": "The named location for the logs, provided in a key:value mapping that is specific to the chosen destination type." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 196 }, "name": "logDestination", "overrides": "@durkinza/cdk-networkfirewall-l2.LogLocationBase", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "map" } } }, { "docs": { "stability": "experimental", "summary": "The type of storage destination to send these logs to." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 195 }, "name": "logDestinationType", "overrides": "@durkinza/cdk-networkfirewall-l2.LogLocationBase", "type": { "primitive": "string" } }, { "docs": { "stability": "experimental", "summary": "The type of log to send." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 194 }, "name": "logType", "overrides": "@durkinza/cdk-networkfirewall-l2.LogLocationBase", "type": { "primitive": "string" } } ], "symbolId": "src/lib/logging:CloudWatchLogLocation" }, "@durkinza/cdk-networkfirewall-l2.CloudWatchLogLocationProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "Defines a Cloud Watch Log Group Logging Option." }, "fqn": "@durkinza/cdk-networkfirewall-l2.CloudWatchLogLocationProps", "interfaces": [ "@durkinza/cdk-networkfirewall-l2.LogLocationProps" ], "kind": "interface", "locationInModule": { "filename": "src/lib/logging.ts", "line": 183 }, "name": "CloudWatchLogLocationProps", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "The name of the CloudWatch Log Group to send logs to." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 187 }, "name": "logGroup", "type": { "primitive": "string" } } ], "symbolId": "src/lib/logging:CloudWatchLogLocationProps" }, "@durkinza/cdk-networkfirewall-l2.Firewall": { "assembly": "@durkinza/cdk-networkfirewall-l2", "base": "aws-cdk-lib.Resource", "docs": { "custom": { "resource": "AWS::NetworkFirewall::Firewall" }, "stability": "experimental", "summary": "Defines a Network Firewall in the Stack." }, "fqn": "@durkinza/cdk-networkfirewall-l2.Firewall", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 243 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.FirewallProps" } } ] }, "interfaces": [ "@durkinza/cdk-networkfirewall-l2.IFirewall" ], "kind": "class", "locationInModule": { "filename": "src/lib/firewall.ts", "line": 136 }, "methods": [ { "docs": { "stability": "experimental", "summary": "Reference an existing Network Firewall, defined outside of the CDK code, by arn." }, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 174 }, "name": "fromFirewallArn", "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "firewallArn", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.IFirewall" } }, "static": true }, { "docs": { "stability": "experimental", "summary": "Reference an existing Network Firewall, defined outside of the CDK code, by name." }, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 145 }, "name": "fromFirewallName", "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "firewallName", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.IFirewall" } }, "static": true }, { "docs": { "returns": "A LoggingConfiguration Resource.", "stability": "experimental", "summary": "Add a Logging Configuration to the Firewall." }, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 353 }, "name": "addLoggingConfigurations", "parameters": [ { "docs": { "summary": "The Name of the Logging configuration type." }, "name": "configurationName", "type": { "primitive": "string" } }, { "docs": { "summary": "An array of Log Locations." }, "name": "logLocations", "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.ILogLocation" }, "kind": "array" } } } ], "returns": { "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.LoggingConfiguration" } } } ], "name": "Firewall", "properties": [ { "docs": { "custom": { "attribute": "true" }, "remarks": "The subnets are not listed in any particular order.", "stability": "experimental", "summary": "The unique IDs of the firewall endpoints for all of the subnets that you attached to the firewall." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 206 }, "name": "endpointIds", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The Arn of the Firewall." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 193 }, "name": "firewallArn", "overrides": "@durkinza/cdk-networkfirewall-l2.IFirewall", "type": { "primitive": "string" } }, { "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The physical name of the Firewall." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 199 }, "name": "firewallId", "overrides": "@durkinza/cdk-networkfirewall-l2.IFirewall", "type": { "primitive": "string" } }, { "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The associated firewall Policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 212 }, "name": "policy", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.IFirewallPolicy" } }, { "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The Cloud Watch Log Groups to send logs to." }, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 218 }, "name": "loggingCloudWatchLogGroups", "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.CloudWatchLogLocationProps" }, "kind": "array" } } }, { "docs": { "stability": "experimental", "summary": "The list of references to the generated logging configurations." }, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 235 }, "name": "loggingConfigurations", "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.ILoggingConfiguration" }, "kind": "array" } } }, { "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The Kinesis Data Stream locations." }, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 230 }, "name": "loggingKinesisDataStreams", "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.KinesisDataFirehoseLogLocationProps" }, "kind": "array" } } }, { "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The S3 Buckets to send logs to." }, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 224 }, "name": "loggingS3Buckets", "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.S3LogLocationProps" }, "kind": "array" } } } ], "symbolId": "src/lib/firewall:Firewall" }, "@durkinza/cdk-networkfirewall-l2.FirewallPolicy": { "assembly": "@durkinza/cdk-networkfirewall-l2", "base": "aws-cdk-lib.Resource", "docs": { "custom": { "resource": "AWS::NetworkFirewall::FirewallPolicy" }, "stability": "experimental", "summary": "Defines a Firewall Policy in the stack." }, "fqn": "@durkinza/cdk-networkfirewall-l2.FirewallPolicy", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/lib/policy.ts", "line": 235 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.FirewallPolicyProps" } } ] }, "interfaces": [ "@durkinza/cdk-networkfirewall-l2.IFirewallPolicy" ], "kind": "class", "locationInModule": { "filename": "src/lib/policy.ts", "line": 152 }, "methods": [ { "docs": { "stability": "experimental", "summary": "Reference existing firewall policy by Arn." }, "locationInModule": { "filename": "src/lib/policy.ts", "line": 180 }, "name": "fromFirewallPolicyArn", "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "docs": { "summary": "the ARN of the existing firewall policy." }, "name": "firewallPolicyArn", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.IFirewallPolicy" } }, "static": true }, { "docs": { "stability": "experimental", "summary": "Reference existing firewall policy name." }, "locationInModule": { "filename": "src/lib/policy.ts", "line": 159 }, "name": "fromFirewallPolicyName", "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "docs": { "summary": "The name of the existing firewall policy." }, "name": "firewallPolicyName", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.IFirewallPolicy" } }, "static": true }, { "docs": { "stability": "experimental", "summary": "Add a stateful rule group to the policy." }, "locationInModule": { "filename": "src/lib/policy.ts", "line": 376 }, "name": "addStatefulRuleGroup", "parameters": [ { "docs": { "summary": "The stateful rule group to add to the policy." }, "name": "ruleGroup", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulRuleGroupList" } } ] }, { "docs": { "stability": "experimental", "summary": "Add a stateless rule group to the policy." }, "locationInModule": { "filename": "src/lib/policy.ts", "line": 368 }, "name": "addStatelessRuleGroup", "parameters": [ { "docs": { "summary": "The stateless rule group to add to the policy." }, "name": "ruleGroup", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatelessRuleGroupList" } } ] } ], "name": "FirewallPolicy", "properties": [ { "docs": { "stability": "experimental", "summary": "The Arn of the policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 191 }, "name": "firewallPolicyArn", "overrides": "@durkinza/cdk-networkfirewall-l2.IFirewallPolicy", "type": { "primitive": "string" } }, { "docs": { "stability": "experimental", "summary": "The physical name of the firewall policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 192 }, "name": "firewallPolicyId", "overrides": "@durkinza/cdk-networkfirewall-l2.IFirewallPolicy", "type": { "primitive": "string" } }, { "docs": { "stability": "experimental", "summary": "The Default actions for packets that don't match a stateful rule." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 207 }, "name": "statefulDefaultActions", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "docs": { "stability": "experimental", "summary": "The stateful rule groups in this policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 217 }, "name": "statefulRuleGroups", "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulRuleGroupList" }, "kind": "array" } } }, { "docs": { "stability": "experimental", "summary": "The Default actions for packets that don't match a stateless rule." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 197 }, "name": "statelessDefaultActions", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "docs": { "stability": "experimental", "summary": "The Default actions for fragment packets that don't match a stateless rule." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 202 }, "name": "statelessFragmentDefaultActions", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "docs": { "stability": "experimental", "summary": "The stateless rule groups in this policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 212 }, "name": "statelessRuleGroups", "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatelessRuleGroupList" }, "kind": "array" } } }, { "docs": { "stability": "experimental", "summary": "Tags to be added to the policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 227 }, "name": "tags", "type": { "collection": { "elementtype": { "fqn": "aws-cdk-lib.Tag" }, "kind": "array" } } }, { "docs": { "stability": "experimental", "summary": "The TLS Inspection Configuration." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 222 }, "name": "tlsInspectionConfiguration", "optional": true, "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.ITLSInspectionConfiguration" } } ], "symbolId": "src/lib/policy:FirewallPolicy" }, "@durkinza/cdk-networkfirewall-l2.FirewallPolicyProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "The Properties for defining a Firewall policy." }, "fqn": "@durkinza/cdk-networkfirewall-l2.FirewallPolicyProps", "kind": "interface", "locationInModule": { "filename": "src/lib/policy.ts", "line": 77 }, "name": "FirewallPolicyProps", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "The actions to take on a packet if it doesn't match any of the stateless rules in the policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 88 }, "name": "statelessDefaultActions", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "stability": "experimental", "summary": "The actions to take on a fragmented packet if it doesn't match any of the stateless rules in the policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 93 }, "name": "statelessFragmentDefaultActions", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "The description of the policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 139 }, "name": "description", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- CloudFormation-generated name", "remarks": "You can't change the name of a firewall policy after you create it.", "stability": "experimental", "summary": "The descriptive name of the firewall policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 83 }, "name": "firewallPolicyName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- undefined", "remarks": "The stateful default action is optional, and is only valid when using the strict rule order", "stability": "experimental", "summary": "The default actions to take on a packet that doesn't match any stateful rules." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 100 }, "name": "statefulDefaultActions", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- undefined", "remarks": "The stateful rule groups that you use in your policy must have stateful rule options settings that are compatible with these settings", "stability": "experimental", "summary": "Additional options governing how Network Firewall handles stateful rules." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 107 }, "name": "statefulEngineOptions", "optional": true, "type": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnFirewallPolicy.StatefulEngineOptionsProperty" } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "The stateful rule groups that are used in the policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 113 }, "name": "statefulRuleGroups", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulRuleGroupList" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "The custom action definitions that are available for use in the firewall policy's statelessDefaultActions setting." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 119 }, "name": "statelessCustomActions", "optional": true, "type": { "collection": { "elementtype": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnFirewallPolicy.CustomActionProperty" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "References to the stateless rule groups that are used in the policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 125 }, "name": "statelessRuleGroups", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatelessRuleGroupList" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- No tags applied", "stability": "experimental", "summary": "Tags to be added to the policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 145 }, "name": "tags", "optional": true, "type": { "collection": { "elementtype": { "fqn": "aws-cdk-lib.Tag" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- No TLS Inspection performed.", "remarks": "Network Firewall re-encrypts the traffic before sending it to its destination.", "stability": "experimental", "summary": "AWS Network Firewall uses a TLS inspection configuration to decrypt traffic." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 133 }, "name": "tlsInspectionConfiguration", "optional": true, "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.ITLSInspectionConfiguration" } } ], "symbolId": "src/lib/policy:FirewallPolicyProps" }, "@durkinza/cdk-networkfirewall-l2.FirewallProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "The Properties for defining a Firewall Resource." }, "fqn": "@durkinza/cdk-networkfirewall-l2.FirewallProps", "kind": "interface", "locationInModule": { "filename": "src/lib/firewall.ts", "line": 54 }, "name": "FirewallProps", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "Each firewall requires one firewall policy association, and you can use the same firewall policy for multiple firewalls." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 72 }, "name": "policy", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.IFirewallPolicy" } }, { "abstract": true, "docs": { "remarks": "You can't change the VPC of a firewall after you create the firewall.", "stability": "experimental", "summary": "The unique identifier of the VPC where the firewall is in use." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 66 }, "name": "vpc", "type": { "fqn": "aws-cdk-lib.aws_ec2.IVpc" } }, { "abstract": true, "docs": { "default": "- true", "remarks": "A setting of TRUE indicates that the firewall is protected against deletion", "stability": "experimental", "summary": "A flag indicating whether it is possible to delete the firewall." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 91 }, "name": "deleteProtection", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "The description of the Firewall." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 84 }, "name": "description", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- CloudFormation-generated name", "remarks": "You can't change the name of a firewall after you create it.", "stability": "experimental", "summary": "The descriptive name of the firewall." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 60 }, "name": "firewallName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- true", "remarks": "Use this setting to protect against accidentally modifying the firewall policy for a firewall that is in use.", "stability": "experimental", "summary": "A setting indicating whether the firewall is protected against a change to the firewall policy association." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 98 }, "name": "firewallPolicyChangeProtection", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "- Logs will not be sent to a cloudwatch group.", "stability": "experimental", "summary": "A list of CloudWatch LogGroups to send logs to." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 117 }, "name": "loggingCloudWatchLogGroups", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.CloudWatchLogLocationProps" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- Logs will not be sent to a Kinesis DataFirehose.", "stability": "experimental", "summary": "A list of Kinesis Data Firehose to send logs to." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 129 }, "name": "loggingKinesisDataStreams", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.KinesisDataFirehoseLogLocationProps" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- Logs will not be sent to an S3 bucket.", "stability": "experimental", "summary": "A list of S3 Buckets to send logs to." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 123 }, "name": "loggingS3Buckets", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.S3LogLocationProps" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- true", "remarks": "Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use.", "stability": "experimental", "summary": "A setting indicating whether the firewall is protected against changes to the subnet associations." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 105 }, "name": "subnetChangeProtection", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "- All public subnets of the VPC", "remarks": "Each subnet must belong to a different Availability Zone.", "stability": "experimental", "summary": "The public subnets that Network Firewall is using for the firewall." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 78 }, "name": "subnetMappings", "optional": true, "type": { "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection" } }, { "abstract": true, "docs": { "default": "- No tags applied", "stability": "experimental", "summary": "Tags to be added to the firewall." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 111 }, "name": "tags", "optional": true, "type": { "collection": { "elementtype": { "fqn": "aws-cdk-lib.Tag" }, "kind": "array" } } } ], "symbolId": "src/lib/firewall:FirewallProps" }, "@durkinza/cdk-networkfirewall-l2.IFirewall": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "Defines a Network Firewall in the stack." }, "fqn": "@durkinza/cdk-networkfirewall-l2.IFirewall", "interfaces": [ "aws-cdk-lib.IResource" ], "kind": "interface", "locationInModule": { "filename": "src/lib/firewall.ts", "line": 21 }, "name": "IFirewall", "properties": [ { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The Arn of the Firewall." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 26 }, "name": "firewallArn", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The physical name of the Firewall." }, "immutable": true, "locationInModule": { "filename": "src/lib/firewall.ts", "line": 32 }, "name": "firewallId", "type": { "primitive": "string" } } ], "symbolId": "src/lib/firewall:IFirewall" }, "@durkinza/cdk-networkfirewall-l2.IFirewallPolicy": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "Defines a Network Firewall Policy in the stack." }, "fqn": "@durkinza/cdk-networkfirewall-l2.IFirewallPolicy", "interfaces": [ "aws-cdk-lib.IResource" ], "kind": "interface", "locationInModule": { "filename": "src/lib/policy.ts", "line": 42 }, "name": "IFirewallPolicy", "properties": [ { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The Arn of the policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 47 }, "name": "firewallPolicyArn", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The physical name of the firewall policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 53 }, "name": "firewallPolicyId", "type": { "primitive": "string" } } ], "symbolId": "src/lib/policy:IFirewallPolicy" }, "@durkinza/cdk-networkfirewall-l2.ILogLocation": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "Defines a Log Location in the Stack." }, "fqn": "@durkinza/cdk-networkfirewall-l2.ILogLocation", "kind": "interface", "locationInModule": { "filename": "src/lib/logging.ts", "line": 44 }, "name": "ILogLocation", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "The named location for the logs, provided in a key:value mapping that is specific to the chosen destination type." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 58 }, "name": "logDestination", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "map" } } }, { "abstract": true, "docs": { "stability": "experimental", "summary": "The type of storage destination to send these logs to." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 53 }, "name": "logDestinationType", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "experimental", "summary": "The type of log to send." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 48 }, "name": "logType", "type": { "primitive": "string" } } ], "symbolId": "src/lib/logging:ILogLocation" }, "@durkinza/cdk-networkfirewall-l2.ILoggingConfiguration": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "Defines a Network Firewall Logging Configuration in the stack." }, "fqn": "@durkinza/cdk-networkfirewall-l2.ILoggingConfiguration", "interfaces": [ "aws-cdk-lib.IResource" ], "kind": "interface", "locationInModule": { "filename": "src/lib/logging.ts", "line": 222 }, "name": "ILoggingConfiguration", "properties": [ { "abstract": true, "docs": { "custom": { "attribute": "true" }, "remarks": "You can't change the firewall specification after you create the logging configuration.", "stability": "experimental", "summary": "The Amazon Resource Name (ARN) of the Firewall that the logging configuration is associated with." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 228 }, "name": "firewallRef", "type": { "primitive": "string" } } ], "symbolId": "src/lib/logging:ILoggingConfiguration" }, "@durkinza/cdk-networkfirewall-l2.IStatefulRule": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "The interface that represents the shared values of the StatefulRules." }, "fqn": "@durkinza/cdk-networkfirewall-l2.IStatefulRule", "kind": "interface", "locationInModule": { "filename": "src/lib/rule.ts", "line": 185 }, "name": "IStatefulRule", "symbolId": "src/lib/rule:IStatefulRule" }, "@durkinza/cdk-networkfirewall-l2.IStatefulRuleGroup": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "The Interface that represents a Stateful Rule Group." }, "fqn": "@durkinza/cdk-networkfirewall-l2.IStatefulRuleGroup", "interfaces": [ "aws-cdk-lib.IResource" ], "kind": "interface", "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 279 }, "name": "IStatefulRuleGroup", "properties": [ { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The Arn of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 284 }, "name": "ruleGroupArn", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "the physical name of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 290 }, "name": "ruleGroupId", "type": { "primitive": "string" } } ], "symbolId": "src/lib/rule-group:IStatefulRuleGroup" }, "@durkinza/cdk-networkfirewall-l2.IStatelessRule": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "The interface that represents the values of a StatelessRule." }, "fqn": "@durkinza/cdk-networkfirewall-l2.IStatelessRule", "kind": "interface", "locationInModule": { "filename": "src/lib/rule.ts", "line": 8 }, "name": "IStatelessRule", "symbolId": "src/lib/rule:IStatelessRule" }, "@durkinza/cdk-networkfirewall-l2.IStatelessRuleGroup": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "Defines a Stateless rule Group in the stack." }, "fqn": "@durkinza/cdk-networkfirewall-l2.IStatelessRuleGroup", "interfaces": [ "aws-cdk-lib.IResource" ], "kind": "interface", "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 42 }, "name": "IStatelessRuleGroup", "properties": [ { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The Arn of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 47 }, "name": "ruleGroupArn", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "the physical name of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 53 }, "name": "ruleGroupId", "type": { "primitive": "string" } } ], "symbolId": "src/lib/rule-group:IStatelessRuleGroup" }, "@durkinza/cdk-networkfirewall-l2.ITLSInspectionConfiguration": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "Defines a TLS Inspection Configuration Resource in the stack." }, "fqn": "@durkinza/cdk-networkfirewall-l2.ITLSInspectionConfiguration", "interfaces": [ "aws-cdk-lib.IResource" ], "kind": "interface", "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 9 }, "name": "ITLSInspectionConfiguration", "properties": [ { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The Arn of the TLS Inspection Configuration." }, "immutable": true, "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 14 }, "name": "tlsInspectionConfigurationArn", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The name of the TLS Inspection Configuration." }, "immutable": true, "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 20 }, "name": "tlsInspectionConfigurationId", "type": { "primitive": "string" } } ], "symbolId": "src/lib/tls-inspection:ITLSInspectionConfiguration" }, "@durkinza/cdk-networkfirewall-l2.KinesisDataFirehoseLogLocation": { "assembly": "@durkinza/cdk-networkfirewall-l2", "base": "@durkinza/cdk-networkfirewall-l2.LogLocationBase", "docs": { "stability": "experimental", "summary": "Defines a Kinesis Delivery Stream Logging Configuration." }, "fqn": "@durkinza/cdk-networkfirewall-l2.KinesisDataFirehoseLogLocation", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/lib/logging.ts", "line": 162 }, "parameters": [ { "name": "props", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.KinesisDataFirehoseLogLocationProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/lib/logging.ts", "line": 153 }, "name": "KinesisDataFirehoseLogLocation", "properties": [ { "docs": { "stability": "experimental", "summary": "The named location for the logs, provided in a key:value mapping that is specific to the chosen destination type." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 156 }, "name": "logDestination", "overrides": "@durkinza/cdk-networkfirewall-l2.LogLocationBase", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "map" } } }, { "docs": { "stability": "experimental", "summary": "The type of storage destination to send these logs to." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 155 }, "name": "logDestinationType", "overrides": "@durkinza/cdk-networkfirewall-l2.LogLocationBase", "type": { "primitive": "string" } }, { "docs": { "stability": "experimental", "summary": "The type of log to send." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 154 }, "name": "logType", "overrides": "@durkinza/cdk-networkfirewall-l2.LogLocationBase", "type": { "primitive": "string" } } ], "symbolId": "src/lib/logging:KinesisDataFirehoseLogLocation" }, "@durkinza/cdk-networkfirewall-l2.KinesisDataFirehoseLogLocationProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "Defines a Kinesis Delivery Stream Logging Option." }, "fqn": "@durkinza/cdk-networkfirewall-l2.KinesisDataFirehoseLogLocationProps", "interfaces": [ "@durkinza/cdk-networkfirewall-l2.LogLocationProps" ], "kind": "interface", "locationInModule": { "filename": "src/lib/logging.ts", "line": 143 }, "name": "KinesisDataFirehoseLogLocationProps", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "The name of the Kinesis Data Firehose delivery stream to send logs to." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 147 }, "name": "deliveryStream", "type": { "primitive": "string" } } ], "symbolId": "src/lib/logging:KinesisDataFirehoseLogLocationProps" }, "@durkinza/cdk-networkfirewall-l2.LogDestinationType": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "The type of storage destination to send these logs to." }, "fqn": "@durkinza/cdk-networkfirewall-l2.LogDestinationType", "kind": "enum", "locationInModule": { "filename": "src/lib/logging.ts", "line": 24 }, "members": [ { "docs": { "stability": "experimental", "summary": "Store logs to CloudWatch log group." }, "name": "CLOUDWATCH" }, { "docs": { "stability": "experimental", "summary": "Store logs to a Kinesis Data Firehose delivery stream." }, "name": "KINESISDATAFIREHOSE" }, { "docs": { "stability": "experimental", "summary": "Store logs to an S3 bucket." }, "name": "S3" } ], "name": "LogDestinationType", "symbolId": "src/lib/logging:LogDestinationType" }, "@durkinza/cdk-networkfirewall-l2.LogLocationBase": { "abstract": true, "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "Base Log Location class." }, "fqn": "@durkinza/cdk-networkfirewall-l2.LogLocationBase", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/lib/logging.ts", "line": 83 }, "parameters": [ { "docs": { "summary": "The type of storage destination to send these logs to." }, "name": "logDestinationType", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.LogDestinationType" } }, { "name": "props", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.LogLocationProps" } } ] }, "interfaces": [ "@durkinza/cdk-networkfirewall-l2.ILogLocation" ], "kind": "class", "locationInModule": { "filename": "src/lib/logging.ts", "line": 74 }, "name": "LogLocationBase", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "The named location for the logs, provided in a key:value mapping that is specific to the chosen destination type." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 77 }, "name": "logDestination", "overrides": "@durkinza/cdk-networkfirewall-l2.ILogLocation", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "map" } } }, { "docs": { "stability": "experimental", "summary": "The type of storage destination to send these logs to." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 76 }, "name": "logDestinationType", "overrides": "@durkinza/cdk-networkfirewall-l2.ILogLocation", "type": { "primitive": "string" } }, { "docs": { "stability": "experimental", "summary": "The type of log to send." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 75 }, "name": "logType", "overrides": "@durkinza/cdk-networkfirewall-l2.ILogLocation", "type": { "primitive": "string" } } ], "symbolId": "src/lib/logging:LogLocationBase" }, "@durkinza/cdk-networkfirewall-l2.LogLocationProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "Base Log Location structure." }, "fqn": "@durkinza/cdk-networkfirewall-l2.LogLocationProps", "kind": "interface", "locationInModule": { "filename": "src/lib/logging.ts", "line": 64 }, "name": "LogLocationProps", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "The type of log to send." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 68 }, "name": "logType", "type": { "primitive": "string" } } ], "symbolId": "src/lib/logging:LogLocationProps" }, "@durkinza/cdk-networkfirewall-l2.LogType": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "The type of log to send." }, "fqn": "@durkinza/cdk-networkfirewall-l2.LogType", "kind": "enum", "locationInModule": { "filename": "src/lib/logging.ts", "line": 9 }, "members": [ { "docs": { "stability": "experimental", "summary": "Alert logs report traffic that matches a stateful rule with an action setting that sends an alert log message." }, "name": "ALERT" }, { "docs": { "stability": "experimental", "summary": "Flow logs are standard network traffic flow logs." }, "name": "FLOW" } ], "name": "LogType", "symbolId": "src/lib/logging:LogType" }, "@durkinza/cdk-networkfirewall-l2.LoggingConfiguration": { "assembly": "@durkinza/cdk-networkfirewall-l2", "base": "aws-cdk-lib.Resource", "docs": { "custom": { "resource": "AWS::NetworkFirewall::LoggingConfiguration" }, "stability": "experimental", "summary": "Defines a Logging Configuration in the Stack." }, "fqn": "@durkinza/cdk-networkfirewall-l2.LoggingConfiguration", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/lib/logging.ts", "line": 290 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.LoggingConfigurationProps" } } ] }, "interfaces": [ "@durkinza/cdk-networkfirewall-l2.ILoggingConfiguration" ], "kind": "class", "locationInModule": { "filename": "src/lib/logging.ts", "line": 264 }, "methods": [ { "docs": { "returns": "Array of LogDestinationConfigProperty objects.", "stability": "experimental", "summary": "Convert ILogLocation array to L1 LogDestinationConfigProperty array." }, "locationInModule": { "filename": "src/lib/logging.ts", "line": 326 }, "name": "iLogLocationsToLogDestinationConfigProperty", "parameters": [ { "docs": { "summary": "An array of assorted Log Locations." }, "name": "logLocations", "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.ILogLocation" }, "kind": "array" } } } ], "returns": { "type": { "collection": { "elementtype": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnLoggingConfiguration.LogDestinationConfigProperty" }, "kind": "array" } } } } ], "name": "LoggingConfiguration", "properties": [ { "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The associated firewall Arn." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 270 }, "name": "firewallRef", "overrides": "@durkinza/cdk-networkfirewall-l2.ILoggingConfiguration", "type": { "primitive": "string" } }, { "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The associated firewall Name." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 276 }, "name": "firewallName", "optional": true, "type": { "primitive": "string" } }, { "docs": { "stability": "experimental", "summary": "Defines how AWS Network Firewall performs logging for a Firewall." }, "locationInModule": { "filename": "src/lib/logging.ts", "line": 282 }, "name": "loggingLocations", "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.ILogLocation" }, "kind": "array" } } } ], "symbolId": "src/lib/logging:LoggingConfiguration" }, "@durkinza/cdk-networkfirewall-l2.LoggingConfigurationProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "The Properties for defining a Logging Configuration." }, "fqn": "@durkinza/cdk-networkfirewall-l2.LoggingConfigurationProps", "kind": "interface", "locationInModule": { "filename": "src/lib/logging.ts", "line": 234 }, "name": "LoggingConfigurationProps", "properties": [ { "abstract": true, "docs": { "remarks": "You can't change the firewall specification after you create the logging configuration.", "stability": "experimental", "summary": "The Amazon Resource Name (ARN) of the Firewall that the logging configuration is associated with." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 244 }, "name": "firewallRef", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- No firewall name is logged.", "remarks": "You can't change the firewall specification after you create the logging configuration.", "stability": "experimental", "summary": "The name of the firewall that the logging configuration is associated with." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 251 }, "name": "firewallName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- CloudFormation-generated name", "stability": "experimental", "summary": "The physical name of this logging configuration." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 239 }, "name": "loggingConfigurationName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- No logging locations are configured, no logs will be sent.", "stability": "experimental", "summary": "Defines how AWS Network Firewall performs logging for a Firewall." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 257 }, "name": "loggingLocations", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.ILogLocation" }, "kind": "array" } } } ], "symbolId": "src/lib/logging:LoggingConfigurationProps" }, "@durkinza/cdk-networkfirewall-l2.S3LogLocation": { "assembly": "@durkinza/cdk-networkfirewall-l2", "base": "@durkinza/cdk-networkfirewall-l2.LogLocationBase", "docs": { "stability": "experimental", "summary": "Defines a S3 Bucket Logging configuration." }, "fqn": "@durkinza/cdk-networkfirewall-l2.S3LogLocation", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/lib/logging.ts", "line": 117 }, "parameters": [ { "name": "props", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.S3LogLocationProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/lib/logging.ts", "line": 108 }, "name": "S3LogLocation", "properties": [ { "docs": { "stability": "experimental", "summary": "The named location for the logs, provided in a key:value mapping that is specific to the chosen destination type." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 111 }, "name": "logDestination", "overrides": "@durkinza/cdk-networkfirewall-l2.LogLocationBase", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "map" } } }, { "docs": { "stability": "experimental", "summary": "The type of storage destination to send these logs to." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 110 }, "name": "logDestinationType", "overrides": "@durkinza/cdk-networkfirewall-l2.LogLocationBase", "type": { "primitive": "string" } }, { "docs": { "stability": "experimental", "summary": "The type of log to send." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 109 }, "name": "logType", "overrides": "@durkinza/cdk-networkfirewall-l2.LogLocationBase", "type": { "primitive": "string" } } ], "symbolId": "src/lib/logging:S3LogLocation" }, "@durkinza/cdk-networkfirewall-l2.S3LogLocationProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "Defines a S3 Bucket Logging Option." }, "fqn": "@durkinza/cdk-networkfirewall-l2.S3LogLocationProps", "interfaces": [ "@durkinza/cdk-networkfirewall-l2.LogLocationProps" ], "kind": "interface", "locationInModule": { "filename": "src/lib/logging.ts", "line": 92 }, "name": "S3LogLocationProps", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "The name of the S3 bucket to send logs to." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 96 }, "name": "bucketName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- no prefix is used.", "stability": "experimental", "summary": "The location prefix to use." }, "immutable": true, "locationInModule": { "filename": "src/lib/logging.ts", "line": 102 }, "name": "prefix", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "src/lib/logging:S3LogLocationProps" }, "@durkinza/cdk-networkfirewall-l2.Stateful5TupleDirection": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "The direction of traffic flow to inspect." }, "fqn": "@durkinza/cdk-networkfirewall-l2.Stateful5TupleDirection", "kind": "enum", "locationInModule": { "filename": "src/lib/rule.ts", "line": 170 }, "members": [ { "docs": { "stability": "experimental", "summary": "Inspection matches bidirectional traffic, both from the source to the destination and from the destination to the source." }, "name": "ANY" }, { "docs": { "stability": "experimental", "summary": "Inspection only matches traffic going from the source to the destination." }, "name": "FORWARD" } ], "name": "Stateful5TupleDirection", "symbolId": "src/lib/rule:Stateful5TupleDirection" }, "@durkinza/cdk-networkfirewall-l2.Stateful5TupleRule": { "assembly": "@durkinza/cdk-networkfirewall-l2", "base": "@durkinza/cdk-networkfirewall-l2.StatefulRuleBase", "docs": { "stability": "experimental", "summary": "Generates a Stateful Rule from a 5 Tuple." }, "fqn": "@durkinza/cdk-networkfirewall-l2.Stateful5TupleRule", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/lib/rule.ts", "line": 269 }, "parameters": [ { "name": "props", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.Stateful5TupleRuleProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/lib/rule.ts", "line": 258 }, "name": "Stateful5TupleRule", "properties": [ { "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The L1 Stateful Rule Property." }, "locationInModule": { "filename": "src/lib/rule.ts", "line": 263 }, "name": "resource", "type": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnRuleGroup.StatefulRuleProperty" } } ], "symbolId": "src/lib/rule:Stateful5TupleRule" }, "@durkinza/cdk-networkfirewall-l2.Stateful5TupleRuleGroup": { "assembly": "@durkinza/cdk-networkfirewall-l2", "base": "aws-cdk-lib.Resource", "docs": { "custom": { "resource": "AWS::NetworkFirewall::RuleGroup" }, "stability": "experimental", "summary": "A Stateful Rule group that holds 5Tuple Rules." }, "fqn": "@durkinza/cdk-networkfirewall-l2.Stateful5TupleRuleGroup", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 533 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "optional": true, "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.Stateful5TupleRuleGroupProps" } } ] }, "interfaces": [ "@durkinza/cdk-networkfirewall-l2.IStatefulRuleGroup" ], "kind": "class", "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 522 }, "methods": [ { "docs": { "stability": "experimental", "summary": "Reference existing Rule Group." }, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 363 }, "name": "fromRuleGroupArn", "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "ruleGroupArn", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.IStatefulRuleGroup" } }, "static": true } ], "name": "Stateful5TupleRuleGroup", "properties": [ { "docs": { "stability": "experimental", "summary": "The Arn of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 524 }, "name": "ruleGroupArn", "overrides": "@durkinza/cdk-networkfirewall-l2.IStatefulRuleGroup", "type": { "primitive": "string" } }, { "docs": { "stability": "experimental", "summary": "the physical name of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 525 }, "name": "ruleGroupId", "overrides": "@durkinza/cdk-networkfirewall-l2.IStatefulRuleGroup", "type": { "primitive": "string" } } ], "symbolId": "src/lib/rule-group:Stateful5TupleRuleGroup" }, "@durkinza/cdk-networkfirewall-l2.Stateful5TupleRuleGroupProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "custom": { "resource": "AWS::NetworkFIrewall::RuleGroup" }, "stability": "experimental", "summary": "Properties for defining a Stateful 5 Tuple Rule Group." }, "fqn": "@durkinza/cdk-networkfirewall-l2.Stateful5TupleRuleGroupProps", "kind": "interface", "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 510 }, "name": "Stateful5TupleRuleGroupProps", "properties": [ { "abstract": true, "docs": { "default": "- 200", "remarks": "Estimate a stateful rule group's capacity as the number of rules that you expect to have in it during its lifetime.\nYou can't change this setting after you create the rule group", "stability": "experimental", "summary": "The maximum operating resources that this rule group can use." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 331 }, "name": "capacity", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "Description of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 349 }, "name": "description", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- CloudFormation-generated name", "stability": "experimental", "summary": "The descriptive name of the stateful rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 324 }, "name": "ruleGroupName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- STRICT_ORDER", "stability": "experimental", "summary": "Rule Order." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 343 }, "name": "ruleOrder", "optional": true, "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulRuleOptions" } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "The rule group rules." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 515 }, "name": "rules", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.Stateful5TupleRule" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "Settings that are available for use in the rules." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 337 }, "name": "variables", "optional": true, "type": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnRuleGroup.RuleVariablesProperty" } } ], "symbolId": "src/lib/rule-group:Stateful5TupleRuleGroupProps" }, "@durkinza/cdk-networkfirewall-l2.Stateful5TupleRuleProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "Properties for defining a 5 Tuple rule." }, "fqn": "@durkinza/cdk-networkfirewall-l2.Stateful5TupleRuleProps", "interfaces": [ "@durkinza/cdk-networkfirewall-l2.StatefulRuleBaseProps" ], "kind": "interface", "locationInModule": { "filename": "src/lib/rule.ts", "line": 200 }, "name": "Stateful5TupleRuleProps", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "The action to perform when a rule is matched." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 204 }, "name": "action", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "= ANY", "stability": "experimental", "summary": "Specify an array of IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 218 }, "name": "destination", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- ANY", "remarks": "You can specify an individual port, for example 1994 and you can specify a port range, for example 1990:1994 .\nTo match with any port, specify ANY", "stability": "experimental", "summary": "The destination port to inspect for." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 212 }, "name": "destinationPort", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- ANY", "remarks": "If set to ANY, the inspection matches bidirectional traffic, both from the source to the destination and from the destination to the source.\nIf set to FORWARD , the inspection only matches traffic going from the source to the destination.", "stability": "experimental", "summary": "The direction of traffic flow to inspect." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 252 }, "name": "direction", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- IP", "remarks": "To specify all, you can use IP , because all traffic on AWS and on the internet is IP.", "stability": "experimental", "summary": "The protocol to inspect for." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 225 }, "name": "protocol", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "Additional settings for a stateful rule, provided as keywords and settings." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 244 }, "name": "ruleOptions", "optional": true, "type": { "collection": { "elementtype": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnRuleGroup.RuleOptionProperty" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "= ANY", "stability": "experimental", "summary": "Specify an array of IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 238 }, "name": "source", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- ANY", "remarks": "To match with any address, specify ANY.", "stability": "experimental", "summary": "The source IP address or address range to inspect for, in CIDR notation." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 232 }, "name": "sourcePort", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "src/lib/rule:Stateful5TupleRuleProps" }, "@durkinza/cdk-networkfirewall-l2.StatefulDomainListRule": { "assembly": "@durkinza/cdk-networkfirewall-l2", "base": "@durkinza/cdk-networkfirewall-l2.StatefulRuleBase", "docs": { "stability": "experimental", "summary": "Generates a Stateful Rule from a Domain List." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulDomainListRule", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/lib/rule.ts", "line": 363 }, "parameters": [ { "name": "props", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulDomainListRuleProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/lib/rule.ts", "line": 353 }, "name": "StatefulDomainListRule", "properties": [ { "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The L1 Stateful Rule Property." }, "locationInModule": { "filename": "src/lib/rule.ts", "line": 358 }, "name": "resource", "type": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnRuleGroup.RulesSourceListProperty" } } ], "symbolId": "src/lib/rule:StatefulDomainListRule" }, "@durkinza/cdk-networkfirewall-l2.StatefulDomainListRuleGroup": { "assembly": "@durkinza/cdk-networkfirewall-l2", "base": "aws-cdk-lib.Resource", "docs": { "custom": { "resource": "AWS::NetworkFirewall::RuleGroup" }, "stability": "experimental", "summary": "A Stateful Rule group that holds Domain List Rules." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulDomainListRuleGroup", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 606 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "optional": true, "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulDomainListRuleGroupProps" } } ] }, "interfaces": [ "@durkinza/cdk-networkfirewall-l2.IStatefulRuleGroup" ], "kind": "class", "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 595 }, "methods": [ { "docs": { "stability": "experimental", "summary": "Reference existing Rule Group." }, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 363 }, "name": "fromRuleGroupArn", "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "ruleGroupArn", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.IStatefulRuleGroup" } }, "static": true } ], "name": "StatefulDomainListRuleGroup", "properties": [ { "docs": { "stability": "experimental", "summary": "The Arn of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 597 }, "name": "ruleGroupArn", "overrides": "@durkinza/cdk-networkfirewall-l2.IStatefulRuleGroup", "type": { "primitive": "string" } }, { "docs": { "stability": "experimental", "summary": "the physical name of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 598 }, "name": "ruleGroupId", "overrides": "@durkinza/cdk-networkfirewall-l2.IStatefulRuleGroup", "type": { "primitive": "string" } } ], "symbolId": "src/lib/rule-group:StatefulDomainListRuleGroup" }, "@durkinza/cdk-networkfirewall-l2.StatefulDomainListRuleGroupProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "custom": { "resource": "AWS::NetworkFIrewall::RuleGroup" }, "stability": "experimental", "summary": "Defines a Stateful Domain List Rule group in the stack." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulDomainListRuleGroupProps", "kind": "interface", "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 583 }, "name": "StatefulDomainListRuleGroupProps", "properties": [ { "abstract": true, "docs": { "default": "- 200", "remarks": "Estimate a stateful rule group's capacity as the number of rules that you expect to have in it during its lifetime.\nYou can't change this setting after you create the rule group", "stability": "experimental", "summary": "The maximum operating resources that this rule group can use." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 331 }, "name": "capacity", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "Description of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 349 }, "name": "description", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "The Domain List rule." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 588 }, "name": "rule", "optional": true, "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulDomainListRule" } }, { "abstract": true, "docs": { "default": "- CloudFormation-generated name", "stability": "experimental", "summary": "The descriptive name of the stateful rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 324 }, "name": "ruleGroupName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- STRICT_ORDER", "stability": "experimental", "summary": "Rule Order." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 343 }, "name": "ruleOrder", "optional": true, "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulRuleOptions" } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "Settings that are available for use in the rules." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 337 }, "name": "variables", "optional": true, "type": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnRuleGroup.RuleVariablesProperty" } } ], "symbolId": "src/lib/rule-group:StatefulDomainListRuleGroupProps" }, "@durkinza/cdk-networkfirewall-l2.StatefulDomainListRuleProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "The properties for defining a Stateful Domain List Rule." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulDomainListRuleProps", "interfaces": [ "@durkinza/cdk-networkfirewall-l2.StatefulRuleBaseProps" ], "kind": "interface", "locationInModule": { "filename": "src/lib/rule.ts", "line": 333 }, "name": "StatefulDomainListRuleProps", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "The domains that you want to inspect for in your traffic flows." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 342 }, "name": "targets", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "stability": "experimental", "summary": "The types of targets to inspect for." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 347 }, "name": "targetTypes", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "stability": "experimental", "summary": "Whether you want to allow or deny access to the domains in your target list." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 337 }, "name": "type", "type": { "primitive": "string" } } ], "symbolId": "src/lib/rule:StatefulDomainListRuleProps" }, "@durkinza/cdk-networkfirewall-l2.StatefulDomainListTargetType": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "remarks": "You can inspect HTTP or HTTPS protocols, or both.", "stability": "experimental", "summary": "The types of targets to inspect for." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulDomainListTargetType", "kind": "enum", "locationInModule": { "filename": "src/lib/rule.ts", "line": 317 }, "members": [ { "docs": { "stability": "experimental", "summary": "Target HTTPS traffic For HTTPS traffic, Network Firewall uses the Server Name Indication (SNI) extension in the TLS handshake to determine the hostname, or domain name, that the client is trying to connect to." }, "name": "TLS_SNI" }, { "docs": { "stability": "experimental", "summary": "Target HTTP traffic." }, "name": "HTTP_HOST" } ], "name": "StatefulDomainListTargetType", "symbolId": "src/lib/rule:StatefulDomainListTargetType" }, "@durkinza/cdk-networkfirewall-l2.StatefulDomainListType": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "The type of domain list to generate." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulDomainListType", "kind": "enum", "locationInModule": { "filename": "src/lib/rule.ts", "line": 301 }, "members": [ { "docs": { "stability": "experimental", "summary": "Deny domain(s) through." }, "name": "DENYLIST" }, { "docs": { "stability": "experimental", "summary": "Allow domain(s) through." }, "name": "ALLOWLIST" } ], "name": "StatefulDomainListType", "symbolId": "src/lib/rule:StatefulDomainListType" }, "@durkinza/cdk-networkfirewall-l2.StatefulRuleBase": { "abstract": true, "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "The shared base class of stateful rules." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulRuleBase", "initializer": { "docs": { "stability": "experimental" } }, "interfaces": [ "@durkinza/cdk-networkfirewall-l2.IStatefulRule" ], "kind": "class", "locationInModule": { "filename": "src/lib/rule.ts", "line": 195 }, "name": "StatefulRuleBase", "symbolId": "src/lib/rule:StatefulRuleBase" }, "@durkinza/cdk-networkfirewall-l2.StatefulRuleBaseProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "The properties for defining a generic Stateful Rule." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulRuleBaseProps", "kind": "interface", "locationInModule": { "filename": "src/lib/rule.ts", "line": 190 }, "name": "StatefulRuleBaseProps", "symbolId": "src/lib/rule:StatefulRuleBaseProps" }, "@durkinza/cdk-networkfirewall-l2.StatefulRuleGroupList": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "Maps a priority to a stateful rule group item." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulRuleGroupList", "kind": "interface", "locationInModule": { "filename": "src/lib/policy.ts", "line": 11 }, "name": "StatefulRuleGroupList", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "The stateful rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 21 }, "name": "ruleGroup", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.IStatefulRuleGroup" } }, { "abstract": true, "docs": { "default": "- Priority is only used when Strict order is set.", "stability": "experimental", "summary": "The priority of the rule group in the policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 16 }, "name": "priority", "optional": true, "type": { "primitive": "number" } } ], "symbolId": "src/lib/policy:StatefulRuleGroupList" }, "@durkinza/cdk-networkfirewall-l2.StatefulRuleOptions": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "Indicates how to manage the order of the rule evaluation for the rule group." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulRuleOptions", "kind": "enum", "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 296 }, "members": [ { "docs": { "remarks": "This option was previously named Default Acton Order.", "stability": "experimental", "summary": "Rules with a pass action are processed first, followed by drop, reject, and alert actions." }, "name": "ACTION_ORDER" }, { "docs": { "remarks": "Recommended Order", "stability": "experimental", "summary": "With strict ordering, the rule groups are evaluated by order of priority, starting from the lowest number, and the rules in each rule group are processed in the order in which they're defined." }, "name": "STRICT_ORDER" } ], "name": "StatefulRuleOptions", "symbolId": "src/lib/rule-group:StatefulRuleOptions" }, "@durkinza/cdk-networkfirewall-l2.StatefulStandardAction": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "Defines what Network Firewall should do with the packets in a traffic flow when the flow matches the stateful rule criteria." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulStandardAction", "kind": "enum", "locationInModule": { "filename": "src/lib/actions.ts", "line": 24 }, "members": [ { "docs": { "stability": "experimental", "summary": "Permits the packets to go to the intended destination." }, "name": "PASS" }, { "docs": { "stability": "experimental", "summary": "Blocks the packets from going to the intended destination and sends an alert log message, if alert logging is configured in the firewall." }, "name": "DROP" }, { "docs": { "stability": "experimental", "summary": "Permits the packets to go to the intended destination and sends an alert log message, if alert logging is configured in the firewall." }, "name": "ALERT" } ], "name": "StatefulStandardAction", "symbolId": "src/lib/actions:StatefulStandardAction" }, "@durkinza/cdk-networkfirewall-l2.StatefulStrictAction": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "The default actions to take on a packet that doesn't match any stateful rules." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulStrictAction", "kind": "enum", "locationInModule": { "filename": "src/lib/actions.ts", "line": 44 }, "members": [ { "docs": { "stability": "experimental", "summary": "Drops all packets." }, "name": "DROP_STRICT" }, { "docs": { "remarks": "This allows the layer 3 and 4 connection establishment packets that are needed for the upper-layer connections to be established, while dropping the packets for connections that are already established.\nThis allows application-layer pass rules to be written in a default-deny setup without the need to write additional rules to allow the lower-layer handshaking parts of the underlying protocols.", "stability": "experimental", "summary": "Drops only the packets that are in established connections." }, "name": "DROP_ESTABLISHED" }, { "docs": { "remarks": "This does not drop packets, but alerts you to what would be dropped if you were to choose Drop all.", "stability": "experimental", "summary": "Logs an ALERT message on all packets." }, "name": "ALERT_STRICT" }, { "docs": { "remarks": "This does not drop packets, but alerts you to what would be dropped if you were to choose Drop established.", "stability": "experimental", "summary": "Logs an ALERT message on only the packets that are in established connections." }, "name": "ALERT_ESTABLISHED" } ], "name": "StatefulStrictAction", "symbolId": "src/lib/actions:StatefulStrictAction" }, "@durkinza/cdk-networkfirewall-l2.StatefulSuricataRuleGroup": { "assembly": "@durkinza/cdk-networkfirewall-l2", "base": "aws-cdk-lib.Resource", "docs": { "custom": { "resource": "AWS::NetworkFirewall::RuleGroup" }, "stability": "experimental", "summary": "A Stateful Rule group that holds Suricata Rules." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulSuricataRuleGroup", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 465 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "optional": true, "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulSuricataRuleGroupProps" } } ] }, "interfaces": [ "@durkinza/cdk-networkfirewall-l2.IStatefulRuleGroup" ], "kind": "class", "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 439 }, "methods": [ { "docs": { "custom": { "resource": "AWS::NetworkFirewall::RuleGroup" }, "stability": "experimental", "summary": "Reference Suricata rules from a file,." }, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 448 }, "name": "fromFile", "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulSuricataRuleGroupFromFileProps" } } ], "returns": { "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulSuricataRuleGroup" } }, "static": true }, { "docs": { "stability": "experimental", "summary": "Reference existing Rule Group." }, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 363 }, "name": "fromRuleGroupArn", "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "ruleGroupArn", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.IStatefulRuleGroup" } }, "static": true } ], "name": "StatefulSuricataRuleGroup", "properties": [ { "docs": { "stability": "experimental", "summary": "The Arn of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 456 }, "name": "ruleGroupArn", "overrides": "@durkinza/cdk-networkfirewall-l2.IStatefulRuleGroup", "type": { "primitive": "string" } }, { "docs": { "stability": "experimental", "summary": "the physical name of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 457 }, "name": "ruleGroupId", "overrides": "@durkinza/cdk-networkfirewall-l2.IStatefulRuleGroup", "type": { "primitive": "string" } } ], "symbolId": "src/lib/rule-group:StatefulSuricataRuleGroup" }, "@durkinza/cdk-networkfirewall-l2.StatefulSuricataRuleGroupFromFileProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "custom": { "resource": "AWS::NetworkFIrewall::RuleGroup" }, "stability": "experimental", "summary": "Properties for defining a Stateful Suricata Rule Group from a file." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulSuricataRuleGroupFromFileProps", "kind": "interface", "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 421 }, "name": "StatefulSuricataRuleGroupFromFileProps", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "The suricata rules file location." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 426 }, "name": "path", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- 200", "remarks": "Estimate a stateful rule group's capacity as the number of rules that you expect to have in it during its lifetime.\nYou can't change this setting after you create the rule group", "stability": "experimental", "summary": "The maximum operating resources that this rule group can use." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 331 }, "name": "capacity", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "Description of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 349 }, "name": "description", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- uft-8", "stability": "experimental", "summary": "The encoding to use for the file." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 432 }, "name": "encoding", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- CloudFormation-generated name", "stability": "experimental", "summary": "The descriptive name of the stateful rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 324 }, "name": "ruleGroupName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- STRICT_ORDER", "stability": "experimental", "summary": "Rule Order." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 343 }, "name": "ruleOrder", "optional": true, "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulRuleOptions" } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "Settings that are available for use in the rules." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 337 }, "name": "variables", "optional": true, "type": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnRuleGroup.RuleVariablesProperty" } } ], "symbolId": "src/lib/rule-group:StatefulSuricataRuleGroupFromFileProps" }, "@durkinza/cdk-networkfirewall-l2.StatefulSuricataRuleGroupProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "custom": { "resource": "AWS::NetworkFIrewall::RuleGroup" }, "stability": "experimental", "summary": "Properties for defining a Stateful Suricata Rule Group." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulSuricataRuleGroupProps", "kind": "interface", "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 409 }, "name": "StatefulSuricataRuleGroupProps", "properties": [ { "abstract": true, "docs": { "default": "- 200", "remarks": "Estimate a stateful rule group's capacity as the number of rules that you expect to have in it during its lifetime.\nYou can't change this setting after you create the rule group", "stability": "experimental", "summary": "The maximum operating resources that this rule group can use." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 331 }, "name": "capacity", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "Description of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 349 }, "name": "description", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- CloudFormation-generated name", "stability": "experimental", "summary": "The descriptive name of the stateful rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 324 }, "name": "ruleGroupName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- STRICT_ORDER", "stability": "experimental", "summary": "Rule Order." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 343 }, "name": "ruleOrder", "optional": true, "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatefulRuleOptions" } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "The suricata rules." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 414 }, "name": "rules", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "Settings that are available for use in the rules." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 337 }, "name": "variables", "optional": true, "type": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnRuleGroup.RuleVariablesProperty" } } ], "symbolId": "src/lib/rule-group:StatefulSuricataRuleGroupProps" }, "@durkinza/cdk-networkfirewall-l2.StatelessRule": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "Defines a Network Firewall Stateless Rule." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatelessRule", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/lib/rule.ts", "line": 84 }, "parameters": [ { "name": "props", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatelessRuleProps" } } ] }, "interfaces": [ "@durkinza/cdk-networkfirewall-l2.IStatelessRule" ], "kind": "class", "locationInModule": { "filename": "src/lib/rule.ts", "line": 68 }, "methods": [ { "docs": { "remarks": "https://docs.aws.amazon.com/network-firewall/latest/developerguide/rule-group-managing.html#nwfw-rule-group-capacity", "stability": "experimental", "summary": "Calculate Rule Capacity Requirements." }, "locationInModule": { "filename": "src/lib/rule.ts", "line": 155 }, "name": "calculateCapacity", "returns": { "type": { "primitive": "number" } } } ], "name": "StatelessRule", "properties": [ { "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The L1 Stateless Rule Property." }, "locationInModule": { "filename": "src/lib/rule.ts", "line": 79 }, "name": "resource", "type": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnRuleGroup.RuleDefinitionProperty" } } ], "symbolId": "src/lib/rule:StatelessRule" }, "@durkinza/cdk-networkfirewall-l2.StatelessRuleGroup": { "assembly": "@durkinza/cdk-networkfirewall-l2", "base": "aws-cdk-lib.Resource", "docs": { "custom": { "resource": "AWS::NetworkFirewall::RuleGroup" }, "stability": "experimental", "summary": "A Stateless Rule group that holds Stateless Rules." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatelessRuleGroup", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 157 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "optional": true, "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatelessRuleGroupProps" } } ] }, "interfaces": [ "@durkinza/cdk-networkfirewall-l2.IStatelessRuleGroup" ], "kind": "class", "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 108 }, "methods": [ { "docs": { "stability": "experimental", "summary": "Reference existing Rule Group by Arn." }, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 136 }, "name": "fromStatelessRuleGroupArn", "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "statelessRuleGroupArn", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.IStatelessRuleGroup" } }, "static": true }, { "docs": { "stability": "experimental", "summary": "Reference existing Rule Group by Name." }, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 115 }, "name": "fromStatelessRuleGroupName", "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "statelessRuleGroupName", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.IStatelessRuleGroup" } }, "static": true }, { "docs": { "stability": "experimental", "summary": "Calculates the expected capacity required for all applied stateful rules." }, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 241 }, "name": "calculateCapacity", "returns": { "type": { "primitive": "number" } } } ], "name": "StatelessRuleGroup", "properties": [ { "docs": { "stability": "experimental", "summary": "The Arn of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 148 }, "name": "ruleGroupArn", "overrides": "@durkinza/cdk-networkfirewall-l2.IStatelessRuleGroup", "type": { "primitive": "string" } }, { "docs": { "stability": "experimental", "summary": "the physical name of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 147 }, "name": "ruleGroupId", "overrides": "@durkinza/cdk-networkfirewall-l2.IStatelessRuleGroup", "type": { "primitive": "string" } } ], "symbolId": "src/lib/rule-group:StatelessRuleGroup" }, "@durkinza/cdk-networkfirewall-l2.StatelessRuleGroupList": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "Maps a priority to a stateless rule group item." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatelessRuleGroupList", "kind": "interface", "locationInModule": { "filename": "src/lib/policy.ts", "line": 27 }, "name": "StatelessRuleGroupList", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "The priority of the rule group in the policy." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 31 }, "name": "priority", "type": { "primitive": "number" } }, { "abstract": true, "docs": { "stability": "experimental", "summary": "The stateless rule." }, "immutable": true, "locationInModule": { "filename": "src/lib/policy.ts", "line": 36 }, "name": "ruleGroup", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.IStatelessRuleGroup" } } ], "symbolId": "src/lib/policy:StatelessRuleGroupList" }, "@durkinza/cdk-networkfirewall-l2.StatelessRuleGroupProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "The properties for defining a Stateless Rule Group." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatelessRuleGroupProps", "kind": "interface", "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 67 }, "name": "StatelessRuleGroupProps", "properties": [ { "abstract": true, "docs": { "default": "- Capacity is Calculated from rule requirements.", "stability": "experimental", "summary": "The maximum operating resources that this rule group can use." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 77 }, "name": "capacity", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "An optional Non-standard action to use." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 89 }, "name": "customActions", "optional": true, "type": { "collection": { "elementtype": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnRuleGroup.CustomActionProperty" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "Description of the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 101 }, "name": "description", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- CloudFormation-generated name", "stability": "experimental", "summary": "The descriptive name of the stateless rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 72 }, "name": "ruleGroupName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "The rule group rules." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 83 }, "name": "rules", "optional": true, "type": { "collection": { "elementtype": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatelessRuleList" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "Settings that are available for use in the rules." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 95 }, "name": "variables", "optional": true, "type": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnRuleGroup.RuleVariablesProperty" } } ], "symbolId": "src/lib/rule-group:StatelessRuleGroupProps" }, "@durkinza/cdk-networkfirewall-l2.StatelessRuleList": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "Maps a priority to a stateless rule." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatelessRuleList", "kind": "interface", "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 12 }, "name": "StatelessRuleList", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "The priority of the rule in the rule group." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 16 }, "name": "priority", "type": { "primitive": "number" } }, { "abstract": true, "docs": { "stability": "experimental", "summary": "The stateless rule." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule-group.ts", "line": 21 }, "name": "rule", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.StatelessRule" } } ], "symbolId": "src/lib/rule-group:StatelessRuleList" }, "@durkinza/cdk-networkfirewall-l2.StatelessRuleProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "Properties for defining a stateless rule." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatelessRuleProps", "kind": "interface", "locationInModule": { "filename": "src/lib/rule.ts", "line": 18 }, "name": "StatelessRuleProps", "properties": [ { "abstract": true, "docs": { "remarks": "The actions to take on a packet that matches one of the stateless rule definition's match attributes.", "stability": "experimental", "summary": "Rule Actions." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 24 }, "name": "actions", "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- ANY", "remarks": "You can specify an individual port, for example 1994 and you can specify a port range, for example 1990:1994.\nTo match with any port, specify ANY.", "stability": "experimental", "summary": "The destination port to inspect for." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 32 }, "name": "destinationPorts", "optional": true, "type": { "collection": { "elementtype": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnRuleGroup.PortRangeProperty" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- ANY", "stability": "experimental", "summary": "Specify an array of IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 38 }, "name": "destinations", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- ANY", "stability": "experimental", "summary": "The protocols to inspect for, specified using each protocol's assigned internet protocol number (IANA)." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 44 }, "name": "protocols", "optional": true, "type": { "collection": { "elementtype": { "primitive": "number" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- ANY", "stability": "experimental", "summary": "The source ports to inspect for." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 50 }, "name": "sourcePorts", "optional": true, "type": { "collection": { "elementtype": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnRuleGroup.PortRangeProperty" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- ANY", "stability": "experimental", "summary": "Specify an array of IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 56 }, "name": "sources", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- undefined", "stability": "experimental", "summary": "TCP flags and masks to inspect packets for." }, "immutable": true, "locationInModule": { "filename": "src/lib/rule.ts", "line": 62 }, "name": "tcpFlags", "optional": true, "type": { "collection": { "elementtype": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnRuleGroup.TCPFlagFieldProperty" }, "kind": "array" } } } ], "symbolId": "src/lib/rule:StatelessRuleProps" }, "@durkinza/cdk-networkfirewall-l2.StatelessStandardAction": { "assembly": "@durkinza/cdk-networkfirewall-l2", "docs": { "stability": "experimental", "summary": "The actions to take on a packet that matches one of the stateless rule definition's match attributes." }, "fqn": "@durkinza/cdk-networkfirewall-l2.StatelessStandardAction", "kind": "enum", "locationInModule": { "filename": "src/lib/actions.ts", "line": 4 }, "members": [ { "docs": { "stability": "experimental", "summary": "Discontinues stateless inspection of the packet and forwards it to the stateful rule engine for inspection." }, "name": "FORWARD" }, { "docs": { "stability": "experimental", "summary": "Discontinues all inspection of the packet and permits it to go to its intended destination." }, "name": "PASS" }, { "docs": { "stability": "experimental", "summary": "Discontinues all inspection of the packet and blocks it from going to its intended destination." }, "name": "DROP" } ], "name": "StatelessStandardAction", "symbolId": "src/lib/actions:StatelessStandardAction" }, "@durkinza/cdk-networkfirewall-l2.TLSInspectionConfiguration": { "assembly": "@durkinza/cdk-networkfirewall-l2", "base": "aws-cdk-lib.Resource", "docs": { "custom": { "resource": "AWS::NetworkFirewall::TLSInspectionConfiguration" }, "stability": "experimental", "summary": "Defines a Network Firewall TLS Inspection Configuration in the Stack." }, "fqn": "@durkinza/cdk-networkfirewall-l2.TLSInspectionConfiguration", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 144 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.TLSInspectionConfigurationProps" } } ] }, "interfaces": [ "@durkinza/cdk-networkfirewall-l2.ITLSInspectionConfiguration" ], "kind": "class", "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 65 }, "methods": [ { "docs": { "stability": "experimental", "summary": "Reference an existing TLS Inspection Configuration, defined outside of the CDK code, by arn." }, "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 102 }, "name": "fromConfigurationArn", "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "configurationArn", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.ITLSInspectionConfiguration" } }, "static": true }, { "docs": { "stability": "experimental", "summary": "Reference an existing TLS Inspection Configuration, defined outside of the CDK code, by name." }, "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 74 }, "name": "fromConfigurationName", "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "TLSInspectionConfigurationName", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@durkinza/cdk-networkfirewall-l2.ITLSInspectionConfiguration" } }, "static": true } ], "name": "TLSInspectionConfiguration", "properties": [ { "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The Arn of the TLS Inspection Configuration." }, "immutable": true, "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 120 }, "name": "tlsInspectionConfigurationArn", "overrides": "@durkinza/cdk-networkfirewall-l2.ITLSInspectionConfiguration", "type": { "primitive": "string" } }, { "docs": { "custom": { "attribute": "true" }, "stability": "experimental", "summary": "The physical name of the TLS Inspection Configuration." }, "immutable": true, "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 126 }, "name": "tlsInspectionConfigurationId", "overrides": "@durkinza/cdk-networkfirewall-l2.ITLSInspectionConfiguration", "type": { "primitive": "string" } }, { "docs": { "stability": "experimental", "summary": "The Description of the TLS Inspection Configuration." }, "immutable": true, "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 131 }, "name": "description", "optional": true, "type": { "primitive": "string" } }, { "docs": { "stability": "experimental", "summary": "Tags to be added to the TLS Inspection Configuration." }, "immutable": true, "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 136 }, "name": "tags", "optional": true, "type": { "collection": { "elementtype": { "fqn": "aws-cdk-lib.Tag" }, "kind": "array" } } } ], "symbolId": "src/lib/tls-inspection:TLSInspectionConfiguration" }, "@durkinza/cdk-networkfirewall-l2.TLSInspectionConfigurationProps": { "assembly": "@durkinza/cdk-networkfirewall-l2", "datatype": true, "docs": { "stability": "experimental", "summary": "The Properties for defining a Firewall TLS Inspection Configuration." }, "fqn": "@durkinza/cdk-networkfirewall-l2.TLSInspectionConfigurationProps", "kind": "interface", "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 35 }, "name": "TLSInspectionConfigurationProps", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "The TLS Server Certificate Configuration Property." }, "immutable": true, "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 46 }, "name": "serverCertificateConfigurations", "type": { "collection": { "elementtype": { "fqn": "aws-cdk-lib.aws_networkfirewall.CfnTLSInspectionConfiguration.ServerCertificateConfigurationProperty" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- CloudFormation-generated name", "remarks": "You can't change the name of a TLS inspection configuration after you create it.", "stability": "experimental", "summary": "The descriptive name of the TLS inspection configuration." }, "immutable": true, "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 41 }, "name": "configurationName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- No Description", "stability": "experimental", "summary": "The Description of the TLS Inspection Configuration." }, "immutable": true, "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 52 }, "name": "description", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- No tags applied", "stability": "experimental", "summary": "Tags to be added to the configuration." }, "immutable": true, "locationInModule": { "filename": "src/lib/tls-inspection.ts", "line": 58 }, "name": "tags", "optional": true, "type": { "collection": { "elementtype": { "fqn": "aws-cdk-lib.Tag" }, "kind": "array" } } } ], "symbolId": "src/lib/tls-inspection:TLSInspectionConfigurationProps" } }, "version": "0.1.1", "fingerprint": "/hAePKlQPym4lf3IrbA+Re4J9iGhJw8HBqfvCx7RsLE=" }