UNPKG

@gammarers/aws-waf-geo-restrict-rule

Version:
52 lines 5.09 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.WAFGeoRestrictRule = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); class WAFGeoRestrictRule { constructor(props) { this.props = props; } allowRule(config) { return { name: config.ruleName || 'allow-geo-rule', priority: config.priority, action: { allow: {} }, statement: { geoMatchStatement: { countryCodes: this.props.allowCountries, }, }, visibilityConfig: { cloudWatchMetricsEnabled: true, metricName: config.cloudWatchMetricsName || 'AllowGeoMetric', sampledRequestsEnabled: true, }, }; } blockRule(config) { return { name: config.ruleName || 'block-geo-rule', priority: config.priority, action: { block: {} }, statement: { notStatement: { statement: { geoMatchStatement: { countryCodes: this.props.allowCountries, }, }, }, }, visibilityConfig: { cloudWatchMetricsEnabled: true, metricName: config.cloudWatchMetricsName || 'BlockGeoMetric', sampledRequestsEnabled: true, }, }; } } exports.WAFGeoRestrictRule = WAFGeoRestrictRule; _a = JSII_RTTI_SYMBOL_1; WAFGeoRestrictRule[_a] = { fqn: "@gammarers/aws-waf-geo-restrict-rule.WAFGeoRestrictRule", version: "2.0.59" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFZQSxNQUFhLGtCQUFrQjtJQUU3QixZQUFvQixLQUE4QjtRQUE5QixVQUFLLEdBQUwsS0FBSyxDQUF5QjtJQUFHLENBQUM7SUFFdEQsU0FBUyxDQUFDLE1BQWtCO1FBQzFCLE9BQU87WUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQVEsSUFBSSxnQkFBZ0I7WUFDekMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDckIsU0FBUyxFQUFFO2dCQUNULGlCQUFpQixFQUFFO29CQUNqQixZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjO2lCQUN4QzthQUNGO1lBQ0QsZ0JBQWdCLEVBQUU7Z0JBQ2hCLHdCQUF3QixFQUFFLElBQUk7Z0JBQzlCLFVBQVUsRUFBRSxNQUFNLENBQUMscUJBQXFCLElBQUksZ0JBQWdCO2dCQUM1RCxzQkFBc0IsRUFBRSxJQUFJO2FBQzdCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBa0I7UUFDMUIsT0FBTztZQUNMLElBQUksRUFBRSxNQUFNLENBQUMsUUFBUSxJQUFJLGdCQUFnQjtZQUN6QyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDekIsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNyQixTQUFTLEVBQUU7Z0JBQ1QsWUFBWSxFQUFFO29CQUNaLFNBQVMsRUFBRTt3QkFDVCxpQkFBaUIsRUFBRTs0QkFDakIsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYzt5QkFDeEM7cUJBQ0Y7aUJBQ0Y7YUFDRjtZQUNELGdCQUFnQixFQUFFO2dCQUNoQix3QkFBd0IsRUFBRSxJQUFJO2dCQUM5QixVQUFVLEVBQUUsTUFBTSxDQUFDLHFCQUFxQixJQUFJLGdCQUFnQjtnQkFDNUQsc0JBQXNCLEVBQUUsSUFBSTthQUM3QjtTQUNGLENBQUM7SUFDSixDQUFDOztBQTFDSCxnREEyQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB3YWZ2MiBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtd2FmdjInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVDb25maWcge1xuICByZWFkb25seSBwcmlvcml0eTogbnVtYmVyO1xuICByZWFkb25seSBydWxlTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgY2xvdWRXYXRjaE1ldHJpY3NOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdBRkdlb1Jlc3RyaWN0UnVsZVByb3BzIHtcbiAgcmVhZG9ubHkgYWxsb3dDb3VudHJpZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgV0FGR2VvUmVzdHJpY3RSdWxlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb3BzOiBXQUZHZW9SZXN0cmljdFJ1bGVQcm9wcykge31cblxuICBhbGxvd1J1bGUoY29uZmlnOiBSdWxlQ29uZmlnKTogd2FmdjIuQ2ZuV2ViQUNMLlJ1bGVQcm9wZXJ0eSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGNvbmZpZy5ydWxlTmFtZSB8fCAnYWxsb3ctZ2VvLXJ1bGUnLFxuICAgICAgcHJpb3JpdHk6IGNvbmZpZy5wcmlvcml0eSxcbiAgICAgIGFjdGlvbjogeyBhbGxvdzoge30gfSxcbiAgICAgIHN0YXRlbWVudDoge1xuICAgICAgICBnZW9NYXRjaFN0YXRlbWVudDoge1xuICAgICAgICAgIGNvdW50cnlDb2RlczogdGhpcy5wcm9wcy5hbGxvd0NvdW50cmllcyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB2aXNpYmlsaXR5Q29uZmlnOiB7XG4gICAgICAgIGNsb3VkV2F0Y2hNZXRyaWNzRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgbWV0cmljTmFtZTogY29uZmlnLmNsb3VkV2F0Y2hNZXRyaWNzTmFtZSB8fCAnQWxsb3dHZW9NZXRyaWMnLFxuICAgICAgICBzYW1wbGVkUmVxdWVzdHNFbmFibGVkOiB0cnVlLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgYmxvY2tSdWxlKGNvbmZpZzogUnVsZUNvbmZpZyk6IHdhZnYyLkNmbldlYkFDTC5SdWxlUHJvcGVydHkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiBjb25maWcucnVsZU5hbWUgfHwgJ2Jsb2NrLWdlby1ydWxlJyxcbiAgICAgIHByaW9yaXR5OiBjb25maWcucHJpb3JpdHksXG4gICAgICBhY3Rpb246IHsgYmxvY2s6IHt9IH0sXG4gICAgICBzdGF0ZW1lbnQ6IHtcbiAgICAgICAgbm90U3RhdGVtZW50OiB7XG4gICAgICAgICAgc3RhdGVtZW50OiB7XG4gICAgICAgICAgICBnZW9NYXRjaFN0YXRlbWVudDoge1xuICAgICAgICAgICAgICBjb3VudHJ5Q29kZXM6IHRoaXMucHJvcHMuYWxsb3dDb3VudHJpZXMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdmlzaWJpbGl0eUNvbmZpZzoge1xuICAgICAgICBjbG91ZFdhdGNoTWV0cmljc0VuYWJsZWQ6IHRydWUsXG4gICAgICAgIG1ldHJpY05hbWU6IGNvbmZpZy5jbG91ZFdhdGNoTWV0cmljc05hbWUgfHwgJ0Jsb2NrR2VvTWV0cmljJyxcbiAgICAgICAgc2FtcGxlZFJlcXVlc3RzRW5hYmxlZDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19