UNPKG

cdk-amazon-chime-resources

Version:

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

78 lines 10.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MediaPipelineResources = void 0; /* eslint-disable @typescript-eslint/indent */ const aws_cdk_lib_1 = require("aws-cdk-lib"); const constructs_1 = require("constructs"); class MediaPipelineResources extends constructs_1.Construct { constructor(scope, id, props) { super(scope, id); const mediaPipelineCustomResource = aws_cdk_lib_1.CustomResourceProvider.getOrCreateProvider(this, 'Custom::MediaPipelineResources', { codeDirectory: 'node_modules/cdk-amazon-chime-resources/assets/resources/media-pipelines', runtime: aws_cdk_lib_1.CustomResourceProviderRuntime.NODEJS_18_X, timeout: aws_cdk_lib_1.Duration.seconds(300), policyStatements: [ { Action: [ 'chime:*MediaInsightsPipelineConfiguration', 'chime:*MediaPipelineKinesisVideoStreamPool', 'chime:ListVoiceConnectors', 'chime:tagResource', 's3:ListBucket', 'kinesis:DescribeStream', 'lambda:GetPolicy', 'lambda:AddPermission', 'chime:*', ], Resource: '*', Effect: 'Allow', }, { Action: [ 'iam:PutRolePolicy', 'iam:CreateServiceLinkedRole', 'iam:PassRole', ], Resource: '*', Effect: 'Allow', }, { Action: [ 'logs:DescribeLogGroups', 'logs:CreateLogGroup', 'logs:CreateLogStream', 'logs:ListLogDeliveries', 'logs:CreateLogDelivery', 'logs:GetLogDelivery', 'logs:DeleteLogDelivery', ], Resource: '*', Effect: 'Allow', }, { Action: 'ssm:*Parameter*', Resource: `arn:aws:ssm:${aws_cdk_lib_1.Stack.of(this).region}:${aws_cdk_lib_1.Stack.of(this).account}:parameter/chime/*`, Effect: 'Allow', }, ], }); if (props.resourceType === 'KinesisVideoStreamPool') { mediaPipelineCustomResource.addToRolePolicy({ Action: ['kinesisvideo:ListStreams'], Resource: '*', Effect: 'Allow', }); mediaPipelineCustomResource.addToRolePolicy({ Action: ['kinesisvideo:DeleteStream'], Resource: `arn:aws:kinesisvideo:${aws_cdk_lib_1.Stack.of(this).region}:${aws_cdk_lib_1.Stack.of(this).account}:stream/ChimeMediaPipelines-${props.properties.poolName}*`, Effect: 'Allow', }); } this.mediaPipelineCustomResource = new aws_cdk_lib_1.CustomResource(this, 'mediaPipelineCustomResource', { serviceToken: mediaPipelineCustomResource.serviceToken, properties: { ...props }, }); } } exports.MediaPipelineResources = MediaPipelineResources; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWFQaXBlbGluZXNDdXN0b21SZXNvdXJjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVkaWEtcGlwZWxpbmVzL21lZGlhUGlwZWxpbmVzQ3VzdG9tUmVzb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUE4QztBQUM5Qyw2Q0FPcUI7QUFDckIsMkNBQXVDO0FBU3ZDLE1BQWEsc0JBQXVCLFNBQVEsc0JBQVM7SUFHbkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFpQztRQUN6RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sMkJBQTJCLEdBQy9CLG9DQUFzQixDQUFDLG1CQUFtQixDQUN4QyxJQUFJLEVBQ0osZ0NBQWdDLEVBQ2hDO1lBQ0UsYUFBYSxFQUNYLDBFQUEwRTtZQUM1RSxPQUFPLEVBQUUsMkNBQTZCLENBQUMsV0FBVztZQUNsRCxPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQzlCLGdCQUFnQixFQUFFO2dCQUNoQjtvQkFDRSxNQUFNLEVBQUU7d0JBQ04sMkNBQTJDO3dCQUMzQyw0Q0FBNEM7d0JBQzVDLDJCQUEyQjt3QkFDM0IsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLFNBQVM7cUJBQ1Y7b0JBQ0QsUUFBUSxFQUFFLEdBQUc7b0JBQ2IsTUFBTSxFQUFFLE9BQU87aUJBQ2hCO2dCQUNEO29CQUNFLE1BQU0sRUFBRTt3QkFDTixtQkFBbUI7d0JBQ25CLDZCQUE2Qjt3QkFDN0IsY0FBYztxQkFDZjtvQkFDRCxRQUFRLEVBQUUsR0FBRztvQkFDYixNQUFNLEVBQUUsT0FBTztpQkFDaEI7Z0JBQ0Q7b0JBQ0UsTUFBTSxFQUFFO3dCQUNOLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLHdCQUF3QjtxQkFDekI7b0JBQ0QsUUFBUSxFQUFFLEdBQUc7b0JBQ2IsTUFBTSxFQUFFLE9BQU87aUJBQ2hCO2dCQUNEO29CQUNFLE1BQU0sRUFBRSxpQkFBaUI7b0JBQ3pCLFFBQVEsRUFBRSxlQUFlLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFDNUMsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FDakIsb0JBQW9CO29CQUNwQixNQUFNLEVBQUUsT0FBTztpQkFDaEI7YUFDRjtTQUNGLENBQ0YsQ0FBQztRQUVKLElBQUksS0FBSyxDQUFDLFlBQVksS0FBSyx3QkFBd0IsRUFBRSxDQUFDO1lBQ3BELDJCQUEyQixDQUFDLGVBQWUsQ0FBQztnQkFDMUMsTUFBTSxFQUFFLENBQUMsMEJBQTBCLENBQUM7Z0JBQ3BDLFFBQVEsRUFBRSxHQUFHO2dCQUNiLE1BQU0sRUFBRSxPQUFPO2FBQ2hCLENBQUMsQ0FBQztZQUNILDJCQUEyQixDQUFDLGVBQWUsQ0FBQztnQkFDMUMsTUFBTSxFQUFFLENBQUMsMkJBQTJCLENBQUM7Z0JBQ3JDLFFBQVEsRUFBRSx3QkFBd0IsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUNyRCxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUNqQiwrQkFBK0IsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUc7Z0JBQzNELE1BQU0sRUFBRSxPQUFPO2FBQ2hCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSw0QkFBYyxDQUNuRCxJQUFJLEVBQ0osNkJBQTZCLEVBQzdCO1lBQ0UsWUFBWSxFQUFFLDJCQUEyQixDQUFDLFlBQVk7WUFDdEQsVUFBVSxFQUFFLEVBQUUsR0FBRyxLQUFLLEVBQUU7U0FDekIsQ0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBeEZELHdEQXdGQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbmltcG9ydCB7XG4gIER1cmF0aW9uLFxuICBDdXN0b21SZXNvdXJjZSxcbiAgUmVzb3VyY2VQcm9wcyxcbiAgU3RhY2ssXG4gIEN1c3RvbVJlc291cmNlUHJvdmlkZXIsXG4gIEN1c3RvbVJlc291cmNlUHJvdmlkZXJSdW50aW1lLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbi8vIGltcG9ydCB7IE1lZGlhUGlwZWxpbmVzRnVuY3Rpb24gfSBmcm9tICcuLi9yZXNvdXJjZXMvbWVkaWEtcGlwZWxpbmVzL21lZGlhLXBpcGVsaW5lcy1mdW5jdGlvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVkaWFQaXBlbGluZVJlc291cmNlUHJvcHMgZXh0ZW5kcyBSZXNvdXJjZVByb3BzIHtcbiAgcmVhZG9ubHkgcHJvcGVydGllczogeyBbcHJvcG5hbWU6IHN0cmluZ106IGFueSB9O1xuICByZWFkb25seSByZXNvdXJjZVR5cGU6ICdNZWRpYVBpcGVsaW5lSW5zaWdodHMnIHwgJ0tpbmVzaXNWaWRlb1N0cmVhbVBvb2wnO1xuICByZWFkb25seSB1aWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIE1lZGlhUGlwZWxpbmVSZXNvdXJjZXMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgbWVkaWFQaXBlbGluZUN1c3RvbVJlc291cmNlOiBDdXN0b21SZXNvdXJjZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTWVkaWFQaXBlbGluZVJlc291cmNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgbWVkaWFQaXBlbGluZUN1c3RvbVJlc291cmNlID1cbiAgICAgIEN1c3RvbVJlc291cmNlUHJvdmlkZXIuZ2V0T3JDcmVhdGVQcm92aWRlcihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgJ0N1c3RvbTo6TWVkaWFQaXBlbGluZVJlc291cmNlcycsXG4gICAgICAgIHtcbiAgICAgICAgICBjb2RlRGlyZWN0b3J5OlxuICAgICAgICAgICAgJ25vZGVfbW9kdWxlcy9jZGstYW1hem9uLWNoaW1lLXJlc291cmNlcy9hc3NldHMvcmVzb3VyY2VzL21lZGlhLXBpcGVsaW5lcycsXG4gICAgICAgICAgcnVudGltZTogQ3VzdG9tUmVzb3VyY2VQcm92aWRlclJ1bnRpbWUuTk9ERUpTXzE4X1gsXG4gICAgICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygzMDApLFxuICAgICAgICAgIHBvbGljeVN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgQWN0aW9uOiBbXG4gICAgICAgICAgICAgICAgJ2NoaW1lOipNZWRpYUluc2lnaHRzUGlwZWxpbmVDb25maWd1cmF0aW9uJyxcbiAgICAgICAgICAgICAgICAnY2hpbWU6Kk1lZGlhUGlwZWxpbmVLaW5lc2lzVmlkZW9TdHJlYW1Qb29sJyxcbiAgICAgICAgICAgICAgICAnY2hpbWU6TGlzdFZvaWNlQ29ubmVjdG9ycycsXG4gICAgICAgICAgICAgICAgJ2NoaW1lOnRhZ1Jlc291cmNlJyxcbiAgICAgICAgICAgICAgICAnczM6TGlzdEJ1Y2tldCcsXG4gICAgICAgICAgICAgICAgJ2tpbmVzaXM6RGVzY3JpYmVTdHJlYW0nLFxuICAgICAgICAgICAgICAgICdsYW1iZGE6R2V0UG9saWN5JyxcbiAgICAgICAgICAgICAgICAnbGFtYmRhOkFkZFBlcm1pc3Npb24nLFxuICAgICAgICAgICAgICAgICdjaGltZToqJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgUmVzb3VyY2U6ICcqJyxcbiAgICAgICAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgQWN0aW9uOiBbXG4gICAgICAgICAgICAgICAgJ2lhbTpQdXRSb2xlUG9saWN5JyxcbiAgICAgICAgICAgICAgICAnaWFtOkNyZWF0ZVNlcnZpY2VMaW5rZWRSb2xlJyxcbiAgICAgICAgICAgICAgICAnaWFtOlBhc3NSb2xlJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgUmVzb3VyY2U6ICcqJyxcbiAgICAgICAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgQWN0aW9uOiBbXG4gICAgICAgICAgICAgICAgJ2xvZ3M6RGVzY3JpYmVMb2dHcm91cHMnLFxuICAgICAgICAgICAgICAgICdsb2dzOkNyZWF0ZUxvZ0dyb3VwJyxcbiAgICAgICAgICAgICAgICAnbG9nczpDcmVhdGVMb2dTdHJlYW0nLFxuICAgICAgICAgICAgICAgICdsb2dzOkxpc3RMb2dEZWxpdmVyaWVzJyxcbiAgICAgICAgICAgICAgICAnbG9nczpDcmVhdGVMb2dEZWxpdmVyeScsXG4gICAgICAgICAgICAgICAgJ2xvZ3M6R2V0TG9nRGVsaXZlcnknLFxuICAgICAgICAgICAgICAgICdsb2dzOkRlbGV0ZUxvZ0RlbGl2ZXJ5JyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgUmVzb3VyY2U6ICcqJyxcbiAgICAgICAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgQWN0aW9uOiAnc3NtOipQYXJhbWV0ZXIqJyxcbiAgICAgICAgICAgICAgUmVzb3VyY2U6IGBhcm46YXdzOnNzbToke1N0YWNrLm9mKHRoaXMpLnJlZ2lvbn06JHtcbiAgICAgICAgICAgICAgICBTdGFjay5vZih0aGlzKS5hY2NvdW50XG4gICAgICAgICAgICAgIH06cGFyYW1ldGVyL2NoaW1lLypgLFxuICAgICAgICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgaWYgKHByb3BzLnJlc291cmNlVHlwZSA9PT0gJ0tpbmVzaXNWaWRlb1N0cmVhbVBvb2wnKSB7XG4gICAgICBtZWRpYVBpcGVsaW5lQ3VzdG9tUmVzb3VyY2UuYWRkVG9Sb2xlUG9saWN5KHtcbiAgICAgICAgQWN0aW9uOiBbJ2tpbmVzaXN2aWRlbzpMaXN0U3RyZWFtcyddLFxuICAgICAgICBSZXNvdXJjZTogJyonLFxuICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICB9KTtcbiAgICAgIG1lZGlhUGlwZWxpbmVDdXN0b21SZXNvdXJjZS5hZGRUb1JvbGVQb2xpY3koe1xuICAgICAgICBBY3Rpb246IFsna2luZXNpc3ZpZGVvOkRlbGV0ZVN0cmVhbSddLFxuICAgICAgICBSZXNvdXJjZTogYGFybjphd3M6a2luZXNpc3ZpZGVvOiR7U3RhY2sub2YodGhpcykucmVnaW9ufToke1xuICAgICAgICAgIFN0YWNrLm9mKHRoaXMpLmFjY291bnRcbiAgICAgICAgfTpzdHJlYW0vQ2hpbWVNZWRpYVBpcGVsaW5lcy0ke3Byb3BzLnByb3BlcnRpZXMucG9vbE5hbWV9KmAsXG4gICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMubWVkaWFQaXBlbGluZUN1c3RvbVJlc291cmNlID0gbmV3IEN1c3RvbVJlc291cmNlKFxuICAgICAgdGhpcyxcbiAgICAgICdtZWRpYVBpcGVsaW5lQ3VzdG9tUmVzb3VyY2UnLFxuICAgICAge1xuICAgICAgICBzZXJ2aWNlVG9rZW46IG1lZGlhUGlwZWxpbmVDdXN0b21SZXNvdXJjZS5zZXJ2aWNlVG9rZW4sXG4gICAgICAgIHByb3BlcnRpZXM6IHsgLi4ucHJvcHMgfSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxufVxuIl19