UNPKG

raindancers-network

Version:
45 lines 5.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DynamicTagResourceGroup = exports.ResourceGroupQueryTypes = void 0; const aws_cdk_lib_1 = require("aws-cdk-lib"); const constructs = require("constructs"); var ResourceGroupQueryTypes; (function (ResourceGroupQueryTypes) { ResourceGroupQueryTypes["TAG_FILTERS_1_0"] = "TAG_FILTERS_1_0"; ResourceGroupQueryTypes["CLOUDFORMATION_STACK_1_0"] = "CLOUDFORMATION_STACK_1_0"; })(ResourceGroupQueryTypes = exports.ResourceGroupQueryTypes || (exports.ResourceGroupQueryTypes = {})); class DynamicTagResourceGroup extends constructs.Construct { constructor(scope, id, props) { super(scope, id); this.tagFilters = []; this.name = props.name; const cfnGroup = new aws_cdk_lib_1.aws_resourcegroups.CfnGroup(this, 'CfnGroup', { name: props.name, description: props.description, configuration: [ { parameters: [], type: 'AWS::NetworkFirewall::RuleGroup', }, ], resourceQuery: { query: { // only these types are supoorted // https://docs.aws.amazon.com/network-firewall/latest/developerguide/resource-group-creating.html resourceTypeFilters: [ 'AWS::EC2::Instance', 'AWS::EC2::NetworkInterface', ], tagFilters: this.tagFilters, }, type: ResourceGroupQueryTypes.TAG_FILTERS_1_0, }, }); this.groupArn = cfnGroup.attrArn; } addTagFilter(props) { this.tagFilters.push(props); } } exports.DynamicTagResourceGroup = DynamicTagResourceGroup; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VHcm91cHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbndmaXJld2FsbC9yZXNvdXJjZUdyb3Vwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FHcUI7QUFDckIseUNBQXlDO0FBRXpDLElBQVksdUJBR1g7QUFIRCxXQUFZLHVCQUF1QjtJQUNqQyw4REFBbUMsQ0FBQTtJQUNuQyxnRkFBcUQsQ0FBQTtBQUN2RCxDQUFDLEVBSFcsdUJBQXVCLEdBQXZCLCtCQUF1QixLQUF2QiwrQkFBdUIsUUFHbEM7QUFrQkQsTUFBYSx1QkFBd0IsU0FBUSxVQUFVLENBQUMsU0FBUztJQU0vRCxZQUFZLEtBQTJCLEVBQUUsRUFBVSxFQUFFLEtBQW1DO1FBQ3RGLEtBQUssQ0FBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFMWixlQUFVLEdBQWdCLEVBQUUsQ0FBQztRQU9oQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFFMUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQ0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzdELElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsYUFBYSxFQUFFO2dCQUNiO29CQUNFLFVBQVUsRUFBRSxFQUFFO29CQUNkLElBQUksRUFBRSxpQ0FBaUM7aUJBQ3hDO2FBRUY7WUFDRCxhQUFhLEVBQUU7Z0JBQ2IsS0FBSyxFQUFFO29CQUNMLGlDQUFpQztvQkFDakMsa0dBQWtHO29CQUNsRyxtQkFBbUIsRUFBRTt3QkFDbkIsb0JBQW9CO3dCQUNwQiw0QkFBNEI7cUJBQzdCO29CQUNELFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtpQkFDNUI7Z0JBQ0QsSUFBSSxFQUFFLHVCQUF1QixDQUFDLGVBQWU7YUFDOUM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFFbkMsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFnQjtRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0NBQ0Y7QUExQ0QsMERBMENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXdzX3Jlc291cmNlZ3JvdXBzIGFzIHJlc291cmNlZ3JvdXBzLFxufVxuICBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgZW51bSBSZXNvdXJjZUdyb3VwUXVlcnlUeXBlcyB7XG4gIFRBR19GSUxURVJTXzFfMCA9ICdUQUdfRklMVEVSU18xXzAnLFxuICBDTE9VREZPUk1BVElPTl9TVEFDS18xXzAgPSAnQ0xPVURGT1JNQVRJT05fU1RBQ0tfMV8wJ1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFnRmlsdGVyIHtcbiAgcmVhZG9ubHkga2V5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZhbHVlczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY1RhZ1Jlc291cmNlR3JvdXBQcm9wcyB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiB1bmRlZmluZWQgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY1RhZ1Jlc291cmNlR3JvdXBTZXQge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFybjogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgRHluYW1pY1RhZ1Jlc291cmNlR3JvdXAgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG5cbiAgcHJpdmF0ZSB0YWdGaWx0ZXJzOiBUYWdGaWx0ZXJbXSA9IFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgZ3JvdXBBcm46IHN0cmluZztcbiAgcHVibGljIG5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEeW5hbWljVGFnUmVzb3VyY2VHcm91cFByb3BzKSB7XG4gICAgc3VwZXIoIHNjb3BlLCBpZCk7XG5cbiAgICAgIFx0dGhpcy5uYW1lID0gcHJvcHMubmFtZTtcblxuICAgIGNvbnN0IGNmbkdyb3VwID0gbmV3IHJlc291cmNlZ3JvdXBzLkNmbkdyb3VwKHRoaXMsICdDZm5Hcm91cCcsIHtcbiAgICAgIG5hbWU6IHByb3BzLm5hbWUsIC8vIC8vIHRoaXMgbmVlZHMgdG8gYmUgdW5pcXVlIGFjcm9zcyB0aGUgQVdTIFJFR0lPTi4gIFRPRE8uIFNlZSBpZiB3ZSBjYW4gbWFrZSB0aGlzIHF1bmllXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBjb25maWd1cmF0aW9uOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwYXJhbWV0ZXJzOiBbXSxcbiAgICAgICAgICB0eXBlOiAnQVdTOjpOZXR3b3JrRmlyZXdhbGw6OlJ1bGVHcm91cCcsXG4gICAgICAgIH0sXG5cbiAgICAgIF0sXG4gICAgICByZXNvdXJjZVF1ZXJ5OiB7XG4gICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgLy8gb25seSB0aGVzZSB0eXBlcyBhcmUgc3Vwb29ydGVkXG4gICAgICAgICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL25ldHdvcmstZmlyZXdhbGwvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3Jlc291cmNlLWdyb3VwLWNyZWF0aW5nLmh0bWxcbiAgICAgICAgICByZXNvdXJjZVR5cGVGaWx0ZXJzOiBbXG4gICAgICAgICAgICAnQVdTOjpFQzI6Okluc3RhbmNlJyxcbiAgICAgICAgICAgICdBV1M6OkVDMjo6TmV0d29ya0ludGVyZmFjZScsXG4gICAgICAgICAgXSxcbiAgICAgICAgICB0YWdGaWx0ZXJzOiB0aGlzLnRhZ0ZpbHRlcnMsXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IFJlc291cmNlR3JvdXBRdWVyeVR5cGVzLlRBR19GSUxURVJTXzFfMCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmdyb3VwQXJuID0gY2ZuR3JvdXAuYXR0ckFybjtcblxuICB9XG5cbiAgcHVibGljIGFkZFRhZ0ZpbHRlcihwcm9wczogVGFnRmlsdGVyKTogdm9pZCB7XG5cdCAgdGhpcy50YWdGaWx0ZXJzLnB1c2gocHJvcHMpO1xuICB9XG59Il19