{
  "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": "<div align=\"center\">\n    <h1> AWS CDK Network Firewall L2 </h1>\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<br/>\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</div>\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="
}