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.

29 lines (28 loc) 1.51 kB
import * as cdk from 'aws-cdk-lib'; import { CfnFirewall, CfnRuleGroup } from 'aws-cdk-lib/aws-networkfirewall'; import { Construct } from 'constructs'; export interface INetworkFirewallDistributedConstructProps { readonly vpc: cdk.aws_ec2.IVpc; readonly subnetList: Array<cdk.aws_ec2.ISubnet>; } export interface INetworkFirewall { addStatelessRuleGroup(rule: cdk.aws_networkfirewall.CfnRuleGroup): INetworkFirewall; addStatefulRule(rule: cdk.aws_networkfirewall.CfnRuleGroup): INetworkFirewall; addStatefulRules(rules: Array<cdk.aws_networkfirewall.CfnRuleGroup>): INetworkFirewall; buildFirewall(): CfnFirewall; } export declare class NetworkFirewallDistributedConstruct extends Construct implements INetworkFirewall { private vpc; private subnetList; private statefulRuleGroups; private statelessRulesGroups; constructor(scope: Construct, id: string, props: INetworkFirewallDistributedConstructProps); addStatelessRuleGroup(rule: cdk.aws_networkfirewall.CfnRuleGroup): INetworkFirewall; addStatefulRule(rule: cdk.aws_networkfirewall.CfnRuleGroup): INetworkFirewall; addStatefulRules(rules: Array<cdk.aws_networkfirewall.CfnRuleGroup>): INetworkFirewall; buildFirewall(): CfnFirewall; } export declare class NetworkFirewallRulesBuilder { static statefulRulesSourcePropertyFromFile(scope: Construct, filenameList: Array<string>): Array<CfnRuleGroup>; static statelessRulesAllowedPorts(scope: Construct): cdk.aws_networkfirewall.CfnRuleGroup; }