UNPKG

cdk-amazon-chime-resources

Version:

![Experimental](https://img.shields.io/badge/experimental-important.svg?style=for-the-badge)

28 lines 4.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.kinesisVideoStreamPoolValidator = void 0; const POOL_NAME_PATTERN = /^[0-9a-zA-Z._-]{1,128}$/; const CLIENT_REQUEST_TOKEN_PATTERN = /^[-_a-zA-Z0-9]{2,64}$/; const REGION_PATTERN = /^([a-z]+-){2,}\d+$/; function kinesisVideoStreamPoolValidator(props) { if (props.poolName) { if (!POOL_NAME_PATTERN.test(props.poolName)) { throw new Error('PoolName must be between 1 and 128 characters long and contain only alphanumeric characters, dots, underscores, or hyphens.'); } } if (props.clientRequestToken) { if (!CLIENT_REQUEST_TOKEN_PATTERN.test(props.clientRequestToken)) { throw new Error('ClientRequestToken must be between 2 and 64 characters long and contain only alphanumeric characters, hyphens, or underscores.'); } } if (!REGION_PATTERN.test(props.streamConfiguration.region)) { throw new Error('Region must be between 1 and 32 characters long and match the pattern ^([a-z]+-){2,}\\d+$'); } if (props.streamConfiguration.dataRetentionInHours !== undefined && props.streamConfiguration.dataRetentionInHours < 0) { throw new Error('DataRetentionInHours must be a non-negative integer.'); } return true; } exports.kinesisVideoStreamPoolValidator = kinesisVideoStreamPoolValidator; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2luZXNpc1ZpZGVvU3RyZWFtUG9vbFZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZWRpYS1waXBlbGluZXMva2luZXNpc1ZpZGVvU3RyZWFtUG9vbFZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxNQUFNLGlCQUFpQixHQUFHLHlCQUF5QixDQUFDO0FBQ3BELE1BQU0sNEJBQTRCLEdBQUcsdUJBQXVCLENBQUM7QUFDN0QsTUFBTSxjQUFjLEdBQUcsb0JBQW9CLENBQUM7QUFFNUMsU0FBZ0IsK0JBQStCLENBQzdDLEtBQWtDO0lBRWxDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDNUMsTUFBTSxJQUFJLEtBQUssQ0FDYiw2SEFBNkgsQ0FDOUgsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7WUFDakUsTUFBTSxJQUFJLEtBQUssQ0FDYixnSUFBZ0ksQ0FDakksQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FDYiwyRkFBMkYsQ0FDNUYsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUNFLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsS0FBSyxTQUFTO1FBQzVELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLEVBQ2xELENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQWpDRCwwRUFpQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLaW5lc2lzVmlkZW9TdHJlYW1Qb29sUHJvcHMgfSBmcm9tICcuL2tpbmVzaXNWaWRlb1N0cmVhbVBvb2wnO1xuXG5jb25zdCBQT09MX05BTUVfUEFUVEVSTiA9IC9eWzAtOWEtekEtWi5fLV17MSwxMjh9JC87XG5jb25zdCBDTElFTlRfUkVRVUVTVF9UT0tFTl9QQVRURVJOID0gL15bLV9hLXpBLVowLTldezIsNjR9JC87XG5jb25zdCBSRUdJT05fUEFUVEVSTiA9IC9eKFthLXpdKy0pezIsfVxcZCskLztcblxuZXhwb3J0IGZ1bmN0aW9uIGtpbmVzaXNWaWRlb1N0cmVhbVBvb2xWYWxpZGF0b3IoXG4gIHByb3BzOiBLaW5lc2lzVmlkZW9TdHJlYW1Qb29sUHJvcHMsXG4pIHtcbiAgaWYgKHByb3BzLnBvb2xOYW1lKSB7XG4gICAgaWYgKCFQT09MX05BTUVfUEFUVEVSTi50ZXN0KHByb3BzLnBvb2xOYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnUG9vbE5hbWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDEyOCBjaGFyYWN0ZXJzIGxvbmcgYW5kIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZG90cywgdW5kZXJzY29yZXMsIG9yIGh5cGhlbnMuJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHByb3BzLmNsaWVudFJlcXVlc3RUb2tlbikge1xuICAgIGlmICghQ0xJRU5UX1JFUVVFU1RfVE9LRU5fUEFUVEVSTi50ZXN0KHByb3BzLmNsaWVudFJlcXVlc3RUb2tlbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0NsaWVudFJlcXVlc3RUb2tlbiBtdXN0IGJlIGJldHdlZW4gMiBhbmQgNjQgY2hhcmFjdGVycyBsb25nIGFuZCBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGh5cGhlbnMsIG9yIHVuZGVyc2NvcmVzLicsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGlmICghUkVHSU9OX1BBVFRFUk4udGVzdChwcm9wcy5zdHJlYW1Db25maWd1cmF0aW9uLnJlZ2lvbikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnUmVnaW9uIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAzMiBjaGFyYWN0ZXJzIGxvbmcgYW5kIG1hdGNoIHRoZSBwYXR0ZXJuIF4oW2Etel0rLSl7Mix9XFxcXGQrJCcsXG4gICAgKTtcbiAgfVxuXG4gIGlmIChcbiAgICBwcm9wcy5zdHJlYW1Db25maWd1cmF0aW9uLmRhdGFSZXRlbnRpb25JbkhvdXJzICE9PSB1bmRlZmluZWQgJiZcbiAgICBwcm9wcy5zdHJlYW1Db25maWd1cmF0aW9uLmRhdGFSZXRlbnRpb25JbkhvdXJzIDwgMFxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0RhdGFSZXRlbnRpb25JbkhvdXJzIG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlci4nKTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuIl19