UNPKG

@richkang/cdk-construct-network-firewall-textfile-rules

Version:

A simple AWS VPC Firewall with one stateless rule and one stateful rule to meet the AWS Config Network Firewall Conformance.

36 lines 4.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const cdk = require("aws-cdk-lib"); const assertions_1 = require("aws-cdk-lib/assertions"); const FirewallDistributedVpc = require("../lib/FirewallDistributedVpcConstruct"); // example test. To run these tests, uncomment this file along with the // example resource in lib/index.ts test('Firewall Created', () => { const app = new cdk.App(); const stack = new cdk.Stack(app, "TestStack"); const vpc = new cdk.aws_ec2.Vpc(stack, "vpc", { cidr: "10.0.0.0/24" }); // WHEN new FirewallDistributedVpc.FirewallDistributedVpc(stack, 'MyTestConstruct', { vpc: vpc, subnetList: [ new cdk.aws_ec2.Subnet(stack, "subnet", { vpcId: vpc.vpcId, cidrBlock: "10.0.0.0/25", availabilityZone: vpc.availabilityZones[0] }) ], rulesFile: ["./test/rules.txt"] }); // THEN const template = assertions_1.Template.fromStack(stack); template.hasResourceProperties('AWS::NetworkFirewall::RuleGroup', { RuleGroup: { RulesSource: { "RulesString": assertions_1.Match.anyValue(), } } }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXdhbGwtZGlzdHJpYnV0ZWQtdnBjLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmaXJld2FsbC1kaXN0cmlidXRlZC12cGMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1DQUFtQztBQUNuQyx1REFBeUQ7QUFDekQsaUZBQWlGO0FBRWpGLHVFQUF1RTtBQUN2RSxtQ0FBbUM7QUFDbkMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRTtJQUM1QixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRTtRQUM1QyxJQUFJLEVBQUUsYUFBYTtLQUNwQixDQUFDLENBQUM7SUFDSCxPQUFPO0lBQ1AsSUFBSSxzQkFBc0IsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7UUFDMUUsR0FBRyxFQUFFLEdBQUc7UUFDUixVQUFVLEVBQUU7WUFDUixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUU7Z0JBQ3BDLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztnQkFDaEIsU0FBUyxFQUFFLGFBQWE7Z0JBQ3hCLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7YUFDN0MsQ0FBQztTQUNMO1FBQ0QsU0FBUyxFQUFFLENBQUMsa0JBQWtCLENBQUM7S0FDaEMsQ0FBQyxDQUFDO0lBQ0gsT0FBTztJQUNQLE1BQU0sUUFBUSxHQUFHLHFCQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTNDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxpQ0FBaUMsRUFDaEU7UUFDRSxTQUFTLEVBQUM7WUFDTixXQUFXLEVBQUM7Z0JBQ1IsYUFBYSxFQUFFLGtCQUFLLENBQUMsUUFBUSxFQUFFO2FBQ2xDO1NBQ0o7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBNYXRjaCwgVGVtcGxhdGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hc3NlcnRpb25zJztcbmltcG9ydCAqIGFzIEZpcmV3YWxsRGlzdHJpYnV0ZWRWcGMgZnJvbSAnLi4vbGliL0ZpcmV3YWxsRGlzdHJpYnV0ZWRWcGNDb25zdHJ1Y3QnO1xuXG4vLyBleGFtcGxlIHRlc3QuIFRvIHJ1biB0aGVzZSB0ZXN0cywgdW5jb21tZW50IHRoaXMgZmlsZSBhbG9uZyB3aXRoIHRoZVxuLy8gZXhhbXBsZSByZXNvdXJjZSBpbiBsaWIvaW5kZXgudHNcbnRlc3QoJ0ZpcmV3YWxsIENyZWF0ZWQnLCAoKSA9PiB7XG4gIGNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKCk7XG4gIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayhhcHAsIFwiVGVzdFN0YWNrXCIpO1xuICBjb25zdCB2cGMgPSBuZXcgY2RrLmF3c19lYzIuVnBjKHN0YWNrLCBcInZwY1wiLCB7XG4gICAgY2lkcjogXCIxMC4wLjAuMC8yNFwiXG4gIH0pO1xuICAvLyBXSEVOXG4gIG5ldyBGaXJld2FsbERpc3RyaWJ1dGVkVnBjLkZpcmV3YWxsRGlzdHJpYnV0ZWRWcGMoc3RhY2ssICdNeVRlc3RDb25zdHJ1Y3QnLCB7XG4gICAgdnBjOiB2cGMsXG4gICAgc3VibmV0TGlzdDogW1xuICAgICAgICBuZXcgY2RrLmF3c19lYzIuU3VibmV0KHN0YWNrLCBcInN1Ym5ldFwiLCB7XG4gICAgICAgICAgICB2cGNJZDogdnBjLnZwY0lkLFxuICAgICAgICAgICAgY2lkckJsb2NrOiBcIjEwLjAuMC4wLzI1XCIsXG4gICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lOiB2cGMuYXZhaWxhYmlsaXR5Wm9uZXNbMF1cbiAgICAgICAgfSlcbiAgICBdLFxuICAgIHJ1bGVzRmlsZTogW1wiLi90ZXN0L3J1bGVzLnR4dFwiXVxuICB9KTtcbiAgLy8gVEhFTlxuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG5cbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKCdBV1M6Ok5ldHdvcmtGaXJld2FsbDo6UnVsZUdyb3VwJywgXG4gIHtcbiAgICBSdWxlR3JvdXA6e1xuICAgICAgICBSdWxlc1NvdXJjZTp7XG4gICAgICAgICAgICBcIlJ1bGVzU3RyaW5nXCI6IE1hdGNoLmFueVZhbHVlKCksXG4gICAgICAgIH1cbiAgICB9XG4gIH0pO1xufSk7XG4iXX0=