{"_id":"@ikala-cloud/aws-waf-solution","_rev":"70-40eb90afe534d44d059fa0538ac6bac7","name":"@ikala-cloud/aws-waf-solution","dist-tags":{"latest":"2.0.20","cdkv1":"1.0.57"},"versions":{"1.0.4":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"clobber":"npx projen clobber","compile":"npx projen compile","test":"npx projen test","build":"npx projen build","test:watch":"npx projen test:watch","test:update":"npx projen test:update","bump":"npx projen bump","unbump":"npx projen unbump","publish:github":"npx projen publish:github","default":"npx projen default","watch":"npx projen watch","package":"npx projen package","eslint":"npx projen eslint","compat":"npx projen compat","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","docgen":"npx projen docgen","cdk:diff-integ":"npx projen cdk:diff-integ","cdk:deploy-integ":"npx projen cdk:deploy-integ","gitpod:prebuild":"npx projen gitpod:prebuild","release":"npx projen release","upgrade":"npx projen upgrade","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.2","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.40.0","jsii-diff":"^1.40.0","jsii-docgen":"^3.8.10","jsii-pacmak":"^1.40.0","json-schema":"^0.3.0","npm-check-updates":"^11","projen":"^0.31.14","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.4","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.4.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.4","_nodeVersion":"14.18.0","_npmVersion":"6.14.15","dist":{"integrity":"sha512-kystTbFlKfZVIUDtALP9ccaiSqtL0DMtRzCXDLJspHkNDcKu0LgxFLt5qPkn/R5KXPHf1KX5Hm3NVBBSc9hPFQ==","shasum":"c032c446f0c6b350dad7fbea14c01368af82ad78","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.4.tgz","fileCount":65,"unpackedSize":634374,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG5d3W+56rZ9F3Gc2dpwHTS/siCp+rKR57ie8UTydTLUAiEAsVFcOzvIaaeX04wxcPAu6sveHfqh8aandyS2dYUr8wU="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.4_1635301799726_0.7906933331241821"},"_hasShrinkwrap":false},"1.0.5":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"clobber":"npx projen clobber","compile":"npx projen compile","test":"npx projen test","build":"npx projen build","test:watch":"npx projen test:watch","test:update":"npx projen test:update","bump":"npx projen bump","unbump":"npx projen unbump","publish:github":"npx projen publish:github","default":"npx projen default","watch":"npx projen watch","package":"npx projen package","eslint":"npx projen eslint","compat":"npx projen compat","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","docgen":"npx projen docgen","cdk:diff-integ":"npx projen cdk:diff-integ","cdk:deploy-integ":"npx projen cdk:deploy-integ","gitpod:prebuild":"npx projen gitpod:prebuild","release":"npx projen release","upgrade":"npx projen upgrade","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.2","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.40.0","jsii-diff":"^1.40.0","jsii-docgen":"^3.8.10","jsii-pacmak":"^1.40.0","json-schema":"^0.3.0","npm-check-updates":"^11","projen":"^0.31.14","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.5","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.5.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.5","_nodeVersion":"14.18.0","_npmVersion":"6.14.15","dist":{"integrity":"sha512-N9L0hd8L+q+PZjSO8EFp1BrL3dMaB4H/Jn0DS4S1hdPco7Pts/kgSgH7gJ8BK3VVF/DJatTpZlSuSc4bVZ8r9g==","shasum":"03c1d329a4577805f88ed01824388d1776f36a40","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.5.tgz","fileCount":65,"unpackedSize":634430,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF0jSESjD6HopDz5WcYgXLX9LCk5mBw68l3O7RwTJWXEAiBuuz4gkNj66gAmJXzfG5/a0NJF+aAzcaaWsVZzKe7BRQ=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.5_1635302440592_0.6130449314134139"},"_hasShrinkwrap":false},"1.0.6":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"clobber":"npx projen clobber","compile":"npx projen compile","test":"npx projen test","build":"npx projen build","test:watch":"npx projen test:watch","test:update":"npx projen test:update","bump":"npx projen bump","unbump":"npx projen unbump","publish:github":"npx projen publish:github","default":"npx projen default","watch":"npx projen watch","package":"npx projen package","eslint":"npx projen eslint","compat":"npx projen compat","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","docgen":"npx projen docgen","cdk:diff-integ":"npx projen cdk:diff-integ","cdk:deploy-integ":"npx projen cdk:deploy-integ","gitpod:prebuild":"npx projen gitpod:prebuild","release":"npx projen release","upgrade":"npx projen upgrade","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.2","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.40.0","jsii-diff":"^1.40.0","jsii-docgen":"^3.8.10","jsii-pacmak":"^1.40.0","json-schema":"^0.3.0","npm-check-updates":"^11","projen":"^0.31.14","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.6","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.6.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.6","_nodeVersion":"14.18.0","_npmVersion":"6.14.15","dist":{"integrity":"sha512-jj64IDzwGGzAHNZU76hOdMSBu497U2c45Pm4dPRhoNJob+iYkjhJCDj4QMstOubxkAlYuGoUzhZRtt19qFE7Uw==","shasum":"1c669b63cb160f759db98d169a6e037c6f335b63","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.6.tgz","fileCount":65,"unpackedSize":635845,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF5fFEDO9q36swYhCBcJjaAGPoeEpOEC5mmHrBdl6NnZAiAJrkILs8fADYDFaGTQ3XZMlg1VcAqoh82NTY1/ufB++A=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.6_1635324382729_0.9669188524836174"},"_hasShrinkwrap":false},"1.0.7":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"clobber":"npx projen clobber","compile":"npx projen compile","test":"npx projen test","build":"npx projen build","test:watch":"npx projen test:watch","test:update":"npx projen test:update","bump":"npx projen bump","unbump":"npx projen unbump","publish:github":"npx projen publish:github","default":"npx projen default","watch":"npx projen watch","package":"npx projen package","eslint":"npx projen eslint","compat":"npx projen compat","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","docgen":"npx projen docgen","cdk:diff-integ":"npx projen cdk:diff-integ","cdk:deploy-integ":"npx projen cdk:deploy-integ","gitpod:prebuild":"npx projen gitpod:prebuild","release":"npx projen release","upgrade":"npx projen upgrade","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.2","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.41.0","jsii-diff":"^1.41.0","jsii-docgen":"^3.8.10","jsii-pacmak":"^1.41.0","json-schema":"^0.3.0","npm-check-updates":"^11","projen":"^0.31.15","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.7","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.7.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.7","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-5ayBPGOXklLqUj7Q57XK/XhM0LtKACMKm3FSsiBLBj59E3eHtksoNCzRCbbsp9+Uo7AS6usSBhS/aDSotXTk6Q==","shasum":"4f336b1195566da79b9851693b8c65fbcd5eb0b1","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.7.tgz","fileCount":65,"unpackedSize":635845,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCds5OURN//Vr7gzNj7UcO2v2hm4MGea6SQS550vrmFoAIgGxWriOqUTRDldL1VRwsPFjGm2kfRj56ksSKSpLQEWm8="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.7_1635383429819_0.3085991432042041"},"_hasShrinkwrap":false},"1.0.8":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"clobber":"npx projen clobber","compile":"npx projen compile","test":"npx projen test","build":"npx projen build","test:watch":"npx projen test:watch","test:update":"npx projen test:update","bump":"npx projen bump","unbump":"npx projen unbump","publish:github":"npx projen publish:github","default":"npx projen default","watch":"npx projen watch","package":"npx projen package","eslint":"npx projen eslint","compat":"npx projen compat","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","docgen":"npx projen docgen","cdk:diff-integ":"npx projen cdk:diff-integ","cdk:deploy-integ":"npx projen cdk:deploy-integ","gitpod:prebuild":"npx projen gitpod:prebuild","release":"npx projen release","upgrade":"npx projen upgrade","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.2","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.41.0","jsii-diff":"^1.41.0","jsii-docgen":"^3.8.13","jsii-pacmak":"^1.41.0","json-schema":"^0.3.0","npm-check-updates":"^11","projen":"^0.31.16","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.8","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.8.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.8","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-ZByh0hB63cwSOl9g8NjMmzmok44iUQA/jMqc7Quy+/Cbodb3mMa1jLcYiwA+S9ZiWJ7HWWipmCL+58R2srzfrw==","shasum":"09bffc92fc38b930ebbfa0ba73e7290a2ee4b421","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.8.tgz","fileCount":65,"unpackedSize":635845,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCW9kolTeaIUmuT298xmkjr/1yjT9gWuJ8H7wltjWhsIAIhAMQ8KNdujhzd1f3RHvCjyKlDB2wZY1QvazyZCXN/Q9Ff"}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.8_1635469554481_0.07453595928926826"},"_hasShrinkwrap":false},"1.0.9":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"clobber":"npx projen clobber","compile":"npx projen compile","test":"npx projen test","build":"npx projen build","test:watch":"npx projen test:watch","test:update":"npx projen test:update","bump":"npx projen bump","unbump":"npx projen unbump","publish:github":"npx projen publish:github","default":"npx projen default","watch":"npx projen watch","package":"npx projen package","eslint":"npx projen eslint","compat":"npx projen compat","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","docgen":"npx projen docgen","cdk:diff-integ":"npx projen cdk:diff-integ","cdk:deploy-integ":"npx projen cdk:deploy-integ","gitpod:prebuild":"npx projen gitpod:prebuild","release":"npx projen release","upgrade":"npx projen upgrade","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.2","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.41.0","jsii-diff":"^1.41.0","jsii-docgen":"^3.8.15","jsii-pacmak":"^1.41.0","json-schema":"^0.3.0","npm-check-updates":"^11","projen":"^0.31.19","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.9","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.9.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.9","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-/0OufH3+QxjF8g9oIu89dzK8UjZASTQ7TOSepF896pTWeoHR/GXGR9IEPYim5iJg9XucFfiDhWWSD0pG+OtiKQ==","shasum":"f05431301f852524fd8b6e45e6f44d0163c74d95","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.9.tgz","fileCount":65,"unpackedSize":635845,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEDcNb2PWstf/jgx9A6/wVFYJAZyPLKw9QxvtipTJBhAIgCgLDFVBvgOe8TaOTwxNN5eDxwCSn5mxsexrOySNdGTU="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.9_1635743476198_0.5762842631460232"},"_hasShrinkwrap":false},"1.0.10":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.2","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.42.0","jsii-diff":"^1.42.0","jsii-docgen":"^3.8.22","jsii-pacmak":"^1.42.0","json-schema":"^0.3.0","npm-check-updates":"^11","projen":"^0.33.1","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.10","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.10.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.10","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-gpE7x3o5BdLaTChZXakyXlEFTfst42xIhE/6zz7q5kZuIvyOLjitQu/8V2AVP3ZgS1JVyokgzvTe/FxQE3fijA==","shasum":"838f5265d1c94025154c83d8099f3a270a2931aa","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.10.tgz","fileCount":65,"unpackedSize":636737,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGzBTvbaZa+uuOuVSUxL6y+p3PEgdMnkPElSCWUjXW1CAiEAyipbBwc6chZAyQQxjNsQxDQCKPE0FI8O4tDoTrpOevI="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.10_1636340799185_0.9459851418457013"},"_hasShrinkwrap":false},"1.0.11":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.2","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.43.0","jsii-diff":"^1.43.0","jsii-docgen":"^3.8.24","jsii-pacmak":"^1.43.0","json-schema":"^0.3.0","npm-check-updates":"^11","projen":"^0.33.2","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.11","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.11.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.11","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-7blQ+wZBjgSXNldL/xOyOgWJN3BqDakUVEhuUuDZAM/IQ0dGrVxOE3LZacdtPIdZSJbHgBam1TDisriS4TDlCQ==","shasum":"445d13b3d3f13254b98638d3f3989ed22d53fb00","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.11.tgz","fileCount":65,"unpackedSize":636737,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAu0ZKaKDI2RpjWTdKfL4TYnGUxJ7nrYFe967rpzIiyaAiEA73TjWvj2PsxiQw2/AoMbkEHe8GOoNV878Yznlqi0z00="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.11_1636441440320_0.9221138351170592"},"_hasShrinkwrap":false},"1.0.12":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.2","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.43.0","jsii-diff":"^1.43.0","jsii-docgen":"^3.8.24","jsii-pacmak":"^1.43.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.33.3","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.12","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.12.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.12","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-r6QwjePL0JBQbzutXqRPBl4oHAvlQ89eXhQFr/PmZOQgU0nWW5MXB3nMayRjT6O0M1jC5zLO+uR3b4jNkdKq7A==","shasum":"7bb67aa1eb5d63fd7d65adc7c6f0c538d83fdb8e","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.12.tgz","fileCount":65,"unpackedSize":636737,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCedCy3OxV+dUDdMdDoisf39g93dt9w6zkIxBX8sGMARgIgYp53DFrU9Tv18yzelez9HuCAPV1k5xjNZouVNQMxyqQ="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.12_1636506150246_0.654835936207322"},"_hasShrinkwrap":false},"1.0.13":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.43.0","jsii-diff":"^1.43.0","jsii-docgen":"^3.8.25","jsii-pacmak":"^1.43.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.33.4","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.13","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.13.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.13","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-6nf35kqLvQR23lgymsf5Y5VidUXBaZ4zlG4yJybAL2T+nH8ffSZzYz8JUhR/utk++dIBmJ/gO8as8uwWihBzsQ==","shasum":"b1d91a77c62addb248d85df51c60be452c86c8ed","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.13.tgz","fileCount":65,"unpackedSize":636737,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9Yz2ojHfH9hZLay6TmsCW0ndDamxBR5N82FQyGSzI+AIhALw+DoiyZigpO4KlUpIcJetidEeks7OmD6uYZmJUnq1S"}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.13_1636592612580_0.7976917103410623"},"_hasShrinkwrap":false},"1.0.14":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.43.0","jsii-diff":"^1.43.0","jsii-docgen":"^3.8.27","jsii-pacmak":"^1.43.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.33.5","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.14","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.14.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.14","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-dmJdVr5viHRxZL0wk/woFyrZLvBqpSnYFWu/hslvYOcGzAD9H9Cfl62k8TwJCfJx/haMEuYJ5nLSohQUDGjb8A==","shasum":"407e3acf4ed54783e7e2e2b0c42b0c21fa3be2e3","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.14.tgz","fileCount":65,"unpackedSize":636737,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDc2kz7t/d5PzE0WzMUFDy8SYX4FjPJte/qQoIrdhJYegIhAKxgUWAR2MVgp6vdwZuGgd9G/6MhTTFUkOjojmQ304I+"}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.14_1636679012586_0.1458308595211648"},"_hasShrinkwrap":false},"1.0.15":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.43.0","jsii-diff":"^1.43.0","jsii-docgen":"^3.8.27","jsii-pacmak":"^1.43.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.33.7","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.15","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.15.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.15","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-TGEKZES6J8Y269Z4VT5XtVlVN6pUhxQI7wtRTo+bQISYvfn2HrrFGqLGp0xl4REqSDSKzlhpI3viauou+cza3A==","shasum":"d0639cecc5e5652541be8fac128385e2a52fb287","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.15.tgz","fileCount":65,"unpackedSize":636737,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHvxfuQfEaliYoe5vmAtjbhX4PjMD8+uNWETgmYwL+RkAiEAmFVL2iPdAlECLk2hblUQQqC4GwBB119HygTmgwJo4bI="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.15_1636765256691_0.4811152989463092"},"_hasShrinkwrap":false},"1.0.16":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.43.0","jsii-diff":"^1.43.0","jsii-docgen":"^3.8.29","jsii-pacmak":"^1.43.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.33.8","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.16","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.16.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.16","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-UvvC4sVFlUcqt3nzgnb4rEcifBcXLWAtmo1UyizP8PDOz5XlV54GFV+rZbAxjysRQjt5Vp7HIeMpdQ38R24QGw==","shasum":"5a3f04431c03e12d51e8ba46a416e6a9240dfc36","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.16.tgz","fileCount":65,"unpackedSize":636737,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDQigQbWQJ1Trdj4HQ90lYm2JzBg1LanodA9IJ12ce0BAiEAn3LEnRT3uy5eY/10umnEe6RVaDVLtXVMrAbS4OrV92g="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.16_1636851803001_0.0013495839287205325"},"_hasShrinkwrap":false},"1.0.17":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.43.0","jsii-diff":"^1.43.0","jsii-docgen":"^3.8.30","jsii-pacmak":"^1.43.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.33.9","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.17","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.17.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.17","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-B5Yv63tsmm4K3CynJ7qTEruFNLeEg0i5Wq6wDpFvtTra0SdlufkSpHl4OJ/eFVTbN5C/NtDA471nooBF6h7NUg==","shasum":"5abefab35246aac5168442100bfccd02076c4b27","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.17.tgz","fileCount":65,"unpackedSize":636737,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG3TMkfLa3RXG5Y5gTKRkL5/wYxuiLXfMEOnXrhviB3oAiAsaVGx3bfqged/ap2CenbYcMwHO0JHns58vp7prVrpdg=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.17_1636938100994_0.17496435067978"},"_hasShrinkwrap":false},"1.0.18":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.44.0","jsii-diff":"^1.44.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.44.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.34.1","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.18","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.18.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.18","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-iYQ4J1AXznEe/0yMtO0VZUGHFDdwHD5ZM84oSbIpWM5tkh/uRLuEXP2cjk9DhgL1U49lQUII0k/1ixIeQ8v/kA==","shasum":"7d2aee94194f965704e01ff6cd42fee1b279912d","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.18.tgz","fileCount":65,"unpackedSize":636897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhkwNkCRA9TVsSAnZWagAA50YP/RmQFpGXeVCgVwnx1O6S\n2CrQRohVxzWfEpkmIur+YbYqCYrVioeYrGE3JKTUBfC/jwAPKyK5l6SYk7JV\nUfKe3BYvqYDiG02afK6a2cVs7WFp9mYeIHwc2r6fUHLtgnW0cOi0aTFiaAM2\nAtoYSXss6d+IuTSpDluv70OD/S1Al8QZ4bTK7ZKVYLttQ/8hdHVovyTD5AoH\nus1DwkTlogM5QIB6LK3Oo0cU4VNxoEZFdCDIHKehUSQv2APs4ojk6moWFKkE\nZvPH8R6Syt1GHDpA9QdAKsPgtihW6X0JgQLxVJs7aKJCbo5+g58A/sOit14d\nyuMn2ddTE4R5p0itjmP0GCcqOTvofD8LS4SKVc1Lp7YSpv2Av6MMOkfV8dpN\nFVB/HlL0EY+H5GsWMTiH3JcQ/3sxTxqO57bxzDkhDXCQ2FqmZgjESnDckJf8\ntz4ppRK3h1aODlF17XpVp00OuWSNqWF2cpAkF1uGWZCqU11Xv2WMhRzAMUKl\nul8tGC3nr0fS1Ncbq/mSXtPbYULcv7nc+bLLNpZbO1Kf6d7rfNRM3SK6BI8Z\nMCdzMcS0MaB0tPHuN+Rr6JPCJxVU1jv8aSvoeHVaZ3OzV/ADYMF5p4HztIOv\nFxg5xDWW0uBDiMsak4d+wFxF2YxyvBWupd7nONGKfJueUYfdYKdRTbRtFrpB\nBAXj\r\n=bejA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFyE+HTyD+nZaIaugTrLH+oSWnOVm6MPjZlj+HxE0UbiAiBt6fmCuj+zJGHe1tnx9hMZCIq0AP7lp2lNVqO+qi1pCw=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.18_1637024611008_0.18245241864543593"},"_hasShrinkwrap":false},"1.0.19":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.44.1","jsii-diff":"^1.44.1","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.44.1","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.34.3","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.4.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.19","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.19.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.19","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-2MXW/7ldwQ5VxAngG+iMqJM531gp1K36DgomC/dgv48GEJjoqjDVX/qokygWj79YDOHgM0FM/9rVm/rlrVhIDg==","shasum":"e8b98e7275ac3b4813634c2200a68a597707b633","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.19.tgz","fileCount":65,"unpackedSize":636897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhlFTFCRA9TVsSAnZWagAA3AMP+gLfrtmZuPCiYRh9EXzg\n0NmsMgllEziJgAJeEEJ/qP3QQ6yjoAge7R5txdMf+/+dmg+Ij9dD6hfhIu+h\n4Wi+EeaoreP+2aeq+x+QP3CXC7wdF5ApZI6NWfrADc1/8AuWfADnbcrudYbl\n1mwCrLktuEcVN44oO7of8fAT/zarGO0dXdBMuEG7afY1XJR2L5rHQa22fF+L\n6UAdKvrFgFviludCdJrh5CBvPRl/kVXkdkqOASriIwZMH0a42KJKMuPNqsyA\nGu8X5jcTpkuN0b/3PmaKhBL5TihKaTF3ATVMFLVkd/RH46TG45oOiz1UyK1i\nMYQpo/EMYnZinU76K4Bqr8TkSRKJhw/YQJZ4Cwdd20dpSKkbNcF6rwF9S3IY\n9Dm/zHpyAsqa5PvNA8IhfIVY4dSh0TRa4Q/ZyPX6DBjYnmRZG0egKoxzEa1o\ncT1pnN6XdUbaMC/Y8JUsB5/MWVF7beEVrAC01WtddYYQ8HXAekHJdo911uw2\njAu898PKXGYiqmR5rwq2vejwICTIPx71CesNkXsxVNFcmvCS+g/8LUULUa6+\ngGAXLAFu2zYAFOLSwDyqYY4ahYNydkeqC13tWBDcehcYshlhVYEB1+nmVe2W\ni58kG/vhVWQrCTGvRKS3s779W225rzz26MHeJfZ6cu3XJ/qvvTNMZWyyEFGK\nQFS4\r\n=jdzh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB6+qIDli+bOFXTl2p7R9O5jk31nR+d/dKscq4PUJ0mHAiA2pIwBI4aKOqAhUW8kXbJiLJKP1kBwBKMJidcgYUWR/A=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.19_1637110981767_0.5146489002314403"},"_hasShrinkwrap":false},"1.0.20":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.44.1","jsii-diff":"^1.44.1","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.44.1","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.34.4","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.20","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.20.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.20","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-40ryVpkSrGOrsyxPSmpO7/nwRjMLheTFj3RTjJxgtOeyZtmG7Nkifclwng2l4vFuarHPbWPAQ0kRO/yxzfpZ4Q==","shasum":"459fee3c021fcc847e751670e579968917e0011e","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.20.tgz","fileCount":65,"unpackedSize":636897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhlaZ5CRA9TVsSAnZWagAAFYMP/1yaJV0ZTuwMmUwSDHXq\n54h3Wg+Y4sHhsDLQwORj6d9jeoayq8OoCYoybI1qUxYa5XmSMmHqpbLd1ufO\nCd/zCENzpDksgnjAslKaAhyDmbK613UDpCflv5I2jUKHvpr5o8HMHqkogcgY\nkmzaIAfGzCyO4UnOvoKcVNxvMKgoUq7l3A2YLCy9SMhpY2LUrEmRWEvL4JjS\n4MpcP3YXmMuLz6Rr3ewbxS+vYBzWnJSPvY9KyIpLYa+sn8rJySpPwMqnE18a\ntJFipwwQSFkEQLZgYUNVDLb0esasTN+xWa7dJnZaY1s8NSQacZtozwQyU05c\njNhMoqe55ksmZUu7zdXg5Bk8qADclitC7WtAcW3Nce07V71BPJSyVGNbwGd1\nfQUTDki0AnO3WT6tuDvcJ09MUn0s7wvjMnSMR3aTgt5To+SpXX/8cjrW+g9a\nSyFrDYZAkSQZv+n5pjIGQxQLrwuqefnTPE0ut9wRF6ItVGy+degx1k112IED\n/E87YZl1Lu3bvidnhWbCnKQehzKjiVI68LvKd+Bv1HqAb2qdbd8gV8SOuIax\nET7Gn4IgMlkflKTiriU/uHAkqWdZab6UyOMLsnyuECRdv5Ug+tUJ7bI5QIWe\nxwCzIRG92bMjKpwohlZ9QWy2aKZ4WPdXzJl1jiwBJ1967uVUEjLku2VgfvS1\nEaTs\r\n=CGr3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA6S4dYtI1kQFaV7mSWiZSoOZ8hvE54QtjUWqV8JNuSCAiAmnZjhy+oDm3tOU7TRWDp9CL5NnM5SRDACAs8IyhFFiw=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.20_1637197433283_0.7469424215308449"},"_hasShrinkwrap":false},"1.0.21":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.44.2","jsii-diff":"^1.44.2","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.44.2","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.34.8","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.21","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.21.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.21","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-JpWiLbaDkPN1plLJOEcw9ZSGj1I3gazK16WkFSAP76Y5dILp+xChP6+iiAcufMmXT4CmsiWdMg8VihRUERFyDA==","shasum":"900c2f5aeaa50a1029315282bfbe6694ffc8178e","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.21.tgz","fileCount":65,"unpackedSize":636897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhlvfbCRA9TVsSAnZWagAAHRYQAIsbuLZRaIgMvVxw0Kjh\nZZBgjiYxzJehp+nMQHmZ3NtaulUkLGv6X0Ou8xTwmgq1Cl1QBTzKIfXds5m2\nv7F+8Y1wyAUzQQYMXp/RrKAE+o7u8ouCpmZwRb23bBdqnqJ95Yaqi4vhX6Lw\n9n6Pr5r6OYXYffqw33moFiTKeGdh2Zwui0VL03Bds5dDFNuQcBWucij6Y/HR\nUS8k/UNj3Z8YRCrrVUHChtnKVcnuP8lJbPV0UOSITFdvaKmDCr9Wfr4a45YK\nr3zlmePUAVaebT7q7G/BmiyLPfcKdi6IL4mZJc4FrtlLLqFhapuaZrt5ixKD\nXf1QypWoFRz5Df+ufZQS6jMEifcnEVkpTVntFZ3uQRyrvnGjbgUxkZq85Pq6\nIc1fHRKw9e+cbL/D0Fki7HMSb1EsIwpFtX0JgSDswrrqTO47gMHv7bZCUo6L\nSk30qzZ5h1RIuyTjJPi9gQMkzS1U6Yh0hVMnUxQwew/V6oQKmBaDyG1pa4YW\nS32cbdEVwRbmHIz5tmM6c3rzu0CoNjoRrFYlcHhvNrTGH+m49Z8Fe01h6oI8\nke2iD5ALtIfXKRZxqZSwvmAPcH2OEv1OSSbHHQ7YlhzApab7+7dusef01Egk\nqBOZLDsF3YprFTbbD9d9csraZZKFs2oIng4T2xICaoL5oFZBxt0/GbdXS77w\nCKVa\r\n=4Fit\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIoNVGNUt9rbGRXTfKbacdQmamlyDH3+RGqZHX5k0FmgIhAP375OgPmo3zKOH2gejTdIymzDTz0uj4AzZuffZNafdu"}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.21_1637283803562_0.4081129125140792"},"_hasShrinkwrap":false},"1.0.22":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.44.2","jsii-diff":"^1.44.2","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.44.2","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.34.8","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.22","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.22.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.22","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-YrZQmjdhrK4+/Skvbk6Dc8ZtzWH2GXvpNuzq+RnuurJAR4mh2bu9YtJP5kPYXruymii6kISgeat81Etfk6LVyw==","shasum":"da47658ef690970c661bf3b8758d7d7785039801","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.22.tgz","fileCount":65,"unpackedSize":637011,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl0CmCRA9TVsSAnZWagAA93AP/0OFEqxotN3sUkHfd6Mn\nXp3ct+0SqzWw5nQSGW1WH1yjin2h0o500ecj3OGKDFKeNSDCdjE3ZRTM0RBz\nQS/CvVI01JmvaW7OUXiGoETja1FOlBRPDSpbR4BiRl3h/igks+/LfU3rIjWs\nZYI0lwd7t4XCH9lT/iZWIBD991U99thhOgW5mlqSDNkX1wvdKA5EmzMmSQiC\nuZHNJ++gkzqHw9imRky5L529nweHXPdemmPw7p5oxTuap2MPQrgVw/fwjxSH\nMdDb7avrGlyWREzpc5mXFwxv9K1pLxcXAMjJ12sBaati+XMBKgp5ImDI0kf8\nym/+qyX2UXSmEqbMAp8pRonomeu5fhsNGLGLdhLiIo8hypCeLHYds6iTA0nH\n4AHiZwO5uXia+LlIg0RfO2E0s25+/DYPbwt/TfXMc6gXxWiBT6DF3o3Csxrs\nCdH56kL8JaB2qpFxtxd/1iZ9agu5YuRTYTNzhLa1bS8Adsr0HgnJ/motKP5w\ntLjERenBPvhhjLDqyYbSLER7jftHs6SXGNLXymJPp2pr34ubepkSAvfA5p40\nkIWIFgTvY2DXdzKni2+bodYUkbUH6HnKJmJLaQSMFbTX6IbpEjdwvr6DDpPb\nXsc3En9u24eXX+XEUTLS8BahdIXPF1LaoJfVN98fxc3dmdZZujRccfVpLByP\nwLmm\r\n=AgFy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDv3YbG38nO/DJVDoICdPCGPivHLLyBWspVBNwRLuK+fAIgJ6Yq8IWh2mR9OIJRYqliSXwPGZJQsXPcWTYo5R9DjMY="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.22_1637302438298_0.7506633545199977"},"_hasShrinkwrap":false},"1.0.23":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.45.0","jsii-diff":"^1.45.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.45.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.34.11","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.23","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.23.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.23","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-QtCOXTDeYEuWi1biJErZBDdrmHLDZlLRb85BnFEjMqp+jPBMwegNTh2kXtTt786J1kkfTXce0JtCtaQJ4PVtIg==","shasum":"8e06607b11b232fe2ce5adb2eea8db904bc76701","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.23.tgz","fileCount":65,"unpackedSize":636896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhmEkUCRA9TVsSAnZWagAAlZ8P+wXUM0skcU/gMK9P9m7q\nww5oJl79da/qr6bztL2sEIjP6Sg9wOHcanixzsDKyH4trSs4sbbsTnT9nBPz\nLBMLGUaw3FspH0jl6wcsbmlhLGDjMAvLryhStCmyZbSj6xnvCy1Rd2N5SuY5\neSDqGcXigTtO5p3OO8Nmbz7XCrMr2lD5IKqRnG1gSmwCtxtNRBIgRQAKblYq\nV2G74F+6cLdwDjhtQhzb1ga/FKiW2hUzY/dSfpuSm+KTmxcT6YEPGxu6AFS0\njrwUobv7Ok+glca8n383z2dm8qpXVCRrG0O0LQdI75XXZxJPXHMZ7zmQ54/b\n95UHkHrNI16Nvj1It3uXmLv5UPoWwuEiEH+J7owdMA/D8lJbPA8Zn1JjX3z2\nefhDDNZaYVpSMYMgqeu3RxJadMJ8YsGLJufIU5F5YuRxhV7CqSFCWjxtdyfB\nzaaZkjg97PgSLYeEm+VC5u4de+kkz2DuIpCzX4QyOwHMD2SwLBNy9zIh79ju\nbW0k6OxZJZ9Lkduhxr4CsoTp7OnpfJWBdEKwIat8SVmVLlhxfIUqKRukHLhD\ntOQC6AVdphjtdzW7+YZ9hWRrIcmgw/4zMcN3947BH85fcm6BjcKaPAHiaOP3\nLQYHSZz4eq+tqBzfFcDNmiyo6fogomUzt6Ex/87AUDJW+oMNJtsAd5rlmZmW\nO+P4\r\n=fDxZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFwfpFZcrbQExfuLSfJ+lWPb3YhnVOpvFlY8UtE497UMAiAnDntmwmbM/V5OGf2b63UfKqmo/pd8aa3dBcE1V7xxzg=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.23_1637370132602_0.2958358452539458"},"_hasShrinkwrap":false},"1.0.24":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.45.0","jsii-diff":"^1.45.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.45.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.34.12","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.24","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.24.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.24","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-dHLdsvv9eE4SMxq7RsD12wVI8ODaIN33INC2s++2QD4Iw7+FmLqui5SxEAjOYOZ1/Z3rhvrC0vEI5jWfb7ptgg==","shasum":"2cc5d3871592bd14a4f496e16e1c4728f1d4e3be","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.24.tgz","fileCount":65,"unpackedSize":636896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhmZsrCRA9TVsSAnZWagAACfAP/2jNiv2E5Aa/f3aXQRMX\nErtfWG/6UHnVkzxHydwlQxMmUNx302T1Qo9jkGlho8DpyT+ckt7wh/tzHVLs\ninQR4YyI/pB08QDivOXFv7m06uxcsX2l08jvVE+FTsnrDrwuru996d7zjAV8\nfQb9JKqDWH2Z6TC8eXQfqa1JhMDzKG/IgYpyI3zdbQE1jlt8EvthmX3xBdPy\nFUyYT5IvqBsa3Oqc4phrMEQDjWwcnqOx/VVtM/Yw6kt81ABtjQZKU5c4trQi\nKIHPuYToykSeBShWJeUEaH+hPCyztp+f4dx/az/r75rH+s0sAn6UP18puNJp\nJj+i5QOyw9eaIYGFlva02dbSDBYF5ci/JbgnwjvOgDd4yNk6MbNJ8aUS9LZn\nvaEGxhr0rA8BV0diCSPYHcQBDW60jdquqWBXajqoFVt+AXK0YYm1O8I5H2vT\n8J2HBB02fBKFPi9onZ0A+W9S826PKVMar6CSzzAhGgT5B94wDZE4ugqfU9u5\noIJ1j8CUuvxLB3h9qGrr4WVa/IODfy/TAR0hL4WBHxDXDDbxb5my2jSTnd4i\n77EMQKXgimV0NzRiro2y0a5qdPxi3S9ypcN/YGyJJiaTSTMOudxZAC9ExQD3\nLj8W0SjtOUrWpUhTrbJeSAcspUPUALNy/sPaDsVqwPXXvGHwq9PduqA0SfXq\niYXg\r\n=/3jM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDR7qavxw7DIRNU7c+Iv/tBrk26OcBEN0Vj4KEVhwNbmAiEA9IW86lRsUbV2aZHSDxFL2LfJJFae8CMzFMIGyR+Pz8c="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.24_1637456683223_0.5080569602933962"},"_hasShrinkwrap":false},"1.0.25":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.46.0","jsii-diff":"^1.46.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.46.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.34.13","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.25","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.25.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.25","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-A4ksnbGmUoTU0vqhgwb9wf1Cm9IyV8qk3I3kNtsikmHuMiF8Fhx5byaJAtbaZT06a8wBgVpvZzpz2RtIfmdTIA==","shasum":"db8ac68501aa8116da4afe89a48ba60e80bf6c0b","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.25.tgz","fileCount":65,"unpackedSize":636896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhmux5CRA9TVsSAnZWagAAnCUP/R8l28zbZARX9sYVyx5q\n1y9u4S58QgjPps91AoJZ0Owde7Jhu2QYDUC5nesS3n0Q8tAoGb8Aq5O79jNg\nZUAL8UiEZ4ntZougjMJ9hT8Jzg+MMupGlU4hCjS8yssuU2H7p5BkIIG3VlUJ\nTm3RQ7l+cfHlkeYDCVPW13LSA6fF/2GzrHYKAGbCvI6pTJgR3Zaft+PzzDzZ\n3l5oQghJjRtc4zAHgYDdjGIEvH6uNRMPy3IVbKn+bpei9lzjjD+vjabYrRp+\nl5WNw5uOkoP9l1O2UseTVxLfntIHuKD3uzZflLNSXMNnzZ1ADBeOYKyb1N9K\nbJMnofwklbRMP54y+BDmbxxo+sAsV21U8MZPghja3F7HG8naGmTdOVQAwRcP\njukU9H//SIOhSeqnki3ptkN9FdOSe3o2kcm6iV3zlnOSCpdnrRjhLQgpjWDO\n82g9Kt0I4r2+BTyyQ4DCFt594nOkkxdE2ODs52LfoDV09kM7qKMeTJ++16gm\nXVa+Rg9iLgxs7DGfpCOdOXpIEKdniQCIs5teMbQwvBydet+SwLQ3f/0F9jeo\nilyvbc/KHRKzVY179Jc46jK3b9PU3UIICSIWAIfAzklsvZSFCwFgXUwrMX2z\n6F8CGbMUGKhm0zvKsJ79AH286tJ6nsorReDGCWKh3j7B515z8CH44fvznG4d\n2S9h\r\n=0R/7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHkK22E+MmRZG3+7yid5vIF6y0u9BNtQdJhtv2vRHQ0pAiEArXn+AaCRGvH9mCmwfFkTlU8sfdNmEH9qoJGLIHMPKZ0="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.25_1637543033139_0.6381332602137075"},"_hasShrinkwrap":false},"1.0.26":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.46.0","jsii-diff":"^1.46.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.46.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.34.15","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.26","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.26.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.26","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-WnNS1is7gsnT90W5UdwiMq/Vhz5qEvujVrC3E8U9qdo1bHdZ2p/HQWJvMj9dtK+getD1hwySOyWR5/Lof+Xebg==","shasum":"027b850489792fa999266b06ba39d32260aefa6a","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.26.tgz","fileCount":65,"unpackedSize":636896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnD3SCRA9TVsSAnZWagAA4l8QAJQHBrY8F23ju6jdVaGs\nwyJVYu/h3DfgetJEPQ/CeFRMbs+kPl+/dDyBz8ebk+D/6dCitlohAQxBLQ16\nSMAgbhfIxNzu1fg/tG1ZOydh3FqX3vsGkhHFhjB6SEljx53KbuZRCO1xv/7o\nsiNiV5eX8S1Y2soULt/YrLi2dD0gnEwPmf+UeL43Au/3Sd3YQ8CghdMlAZGf\nL4YeONv1IYD7JNE7tWKqTfBf+E5HC77qsdtJu5H+uXOmTXU3KoFXuo8aCo9c\nSM9zut/eofmH3Wycw/yw6NS+/GGUGMl/MSrxIED84dXmtfC5bODolz38/Y3b\nIXLrGoCmDuNFUCZrxkrGDDidA3ZeswHhs5WinU3fMVKAvPo00S5eiGO2xdLU\njhAR5YgThg5ADaQv/OqvmagOcsg0cegUtEA0rF98zz7uMYbLv5Oo5cksAUwU\nSc2SSz4w3kGrhJsFS8b5FQjWIR8FnaiYhoiBOqc0WnrKgwGIQN5oZcfEI9z/\nr1GTGTfplwsza0fwopsGi3tRi7+PKCLtRppzSM0pBP1FUSXNqt3wuiEfi/jm\nrqNgKfW7DATlfhUjlHP8K4nNUYwRKLUTgwqdnI8cSXTUt4gax0g51YFLE+2t\nvIorfEnfLyLhWHPZAY0muoYWp/fTSsBDQsrcxWRPLfsjSBdc8sYEl/1+oLBG\nbqi/\r\n=QZSh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxE65nMu3IoC9n1Gz8u+i1pJUI/565+kycTauoWDxOGQIgQhTi2Igz/skYVjqoudRTVxlMeZIQAsZa9pi9MwR4xIE="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.26_1637629394704_0.4141956971683247"},"_hasShrinkwrap":false},"1.0.27":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.46.0","jsii-diff":"^1.46.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.46.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.34.17","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.27","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.27.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.27","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-jJc/Gn/EMLnJZLSW1k4IY7g5AGbNeV0Xhw+JzjJo4Id0H1ZucnHiZi4N9EIC4MZrT0stuKJVd+hqLo6MYXv2hw==","shasum":"0f9576d6921f2b0f5b8471709d8a79f44edc1d9e","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.27.tgz","fileCount":65,"unpackedSize":636896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnY9FCRA9TVsSAnZWagAA838P+wRs44dlXNiQenYfO1xR\nvEK1mo2gxNkfMyAwBmRkjbPlqeY2SdF5XJwHngWeFDdqdjAYfFIsycBhY9xh\nYx/aJdvSGUsK2LE7qNbqPDpR2vuWV0+ukafoQf5oTjKkxaUqjt4dyr0dNCJV\nOolm5o7VYZJqIOWssmgeHGyBp+JUI2199t2h2Tu5e+FPW1plnMk6TMxYKpEg\n3ueKEMWl8QKZG6XAG7LfGIMzFKA1oILGLrkwgTJI3xyOohGpN63MjM5dtXF4\nliW5a7o3ge5pH4MNb+RhD+yezlKUkgpWN3eNLBJbiRZeCbrFw/VcZbcscmD8\nHHDsw7Jp3ItTEpcNJ0fm3m4Bd4mgna3lakDEIikYrNxlzZhmoeIRwCVcOjA+\nqxCkd9NKbjvifD0Z5vGUyXzy5Y3Kia7Rj4RY7MxS88atmtlFvbhzbMGr+Ec1\nBA0iSLU/fX9pTgOWoIkwFIEFBDUh6NfpUJiRl9sHj7zu901OfHxI9EVW/jYo\nlT7RWhGesAVacQxJTjq1LaEGBDcVOWzP3FHocDvQuxO/3Nbb5qvbVsogyWU8\n2mDYHXkoqi/9V1k6T+pHW0BnFMZe7lPl3F20J+xidR7xZ81Fbr61SPNWqDKm\nPcqpDM/5zvTBVG9rJTzRP6mpYIz4r8AHEkzFc1xtlrsAcW4UyDJced1SgYED\nOGq9\r\n=oGUx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICuWuKpgQUXEdhTagnRWy/IFt3lZ51iMyqY5TXWBdog/AiEAwNRWR/LnV/RkHFEvnEn4t72Ucex035fzuwcE3FNcQdA="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.27_1637715781718_0.11385438769025935"},"_hasShrinkwrap":false},"1.0.28":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.46.0","jsii-diff":"^1.46.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.46.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.34.19","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.28","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.28.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.28","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-2dK5bZrelPcUffSBYh++rNJGXn4O4P9KXz8P80YLcjlEPwFs2f7inyoXIYN13Z76bL8UG6a/icWXvkH9B5X4WA==","shasum":"26d6c947408289e44019ba161af459910cf16b01","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.28.tgz","fileCount":65,"unpackedSize":636896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnuDVCRA9TVsSAnZWagAAsIUP/RsWc55ZnmH1sM8xb8Tg\nXVeS/z2ETVlgkh6nhBUaBtd9RT5fjJPH8cRp8otaZ3akiSJIKWkMKNYAFU0k\nhgaAcuUXaYjUVrwG+MzSaUN4EhGUDb2zNoWisEix/ZZ3UbMbHqlAmcwxESip\nSTkyKWtioOgVSWj6CrvcUxYWZBo15cM1PDLLTpA6ABt6IM5JmCeIHwP08S6b\nBZR7iAlDhJI+M6OTCqNL5CUSksj8ViF1eQZU/8CKMx854WlZjD8+LfYWJaYf\nEHSSkwXpL1URqLRkKZSVOba2rpHNjk/J93ijwEovefooSXk3foZ5eAoW6sr4\ne83TYfbMg/q3EY+NCLTzG+oJbi9bBIiLiDXewXKulnmcYxxUEHPrBZQQAVSx\nsP1GZvneT7NI2l6S3/Wns1rF7TP/ZQ2AFSB0MOKy9YiLPWSaazdxnBN2iECx\nnVwwwP2ViWietCNSZ5r4LMlIHmNhj06hk3KXvwiHRE91rxr9TBzNiMEpRl+n\nyQGRg2A7scNtzWz5ebqAgnw/qULZFfBI6bKlbUPG195pAIH8/7lrhJ+XPpFP\nQQ54fpFQXJDqlGEqfysoT560MhDdXT4JeM7E8/1P2+c/HAiYegaO/J5ZRSE8\nIutyA0+5RQcfmKwx6QZKVgcrBtyjfRgwjut8lWLhLu+AEwC2frWD6Mf4OpJs\nXu/c\r\n=5BXC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCeGg2dCotlNgp33MBVJUQUe70sfFjrTVhoEAzkQEUT6QIgI2twofJPihbJMqv5dbyiTovtZVyjg0834LsWJrzh4a8="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.28_1637802197546_0.558461528823857"},"_hasShrinkwrap":false},"1.0.29":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.46.0","jsii-diff":"^1.46.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.46.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.34.21","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.29","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.29.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.29","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-90BiSd/XUUKKOMgI18P6PLKRxFk+FpMBmc/qkNaEpqlWjvmMI0F9CqZOtfhCEXN0hEYybiW7U8KHvZjxRZpjCA==","shasum":"745d1c120bae6581113e5d884f1789d04e4180ff","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.29.tgz","fileCount":65,"unpackedSize":636896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhoDHtCRA9TVsSAnZWagAA9I8P/2iOrssb4zTauiRlkAeb\nQCeIA60HpGh7tRAlCl0MTFykoKx7utOK6KNaqSw8oQss1B+KWEuzPq5gurzY\nr8vMQ6hEL6EG0B9RpXK3v8Y4jRW60gh74Z4C/JyQduDN71/M83eOCyZsO6EN\n+S4FriMhXJIPmfHcWpBC070n0vH9Gle2SRezSzj859w8WCysOoFznt5B9pFi\nuScEK70O7Mkk+mB2axXQXj/V9MmyFqcOdzmg8tFaRtGI+G+0FIspt8d8/xEe\nKa5OdAbXE3mdM1QzIh8VfrxgRF2HyM3vMlOtHFyGEMcQa1hN1uz74TwMsY/1\nQ3qAUKjZUuqojaitqbVoNyBNRZCSWeCewUD2YCjlMEmJFLNOhQ1kNsY7B5mH\n31R6O4NhpmNbVZh7UNr/OMYrGTU06jq3Yljbh2Ktt7HES11bWFhQhceRwnG+\nDn1+36y7lSCNIYVBozem9Gm13k+uxk1v+aphdRT53J6w3TnhQJpZ/cvAF0rL\nmA5ZlT39B8v+Tk07PiwLkle6zbCj1Ft872aEmC1XRUmJVe7Tz8TgwG+OkkpY\nBISqdjqF66tF2O6+B9OjiuuGlCCvK7vgsEFAJm7AwaXm+R09CoTld5DAQnvc\n2qmpIexyaYIlb16znTE4s4rM61vkfGO0ZeL7glzg5pmdp81/wj1/ZaJeqsO/\ncC93\r\n=RZSU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG9wxOARLlHORCPm0s5UHoJ6/70IvSxITBE5M9B5S1+AAiEAwtaHSVHrO5vjVh5jsxnhAAa6rehWwjcIZvPHvWW+NWg="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.29_1637888493014_0.6394753925514962"},"_hasShrinkwrap":false},"1.0.30":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.46.0","jsii-diff":"^1.46.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.46.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.34.23","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.30","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.30.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.30","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-MsG4Z8SboErBh0CdpG3HAvBCXzMSWBxVqkgblQzXwxWrc1fLNvSOMoVOEx40gn9feG5yN2uy8Nq52v9/grA6KQ==","shasum":"70abc5001925fa8c672980fb6bab48ff9c4c216a","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.30.tgz","fileCount":65,"unpackedSize":636896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhoYM8CRA9TVsSAnZWagAAvoYP/0pH7h5Z7DDhDnUWt0tT\n0JPQBSVPyneJiBC5cs+0LL0HOcKb1mK+yDExgh+ZURi5jiMRp/AszbxJ1upD\n0jAT561iyI8RGfaxIch5uv8FSsr8USFQIIGHhpZHRxPlnVe0j22QN90JsL4T\n71TLKI5ZV7tN4wSlZbkfn08lx/pZmX+DUh6SN/UuVzJ30cEKIg2BOonCBomB\n88Gl7jZ165TmInGfZIo1+4bRzd9aHL7Ue0+Vj5Qwst/P25zkMlGTvMxUztE6\ntfO1hfcFSzjiamVo1J1WfXmUdPm1ANq7m7j3NGMnrgFPpR6espSgnatLHOBR\n5A/hFfJFp5GBP5ZIY770r0j7IMcRKF5ZpT5IQEfGc+1lsB0bbbJdslJn7BA8\nAxIfuKeci4sC58E+XxxznmkJq7CP1p76Dc+Ft4vkzkTBGfWH7r2spSgbhs8e\nj8WXH5sVYg6rc6t7SvM6Exg5AQhh1CTmON1be4th+yfKj6HW88ahoZc8n3nu\nBkFbXinUInn93AJ8gLBAAkP2jobYrQmC3Qga82DcadSnppoeaUyPH8zKbZwj\nvBnnfKES9ttwFqvTv1LF91OgRBFn6PIhMpm6GRJTDzAs+1Dm3yfNM21Zb7u7\nO5kxGGX0FeTV7puPVG71vHmreKbE2fzTpZoplfIdqA1rdLo2dtfUeaR788Pt\nvyPI\r\n=35Y9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJSsb+1I3awR2HeY8CHZn3sTGA7t9KMvmZJBv6aOvr6wIhAJ1nlIE0HCeyXmEicPdsuHasRVNmEiDShG4qMxWhgp4G"}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.30_1637974844381_0.05320380175739947"},"_hasShrinkwrap":false},"1.0.31":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.46.0","jsii-diff":"^1.46.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.46.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.34.24","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.31","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.31.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.31","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-TOgOOFqXbdrjmeLm2bWuN/WeUaHGvdHuTg1Vkk06BZZzStfdKmWH/nsCI5lmVPvt0Qb9DJZ6ct4tDO4b3TpccQ==","shasum":"f3cede8ff2e0f8d817a46bdca273a516a9617e77","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.31.tgz","fileCount":65,"unpackedSize":636896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhotWHCRA9TVsSAnZWagAAttoP+wajy1mJ7UblYW5z5nHs\nAgT/JgwwjSOz0zX+8bQy6nM38tvN0Y2V+daU7BfBveR4W5bxhtZNCoqTEFcB\nwprs+p+6Jcef/TCfr90lp8DgQjqpqceMueNktg3tRNPR//+1sQ1X2MnfrtLV\nA5T9ZWg16W4IG9cQs88NB39mqjm9+4/H/gzNlomanzNy89gevZ4UjF4Q26lJ\nhQbvFkup46XhBNt7A9e6jw03TtBkJDpzBQkpXcJqcp0C4BCYs5NJlNqlObey\n2hQtVJOq/AOfnGld+4t+a0NDsA43axyumZAZGs5phLD2Tw8Jz8dTgCkarj+k\nARRhna1RqnE7I63gNEOaU1Bg8J48ajtvX8S/mkMjYCkSiDB2dVG+5DCg6ZOC\nJD75Rhn62Tq+QtBQb4tgrh0/+jtwILIr1DGsFZyIHX0KygNkIhq8HT1X9cq5\nR0w871ZgNhhqpZgJz/DaJWeNqjOB4ZUvS2ueGTLK/HHlicVp4L5ppEaM8z2P\nD4cgN7BcYh17oUdNUc6q3QU21cjNlrPZHyz8ZaT3OK07ksUlX+kSRFHaEhVG\nInhYmslzt4Wi7kCQAhJaq2efDPwI8JBFtBF/isAlbWuxC3fH/oTtKOtl6n1y\nc5zkWydpM3ic1tN9guCKV9ihjekqqfonYMI6UZDqiygclRXTGR8DvQsatMiw\nNsMo\r\n=1+VA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCr1KlPefmmNXfMie+1yJtjMbgGG7BaqjELQc6luEdl6wIhAMkkIMrmx4NprbJZqt18R7TVejMOmruhfZFxemuYm0xP"}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.31_1638061447226_0.36272713135644663"},"_hasShrinkwrap":false},"1.0.32":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.3.1","jest-junit":"^12","jsii":"^1.46.0","jsii-diff":"^1.46.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.46.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.34.25","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.32","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.32.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.32","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Jzbv0r9D8gCRfxhHon1DuljDdzWclMPLff9kGx9OG/AHJSqBRi5HvW7Sa/8QMuJTzCOvLKNwRmwEqhuThOPQEw==","shasum":"33a94fd503349ba4bf51fda0fbb5a790c42295e6","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.32.tgz","fileCount":65,"unpackedSize":636896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpCagCRA9TVsSAnZWagAAr7wP/RrsoXv7dCv6aRQq2+iK\ntKq/EE+FjJC1U5j+ohOMzzJOHwv3uvtwWE5YiQ4Pd7q8Rf/uagssSuW77aZp\nqsZHp4JJqYxzTYV3xHN6zEP2Iu6t8lHORMbA6/9EZYztZh9p89Ug8dQhfKAs\nJinYAqpX7IlEQ4MFHSJIJHeua/oi5erkxpoFNJ/4ryVMsSfv47x7VE2EpYGh\nuxWRGntaUUISkb0liIX5huQeX2an9cvN8XbyJIhLQ1vR4tyeqrTWfg9Eo90Z\n6jIXWAoeppFDQfLLD0+T6lIx9xOg0jFLBDTJf9GLHJSUc4kA9avXw4ISR2yZ\nqsDuDrXriC8qU02fba/diiOT3v81nRyE2Bse/JizPIZ5CTgeq6q0UxG6Zpkg\nLEFOz0AfiaDXsMJvWiU39GwJtb0YujXCWRCFhaE+DZXM5uXOSuu2HpsPz3dl\nJsP0O/3utJbonWXjUQTUyfC9GUh3cCabPP3EdEs4QBrpHR2jFpO3uGZSjdqu\nEB+Ahd3ebTLnsnpGCeh5zaY9K0ZJSS4k8IcqvZwaJFR08hQoKpG5JdUImmcD\nVjziwaM2eUHVYa59OxFG8EeFliD2b3jxjM1H7RfIuOLAc5d6zKOxm23Iyd82\nbvhy4hvvJi87FxzK72I7/Et5H5L/9hBhjBpHCSzBErCXvqJxNl1ccF5VAwVX\nfID4\r\n=vLhS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBFsBKz+VFtz3PtMyXs0UHKnsjJA2/cOoCTgaLoWeDP6AiEAsspBHoA46USaLb2CAOoaoRjKHEmsq2AACbGHbkZzI2Y="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.32_1638147744589_0.8291324788975336"},"_hasShrinkwrap":false},"1.0.33":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^4.33.0","@typescript-eslint/parser":"^4.33.0","eslint":"^7.32.0","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.3","jest-junit":"^12","jsii":"^1.46.0","jsii-diff":"^1.46.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.46.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.36.1","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.33","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.33.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.33","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-YL1NFp0rQ8A/cvHPB/gOhQckffL8iAwoK/5x8gd/PXwH3hxQ0HkGqqNjlNMxpCWmaw1c2TQCQIQqv1gUjr1vWg==","shasum":"55fdd76a17ba522ebee0f992983de65a70e6f3b9","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.33.tgz","fileCount":65,"unpackedSize":636895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqBwDCRA9TVsSAnZWagAAKEQP/046pS+Fiqq/4zSlw4te\nFOJ6wfWu1rUwIEPT8jSVTcgeUNPDd2SLnqWU2SNrUhq8EeKT/qMpqmQU8+6R\nBNxNZEimf3Vpcje+STWRntgxMNesyBvH4JAv9fvbnrFccaIhuCl8Zm+4UpX9\nDAfhHPw38CLMz2V/b2GHe33mmOChmL0SWTw2W7sNzrZfzn9/9rA0l6Cjs7xd\nM4uPiKxGccEcxPdvvpG53lrexJFmYGUgr31YHzWZf4zhBGZmzJVAL41vFZKo\nKb9Ty5DuYeajev+cf2hqQfKii6pRgmc1IacAvxhrzuGFhqFu0mqV4z7hFi+k\nKI5zTW5CgnwtZNzHweMfJ2MKT5NyJqMyvd6cVRBQCAuI3CziMP4x5qcFUZe1\nr9XEJU7hwbdm12Wsaq/MK5eiynJu9T7Bm9oDy1Qh7flg5LLVUuaYDCQwueqE\njrkNj8sR2mjz0dEpGRcz+ynRAy6ZCwdFqmwRJAsmvt8iKcsWvdC5PgjA1Cpd\nKWPsOe+Qc4M2Pht1AWqkmtvXr9fH58bW1BL95ECTZ2PDvO+q5J2YUPBn75eg\n2njEpKtG5LW5NG/EDQ3gbXrqCxI7PBZzOO2jJDakS3uDf3KEdOrlu8qGgosy\ntaEjggpxIhYh5rqIBEVhhnvzX8UootIVmJyZ3Eyl3xXKGvGIOIpn3ALYFPJw\nHW3u\r\n=DxHg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2iuFpLDzbEkNl6xW1HbZIGWmCH9s2AQMqBZhLRaBRUwIgeuCyrrbI0x1obGlsnE5XhNNiYeNuPH0yWwFDEqr5PeM="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.33_1638407171761_0.4818869174793703"},"_hasShrinkwrap":false},"1.0.34":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.3","jest-junit":"^13","jsii":"^1.46.0","jsii-diff":"^1.46.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.46.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.36.5","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.34","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.34.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.34","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-oeAfefdCksOO+j7mvV62FlhmvqxEQFseYbQMWCYaLNQBVHhfVh/jZJnLRIJbWo0q36+D8d8m1riZ6R45ykbYcg==","shasum":"073f78b7d0fa482cc2fad61040b6f9656e5b9ee1","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.34.tgz","fileCount":65,"unpackedSize":636880,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqWyyCRA9TVsSAnZWagAAsFIP/2PSOVY+Ptej76OJsqpz\nn4a+5Hl8PyJXsZzqOI/tKIMDO6x11rVb/YFjUdTOuyGPJQyfX9epQd+msRWJ\nAoJL5WZDFcYaABS/8xLn08p7VtQZa3lrik6wAD58E+fgajaFCvVuGFPqBPrR\n1hF9haEZHOXrPE/FM3eRGnp75W0SS9QuIcvWYFHJiHwWL3oav3eT7AvG9MZk\naQ+ctZYDoBslZFQS7IIDsOKshCqIuD1AXb0CqeUGbFsRTdvSPKmLA0RG/3jh\nuZlCc/QtuZ1upTxCINmSvHYhTge++dH4Ia1exRHuA55xHPYGXi4jXS4AF11g\nADCS0glOEVxzyd2RgJO/yMTXHlYGMl82zmv2qpaTL9NwOz3yXjHWY31KjgGX\nINeUzR46ljKt80WKeNXGkAwlGAfePd7stt02nrgWE5LaND9cgsVgiPIPX3A4\nOoP0wc15f58xjlaDi3+H+XuBROcN4Uxl2C1GcqzTGp1FHFY8P/KV4v30vPoP\nHQIEyK6kbYTxxBh66TxpzlI/Rv1asaEw12DEbImtW+FWsM6ClFaVv9sXXqp+\n5kdjwdS8fNand0/ExQJMkTkA6Nzk7s/FrWmRYZTvVi6078EYJL5f7X/R0523\n7JcFDw5dffjejTXN4IL6JtXYCLOKtwsgJLQuW4AlWvTDJpBRAxjEGWSvhlwH\nXuQ6\r\n=FkJ8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6GkPsOJyqiL1mLJEHQT+HiNNUnHorXKRPGkn+e2rPnwIgbVJcOWs9AbTuFcVkjuPnP7Is3oMulUrgCJn1vsw1rYo="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.34_1638493362090_0.8947854212458144"},"_hasShrinkwrap":false},"1.0.35":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.3","jest-junit":"^13","jsii":"^1.46.0","jsii-diff":"^1.46.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.46.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.36.6","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.35","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.35.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.35","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-l6TYiR1SmRt1fctbcA62kdtwt9GLWDaN8sJb3DmqNrjRv1h7iBX22DpNm/bJJCbGXEplQLRzXirNg2sNtsZ2UQ==","shasum":"c0519716f7c8d6b7a4f868f3bb4e5cf36db041dd","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.35.tgz","fileCount":65,"unpackedSize":636880,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqr5QCRA9TVsSAnZWagAAh/cP/0Zv+b2Ww8dKoQ5Fu0fL\n/Uzs/pJCye98DbdOIG8a93hvvWcpMAiJYfKaGYkGa6fjd0OQj6zPF/W/Z2+b\nYjK63+miJxPuGYIdmmtWYFrGEazkEpd+kCqjdPNuMUmDojYI+MSuz9BNnr44\n67kgMx4lxdDtAa1vgANpvVcTAINP0M40grpITJnNsw88rF0SxXScg02nr+Sl\nn9vqXs8fckAKlzwRGqkn1ZCsHbHXsZv2rnsjFqIpEAun4GfyML8E6Yw1Jd4+\nJiRUX9a60i+VN8F24/nlaRQNZvNdkkMl4teXjQzYztLSRWmym4tai5jfQYHM\n7dV2r/BNAt6tsg1NY37KZ84ucE1mud5kZ4rFVreits01bphyd1sTWb/9G+o0\nrEF8OK/PMjOetpkEXy0D5ZQf96OUFnUAwffB/940+Ti4ol0s3wGyVjeb+fGl\npIrEcPWvSaLVqti60K5/gO9VWIIVNegpjykQxezphxKdd6Bapqmsc41C84NQ\n2D78Oiyu6xJxTsHTCvBbv6dfdOj41USb+OH6NQURqTAvSajLbnu2u2o/21xf\n7ahWYXIhjzV/JxGGb3xHruUL/ahn/NkBjGQJiCC7wVZmgtI8oESvOvyb/qJ8\ndDVFPRJ3oRs64GZbqZSrAXraC7P1LH21NTRZFYG3h0VfSm8Ef7BTPRO5B+1S\nT6KL\r\n=RPhY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHXKE0oGVLj/wOqXTZYMUnN+tasLkpZ4zL8trDRk2pGsAiEA9VWBW2fpT7w3zWrH5rSk9W+L+jo01wARwlOrxOp2bhw="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.35_1638579792361_0.4685398993686638"},"_hasShrinkwrap":false},"1.0.36":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.3","jest-junit":"^13","jsii":"^1.46.0","jsii-diff":"^1.46.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.46.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.36.7","standard-version":"^9","ts-jest":"^27.0.7","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.36","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.36.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.36","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-HgPwNafc1fj3UGCOo6vKUCf3ccn4C/X7A5S7oZFVO1qiJPmOZ5nMKxwots/jIHejiT/Qjm7GGsyTiG1VKZ7/LQ==","shasum":"e8c8aee4b29edec9f0a8bacca48dc5876ab02d32","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.36.tgz","fileCount":65,"unpackedSize":636880,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhrBDeCRA9TVsSAnZWagAAQ/oQAJ4uPfNKEkFdALKf3hAU\nJOnnQXqQ/S6zohzNJyqbQtjjZj7rcxmWur+5t0B5LquA0D2R49OSg+kJYl1I\nQDTCsT2F+9LpvWQQC945/k+7CKuFoUgRhUxKqYlosz3tXNgaj6mDgj9Y0w2g\nmLKBjinL2VdPdLd8SgPhT6k4m7hzqQUHj2xl4m8A2ZOVpqdMusQE6pVJjD63\n5CxCEpKqq95DIRl1rHuIOKSw/e6SZwf2ThvzJ/tDxpnTIUxM95mpIjgngEGs\neWqjEOz1CoM1erJ1ZzHf0W1EK6/8yAVvPJRh8NwzQAGAVWoMjXooVwZfC+9w\nAfIxiztel2BlLLi5FErxJLrFEXTclHLZIbH8YRcnyc3GPggT3kklz11DjklG\nOHN81m7pW9JvYdB7YOS+wEXqj5FAJ7tLnT2V8/sd4KuaUBVnc5O4KVhcaBPH\n7XtMLnbjbLBb79h65wdKOpuxk4sXX+vYPjiOR2qygvUgf9lIgkxzR1tIhZHd\nYoIpJGSf0AqfqTMW6FmRHT9RqHmqGna/7LDygNWAwo6DFuhr6e0+1DoD/atP\ns5aTZKcvQxLRikZq8NiyhwgB2KdEICJnX4bGfhpm/AydpiXhXPJCgWG7797X\nj8PCg0CrW7OsZlyyB4NoPXcPA/vmeFQ9XwpGQT7stf4lVEY96p+ovfG2aFak\nz1z7\r\n=L1jE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEVggeq6biWF9rljETdUEBFqpKnSKgJonLu6aXBu3clQIhAM4D0G38LGGHqIRbjDwoG2T2X/3sQhocKFE3/XV5pjDp"}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.36_1638666462294_0.23404553623150326"},"_hasShrinkwrap":false},"1.0.37":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.3","jest-junit":"^13","jsii":"^1.47.0","jsii-diff":"^1.47.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.47.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.37.4","standard-version":"^9","ts-jest":"^27.1.0","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.37","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.37.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.37","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-cd0cklypeLQtGY3lYRMQVom8n+lFi+iMYi6L4kgS5ugz1kxQPZSv7r0IlFmFCthCzUa10LEvCfKPDtYgyHthYA==","shasum":"165ff2018c80b4462bc650d0f064c81f0998151e","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.37.tgz","fileCount":65,"unpackedSize":636880,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhrtn+CRA9TVsSAnZWagAACWAP/RYOAdWmtoTLgvxE6W1h\nMeuJKS+pa0T9WJMBYVol8IG7UNjTzBLjnny0HTGhqCN692jtS6Oj87YBK5Vt\ni9AduYka1nLSoFMsf/TevqKiVgHMkxaJKKBOU+dBN2zfMa7qDzGz+1UK40ra\nYSb+xsRNlCjjuS4NjpHNCc78ERPFMWHqBFk7k2HquZEQegTalMUHM2B6kDNh\nsc8PJUYcW9vkQ/rxlI7yH1qw+HEF+N8SG6PP43lSMQaqFWgDXrI0kd9OBVAz\ndlCPeMavv9LABXlY6OPZr26o9y/NeY9sLEKRh0GnJ0OMyLpgSfEdBjZtT0gL\ndCv0jc1QVVH/0XGqPnnd86BWJiMhEkWrHLlzSCXdvUqCQRiJTQU0TCQvUpS0\nvkMtZixUbhLcf4rvue6CzHrvnOikbtjTNSeMV4SUmg4p5Cqsg+rjNJ0+pHGr\nB5X6cZQw8EpnqZ8z1kOjMrt2Bapg4Kik106mCwy65c/l5/sDAr4uQKL56ae7\n+HJxMwBjhJCBnhwfdebWyVPgMRgRhJVHSZJy4NusV5Gv1arJxUrj+fJWQHY6\nUbu6MctGze5jeIi44dgbzkIdz+NpP72y16B80uogDIEh5BK4C4MIODny1msn\nNWcOOwxlMJ+nYUQ5Eu/HR3OEp9rQYcmE6ETDTISyzuAdOm7Oh54sZuVVZT+v\nMgtj\r\n=y+Xu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDTpq+3UK3yIL/NG5yl1kVRfz2QStv7QgbIE8rl06YlwIgKy2NdMGwn0/07Zkg81fswJPa4gg6iQzCqV5Te1O+LH4="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.37_1638849022794_0.3453231254135083"},"_hasShrinkwrap":false},"1.0.38":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","publish:github":"npx projen publish:github","publish:npm":"npx projen publish:npm","publish:pypi":"npx projen publish:pypi","release":"npx projen release","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^14.17.0","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.3","jest-junit":"^13","jsii":"^1.47.0","jsii-diff":"^1.47.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.47.0","json-schema":"^0.4.0","npm-check-updates":"^11","projen":"^0.38.3","standard-version":"^9","ts-jest":"^27.1.0","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.38","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.38.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.38","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-SE91uMtu5CQ+vU5z8Ckpr8boLJlSwWH0e1Pl5MvCv5WFnBhMWyY3IEmB5014HOdVuIhz6Cu+HU8uJd9CQ0hPDQ==","shasum":"e4f6c311994720fbbb6f2920a1b300f365023e03","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.38.tgz","fileCount":65,"unpackedSize":636880,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsATmCRA9TVsSAnZWagAAMKQQAIxhBbcUnID7Z+pVFrOu\nrghr/WinWR8D3DZGRhu0HaWN0R9AJgv/2emKbybBZOuuz5mdzCTMXM4IRVHQ\n+xWhtUFrl7qdSsePpSEei998Wj/ZTXRqvaLUZJvj3TD2Q0S5tNhH/X/AqsNy\nVfaWSmmWs9SnOO3GHgers7ByWyoFQdg2X7B2SnulSunh5HqKf15Ex+QMPxuW\nstyVAb/TBziTTMXzFixioxNs/0Q+kRL6NtbBbBBUQodkG+ZjcSh6x6JFGMeE\ndBT3hgO2Xu78epavaNiaqqfDQUOyXxURjEzZetXc5+jGuqdQPQMqtANA+N+U\nRA5jlOfdSrXqVKsmSkx88f7UPyKH6FFRKDqqwdsw0NqXnSIlfcJl0GK+p0o8\n9quGYBpi5kHMkR13Q/GerniHSZUGjp+e4zWIzNud1EQ1rbNBavXw5JsUayHY\ndp8rveg8sM2/IWT6WpVMEuPZwsg3YVmkY+7oOrsqVndeopK1yuvEGn1fef+x\nI0Twhxk7Ufu7YHkji/ehX1DE/iqcH/R/Sn2nna+KKQd5xr8UWBOVttzPj2uB\nCP6oWMjYB5G1Ru5828/rY4BqVLIRbvY8ZTLLh5TAnGICiD9+ed6nLrmT4rUA\nFoHJekr9bG1DFe7w9VkabDBIPmJzevBocrvQKt9qWmBk/UWKcPdAaCMMISfT\nBGlj\r\n=Xqlf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC57kCpeJLbNrofgA92iM6HfsWot0Bxv2DGgOkebpUg2AiEApy4BAF4UpK3AsJo6c4fe32CulERr3oZkA7OTiol5nK0="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.38_1638925542042_0.763432904684481"},"_hasShrinkwrap":false},"2.0.0":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.2.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.3","jest-junit":"^13","jsii":"^1.47.0","jsii-diff":"^1.47.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.47.0","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.44.0","standard-version":"^9","ts-jest":"^27.1.0","ts-node":"^10.4.0","typescript":"^4.5.2"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.0","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.0.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.0","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-k3xd8ONjUUC7h+04DIVJjXMAM4rdMqSVnhZwfr7Tshdy4n49DwYx/jyUyAk7zYJzRNmOFjA+LEdy9zruh7lvUg==","shasum":"d324684dd65051c292433b987363e3d6321b1acc","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.0.tgz","fileCount":66,"unpackedSize":671937,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhv8bjCRA9TVsSAnZWagAAzegP/R/Xc34fMnOm85YPCxiX\nbtId6UfwL2QH6qZ1g9hMdRmZ5focoVyxBdhfAVhOonCQI15mIqUy6scbk278\niPTJFDR5FFGasuSad/eHnphLPO1lvRgFio55ARkD4AOAAyQnnNFhXTmTPmNk\ncGCqYB2Q9lvyduogA9TAdb/JZRqUPRULU+9djGsHq2WRO8K4UeDmk3bj3vsY\nYMG+2Cj4P7EZ3xNhZOPKnnHK0sA2B7gjmLrE9drNnpCzKkKiFIo5tSgt+f7v\nT5yrK+21BXzFSmvdfLmTfFhUHcPgD2tFyN7V7S7AqVv4nxOfMGzc5KHkYSJA\noPLG3kiDZTRmbmh9bHHdDH/i9fPaSUOSbEh6XUCcmXtydhuUdxs0ZobWCb7S\nfDEGNjgbSMUFpOXmGqqeS4VAvuzJccjGYmUy4A0IX+uurtBu695Mq/PFeT6z\nWIf0qfZsnZWu+J2++eTGCQiW41eAp86HVBe0h65K52QRaLKhHaRzpGAOTGJX\nyH95TqVKxqI+t4KORMzR23LVERisHzKfT4gect6vBFl77+RIkRsdTXDaeRT+\n6TzkvTT3AhMdzeY8LUaKkSDkFgKktU6eY2YRjwhik7RHS9kaKVMYRW8YcD3l\nNEfqTj4dML0jJdbOULVe6niIHyGXy5DQ97ZLt+77x7tIs7cU/tlEM15lRz1H\n5MVa\r\n=wCRp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAe/sRosrTBpyVsNOsELbz0f+zNwihQwDrU0o+MspXqvAiBnk0h/cbzdjjZOebP9vUtQCzGOEWW7Xz7IBd/MlHUWEw=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.0_1639958243242_0.5238430110452925"},"_hasShrinkwrap":false},"2.0.1":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.2.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.49.0","jsii-diff":"^1.49.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.49.0","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.45.3","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.1","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.1.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.1","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-llRou1LVZkrTR7W9+kYDPrVNlnMG5TOSLy4+Y/8rxERVvnfdA1uvcOmtcYjGHB7TNd7bjYPt/HXd7pgrCfmDiw==","shasum":"e11a08c839ef167b6de770bd3e114cf1c1854aba","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.1.tgz","fileCount":66,"unpackedSize":671937,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhv9bTCRA9TVsSAnZWagAAY9QP/iZfmkfJU+8qmH/1alLm\nB88LP0fOpicqhNp4KiZO71WscIgqPTRiWYiKG1nQcG9HFoMOD/DI1d7XBfUo\n1mTq7wB/0HBcWVFQGe+Z3Jcd1zbmRG33mHVzYwKTlX5ewt+ViyhaxcbUiSE2\nFpAD1dWFjdCulrxAosQu1kTbN19unQ5dJnLYX8BWHFKLIL7oYzKtzTu+dhDP\nzmiuikbZb18ehbZNI55bPMQxgLLWuID1pYxSvP4KVUgIlRUxn2a1CkVLBhEe\nmqvjlZ5xakxWAokc8ExCUJfblIE0HAB6P/mwEEw8gL6kGs8ZPsC+OKpGOLnF\nvyorkoP9iims+NgXgW206gyvoKqv9Y7PZoNLd0Syfcd7igBVkDeQBHuNwm+y\n7FYmdYrOJoRgnvg5HRCz2lycJ/Huwq+qDpAyhIZylOj6bAoVi8P3a6fYueYn\nPF0JDUiZXxkiv1/OwQfLP7Fd6ugbMJhckZLZ0V0jvot+YTbrwaTEvM0XrKzP\nkm2xINGFK2oNwuR2H8+YCefSmPKdAJ7+6fsrzsS3T8cxnTv7MKjSES31Emep\nDcs6cQASZ92BRU8Gx1HvGoAknR1XLfUxLuOXd5RPjc3wG7MG3E5SDnpXFV0P\nSBTMOVF3DmQLKaPyQOP4tRaUAfOttHM5Ux+pXi86wA8/FZSsDQy2pH5H7hJ/\n4PVF\r\n=Xkew\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVcVW/fj+unyWHVpgwka+tpKzqyZNfomveU1mWwFV8awIge4uO5mjBtRE22IXxU9YyGe6ckDlV7s2asHNw6IObpLw="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.1_1639962323449_0.08556030305350526"},"_hasShrinkwrap":false},"2.0.2":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.2.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.49.0","jsii-diff":"^1.49.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.49.0","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.45.3","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.2","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.2.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.2","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-+dDpaXJjqmKDSqmFm0OnCpcxF11ARuJxAR2iL7S7CEBpW6aAsa//+DljsAEGmHO1lsUCzDbShkSbT/+if4D0ng==","shasum":"01800903b34d808d46ce305f7aef1aec77e2733a","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.2.tgz","fileCount":66,"unpackedSize":672598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhv+I6CRA9TVsSAnZWagAAe8QP/03KUuyD04JlFH1sk+6K\nLXLuuXhLNLr4KiX8j/HgicL5zTPHD6YxLvMYz6kMeESH8QoF/TSvbOHM8CaB\nYVAWULS83sOHg2kNwYKZbjyQ5hD6i5ztBAYcJRd5dvayYc10EbiUiaPVebFh\nU40JB6Jj5STMyNLshI2RC9pVOFYbUA5hK6wtBAlKpfXghhlpEEeQ5JZ1spKo\nPFXA0fPOGTnjrkes4iu+Pw2O1uuHTVKH3CaY0b+98qpU1bTXsT7qhAXyCVCC\n9d20QevpaIGTSn/ybhLmilHOT+qDNWXxu4nAuot8MHOOBDbO37ukgJYz/lNV\nfSzc3xRspngihi4fiAkZ14GoUrGambmLCj6tZnuvIbt5S7ikIksDRCrjkRlL\nPQO4Sb52NgUitoJjYhtV95cDk2ULvEN4OPqGCUzwmxyuTo9zPaQA/UBrNKnu\nQn67xZCJ+MGvedI8mkWpa3Dar7M0zkXmqzZCSmWMdpdqcghlFiKFz5VuU9Yw\nv7yLL1pmtCCWiyAM+xTG0Qt15oWOlPMPycp8peFBi6OSuU/AgXf6aAjPr+OL\nETn1RgZPQ+7dluA858zfWWBITwmVSLN35vfr9ho9rv33Cj/62lDTi6/usoCz\n43yQWvD8fl7mSRAWeuzLffYAdLsutG7OVte10cIP3urqTiGUOT6P6sUnIQ1P\nxJZl\r\n=LLy0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCW+Fprz22L5Q1S78jmKNPPrB2wnY0QaaJLa/aThRKPwIgdHYNung7r9icOCuf8ksQEXRBXDnpy+5UqZvZaWZYcVE="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.2_1639965242306_0.44828708328953204"},"_hasShrinkwrap":false},"2.0.3":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.2.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.49.0","jsii-diff":"^1.49.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.49.0","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.45.3","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.3","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.3.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.3","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-B7wxCtyyWF5wqevU30SDQy2utGl8I4ZkQATes1yrMbyY+jo+eI5CMP8DxZ6t3aJLmDy+G+oKf0f1WhexxigwEw==","shasum":"d3e861819e43115db636e00a232f5f8a70a0d058","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.3.tgz","fileCount":66,"unpackedSize":672598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwSl2CRA9TVsSAnZWagAAjzUP/1LZDRggNc4LUJI3cQhZ\nXUNkJsfxSxpivSqApSwPC2Zd1UPi8IvRPEL3m6ql08p39EKiVzSChAeFkElD\nrhGEgFd+oeijRnS3zdhrpG8N6EEqjV2w/G2d5gWVJc6DhlePuG9+RiHCPSyQ\nxPCClFa6i3x5o6i+CzalsK6OE69Ylx38m+L/8FeN7zoO8UO6ca4iS7Tp05N0\nh5n2A0HwnWqABrC2bd5GVgjHMhkKcizQhwGllZPnllvcNVUpNxesNwOW1ntS\nISC4MloJsN9W1Ux+BpHwV1ozm8v2fQE7bQL19ET6NXCKB4stBgj7T1J4Ns6i\neW1w8oavZENZwwcpZyIilpZnpdGjrNCN/qG2wFcd+hotehm9J4hFspV5tGrF\nwJrxM+lTNcJ4RzgoB4l5mk4XL7J/4Yld9ttz5VMA01ZV25bTPgOlrTZ0Ttar\nw3FsPlu/ggGyqJ7LEyI97UJryA3XhckrE5HK8oCavHZREGrqUNBJWoM7esmy\n2LRmjGpTGgDfTFVFGXJv1cvdUyDz/O5EVzDvvA0q3m6TAV1fDsWzjbCSZc0n\nLagGz0AckUdYT1YAPsfFDFLbRvrXPqTa1Kys7+Hg5Tge4+xfKNg3cjlsJZKq\ntSOzESdvZ+RT+JGhRWG22xA9R9bmY1Nbd6rckmwyppk8W+kLGXN0BiQCpA7B\n2TeU\r\n=fTsU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFcKkpusR/IzPIGaSXETRIl2c2Rh0tzGu2Q7eZ22KwpgIhAKZrtLAEEcel6ktxLzMjQHjxb2AR7vKaiD5NJIZrCfxq"}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.3_1640049014510_0.9836256551954081"},"_hasShrinkwrap":false},"1.0.39":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.49.0","jsii-diff":"^1.49.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.49.0","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.45.3","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.39","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.39.jsii.tgz","bundleDependencies":[],"readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.39","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-/fTyZMcYIhgSPXLG72YJSgmWg2VI/V1NRe5qA00wUPMoj7L1t0yFschMEHaGhz6zZZJueED6ryFSF76x2bn/kg==","shasum":"c57f937fe08af7f0827c78fd3abe9266819e5603","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.39.tgz","fileCount":65,"unpackedSize":636851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwTeoCRA9TVsSAnZWagAAO6YP/R9bqqUXX/jj7rJzc+s0\nYNyFxWd9tXxxHlk3CL2ZB5ztOSGeXnWMVLTUMkeuiTUV6+IwqECprZ7heQE2\nmnFeGYqIaxeMs4UtwC/ClrRa9xx5BI+wMCaoMfNA8L8fUEmCzv8VK3HAQvXm\nL3PPmERNyRzjT/4EnN9UeGzAeowbCXl7ogw1uBDDB4yto5JnAjjvGNuP6ZPc\n6uMPGdheo3xH/+8zuEtQT+iB/womJl/eexkTEO8upM4pJlYIsKSmFG9bHmUg\nPNJL1nv16bNYp9w2VSLTZcXsenzaxuaJhE5C289/Q8xCEGMkGIz6KKSsN7cw\nbIS/QoLWz0w+QSbYMgz+VdZnH4+skXFMykQUdbBGsCvGEEvQa6vqBJofuiJ0\nJm1hb//GbxNamVVIVmtdRSQJU4W79dQ0khQ9JHpRncW6bHwTYMEiIifqhnyB\nc0bmKJ5txnKoc1Xga/k+KmLS28I6+N/Yo0wwUGzM6lKb7oD3wQ/6cmQpS/4k\nMN0jM3poDSyDBvuurD8uFwWYMLrsOW1SH3m6eC5C5OQet0XafXyYBVVv0pUj\nLIdRD1fdug4ZpJha8/NN/+0vhPNUn6Zz1zRqpKGPf1DIWF0bNE6FchBFddoq\nr8zGksa8LgtCeFZE984IxEWeBfHx1sbOs0u6P8VFYhdTQk0PNFBvo9RhblBd\nOegX\r\n=cdEU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB2H8Zg4SPHfxwKPsmCv80YxHMrTXSu55rFVJolIw782AiEAkTUGmA/fs1vfH/zq+JPtaMaf3NFhc9clchMcmjiea+c="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.39_1640052648667_0.24677422261756687"},"_hasShrinkwrap":false},"1.0.40":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.49.0","jsii-diff":"^1.49.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.49.0","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.45.4","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.40","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.40.jsii.tgz","bundleDependencies":[],"readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.40","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-wreHAfHOqOGMnHzoostgTDC9PlTwRZ66fftWnZ6pToLnuy8A/Hx8WDm1KDPTWRU0spS8CKljaslcik85A7kyiw==","shasum":"dd682a1e6d061d7937ed0a0553547b4d5a195571","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.40.tgz","fileCount":65,"unpackedSize":636851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwna0CRA9TVsSAnZWagAAFyIP+gPnHx9i7t8IfI5e/NNn\nOoVWMNXnNelHdEKxOko0obNfvpfSaw2XTznEElcfJPzsfuOZ29OEBTlnviub\n0UvYydJO+MOK8QtnrHlafnOg616CKQOlWnPPseT4gHo5+KtFPs6WHVgDnci0\nQ3dk5tKkKkJY8JSQU9kZujznbzYsLS5v+B0J7o6hQytf/DLy3ttmreAXZV6r\nw/x6f8q5Rs0l2JhCqIHGvrJlTv4AGwR5yYXyw77PBTPxNLHiJJjZuVV6TUnK\n+XKtiHlXPHU99ergjN8CDxbyVTkhW0R5Am9nds3TDP3hrrCXXmbAngpCdr4Y\nxKuoBahWmE7u4PiXcOwrJvNKsdmfFsirMYbCPPjprfScfS0+kYSKFK3xSgk0\nC6UeFX76R+M0PrGX+2So0zq6a3zM/svHVxzP4P1engdn+9mGlj/DzPQE4wGj\nF4lnrArNth038K/TskJ2Na9acqY8j2l2mcUxvVvXhvMtazRQWhPsej58FQNm\nBYjht+Y+zcveC8nWBtxPFy5vup0FbvlKqlQZfgRJFPGivHIERezsxW0DAqZg\n66TjsdPZTU3pmrA1fSJRShNF+7y/xw8bjXoSx1GkVjiTjJR2suNkUutbK/ok\nwkEghcUO65zewsh4vcNipCHb+zHs3nAQIOONbdIzvdwduJjKaXX0nQj/tsZn\nXNnH\r\n=zUMU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH8r3yPb7fhqeGuNnsIDe88f+rJaL9rYNUGlkgOgk7CBAiAfMxvywch97HurwQfOdTn+ucUlmeIbNeN9Vkg3vky+wQ=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.40_1640134324544_0.0515074743604611"},"_hasShrinkwrap":false},"2.0.4":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.2.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.49.0","jsii-diff":"^1.49.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.49.0","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.45.4","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.4","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.4.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.4","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-s2DOvKHHLNWb31V+qKkNw0j4TwRD3E9cEH91ud2BQBIsC7pMi26zOBB4MJAyzCMjFl6nuzkX3UocParTWoiAeA==","shasum":"2f0731b48d7b89704227134248d806ef0006f866","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.4.tgz","fileCount":66,"unpackedSize":672598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwnpoCRA9TVsSAnZWagAAc/cP+wbPQXAub2iQZsKKB2aV\nc2gKCkMXwPVeCZX1xPDv/h69lxxpTzcxerCacY5o8/GHJAhmckODnZpKxVwW\nYTKvGoJL/SnWnjblKKPIUqcQHGmeyPvvGILpQR1WyQPWvUGWuxypcbxsZ8NL\ng6UZBbE06w3QJBsUvC2/94L8+0e+Fk6j8ZKr4VWcu2shbRpm+OqnXOHUG4zM\nil/g1Xwr/B4bNaDG7nUGDwKvN4J7MsllL47wI8KhIrdi4QVhxNf8oIHTjHrt\n5H/+74m0L4d2ULOBq2Q/teQMMppFh7BJ7uMOrsVDpWBshFoglWy4Ba7k/wJ3\nMyWs7IXDGozPFutm+0clYcWZEshhOhTMYy6/RbBHDJ6mMUhLBswoM+YgWyfw\neswb0e7Xflmb9+uGPMm6GqRBUk9qIOyBuQmbi8K7QkfrOr9RI5kYQ2kFZIxO\nrKX7BAkg5MnHNkIQ+kKAXj/S6XP9P4oQ+nv/1X8QfQ3LPUGCgp2+cERvHn92\nwMcnMjXoE66VCT7HUx4gh+cyOF9CgPgxMQSXIiJdt77cif4bCgrwYffeL860\nbwlNxA4VUNd85i4DIpi3qR2aoyIecL5N/m7IJQ6rs1xkPU2cQ3g+q1ZuoAtI\nfv+Inl/SUqUbHqFTNiVj7PLqE/3Wq7Q8Qun0xRZP09ccn5LzzyEtnkMZj8Ch\nryVH\r\n=xyH5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDE6rSI0vR1QQV3hxc+cv6I9KO6OSrlkOHAdTbvC3WsWwIgdN3nzkXuEwMt1pOswEbzRVq2WBBS0TNxGPtPL7Hwzh0="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.4_1640135272260_0.865431169893425"},"_hasShrinkwrap":false},"1.0.41":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.49.0","jsii-diff":"^1.49.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.49.0","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.45.4","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.41","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.41.jsii.tgz","bundleDependencies":[],"readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.41","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-N81WEWBkoHjwkyaZVxv5CRF9L/sHcCjm30pyfWgiSwd78wE78maN/aIe3APozChvzCUn85hINa/eufPYR5fwqw==","shasum":"85396af71f6314f996c06cdf4e031b984f9fdcb7","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.41.tgz","fileCount":65,"unpackedSize":636851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhw8gHCRA9TVsSAnZWagAANHoP/iLBcD/gtA5ljoQ6U2HS\n4ZEfPMYH+cw91hkYqzy91SONGySh+r6EURwX/5hj2ului0Ljj2W+03jk+XKS\nhtpJay61DT2tcBUtMEZXI7BNvi7BXKmLBNBbL522OieEbXPwma5HsYX6LY7E\nBzxth6mX/3vFs7iBO/LtqPOwIwytsmcxMolJyydV/aRoIjv6bQ7UJPOFz5I5\nTUnYtP2Wo4r0QlCAHfIi7cPVtOY8U/IbIoyFyarnpXwctHXyF/ESwcxMzS5u\nZZuF6+0+lauJLcCCtwDGYgegNW3qgSYlNzJJmldCOY9syKiVictxaptWQAqg\nAEUJnkv/EcQSoVeHTXdpZVm7Ry1+2/Vp4j21sErR5oobxfX83yE3gPhPgEU8\nWrFgh+ki5hdFt9Umsku3zA9UTlyXD/lio3rXjgckNidEUMcO6Vk3b0IXFyNM\nWAyVEj07vp5qFnCJiNmPvYqPHrKOjHLa4YqcXMZ8Ws4VooCVOktBmr5CFwhn\nZzhf5zn4i8iMvpTlqMUJVJf82ixto0/K8RVAKScEhxBhOG9QbYPIo2fD8C7P\nwpfWV828oToAgpu6Iu6x8niipcaodvvgxn3LCf6ILpwCp1JvIQ0UzfwP3OYX\nHId0k/gbtwLIMtnqWOV8POFrvb6ZYqG+P5nw7bJGh5+oQ556k/Liu95i9hY2\nmnVN\r\n=Ab6O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9VlkZ8GEhbVavAQO++SU6BgfjCR7ie30uazruec0bIgIgZ9Cywb2lwAUP+P263aC4Ys7j3oXjHXUwFZY60bQoJlM="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.41_1640220678954_0.4740952738564199"},"_hasShrinkwrap":false},"2.0.5":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.3.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.49.0","jsii-diff":"^1.49.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.49.0","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.45.4","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.5","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.5.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.5","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-D/ZP2+BSnsPhh3YNeM50+/PzjhXpeQzTLzHNCXOWtrG7jhOd2pRUsz+VHUVzAO4twsz3+JfNEP6NVK0RhFJV1w==","shasum":"42537bb2929527fc0b2810aee439626525f39593","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.5.tgz","fileCount":66,"unpackedSize":672598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhw8smCRA9TVsSAnZWagAAW7YQAJQM3IjlkiOhRUW7Pl4v\nKwqrN47TJKlOyQUu0LCJMvWRr/22O6GG1AkMQBfLxlT0cfd15agU0X+tYWMf\nn8Y7q+FyJ2mNsmMATfSOnuf0r+GpB96c1F9euxaJ7hX67ac5U8WGKN1/FUV/\nTzPxPOozeITIyaiZvOjGfqwx+qM6eFYwWPb+2NJDYXukIN3UJRMJDLc6GiC2\nHiDOkPkfI36TdwvrWS4ByLj8ywYGBe+Fo65LLs6sG4eMy1Zn18Zu8Yjo0omh\nYhJGsNGMgo9eGu/v2BnHw/+HxCkK/iF8cXigRvrXK10dDBqTCVEJ5EkZosm5\nJfviPHMhILI9CR1rD6yCdKjUq6is7/usC4bGHGEP+B4GBm3kgX9S7AvTbCSj\nXe9jh5txvzoJoMtJmuqXveEfE1pdISQ/QHXu6zvyel6ZPSA+eaEuKEgHvGe2\nncqMObqkJZXySMTvsGXwAHMRCg79DsAsgWPGM1JHL6n3365X6Y4MXBa7i+dj\ngYxvmX/ESPO5hoj48icY9vdraKlFbRoIFERKb+t3E7OBogrezTZ+yM9M0pKS\n2Dgzun0884nBWK8Ke96b+slYWvn5NXOp9Eb/BdR2yRKmLQGAaaTGiVppzwVR\nLLDnuE4fekMfyZAMFxnRL/9BELAVLmBo3V94mTyv0YhQDnPvdRXq9KTCG8wi\nttfY\r\n=jNOC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZRmcc155EC5JR8mx6OUTCA46BgqqGOM61U6pZm/3BKQIgB1QjvQoIlYXg1voFXQXzoex/6Hbh3ClOVDtj8SFEAMk="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.5_1640221478248_0.14158738838521678"},"_hasShrinkwrap":false},"1.0.42":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.49.0","jsii-diff":"^1.49.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.49.0","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.45.4","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.42","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.42.jsii.tgz","bundleDependencies":[],"readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.42","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-MgwuWgKxX8Dsir0LFARAvvPxBhGUc1vdcRMOUcK3Bc8s96nkB38RK80mYTNdge221vSfOMX5PBaIHfyOHdMSoA==","shasum":"a82003726f827a8b513ae68bff01934560e49e14","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.42.tgz","fileCount":65,"unpackedSize":636851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhxRlNCRA9TVsSAnZWagAAtEsP/3qchf6KSYJ5kj8y2KWh\nX4E4R72bJqVisCSBIgJeHi3DhHucGvhVj0WIbp/XJvzFUgxRnGnvQ9OLV7YB\niBkMxyP6dS1/8lfhfSkap8NYXaS2tBvSLGzHASZslwJjZzXlknjZmvWE1ZL4\nfRejM4xBGRtmubcM79feQg7iNsCN4GhfKNOHdbkS+2yTgQn89wP9PeB/RO6n\n1C4+2VF/xb8zt3BWCOqtX17RGAcG57H/VCM3RDJbKLVPPD6mpsm0zWR3JSDR\nvWK8FikpLfuoRgPB5cpIHa4dcfOH5hWfzREJpegYfHooUpM+/3plViGTD+xJ\nUoEw+0fYycrVjvfII+Og1+7/En8ztr7PcwQn8Sz8eJHqbwgFA0JtfMaB6808\nEZlwVBhVCE5jJ0gxLZoU65/dquy6Y+S9W7HUzDQrv+x/Ib5WYsjgwFUXBWeC\nhDI36pRjVAJh832A8RTzDQGIt2MgjmH7IqFnFkLSyTX8X9T/KXGQFGhvZJTu\ndng0QCLXN30uxsEhRUkCQJRMHNRani6Zr1waLZi8su5ZfzPGjqjAvdftrASr\nwJradjNLtj1a6ncVEZvsruFKtuZBzb/r1orERgMe6xVQG6IDisxoqeR+VaOU\ntiVAwp/ahASpJIUz7/tOhYndes7e6+XOE6kKmlnlaCYb5T1PvZj5lLw7G2pZ\nFdkG\r\n=+HaP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdLtW0pf5RQx9M5K+CYzottkVq99mWeqpSNfB82R7GNgIhANcDRdZQncpRD4Q75AyrpyyQIE+J18RX3Nqdh/fRcHMY"}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.42_1640307021396_0.34968812346518385"},"_hasShrinkwrap":false},"2.0.6":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.3.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.49.0","jsii-diff":"^1.49.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.49.0","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.45.4","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.6","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.6.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.6","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Imjt/itf+2mESP0099BrSha5MlSL4SWUjDIBXqcj3zkP2VCFlUw/AVXOcKMGQyYss2ZU7RTQRHg1D1ksesgoUg==","shasum":"edfad32216063c419c47f8e6d2e3d2ac8c084bc5","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.6.tgz","fileCount":66,"unpackedSize":672598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhxRzxCRA9TVsSAnZWagAADb8QAILdlOq6DAsju3mEWQcD\npwMmtMHrM09RH7oj5Q4cw2SPgJnfuey48tlQvkVA0nqEQ4EQJzYpR2zetPMh\nqAz8PyX+YwvpkVqj4qIsUTCaGOhQ9xH1RYpAPYW0uqaj2HkzypSM4mbuftVD\nQVnE9djitpBk6UyYZc1X3XmiormPXTRH1DvYHe2goahdg9pjfJOm0wIEaq19\n75Ue0AbVhVlkCweKkhrDZo1vaV1cWrfDRPtGDr51RHmA0/TVWiH8OyXipqpH\nLVatJcTcwSO92hcgMWEy2e5FoTsBBkeyMc28dK7r8VIjUaWqxx6R7EMh56vK\nPDGARPV+aSyP+6776JxphWkz3bl7UcFBR2kGhYaVw0DrH6srJxh2+zEwD0nC\npijH7GxgDJBHqveB4w6PzAJgaXA+0dnEYrxG+IkkSrOKXpdElXboHAzdwcL2\nYq7LExIPjAaGLsGko35mdgIoKW0h0KNqk4HONq73Ib9i4KFRda3zMgjyLvEt\nJ2H5/gLqyL5Vr2K8kbNPuU/1xDYpmcbF3zr1tNfi6XYrbLLL2Ron7xooZFFS\nDV1Wwzc1qY+TJLXGpMAB2RnbqzzQ8bEkpOmUE9CFeZMCkDJTjt6glW+WUNGp\nvGxcL69/xLBn3XKWZSo3ZA7jwoDu5YxCAsQYPNJMC6NtvuSShoZfvkPxH5+y\ndw7t\r\n=cVLX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDw9vl/7mHpQMhrQP65w/3pRwyDm8SK/+l/Rkxm2MoJSAIgBwMEhzqflvYpE1ytOfgoOCrOSMl3rAMFoQbIkiiGas0="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.6_1640307953582_0.6417649717918015"},"_hasShrinkwrap":false},"1.0.43":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.50.0","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.45.4","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.43","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.43.jsii.tgz","bundleDependencies":[],"readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.43","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-ykppJcTG2hNBT/sUWIVgch6gK1Iv9rp/i4/0Z+iZq3Y7PfJPgblg6f64bHmkONhKjfUHSY1KL7rEU8bSqs1HCg==","shasum":"8ee97a5dc68da6ee00c58e1b4f8e2fe2fd9eede8","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.43.tgz","fileCount":65,"unpackedSize":636851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhxmlbCRA9TVsSAnZWagAAo6wP/0WtbtvWcG4KQ83HJmKt\nrUp4KhdZObRMzGbQco+GB1OnIMc3AoWNMCq7azCkMhrOYnNEBIQcRqp0RWz3\nsZpyahGysITkWv50Sr8haUh5rYFv4jCSy/0dwBgtkcu358J4wHKVvUMH3I/4\no44ei5I+E0fh8q3Nh0ayq7unHkhV+EP5DU5IHnIDxKvS3/JRz7BuMKWBAaZj\nLPP0W9oAUwjNT3tu2HfyjfcEtrXA+3Tewkcn+qZSHt6IK2Zj4+RwtauwPiSJ\nyb3cmOykakDCa5hB4uba1aDrC5Zr2NnGoybMUlMqSS1MwVLbQ8DciCgrTb8J\n3wJZcsAc/k/YyS/OBNyVeNCCr8XTeWdErbQyrlKW/FkUBElUFPpmvRWcdQ4J\nWMDeQ8OFh1Uo6HZjM9E1JU3deCpngAZGAANHTDxH0nmpaIqy7TGj/skU99tL\nREztIaJbgQFbTvkMj6tfC0qWWbTANtSVSkqOiYTFsb1S9ZcyEdTiFxecUoUq\nyiWEUuFi/BGV/vuoHPwo//UGbHvonYqVLacupzDnOWEqsJXVNna46NF0Gewt\nd+h4GoV2usLRuPeKpSYVMsfAtcHhZ+WCwR3/rHCIxuxmDRkhisrd4rHZ3naP\nFQ2TaihnmSvgJmU9pypTyOFK3K/nFx5+k/0c2o+yIcIJo3zPnq66bGFUYDw7\nI2Xa\r\n=env+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEB59gH8fFGlG6J7J5xeM4W6hzoblGQYWci4VrGGueBQIhALu9i8PYuFOmWTNt//x9lErQpR21DCTZFMh4AHUwsIFS"}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.43_1640393051538_0.8466239722870761"},"_hasShrinkwrap":false},"2.0.7":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.3.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.50.0","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.45.4","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.7","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.7.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.7","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-7alNs+BgAR3ksopDyM0O+foHF+h+dywyC3H74U57jebLzen0RJ4x67Zx67MEYLiuEaQ6nFtHtohvtxQolVHkXg==","shasum":"132cadda6ce16477e3e5bbe309eb5268043d7ba4","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.7.tgz","fileCount":66,"unpackedSize":672598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhxm3SCRA9TVsSAnZWagAArSgP/2TeYBid2Buma7giAyv2\npixHtLvdQnPpP5ckGNJLEeW3Zkgk/KeUnaOo0OMSJBau3wXwQcvDIMZJgtSS\n6I+/4A4PKf7VU1yDSVBr7cvSiTE/1rfv28yuXU/i35bbGGlEkSRh2akFvLcN\nedc8qQmhQWOS5xahXDbSVbj5cGodIuQDJZtA+5VcN0JNeSgGRlgrqTIf9QmP\njp9vCBgX+8qpvqHjfBT0MDf2QgPZHVsJkAKA+rOP3b99YyA4Z1hJ+vAVycxb\nJT1+dXLwNobeC7ZEWkggD7mVgwNJpc9ItU+SueVgqO/brLtTUeaTSonr8LJ+\nTaAWYIlwlzKRju0T2vC7ig4f4sKRzujf8QOdxMyKzKHcEpmDi04QOF6U95zz\nLFCqGi5w7wfwQSExalgLaHDQDmqWZ1BaEFQV1Gto38OGv5YiAEfYlz0GpckU\n27SDONQoYCXt2OwH0Bp6WTGBETOLlLj6dWaShUta9givR6yXZZZhFAEA2WrP\nA3jKAgneAFOtBM80xlatIi6ORtMP4Ic1lYCE1ADiPXYE3mkfSZcKsd1Iqlz/\nopjrDG0ofXH7U5nuXeplEH/yM7SKFzv1g7qJlCVRXFb1/xw+1Je/9J9kJ4I1\n//kqDfK13/EJlepfpCNZyROcxbluT/F4t7/yGj30+GJUsMqhcmgwktM5BqN4\nEAe1\r\n=Zw+e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5hyA08Ro7Y+H4bygFtVzAgjZSOR9UYCkXQHj53ZiVbAIge/HI852jSgTFLn6KXVGMjMS3b1tsWVGxPLzCOYX09a4="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.7_1640394194551_0.21221997349033295"},"_hasShrinkwrap":false},"1.0.44":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.50.0","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.45.4","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.44","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.44.jsii.tgz","bundleDependencies":[],"readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.44","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-jn8/LwRKSrIMazxgOUm2IC+E4PUwL6e9GCPgG5fh6SHjw1qYCNH78uwmyzmamP7dL38A7rou42fJazxVDaU3Fg==","shasum":"0319a1255eba7976248c0af87e639b844f9ada63","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.44.tgz","fileCount":65,"unpackedSize":636851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhx7uWCRA9TVsSAnZWagAAupUP/R55pu2SQtsljmylObb1\nrQbRX9NIy6WtRVUd5vE3wSfhbdzYn2kwZWdKtbZ/tW8N6rhQrapWv9xVfJTr\nbdtd9lTP3onrL5ziq7X3RRlVwYyQ9uwID2VLEdoJUolmcCoUhV0KR62Zs+0+\n9ZrKGAETSsGxxJ0W/n+v1SK5rtdLcuCM1oy4+SFQQugwkVrskeI+h6217ICC\nRZjwg8/3J7cy+N0nIn0E8tz8OclnwWgaWVUnwPQuiw0sZe3KL4KvbSjBb7Vy\nRuuZDCEXkvKPWpdeJGLC+wAmK6U5RkSqlY1v3UYnU+GwrTj3Ecyy/JosHetv\nM/8x3oGquySkyteLbqoI5hT3/fgCoMDUj29XgDCeVqdzKgAgkWumZL6e4gTB\nd1GOG7xWOQl1z1iYokoYbz9R/nEw5C5SA57+qsop6hrFUaz5O6CuZ9ceZdPb\neHclB16c0RLcoNRqwy9u5z0Azb/9+ucBrvsbvAT1SzeZ6Yhpz5IrAUE9jKC3\nM94DlD/1mE2q0okYwKHen4E6yS7ZrmMEpzee7yauYpJiXnevfvcNtZWJLEYL\nl6gUduWotXIA7J/eunNKhg0Wy6cUaqU7TQ3dzyahkV1bS1TnxDPcp0Hg2hKR\nGoQ1idAQrWz/cYe8p753TPxVLSFUfmPGvyqc++mUscunAzEIAOOofu+g7l9J\n5QVd\r\n=If8s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIElB+hYqcwdpLlqqUjFmF/wLSOGFwrR0pBsVnWWwMMHzAiA/i+OT19g6vJtcOYbJ065VTWQcJfvBsQ7768nQ8p5Ihw=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.44_1640479637820_0.0828862945674067"},"_hasShrinkwrap":false},"2.0.8":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.3.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","jsii-pacmak":"^1.50.0","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.45.4","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.8","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.8.jsii.tgz","bundleDependencies":[],"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.8","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-TlcSUx7TerEpvO7B8I2v8w16J+Cwnzn+P40RFsXYqVWXGfALZMoJJElFC8KAKtwCYWaLe2WdZhOFuv3T0t6vfw==","shasum":"8a21a90cd5736a0c2f3b1528698e4ea10c22c1db","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.8.tgz","fileCount":66,"unpackedSize":672598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhx8CoCRA9TVsSAnZWagAAMisP/235Z7n8Zc6dh26ZakXm\nK5ZonNlJpVsJFchFPU/7ZhQEVPQU5rHjwmPBtoQ+S7hNENo2kLUoqD8/tq8w\n6SYUH1mJbWZwOdKYJW2A7RFqby8WnnAFUknFnbp4ZRj7WeTZy8MUSfGMAx9W\njTt2Qyo9xcwQmFYhqnOO5+ZS5qnOD0wstEMWGSEBfiGrWsZW3Xxn1YOf7SO1\nIiApTM6TXimegdnMeHhvxd5xm4KPD99aKtXO0HRmi2DhuBLTXqGZZLl1aTKR\n3u37PADwF2qqSdv2JAUyPWyVnal0mNK47zGuctmg1E/8Jp65tM9PZIr43AVO\nJG1dzNbyvGHagmWRdkvqWg9rlC2Q6rVwQ2w+kGJczHF78sHnCR3wU/abPj2i\ntrMFkz8IJLCSw8ZpLVwhi5tYMOsUsIXpmbxmBhxp5YqxQsYeGK+KZz6yMR10\nUF2pEhMaa3fyB30gdb/Bf+3v/MNddNDPcPVVfgkbFRRw/FhL0cdDSorqEyh/\nU8HvdkRAwvFULbW1QDuAqYmqWDDDKsLBjVwxCIBfZ07HXyWApIoWmDR9zD0v\n7lxEEDfEbb4tzkb0lz1gZgYCD5GDWxMoN4j5g4hBrc/f6qvGlTb6bjMbOKmZ\nw5Ck5OdkO7tJUQZoTsGMrZ9t6svka2xD4V2vy/E5pCH1LTvxLsQZjNnHKjhn\nYMSr\r\n=p3OK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkgz/HfnKlQXpGiwlw7HFC1zAzaY3H2HIsyqwMctzvNwIgFjT/tlwsk9HowYa/6AR7sKGbcgix2AS0I2q2WHay4PI="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.8_1640480936122_0.3553982682395669"},"_hasShrinkwrap":false},"1.0.47":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.47.7","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.47","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.47.jsii.tgz","bundleDependencies":[],"readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.47","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-pNT/bhvqm+kzz/R3BN4qFTxU+LS/f1oy1upjdxdV0zjZ+/Y0XDmLml7YqJ+MX9yEgp6k2ThaSKtWugUKto/sMA==","shasum":"b9168775c02a43857dc1e7dfcd6798cb9f3adec3","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.47.tgz","fileCount":67,"unpackedSize":635920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzQEZCRA9TVsSAnZWagAAvcUP/07gyQEeq4ryOG524ASF\nKC4TzspvumzIDdsoEMs73Psv9SwIRqsPOXIO5FS9KPDxIGqlb2TOjN6h/AP+\nnLteKfpW9REZRwbGub8U3ysZ2YI8G5GFaASf1rS1+nhjrBj6sCshYcZ+Muuf\nDjmnZiz9WT1Mf1M4rBhc6oix2BFvy/ez+TBweynSExSt9e+u/Gu5PR4R4yTX\nypFmdgoq8O4QTdfWrlbHQB7ik7vySadNIjN52eOun3m6jU6heqZleFMcwlV0\nG+5DFTzWqqAb4VhwTpmabiiP/fyIPfqnxOdD0OW9606xOLeqpr1yitRUTx/e\nS7sbMydnyPhquA+aK13lhFGovPI3MCpj8/I4ogF7bAVXuEFd6SAPxP0oh7bv\nIax6sEayoCsmEAAwa7RgjwrHuL3SfVVp2zRQLqFRdGRVbpWDxbNpSGj0uVvy\nkZCRljZd0xx9s/Zmvi8tOSAT0+PL1si/R7J5ew5ifuJl48xyH0dAapNBVlfX\nma5DINafE8eAlKGwd69mnCwaAtpDA01kiBN0NYdYN5Pp2PQCDXKznYVwpnoX\nWDv4cj+AUlpdc24ck26obIB9U2GomG34cpq9k9Qj0QrE0NUbJzzxtRJDGjdJ\ni77HK9fTEL633V6a9NkRGnhqCCBKhp3fF8+f8FFv0DfXIWYpV45Dxsgcl+qY\naPFn\r\n=NXWn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE+EvrjtrJMJER+FqMHy/bSyu7fhF7XRrDeI+ekvh4sAAiEAkLk+iZXifkgqQOX94ink5ILpa+Rz6WxVMmvgdFSl3nU="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.47_1640825113215_0.7056019237142064"},"_hasShrinkwrap":false},"1.0.48":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.47.14","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.48","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.48.jsii.tgz","readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.48","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-TWdpWfPqMQ8PL35knAEqBRLFuG6aPC62XlGtsZkhrGYhvygMqzZ5zXP1QaWY6qhTC/T0HRrwr96yctBt9CQIGw==","shasum":"a8d29a229d55c800221adde7bce19c717bb6753e","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.48.tgz","fileCount":67,"unpackedSize":635892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhz6SwCRA9TVsSAnZWagAAjIcQAKQoGqC8MQS+Vrgk0D0O\nOi8t21gFPr4Ohk6Qpf/Y1SO6cTfzGHixEscVIdSCRddy+2xlzRJm4EAeAQb7\n6R2rMNvxfV6dZNSSEewcbwXjKJfX/l4c3rULV9DwirvCZVPaEMut1Vo+imhC\nd3JT8XpJxmm2ZLYMyJbeekINz0XYdYT78hmQ6pNOH5QW405dfmEMKEzMh2c/\n49MzLKEPCO9wEdutlTwIM6vZLG4+X93E4Bqc1x/8WPhl8aGxdg/f1qcQ9uEY\nEvqC77zPFMfPh47nh12Ss5QiC0H48wcaY4488JDXMdwWouNG3rkjFh6+YbvG\nEetQnlzya1ZCKSvmiQQILMMoXB6YZUL+X+gmiKCldPSYkubjG0TXxidWP1K8\niSFElbcyH+HYUcuQTA5gRBvi8STCTKEyvknwPVEwYrOFAPJKQddWNlxQJ2vt\noA8bGgOJ/z9ZIu92CLlZCRMrsFa2haezV3x0tQQIUDiUEdVPFjZkVcdv3wcV\netinAE/5geWsfnYxjFLev9nyn9jJDzc/fMJfium8xuO4RaBGi2Qh60H+BC1I\nT36qcjXlFcdTW/8rCON1N/NOA7KvYNlvXy/qgxX3Ple1zXfvLX1UfmnTKrlv\nrYZZWMhK1SpykSa0hKl6URE95ai2sOkMUuvhcOwaigQFho6WPKlQR4LEcqUo\n8od1\r\n=BtKq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDJIz+d7c7PG08DN9xWKAx67SKMBLt1jXCLPS/CGsxFTAiEAgS1NZpp4xyGlPocVBqHpVrombIsskMJIoQBMMAWvT7A="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.48_1640998064084_0.06736921730817924"},"_hasShrinkwrap":false},"1.0.49":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.47.15","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.49","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.49.jsii.tgz","readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.49","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-tkAJIHgoRW2K9NQpwcwj7oeeepU89HFonnks4HVSzjdi/Ydo/+fsdl3GmdoJtFA3Aybir1dnKBYpg6j3x8mNrg==","shasum":"4c84c7067dcce4c5860aec0d1614dc12c8e40aee","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.49.tgz","fileCount":67,"unpackedSize":635892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0PZaCRA9TVsSAnZWagAA6mgP/jVVaokF/cq4ELOkVl10\n+2OSR+tgax9rP5/c57ab4S5FLocZfS9W6fJq+MLDQIwNlNqTRMMMpFNRMkFb\n6RmJFXHtXQbUjGEoXV97uXQUf6xvipHqerbcNQWmbGGC29G0sHdI+/FvF3Np\n/lSo0qBhGPFoz9Hz2084oZiyO60rFzWloNvwvcNlzmRMTsR0JNCf8rsstHRQ\nsMona23yyE3mk8CQn4bN07415Ejv3BRkIoDv9i+eGs2faUiXERsE0ZUgZfB6\nfbRsY55+QgcT0bif0JGNC2jsWRjTzWv2jivxqVqTMcKKZvrn+Z4wlSHwxkGk\ns1jJoTH+XImm51mqVIJSSDWPCWUpsE/H5p0x6CJ2qFVe30vuzrUDBCCSUeuH\nW9VcqXSjBmXhb9zRc3gmy9GCQZ+7JhfH5NpCESX8y6pb5mGI5uY9NER9MPWR\nDA5nkKUnH2CNlww7iwoWHAElsiOWM1h/EchHfus3EXoq6kjy7Hr3eX5kTr6l\nU6pGxKu4oDyhwQM3lBjcOlhd3wdnbhya9ginpBRR7VJagFIkokGxPjOqsXwK\n9hSPwog0laAl2SIb0rcMFEnSxRIy9/ft63p6tKJhP/d7j7EGJyXR3Sd1hzaJ\n7vklwELGK4JHX+Yw8UsT8H+hg1rkh5xplQtrFE4UEW3YQtNBgW1QMHzW0Vax\nNKPd\r\n=g/Xn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCHzsZsOt5nlNuP8mLruYmiXVKiJ59cX8HFHlPdnt5wAACIHaZBVfbmPgfwRwAS2K3WYB0E+jlT2rggGFzG5PK7IR9"}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.49_1641084505852_0.005711888259548603"},"_hasShrinkwrap":false},"2.0.12":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.3.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.47.15","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.12","jest":{"testMatch":["**/__tests__/**/*.ts?(x)","**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.12.jsii.tgz","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.12","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-YHRtBuTUUqBVI3I6f3obE7zyuIZQhuRV2JDeDyc9q8jH/iHmgah5WCG+FnYZH6XyqBG5OZbM2KFD8380QMmrXw==","shasum":"12b19145d9d63250a0df666c0487b6b308158bcf","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.12.tgz","fileCount":68,"unpackedSize":671642,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0Q0bCRA9TVsSAnZWagAA9tIP/jLHRfLkT2tqlbiJ0iGi\nNMmXqvGJVHT6/qNvMTBEzpQjgVgiVm1sfQBqbV3abqWY+056t/MkuhOumK+5\nf4Rc+/9rgnEIvwCso+5DtQ4nfIKKFtR+A/EjMXgEHfq2a9JSTjzKnUfdwXA3\nBdFCwdluLuuBV45COir2jItABTSDMpFuGnN20/TOqsBpGGCuBPbCiZRQcHPE\nkC9ESxbpMsg+Qx5GCnrlDFWUEnuCzpFugUaaNz2781IW05dDw/otU8Yos2s/\nArNyzvDFzgnaA7dw7/W1q8FLjGK33gDxva+iww+S9akbRssLhMyePd2JzC4T\nAA9owv+F/QtPXuKHUyefZ3JnvV4CS1k/QZQPwHtl6XwRRM8LFjlVgbCWfGJM\nIC7ALQdWhXEMjl7BfignoHNW4X/lbtOCLQon2Z6A2nvH5dKqfv6Oh2RTgX7M\nTzFBxoAkKnBKENaMXZDWr54InxRyEItwwAuKLtdvWgQN+eRQ5yzW7PLVmQQI\nUVY9GZGXyxtQNPakMnG76tMvqHNJHlMduxeFMv6UM6FiHrk4zTC4i4a1Szcz\nAjGftLbh+IcTAdcUSOn5vBkxu0GDTVh+LJe+H1NYDuFadkWqqIcy1B0VHxda\nAaNMaIwqFmS8Psc6YOVlyHJejEFPlD4pPIMmjptQoiQGerx6vMg5DVPsFehr\npMcV\r\n=RBlF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSVhu51pGDCCBnTuRM1gLzOUkYA7k5oLwocJrrAmCZRAIgTdmVzNAYHqQowgmX6D965fb80RFPrI/ea02GxQ2V4IU="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.12_1641090331364_0.33027832219038666"},"_hasShrinkwrap":false},"1.0.50":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.50.1","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.50","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.50.jsii.tgz","readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.50","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-MgJUE1yxlLZe4YsfyQTqQL6UpqIFue6MnKhbJLjE30rpD2IaDqDQdcL9lwh0gwHEFZKSQYNrtGGPznepfa923Q==","shasum":"2666eff8caacf6399591bc6bc76a3b68d0db3d22","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.50.tgz","fileCount":67,"unpackedSize":635926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0kd1CRA9TVsSAnZWagAA/fUP/iTZVkyV70DYj3kVFf0+\nRV9d52Bj1xWwRbayWAPz2uspUlwWuuKGJk9mD3y5jlAM5KJwXmfYLpbU71+w\nlSzuQX86tQ4xiyp0Qaw2hWBfRSWfy8cCcdaYch61quhV6EjWbITGv/Rb2UWJ\n8an0b3KokHfZIAFAw1BY7E8A+O29K+t3huG2jH+US1DBmdW24pTqXPbL3rnL\nYndsuXMopY6YrUcZkvRZ1NsW66wgA1sCRLpq5dKNdz2YkFJ6dK0BQsJcTyRV\nqU+hnxjgSLPg2Z0aKoGeLXsbXTZeh6OE1MAkhIGLNrGWLx8GGwHmZN67J3UV\nxkZVeAKOLhkqd1axpaXE/y9NkZK9hGg32EYJDYryib5Bh2Q5c4+UL/lvrrcD\nZqGzI/EaegsoqfmmjzD5xG4vTvrM5WO/wWEghK1XXw5yeYHAR0qsCpTd9r8l\nyvurJFAaSwOlINEri/5LcxQCwLPyJ4m/V0sBYUqsbiz3lecyOvyLBgAZplu0\np5aYx3Xh1suYiC8/PXx8soHAkk4WC/VgDpRKPHzuJE7R5wcflpGjitTyjEbq\ngTQAdb9R5pZP90NHn1ohdsLQcrl0koyaTqQzaIYd4FeIW2iT5i6I93VNjgbI\nMKUJ6xLuQIgMfr82wx6/k8KzoLE8OuFL9qPX6MCu78rpLYnpqOFhmrSoVb1U\nRr1l\r\n=Gkgz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDUV1MIwrNmMoD6LOItro9SKRn4MIOlNZG/0kN06D3AzAiAlkg99TYvTR4YBpK0BIzc/OMjfZdedWxyBvl+cDpCuNg=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.50_1641170804955_0.06415544974864051"},"_hasShrinkwrap":false},"2.0.13":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.3.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.50.1","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.13","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.13.jsii.tgz","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.13","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-b++bPO5regt6nMeAnNPpvP0LvjMh16/Y98WjFGsHjr22DCQ8WAmWKf+75UHPRMvXuH7tytTBrix7nZ5SMxXhbw==","shasum":"92ac46a2eab3081c15189639b73469506fafb7da","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.13.tgz","fileCount":68,"unpackedSize":671676,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0kxoCRA9TVsSAnZWagAA/aMP+gLd6RJDknTiDvwlXqyS\ntaphSIW7+KoXbuWMlIXErQewnbssVMNz7s6vjU9T85U2LzkKCAihAUXOLJIN\ncsjmVVX0qEyM9FzDyUnz6VH0+pRHOnkQ+xu9DkIRHOQ2IV4iXdLYSrKmfq/r\nprHSsl8+hkBwFpg+Ccq9P33XS+uOEz4ZVT4y+F/mIAL3QVjcNXO3vKAgulUV\nzrQlVG1gjOrFvyO83yJHRZ36UYdrhYNbxsPweXta7FJpRUT3LQX7foaNDP1D\nUntu8i2rXCBgJ4Y4MoJauUCpkjGKeERvfrCifRc00svmLGWBMZFhmyQnd0QL\nLTADHjUaAuGTsdeayZTgPsITKpzYdsOi9j5807xb9M3tzd9LMz3FkQ/l0IRe\ncqgqM32faudCO48HLSz9IWaK8HbjaS3K1ufFXTFSchSbEsYr3vovNBzuIde9\ntMo9nes4qbC96SvY/rzxRrSQG0J9SjqwP/zqcQDNX6Hlo/V/6T0PF7RyNK0n\ngGMBvE3q2zFAlc1ltg8xF+BRQSjgU96Hog7Gq8b3D8VWGdUu+eB5S53cjbuO\nyiondEQgOmrm7W/19lXbrg8xvjry7kdTRefGsADiQ2TIjp+mhwiY5uI2QoW5\n/d9f5DMYJ6eXDJv6BgfY4/Bpj/D8CLJx7XccZaWbkV1o3fja5veMm2Bmw6+R\nXHPm\r\n=9oXu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCaioADCOGS94tZwuwEf1TSFiWowSOqGpxTC4SuODOxCQIgNF1DPJcH45zv3vn8Rbv/O/5OYWNnlFa0oGwaJpqqC44="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.13_1641172072809_0.02047858779510303"},"_hasShrinkwrap":false},"1.0.51":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.50.6","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.51","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.51.jsii.tgz","readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.51","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-MhQaZBer6LfQAbFiVdzuv0RxM3Z5f8TEzZdawHCRuJBzTgEPLlVXDKbbuQfSV0VR4l5crrDPO75vf1Hsjq9kRA==","shasum":"66c5e7a77efb51e882a1550d35a5998b82bf4d39","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.51.tgz","fileCount":67,"unpackedSize":635926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh05kvCRA9TVsSAnZWagAAeXYP/jjxq8bGnFNsrRiFq3O5\nubANCM2lmcKgYuYCVQ92775v8vy/9I0Jy/0iWeXZ5NjWlqChEMfVOPpT3JQu\nihkvyfSVYqCRWSxvqBFzx32JaO9gjV1LxA3muj2pLzBSt1kGW9AyDBsf9V7Z\n8Z947h+q66Jfu5fB6kzJJCTFdAMJSpaSIhYWMKtAkemXF/hWlua/WBplyWN4\n7Tn9DFzdmilC+R3pVQP6iW+OcQxJe2JYs4iW/RAsr8PizJevYFopzywwnMDr\nhJ2pp3OFsKU4khjFe4QMvAEAimPhHyWjUhaj8SzhHKynRFpXSIVFp0VbNd8Q\nCeFfc2S4xVQwutqOxBFEMXXKT9ttRc8smfsbDsOauRu3go8pdTPj7UXEtcN9\nxpsHpzkf3AovA8dO+sl+XHxZf39w22o4tM2vfF0lR5dQeCLTOaoDNHS/4BLN\n9E0i0mbLKORKkA2yps+O1z5MgwVPR/BS+r6GIWwq80yrHTgsCKVlGqHqQUAa\nPmQAOJhnKUk+PJzyhxGAIdSJBnVF+JOpapZRXLDJ0NR1RoEA/+J61SBGY03d\nXP6kYcS+vbZDXob+jziHgzwyHR8l7cjTKjOKsblPgA8FPQ7z8qvjvlet45ZN\nQZRkOeBc0wGpPWlQQeUdU1NAmVrsE4crf4lhB5o97upZgyBsetohDSE3EKB4\n53cq\r\n=Yxay\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyeZoUs5t44PlbjjQ6dVc5LOZx1X1y/izSWOiVbNj2KgIhAK7TYU0Ef+UdbWGOS0sVan8s8BOX177iip0wEmkewKZj"}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.51_1641257263019_0.8477284173415183"},"_hasShrinkwrap":false},"2.0.14":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.3.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.5","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.50.6","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.14","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.14.jsii.tgz","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.14","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-+gdEEh141BdGeKUViaihGUd8Uoh/I40hoSni26l38UNcOnDmZ9EkQn8XTyLQtW0xn0NGrfnfB2rozggTtsOY7g==","shasum":"192a3348fe5ed8c67b0e20f71b7f1eb578e2d0ae","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.14.tgz","fileCount":68,"unpackedSize":671676,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0537CRA9TVsSAnZWagAAkTcP/Rs9ri2i8N8mIwo13qER\nWxYme49LvAYWuO0rN07mOnGIs+oLS2wN0aHRk6l8huQlNxvsDo9LwqGWOoBn\nO25SQDf7hhKSe1SeCgGAwJq9oE7MryHZrijJ+hJkmrML9/A9BUAshrX+gbwG\ncP7JjIo4/6HhwPiNmHsKelN9/Op1LOxahazW5BqhSLDRFboHOZSa8jL5JiHQ\nXJB9I5bzJwwKuCdP6cOWTAH5u372V+aNA9zqb50kck5PFSbOaKPNt9HIA4Iy\no+5RpwUelIZVSxSEzvR9au2+B3CtIZQbXeyzZWOj3fJo8PtIs0ncT1mEhNGy\nvg9yutuxTE9sasiEudqameCLlm0e2VShNmoXsA8oni3nZOoJVUfQWT3fEsbT\nypwITCJAP0YmRcPK4JaILpWfC/vWVKPCIXT3blHiHNXUDlUyMe7jPvdqr2aV\nYNfl89Y0cxvjMrFLVakbMsLDLtPV32/71iDRFVEl7kPWQ3YkzanexBUqcLLS\nTbXZbLWx6JvRTQkTgRmtUVtb5zOlqexlqPWOhUtQVM2duXhESvQrRlXNOhaN\nvc+Qj0cSzjZsFLiUzkJbBs9TyShpI7T8gLuFuqCkC3tr6q5ROa8h552/qfuj\nGmaELyjxpv1jKYqAcB8MWwdJqwROdLanrICuzk8C8RDiRsgTZ732gjsjRP4/\n3XrC\r\n=yMbQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHZ6GZmc4s34K5WQ1LP50LepwZXx0A8OI+nOTglAYAJwAiEA9cKTBKPPkPUuhFYAYLbPJAEufZfdsPm+FUrl73yiNFg="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.14_1641258491554_0.8376980392972888"},"_hasShrinkwrap":false},"1.0.52":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.6","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.50.7","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.52","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.52.jsii.tgz","readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.52","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-O87kAWsojE+2l64L0NNw+Q6XZZxgEyGImodIs6d7fQh19NFkaY5iMUNx1jtZBpei0Oa0z3xXsdHS67ikvkT7RA==","shasum":"aadba2651497b959a6ae82bf36051e9f8089a7a4","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.52.tgz","fileCount":67,"unpackedSize":635926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1OuxCRA9TVsSAnZWagAAj6EP/jvtQU58kMGIMAPtPsjX\nWNlYL+1IH/ScVHZa+vlPVzz1Eb96dtuvnD3TLge0BJWv22VIEacUVua8GyqL\nHKSw9KOFeFAI9PfxSXiLx9eSZ2vlGSYJpRt40M7kBXehh4nNaB/Lo7+u1QXW\nK43+tC5+bGcCZEcIQm7RQNSYCoOAdEIDwoFNyedaV/mUYlXgIQwIi81Sucit\nDd7Lh2MkkFkk2IMPIrc5ZHu0IYZZQP+dnvOhoQkGh+CQN9s3RJCZwAEOgZ/9\nZNBYSteeysZEn2D/j8aVDITnxFVE+Kjr7thEhpTV1vuNCh9/kV7AWfNX1s9e\neohoTzf8IjAbPv9de1gcLNvrBtcYo6jYKnlzTvt+iyeG6HOeOU3YHdmA86mO\n6UsFsUx6LDOTFwazMk2YD1uu5DIIxSMJF82gcctA3v7pUedCChOW9KGkKAJe\nGylXp9C4N/6r8DW6BTGS9mzPcSC3rQ9CqAgQmmspOVkoGWPt6mZaKhpjGTUq\nK6x7SBmENAs9AXkRZuZS5iIr89L+p1p5a9ymmS3l74ggJxIdfvHuRs2mqmR5\nacFfyHj7GQaGtHQuPnZ9LvnGCVQWwTgL7i/PDzBBUmHIk3Jvvu1gV/LqGtEe\ndgBaqITnqEFb5/XEH9d6KAZPghkZv5DcvJSZkiSJQ1OQ3uwsm+JCQXuQ5mjT\nCvwp\r\n=btjT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEubhroSF0lkX3LCmVaW6tcBl/9SeC5FfADvXtKfPVi8AiBct2VMvnSVI5+RpZPLnH6ckejdevqVj5AwNmmVCQLSvQ=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.52_1641343921161_0.1368021917626412"},"_hasShrinkwrap":false},"2.0.15":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.3.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.6","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.50.7","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.15","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.15.jsii.tgz","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.15","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-wcdAY2iXtoMnMtycLOszKDZJ/rWtEqCVhLvus2lK+NMgyX9QZ4Hqqd2HjZKyvC+BqQx05ad5jfG/6vN4lyTrZw==","shasum":"c0677b9422a08fd4128932377ea220639388b877","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.15.tgz","fileCount":68,"unpackedSize":671676,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1O/eCRA9TVsSAnZWagAAB+AP/0vHrqRxD0NbBLGuNtie\nKD0pwQpnF7rFvmrOZ1OFgAG1p9/mZtUCiVH5WM+RYkqytJ6jot0/2z0FBYsN\nN2jLCgE1vuN46mY7aCFXZB9dHwDcSAM8CvqGflig0BIbSQkN9zLq1z1sSabQ\nOUMKz4OIpOVcnkijHooS8DiDdQdcY+7oeqbyJT1y0kvXKRq4Loch8kVKM6X6\nyesgc1JjR8DNX1u1QStItgu9TQgbegsdv732J2jILsRqtttSlM439baLSAvC\nfqtpwm+iZHRhpwRShGCzzzqtPXQ+GkatK76+NNUyAlC/5Mw8hIwPeqZxpFqK\nv9qQ3bzMCdaYHh82/0w8/fAnf6VNCaIvDck6zwdD9AlUJ+ptLVvYNkqqDEya\nV6x2TxO2+OR1r/KMYL4m50od6eB8qJS8iiWpBQ7zZr6E/o7nKqL+hOwRWsj+\nNLIEPDQgqy08/XoA0E/9AF1z/+B94Ie0uNZsCLV9L1PT7ZH2lVtbhdGyvNW7\nTu1X6VqLsIiAfd9haT2yr+j5kidXhBSst4b/l8dHE0T4OzhovH+pYlNu+mZU\n3mkMn3DWre0pBnaPTXtsjy0z3A4z4MzYBc2Lad8rlaP9s0fGEvT7kZiaRJWD\nCpt9fpZoprrmuhLjhdmAhTUEhCsfeIGPaEYLMT7XRo79uJYNMeLOesveJdMK\nLjnC\r\n=dDrn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE6t6cLdLpLX44rddwY7hiCUIkEzPrK88ZLCdKtsvHOWAiBkK2s0TbdnE17ZXcCnIVoXPtf03VZ7ziTix0aFMzl7mQ=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.15_1641344990693_0.9336017498746421"},"_hasShrinkwrap":false},"1.0.53":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.7","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.50.9","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.53","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.53.jsii.tgz","readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.53","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-l8CSEx/VOLvXLPu9DOrEoI4S89PW2UX41eTIlJtojLBnbX2Kgi+z6/E28oLwcKQGAmcrWKXnkpyIro71v36n6w==","shasum":"5194694169bf9c7312bd51682c80c1d8dd6e73c3","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.53.tgz","fileCount":67,"unpackedSize":635926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1jztCRA9TVsSAnZWagAADaUQAI0ZnNvbXsOnaggWw0eg\nFej8o4TUdBpuBvBfebDvFI8Qw+3DNSMrB7ZIB/AAz4qwIKP4Nu9LjTDZHg+i\n7gd22T4lyG8P1Lr1jXpgKWwCBTGzF2fKUdz2hvKPk3GTps5vsdSKFAkrlqwG\nslt+6R1DlKqYTJmKoajUbUI9mxR2Se2U/a47pR0Ox79/BDt7aNxrzmKjHrJi\nG4Bh15r1vtVHvwwdFsg75TD1JFPrgiJ7bmfxvlPr4ZsnWG2eoPowwD5Bf0VB\n7VKTBJMPxjHqVXXsP0BHtJjjC1mEPYghRkaqfJzHypZvZbwXj9ljAh702L2O\nMorV/WwK8SF0to4l8Mrx6Qyj6zJ466kM7KCsA3afgs2hMv0pD64E5g+sMVWu\n3IpKd1YvVA0xDNSULIhQ4M91+cncx/XLY+n4O/r6rJtu72485AtX8MHuPJSW\nJvqi/CJBFVUkp54hpBR2Pv1wrOiiwtBZtOJgkzNKPjfJW9xUbdHVKClfJpmr\nOk7j0rwvnZXBFB2zOJZMduYuEwYTayRtaMtm/i74vAhgyHEO3rTUbmdE6oz4\n/sXonq7ZgDJFnNmYS3Uc3p9+tLGsiIvGIraG9y+UZQuT7wS2XNFA1HV6VgK1\nJd6peU5LLFe6IKA0DeQ+kRjYG2XXvAB2Gr3S6/HwHGe3oXm0l1ZGMHapVwZy\nNgYU\r\n=nIQe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1AVGmwS1lx33ZmPejCuR91h2LbZUKSkN9onaVZSgV9AIgXfeeJN/8rLCUn82UPsyTyuj64EALHXGB1lj8YwC5ywk="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.53_1641430253747_0.10716085360940553"},"_hasShrinkwrap":false},"2.0.16":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.3.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.7","jest-junit":"^13","jsii":"^1.50.0","jsii-diff":"^1.50.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.50.9","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.16","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.16.jsii.tgz","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.16","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-oc25Jlq8u1A/EoOeDuai46WmOkQ4sCK9jtBGRon/AK1m3/7GgqjriAJflLeG4egX1nWDyIoI4C0XUJ+AXBsOBw==","shasum":"f066c6d947bc495bac68cc812ad8869ca9b3dfb6","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.16.tgz","fileCount":68,"unpackedSize":671676,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1kJeCRA9TVsSAnZWagAAJB0P/3o1OcW4/TAm8QOJLhSB\n7E7qAeB16AmHhY5Q4LpxQRYJBiVQi5fDv+GaJ144IuxKp91hR6akPEQ/lA3/\nzBisj1QjjuvN19C1FgpP4pHqri8jZcSOl4DzeRqb2icpd2fCjT+nfqDb0+5d\nZqCy7p9QDxcDxjESoBgaMUrF/2fH21Bp2ixcc36daFZw/7WzIQgfQWJCzVyW\nLO9D/3KuCJKdSZGRgJ/0rxiufh7nVn8/CPq9ay2vG7/BdA1HjJyetSYyheCI\n5086/7nTmtxVkfaRcuGr5W4UlvavnM5kq4VfSD9c1f9zyq84xoffS2Sr/MFV\nE/nbPSp/ydi39znGQQsLqPbsZcSTlC06b/pQQzkWmGMTjtwgyCvBDl/BvMup\n9jkkMvZ8xiV4K1DSUzqzWVhpZ+nwuGGNS1/f1t1yYTpPQ+Y3e2ZHsWR3sQHx\nrMtS50n6HURr2MrNJRlpzMOT1JXgQS8caA87JFdQcrmVp7so3CB6mJLE+M1/\nPaIS4qCQsu42HapuTelukZsc8SQ7N4XPIh+oYGDLNVAaB9XT2SAI00/gfCT1\nK6sS826CBywyu9QxDrBVjc7E9hhgb4YuamZ6UE7QiU9MYcz30/mZIKdoUP2/\nX9AvtzN6AOAK/eXqCMIjiGDIMNrtnTI64/vn49CBfPth9SGSHR0/cXsiuVlr\nAdXe\r\n=NTXO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfFb7mAZqXX8dxdH2QSLrDXKuFH2qXNdguruSURm2Z3QIgRi6JfTq3FMQjv1bz7FT1L/nkrNGRtWEC8CbIhK8Eilo="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.16_1641431645855_0.1583950092041193"},"_hasShrinkwrap":false},"1.0.54":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.7","jest-junit":"^13","jsii":"^1.51.0","jsii-diff":"^1.51.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.50.10","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.54","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.54.jsii.tgz","readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.54","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-nZAFawY1q0Wo1nGsGnrvSwCiwQzrJ+4iTTBxDwfyQtd+GH8IpyJjaZ81TFExrUkYgkPkzBS8/kpb5bYZZi+Buw==","shasum":"c8dfe5d6150af81c89b17e90caa1eb67609bbf53","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.54.tgz","fileCount":67,"unpackedSize":635927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh146CCRA9TVsSAnZWagAAJVkQAKHFBA1yREuiHIux6GUS\n6wFhimr/5GNuH2ZfEYfc39RFFmYcs/Gnq7UUjgv8cpYffxmforOb8Qd8buBx\nm3tbwWBAn+goinV36vxEVto0YjpbI+QASMEsqNTU8oyanrMkrLtYq/o0UE41\nz5SLjxxXXCTkzUulIU74sNzaGslz7CKJadzJpIjTKpjue+A73H9JFZRtfbDa\n/cOZPzJY3XSM+lJarH6+L3qNf1JPssvKWjKEsTgLZl6n4fmKHwXDg1k725Ax\nsakiJHdo6tMRzorvBOGOJEmHlte1v7ClNrQ1z5a6VUN6kurmxz8am2eCEVQV\nY7q8/RZfZRkfpQgLRqAWTT2PBCmmav5mKrsqHtomRT8mHSf4Vd8HQ70S93IA\nzN3Cgs3wmu1WUxAVgO3Prwz+4P2GeYtf1ROIaOWJW6IP2AnGOBH/huFaTFWF\nPbVL0B8hCRv8dh+LL2cKtLLfNeE31VF4mXRc0md3NxjPp8DGTdOfyeqtgfuv\n7L7xAPf5QOoJTis2nAM84vaiJTrDC45kNeEBD7KINSMjS28h6BQDg81kkuTv\n2Gtd9RkQekMT5RFQxAP1sXd/gzqqUNepHEnV/rgWPedqj/IYMdxx8Y4PBAAD\ngqHcRi5s+qWcupn3iebOhOq0p5oAuBidENIy7SfkLxBg5OuGs9m502gsetyE\n8+e8\r\n=Oecg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF5bPsQCj++/9C+jc8yNgZvf4SfePT5fRVpvjalS8/lvAiAyq0HJX9LVew1qtvseOB1gM2MaU/KNM0xxW0924rupwg=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.54_1641516674553_0.20424834814462733"},"_hasShrinkwrap":false},"2.0.17":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.4.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.7","jest-junit":"^13","jsii":"^1.51.0","jsii-diff":"^1.51.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.50.10","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.17","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.17.jsii.tgz","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.17","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-7RH38OWWEJEvo1cKxT7Yx2enEkv1P2f4Vbm8Oc80PAX4v1i16G/JYbS30lXkYW2p/vXUUfFysfaAnAMU+wkSNg==","shasum":"1b6941faf288f7417c4e7c715ca79f7c4e7052f1","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.17.tgz","fileCount":68,"unpackedSize":671677,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh15NwCRA9TVsSAnZWagAAb0IP/1bonMHzjRqPBnaJs40Z\nuK1smv5T+fRtY3lqXBNO3ozeZrWL5L0HGj6eqrL/LvlKJxStJfgwZvNwEcbI\n11fj4rPb+IVBSKoq7mDODGv0aBsJzfXrssVPPdDkcdBx0Qjir1+z7wzziN/s\nyPMTHqWPqfLQ40LXc1GRRwLbw+fy/DzHHubPH8vMFYScRwOWOvEfXFOdYeKX\nz8kl2dQLn8uMlHRw3jLzBgkNtM4tMMLgzaduyCCGPiBTmZWKiFa0nQbwu2vu\nkNM5gVTH/wHo/Qk8MTdMcnJcnz74QyjBdnSKy7u9BIq33tcp37CBhQvsuy5t\nTSSHvoj+tBUT1S3qtF4lOBVIPgrlRUv7SPJ0MDyHKisVQkf/9FlvTqd8/lnL\n6VFC2XGSXp+lI5TMNugaJniNo3pYBtWYGl220fUe4xVNA9jm2Kar8rebpfb6\nZUheJnCDyvOlKLwFxBTKEdu7jmj8GplF0TyOxvQkDouHNjG2yJyuhPjjaT8r\nL2bhMb8IfmLcZAdP155RGT6NBAPx10QhN8+t20jdXa7TA2UCzk25zfrwLcvB\n+Y6fd79yjAlR9LRR8ZAwUr3pkG/Ear3RQ+P5LaOL8UsmQFr4A9t+8xiRX1Vw\nUaquFEGac9DTu4stSI5MhUdaC2UhmiE46jxEwiI1g8OqMfF9l39ApTwdxPz+\nYtKx\r\n=c/C9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFpWIz4XKytCOEnuGoQmMESr1k3yricKBrgXwriQXmhDAiBmVVhWJIlIJGGSnBe79+hcULTp7dir4Ql5NONHycZWGQ=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.17_1641517936652_0.5796543779420487"},"_hasShrinkwrap":false},"1.0.55":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.7","jest-junit":"^13","jsii":"^1.52.0","jsii-diff":"^1.52.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.50.12","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.55","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.55.jsii.tgz","readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.55","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Bkilh8hDFvnxyl87yLMFcW5fxpgEW/RdI6ZJpcXPADaVbUf0a41155JGYKORJcMeG8AFS+sNOFtBwO8Hqp1/Dg==","shasum":"773db8e64fd4408cca71d2a3cafb821f05723f6f","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.55.tgz","fileCount":67,"unpackedSize":635927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2N8GCRA9TVsSAnZWagAAbCwP/3V30O1md9Fa7PgBv3an\nZ6851G9ZLWQlVbBrDDgLzr5XV+CPk/iiXmVuMPF1hKwaHYVupp9x3a13THDq\nr4JgiGfvbAoTbKlhji6HQn7STdMcXTxMIyWeGQcRSdBL1MRZDl/tmWEIBXMv\n8xFi35uQocJm6w7Gx+Dko4AcftrgvJDLeQVCdMlxiLWCd7aRIEShHQ7f/J9V\n/repCHIsbPNelr5cOXJX3bDrsyWpivTSP4HYw3Jl2/bxMLZQnMdP6PfTut5c\nG3onrOb6zSLFwgSGMctzJ8PJfm86Hzky0hOufAqyOnmWOcyIBgmKjkyIA/dT\nXzUNVPhy8GA5HRGyOxMbhyMdHoy4H6qToabJ5VeXO4EQ0PSCNBTitifmBPJ9\nHd/GgpFe9eQXwQnVGQ/+emO1QvnN6IxT408FLGsG2DYvQ32PBfFNUqP3/Sbw\nmA/24prsiSqcYAPwfuQ4R0LRsaAVRp7J6xCQv353sBmMSsyWggxf9yc7wBJQ\nEUwEfAf9zFg6IKV3b+r/IsyBiorCElUiF58ZAl0IlF9210tQJKn+oKRJcZyJ\nBa1eTJKmrrkdN0tmdoFDSdWyjPrfgrkGFyfosdv8dRjDxPKKKgb/FCx0XNH3\nHw8X3gwVs36sqF216a69d9egB4BEkBq4RFnuXKeF6yyNo+833Ui2/BD5IzCx\n24NR\r\n=TCy3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEWLsIftoN3pwrgXYje2OHfAblbv5GR3O3KVvJ0QQcptAiA36mQixoYLjWfD0WAzJVj8Yf6w8I6YkqZzHQlm8rKGGA=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.55_1641602822206_0.3846763019429298"},"_hasShrinkwrap":false},"2.0.18":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.4.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.7","jest-junit":"^13","jsii":"^1.52.0","jsii-diff":"^1.52.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.50.12","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.18","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.18.jsii.tgz","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.18","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-4UI1Keg7fZDCLLbh9xrFtZ+DHszYqMq855VsgIWV3EkcxPveqpYVZeKN318JjvH2I8ncZuCRb+rS9JkwGPNSpg==","shasum":"f60bf4159dca54d559052ee5ffffeaecb4a4f645","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.18.tgz","fileCount":68,"unpackedSize":671677,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2OOgCRA9TVsSAnZWagAAyBcP/2hsoOb6bp8H9vcf4ke5\n+CF8TH052nXvYcfo9dtTU6tBNNd9h/q9bBUixCp9CH5ML9Ev90oH+9PsIdmB\n4U+vniYcvy+7q9bbpBLPmgmhLFbEIv1nKg9k7kWxptPGIKZcf9Vd+WtH6flx\noIOZZ4F/YpG7YP2iIts6ciP1udqfCEC5xcpagndzVUW9mrDcLgwaHiojIizY\nogEO7RfzkkaEyGxJJ4cro1FMIdW/g5ft4ulAdCHtrpxsg4diGFzzsHKNZf7j\n9TtS+PbuBvJ/cwC4UC8/1TR9r910yNBzjZ/PggKkyQSnWPO5RfpJQ9yJNL7E\nkiRFfRL0ghutVwQYrK6hDW9gho11xyqf3ZPzYL2+yFTKe132iWeuU/IxQECS\n9MyGByr0Pa403nn2JFgW+38MatUJ1Ut1NxrLj5B+MvYstz6CidCit8j9RnCX\n2ghTHz5hQafcQFd91crqKS9i8Kyuklnr1+V/IhKBDZXy9DNMUbx17xoWZF3A\nKCzBoGZe8K0z+3ppqFAKPj9/p/JdsElDpfw6X5X6dPsbG390u1Xa1EqDAx/V\nFtC8ouUH1M/1E5NXMYDlDIPinzWL4J62SL+CrvWoILlbFQRPvRbazPfjX+MC\nU7jXKiQSmL9JZJjvYmPRutukffWgDbshKzSK6ZVcAV7vTCG4C3uDOaVld73r\nOvbD\r\n=0BHw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlACnsQr7ctLSvN2bnAcNfmbgb+Lz7r4Nb95mSyKMWmQIhAJIZtXEC3qH3hrsJaw87kw6T/3LFB8iP6m3e2DGrpaVP"}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.18_1641604000107_0.370978982341871"},"_hasShrinkwrap":false},"1.0.56":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.7","jest-junit":"^13","jsii":"^1.52.0","jsii-diff":"^1.52.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.50.13","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.56","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.56.jsii.tgz","readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.56","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-vuUfEHBkLdCK1BOmOmZ2n4Eqew9bk6DSibIIyHMSv+BKoAruKn6SzeZ4FAprVtAnkzdGdY+W5oLFeWspfn4B9g==","shasum":"579c8f306d8ac7190504ed3f2441d23c150d49d0","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.56.tgz","fileCount":67,"unpackedSize":635927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2jE/CRA9TVsSAnZWagAAR3oP/jDtLVss+9VU/Essk8j+\n2dWECtpKmrO1geO9qiL/Qsb8jT9G8SOqboFtTqdHfCksRcBPBi/Lima5qlvB\n8W9oUqE2GnoZd7stYIcYARxZPuOmcQxPSCcp0WzoxI59BqgRpCFotBW7TjnV\nTyEkod7hrgqc0oLtHAt6Z/VfSWJJi8KH8qS3BpFELzBNvG9TcGgBArgp6OPO\nGHQz71IHDg0jxxxTy6DYmlP+pO+gXpOxg/OoekxYijgTeNqZbSK+WMxAS6rv\nhEAKut+485gPPQKuD1ikwj010ShySMnkN8sISM4goMPQGj0ku+7ddIE2K7MZ\nYsdlOAwOaqJbhZ/x/Z8kVTT/VFIE+wMabOwi3s7p5Q8dQ+PkXf7nuzo5pwYl\nO4RImHZ/E3cx/5JOXpdvrgzumrOfuZydaoCIGAFmMSygAGEjNxaytc8Uh/1P\ntlCDfI3r4Vj3ndXRbN9bbArUhV4KMWM2qyPXuojXfV1kvZuHTIZNvw4bHOwz\nWi+Bqlfd3Jxa87cRXQslLK49c2Ma6Fob0Ufo0XwxALTn4VvVW1Q9OvSdOP+m\nHV5PJIeQ51mLsW2jemxMg2Z3jhRMt21/JpIQC5628s8DNsia7QWxZC0Olicq\nZpB/faBOYlKYfc/XJhMlI8ptPChqTyRZtIbEk89ejwP8bhKkuAsqVi/86ch4\n4FfL\r\n=71AX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF7TBuKYjrPVpi4RI8Qm/JPjUmqavZZIrpJPkZiOQi8rAiAQiwPwziR8wdrEJGeuEVvgOvj+iE0rLVN5panv2v7HaA=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.56_1641689406889_0.050174256882419055"},"_hasShrinkwrap":false},"2.0.19":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.4.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.7","jest-junit":"^13","jsii":"^1.52.0","jsii-diff":"^1.52.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.50.13","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.19","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.19.jsii.tgz","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.19","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-o6Wvb1ANuY+3k/pTcwCFiSKyBIjJwumtXQNCCKbtiUVIRDnFrdu8oNA1lifjXFqBTnlo9OP5mmUyhRBWRUZB2g==","shasum":"e6604b1639c3f2a7519dd33fea4b292dc80479d4","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.19.tgz","fileCount":68,"unpackedSize":671677,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2jZvCRA9TVsSAnZWagAA5ckP/2vxELlwVr58D/01TA7T\nCvEI2jINj2vgxawmuKsob1W8MFfqsGeS1+zBHXDd7CB61bQxqpMMvKQSnaBi\nEnGg4mV8FM7xhym9B9jputn2q3HnQU6TeNVwGFnBLD7vAQGBN/4dbjoHOC3E\n4Ht6pejMJqBrJHSL7T0fYhPl1d3TdVt7QnZeFoO2ruS6em7v/XE48SVdHddY\nxXXpGpNjn9GV4rZqpCTWN82kB/QtVjl/prVVYQw/5Rhn3FRHeVuQJP17J6CU\nU9zqbXxY4NmO4DujXXlcLBeuN5ZRHAXjedt/lhOM/usT9ujwMgIUz7dqPkfS\nZcOo4Sd9eyEsUvkS/4t6z3kiNnpGWmw4XuA/ephA61lwu2s4kTSkmVns0S0w\nADNxPa9Osf3eiJb39dpAtssq4WCOtclSyLx7MpRJtFADAYhnhriUgvJkFyq/\nYem/20gBnV1W0O88nEP4hklBbXu8n92t2hMv+S9J9iSEft9Fko31lx/+KWur\nvYFyyYN1DLyhqnuoGXEEerkuXvac4r70WqK9lk01xcLjSMQG5Xkadtg0jzyV\nnjMcPr8SptM4D3lOgk4wvqgEq9vko/oLRsHvbr4NedjZZUxM4UZPtuMmS9DD\nsh9Ov0X7icG9Az0R9nqHI7+PKMMmqq/YSFR09nFRlVpqxYO7XwdnP9oW+5gt\n7Ujt\r\n=aR7t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0KLwXRfvuWXuDyeU4DBrA/icTzRqE5nbFMOEAAFtBOAiBCH3Ex1kImWx24LjdRBdCX4xro+o8ujDb2YQj7f8K+Ag=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.19_1641690735344_0.7829396374370363"},"_hasShrinkwrap":false},"2.0.20":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/aws-glue-alpha":"2.2.0-alpha.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","aws-cdk":"^2.4.0","aws-cdk-lib":"2.2.0","constructs":"10.0.5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.7","jest-junit":"^13","jsii":"^1.52.0","jsii-diff":"^1.52.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"0.50.13","standard-version":"^9","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-glue-alpha":"^2.2.0-alpha.0","aws-cdk-lib":"^2.2.0","constructs":"^10.0.5"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"2.0.20","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@2.0.20.jsii.tgz","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@2.0.20","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-6/WwaiJw6CcCLQWpMhE46L3SxVB+PKZKBitdtOtGvPIXdWsig4tpain9H/34fMx/sqQsdUehfasxVVKAaxqHWg==","shasum":"000819edbc9d68c2c7c5658418a8ce87d2b86812","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-2.0.20.tgz","fileCount":68,"unpackedSize":671850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh39ncCRA9TVsSAnZWagAAc90P/2B5PtD1rhDOLWw0j4q2\nOEFHOpXBPmAkfWwDPDsdFXMW2/ItD6pymPuYWSeHwfXj9BEXC8r4f26cdENv\n1NdVSu9Aialt0jlzCbbPX3YdxK8we4WPLOHVPXfWltjb6mzMMJ1qI9TJQIqz\nynDDHfXvRwumXUyts1VBVJvHKjjbTc/exfcZs7fkButyOeCKg482B0Dc84J7\nkEiY++AQ9Ac9HDafTzYfBJixxhRMqEWdSLdZE0oLu9/B2ydg4hluCeNCwUXA\nCoat43+mfoBzxxiJpEdfPeA3kNq4ChF5ZX9FCpwkgWWDssy233VuMnRTxixH\nHF7p/6yKBmFrCpc3goBOvLPlAcT2FY6rewxPZcIY81CI4A0+QPRAeylgKXVm\nZAAALkJA+o0SQKHFGXnEcL/fWSN3iqthqvo926ZWwvOTqb5+fOrlbX4EqwsZ\nI47hNDx5oQ7rT7v2QrW5Ke7SvXZg2lCk44wyRqqYKt8DQG0jvGakxBgpf9Ej\nKbJQeLQzeLuHz0ts3CESkmGnF90rImw7CbVAjw81n+QFnulAlrsYgMH8QSlC\nJCMddRODev/XdW4iCkke3sif9fg9nwlXhy3hpWe3bzk8U+J16Huf5sQDlH0u\nB9CLdob1XGAtgg1PG5+s8OUaCxW09DCYZXNkLzokeg3w52mYALGPpltDQ3lC\n1KNs\r\n=2uvS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGBbh8Rk9Q7xAMZ2s74RVPMD3AxiDN/yZxI99K/gY3rPAiEAmUDMUbYvb2+3jO6nWosG9sJ/2J4qPGj008Nra9j3E2U="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_2.0.20_1642060252434_0.3344800181204768"},"_hasShrinkwrap":false},"1.0.57":{"name":"@ikala-cloud/aws-waf-solution","description":"Cloudfront,ALB and API Gateway with Automated WAF","repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"scripts":{"build":"npx projen build","bump":"npx projen bump","cdk:deploy-integ":"npx projen cdk:deploy-integ","cdk:diff-integ":"npx projen cdk:diff-integ","clobber":"npx projen clobber","compat":"npx projen compat","compile":"npx projen compile","default":"npx projen default","docgen":"npx projen docgen","eslint":"npx projen eslint","gitpod:prebuild":"npx projen gitpod:prebuild","package":"npx projen package","package-all":"npx projen package-all","package:js":"npx projen package:js","package:python":"npx projen package:python","post-compile":"npx projen post-compile","post-upgrade":"npx projen post-upgrade","pre-compile":"npx projen pre-compile","release":"npx projen release","release:cdkv1":"npx projen release:cdkv1","test":"npx projen test","test:update":"npx projen test:update","test:watch":"npx projen test:watch","unbump":"npx projen unbump","upgrade":"npx projen upgrade","watch":"npx projen watch","projen":"npx projen"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"devDependencies":{"@aws-cdk/assert":"^1.123.0","@aws-cdk/assertions":"^1.123.0","@types/jest":"^26.0.24","@types/node":"^12","@typescript-eslint/eslint-plugin":"^5","@typescript-eslint/parser":"^5","eslint":"^8","eslint-import-resolver-node":"^0.3.6","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.4","jest":"^27.4.7","jest-junit":"^13","jsii":"^1.52.0","jsii-diff":"^1.52.0","jsii-docgen":"^3.8.31","json-schema":"^0.4.0","npm-check-updates":"^12","projen":"^0.50.13","standard-version":"^9","ts-jest":"^27.1.2","typescript":"^4.5.4"},"peerDependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0","constructs":"^3.2.27"},"dependencies":{"@aws-cdk/aws-apigateway":"^1.123.0","@aws-cdk/aws-athena":"^1.123.0","@aws-cdk/aws-cloudfront":"^1.123.0","@aws-cdk/aws-cloudwatch":"^1.123.0","@aws-cdk/aws-events":"^1.123.0","@aws-cdk/aws-events-targets":"^1.123.0","@aws-cdk/aws-glue":"^1.123.0","@aws-cdk/aws-iam":"^1.123.0","@aws-cdk/aws-kinesisfirehose":"^1.123.0","@aws-cdk/aws-lambda":"^1.123.0","@aws-cdk/aws-s3":"^1.123.0","@aws-cdk/aws-s3-notifications":"^1.123.0","@aws-cdk/aws-wafv2":"^1.123.0","@aws-cdk/core":"^1.123.0","@aws-cdk/custom-resources":"^1.123.0"},"keywords":["cdk","ikala","solution","waf"],"main":"lib/index.js","license":"Apache-2.0","publishConfig":{"access":"public"},"version":"1.0.57","jest":{"testMatch":["<rootDir>/src/**/__tests__/**/*.ts?(x)","<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"],"clearMocks":true,"collectCoverage":true,"coverageReporters":["json","lcov","clover","cobertura","text"],"coverageDirectory":"coverage","coveragePathIgnorePatterns":["/node_modules/"],"testPathIgnorePatterns":["/node_modules/"],"watchPathIgnorePatterns":["/node_modules/"],"reporters":["default",["jest-junit",{"outputDirectory":"test-reports"}]],"preset":"ts-jest","globals":{"ts-jest":{"tsconfig":"tsconfig.dev.json"}}},"types":"lib/index.d.ts","stability":"experimental","jsii":{"outdir":"dist","targets":{"python":{"distName":"ikala-cloud.aws-waf-solution","module":"ikala-cloud.aws-waf-solution"}},"tsc":{"outDir":"lib","rootDir":"src"}},"awscdkio":{"announce":true},"//":"~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".","_resolved":"","_integrity":"","_from":"file:dist/js/aws-waf-solution@1.0.57.jsii.tgz","readme":"[![NPM version](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution.svg)](https://badge.fury.io/js/@ikala-cloud%2Faws-waf-solution)\n[![PyPI version](https://badge.fury.io/py/ikala-cloud.aws-waf-solution.svg)](https://badge.fury.io/py/ikala-cloud.aws-waf-solution)\n[![release](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml/badge.svg)](https://github.com/iKala-Cloud/aws-waf-solution/actions/workflows/release.yml)\n\n\n:warning: This branch support cdk version 1 only, check [here](https://github.com/iKala-Cloud/aws-waf-solution) if you use cdk version 2.\n\n\n# AWS WAF Solution\n\nThis CDK Construct modify and rebuild from [Cloudfront with Automated WAF](https://github.com/awslabs/aws-cloudfront-extensions/tree/main/templates/aws-cloudfront-waf).\n\nThe solution use CDK construct to automatically deploy a set of AWS WAF rules design to filter common web-based attacks.Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). After the solution deploys, AWS WAF begins inspecting web requests to the user’s existing Amazon CloudFront distributions、Application Load Balancers、API Gateway, and blocks them when applicable.\n\n## What is difference\n\n- The project is CDK Construct which is handy to integrate into your existing CDK project.\n\n- Support count mode for testing WAF rule, see [API.md](https://github.com/iKala-Cloud/aws-waf-solution/blob/main/API.md#countmodeoptional-).\n\n- Support Application Load Balancers and API Gateway (The origin repository doesn't support ALB any more in next release, see [issue](https://github.com/awslabs/aws-cloudfront-extensions/issues/164) )\n\n- AWS Shield Advance is optional (The origin repository enforce to enable it)\n\n## Construct Props\n\nRef [API Reference](API.md)\n\n## CloudFront Usage\n\n```ts\nconst envUSEast1 = {\n  region: 'us-east-1',\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest1 = new cdk.Stack(app, 'TestStackAutomatedWafForCloudFront', { env: envUSEast1 });\n\nnew AutomatedWaf(stackTest1, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.CLOUDFRONT,\n  resourceNamingPrefix: 'CloudFront_ApiGW',\n  errorThreshold: 55,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nNotice the WAF region must be `us-east-1` for CloudFront. \n\nAfter deploying, it need to do two things on AWS Management Console.\n\n***1. Attach Cloudfront to WAF.***\n\nClick `add AWS Resources`\n\n![CloudFront-3](https://user-images.githubusercontent.com/7465652/136758293-bd1b7d86-2775-456f-a176-ff508fb91fd1.jpg)\n\n\nSelect existing CloudFront Distribution.\n\n![CloudFront-4](https://user-images.githubusercontent.com/7465652/136758304-582141ab-6bb7-4aa5-b236-4b656ef53e1f.jpg)\n\n\n***2. Set S3 bucket on CloudFront standand logging***\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nSet CloudFront standard logging on CloudFront Settings\n\n![CloudFront-2](https://user-images.githubusercontent.com/7465652/136758273-95ae32c3-091a-4bef-a9de-57406ceee3b6.jpg)\n\n:warning: Log Prefix must be `AWSLogs/`\n\n## Application Load Balancers Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest2 = new cdk.Stack(app, 'TestStackAutomatedWafForALB', { env });\n\nconst albArn = `arn:aws:elasticloadbalancing:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:loadbalancer/app/ApiNe-Alb16-2VIC9075YQEZ/db92cdc88d2e7c9d`;\n\nnew AutomatedWaf(stackTest2, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: albArn,\n  resourceNamingPrefix: 'Alb_Api',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\nAfter deploying, follow these steps on AWS Management Console. See below:\n\nFind S3 bucket name on CloudFormation output\n\n![CloudFront-1](https://user-images.githubusercontent.com/7465652/136758257-9dd42b8d-163e-4775-aba4-da33358d9497.jpg)\n\n\nClick `Edit Attributes` on Basic Configuration of Load Balancers\n\n![ALB-1](https://user-images.githubusercontent.com/7465652/136764403-4a02a436-c799-4cb4-85b9-c221696a1f9e.jpg)\n\nEnable Access logs and input S3 bucket\n\n![ALB-2](https://user-images.githubusercontent.com/7465652/136764407-985d48ed-323c-4aad-b210-72ae09648845.jpg)\n\n## API Gateway Usage\n\n```ts\nconst env = {\n  region: process.env.CDK_DEFAULT_REGION,\n  account: process.env.CDK_DEFAULT_ACCOUNT,\n};\n\nconst stackTest3 = new cdk.Stack(app, 'TestStackAutomatedWafForApiGW', { env });\n\n/**\n * Ref Stage arn in https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html\n */\nconst restApiArn = `arn:aws:apigateway:${cdk.Aws.REGION}::/restapis/0j90w09yf9/stages/prod`;\n\nnew AutomatedWaf(stackTest3, 'AutomatedWaf', {\n  waf2Scope: Waf2ScopeOption.REGIONAL,\n  associatedResourceArn: restApiArn,\n  resourceNamingPrefix: 'ApiGW',\n  errorThreshold: 50,\n  requestThreshold: 300,\n  blockPeriod: 60,\n  logLevel: LogLevel.DEBUG,\n});\n```\n\n\n## Troubleshooting\n\nIf deployment error, the cloudFormation Error event like this\n\n```\nReceived response status [FAILED] from custom resource. Message returned: 'HttpFloodLambdaLogParser' (RequestId: b4e08ea2-fe0a-46f8-98aa-6f96d4558579)\n```\n\nIf any custom resource deploy error like above, delete the stack and redeploy it that will pass.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","_id":"@ikala-cloud/aws-waf-solution@1.0.57","_nodeVersion":"14.18.3","_npmVersion":"6.14.15","dist":{"integrity":"sha512-gz3+cpygeGXt4j1uj97N7d95GR09d8xwNxeM99gwngtuUOWjx33Mp/UPXMi+yBC6jo5c/96J4fShtCeTRYaQWQ==","shasum":"875b5fa2becbf4a7f98481f3e4e39e692d85e5aa","tarball":"https://registry.npmjs.org/@ikala-cloud/aws-waf-solution/-/aws-waf-solution-1.0.57.tgz","fileCount":67,"unpackedSize":636301,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh39yKCRA9TVsSAnZWagAAZKEQAIarjDDnqP5eo2qZIxRR\nd6nw1ohDZ/XUlcWUrsPFaHK11xvhcqmCfQ4EW1m5gWfe279eqEP290HoWHxk\nPG4TxFDV9ibLe6Ku7kCy7DOCEMzgUKAoZVqTs+gBJPq8VCL/Gko2FzT/FQX3\n0hP4Tb+Fnj8bSORuS55CG7ZKk/tACv2fy27gMwg+XMrBIMOShBfXHsRALTbe\n7wh9vnclMInDiJAqvwF2VCQMfCn46RYnxpao0f+hvzMkVbylmOuUFqYxXNH5\n2nCETlPcFTTtYJ5Nl8041E28WVt6HVb9pmtfUqWTO/HyIfPBDerf4amBFOfD\nVCfbf8vPgoW7uFcxTEVVIDGNzjAYciCqcCCe57C94VKK3W7EkbhYWnGg8S0Z\nHTm3ukho9MQz2UciHdLV8BafitbXfAEVcl2qB/VOMAcWRMGv74ZYqZEYFdYI\n+ucHlP8oTDwfRflFL1ObCBAqsnKx2zT117WhPGuFvGGdYSH9aiwyqpsqPks3\nSzJICYgkHnroP11QPCv+VBveB0uY5XADXn2CR2O4HepkkXRxXLTv+wUnlhv5\nEdJEMukySBwJ+M1Q/vXHBLX7zZ4pr3VTNDEafCDOjb/QOSq6zDpAVVw2WAR9\nUMvMH1sX13M7Ac2JEHfVkgOrnj/hEoZFlf/5s2xg1lH0SaFYmLT+WxTbxt+C\nGBqz\r\n=3Kti\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA3u8ARHUUouBVnGjBclkYE3hfi56Mjmkm7zfcvZ1BbjAiB2WHyc+jeIRQ6QA0Jv3XYA1QyBMOA2wta0UxeBuVnCNA=="}]},"_npmUser":{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"},"directories":{},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-waf-solution_1.0.57_1642060937624_0.46754345921625085"},"_hasShrinkwrap":false}},"time":{"created":"2021-10-27T02:29:59.684Z","1.0.4":"2021-10-27T02:29:59.881Z","modified":"2022-04-05T19:43:01.957Z","1.0.5":"2021-10-27T02:40:40.746Z","1.0.6":"2021-10-27T08:46:22.870Z","1.0.7":"2021-10-28T01:10:29.972Z","1.0.8":"2021-10-29T01:05:54.615Z","1.0.9":"2021-11-01T05:11:16.402Z","1.0.10":"2021-11-08T03:06:39.369Z","1.0.11":"2021-11-09T07:04:00.458Z","1.0.12":"2021-11-10T01:02:30.453Z","1.0.13":"2021-11-11T01:03:32.743Z","1.0.14":"2021-11-12T01:03:32.729Z","1.0.15":"2021-11-13T01:00:56.830Z","1.0.16":"2021-11-14T01:03:23.393Z","1.0.17":"2021-11-15T01:01:41.181Z","1.0.18":"2021-11-16T01:03:32.563Z","1.0.19":"2021-11-17T01:03:01.911Z","1.0.20":"2021-11-18T01:03:53.470Z","1.0.21":"2021-11-19T01:03:23.787Z","1.0.22":"2021-11-19T06:13:58.429Z","1.0.23":"2021-11-20T01:02:12.840Z","1.0.24":"2021-11-21T01:04:43.411Z","1.0.25":"2021-11-22T01:03:53.266Z","1.0.26":"2021-11-23T01:03:14.906Z","1.0.27":"2021-11-24T01:03:01.897Z","1.0.28":"2021-11-25T01:03:17.855Z","1.0.29":"2021-11-26T01:01:33.169Z","1.0.30":"2021-11-27T01:00:44.514Z","1.0.31":"2021-11-28T01:04:07.371Z","1.0.32":"2021-11-29T01:02:24.738Z","1.0.33":"2021-12-02T01:06:11.962Z","1.0.34":"2021-12-03T01:02:42.243Z","1.0.35":"2021-12-04T01:03:12.526Z","1.0.36":"2021-12-05T01:07:42.451Z","1.0.37":"2021-12-07T03:50:22.988Z","1.0.38":"2021-12-08T01:05:42.172Z","2.0.0":"2021-12-19T23:57:23.391Z","2.0.1":"2021-12-20T01:05:23.796Z","2.0.2":"2021-12-20T01:54:02.451Z","2.0.3":"2021-12-21T01:10:14.714Z","1.0.39":"2021-12-21T02:10:48.807Z","1.0.40":"2021-12-22T00:52:04.741Z","2.0.4":"2021-12-22T01:07:52.402Z","1.0.41":"2021-12-23T00:51:19.105Z","2.0.5":"2021-12-23T01:04:38.387Z","1.0.42":"2021-12-24T00:50:21.552Z","2.0.6":"2021-12-24T01:05:53.726Z","1.0.43":"2021-12-25T00:44:11.765Z","2.0.7":"2021-12-25T01:03:14.718Z","1.0.44":"2021-12-26T00:47:18.045Z","2.0.8":"2021-12-26T01:08:56.269Z","1.0.47":"2021-12-30T00:45:13.423Z","1.0.48":"2022-01-01T00:47:44.298Z","1.0.49":"2022-01-02T00:48:26.066Z","2.0.12":"2022-01-02T02:25:31.718Z","1.0.50":"2022-01-03T00:46:45.167Z","2.0.13":"2022-01-03T01:07:52.960Z","1.0.51":"2022-01-04T00:47:43.160Z","2.0.14":"2022-01-04T01:08:11.728Z","1.0.52":"2022-01-05T00:52:01.366Z","2.0.15":"2022-01-05T01:09:50.887Z","1.0.53":"2022-01-06T00:50:53.887Z","2.0.16":"2022-01-06T01:14:06.029Z","1.0.54":"2022-01-07T00:51:14.729Z","2.0.17":"2022-01-07T01:12:16.854Z","1.0.55":"2022-01-08T00:47:02.370Z","2.0.18":"2022-01-08T01:06:40.320Z","1.0.56":"2022-01-09T00:50:07.096Z","2.0.19":"2022-01-09T01:12:15.499Z","2.0.20":"2022-01-13T07:50:52.627Z","1.0.57":"2022-01-13T08:02:18.225Z"},"maintainers":[{"name":"ikala.cloud","email":"gcp-arch@ikala.tv"}],"description":"Cloudfront,ALB and API Gateway with Automated WAF","homepage":"https://github.com/iKala-Cloud/aws-waf-solution#readme","keywords":["cdk","ikala","solution","waf"],"repository":{"type":"git","url":"git+https://github.com/iKala-Cloud/aws-waf-solution.git"},"author":{"name":"Chris Yang","url":"https://9incloud.com/"},"bugs":{"url":"https://github.com/iKala-Cloud/aws-waf-solution/issues"},"license":"Apache-2.0","readme":"","readmeFilename":""}