constructor()

in source/lib/solution-helper/lambda-role-cloudwatch-construct.ts [25:47]


    constructor(scope: cdk.Construct, id: string, props?: ExecutionRoleProps) {
        super(scope, id);

        const logsPolicy = new iam.PolicyStatement({
            resources: [`arn:${cdk.Aws.PARTITION}:logs:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:log-group:/aws/lambda/*`],
            actions: ['logs:CreateLogGroup', 'logs:CreateLogStream', 'logs:PutLogEvents']
        });

        const inlinePolicies = {
            CloudWatchLogsPolicy: new iam.PolicyDocument({
                statements: [logsPolicy]
            })
        };

        if (props !== undefined) {
            (inlinePolicies as any)[props.inlinePolicyName] = props.inlinePolicyDocument;
        }

        this.Role = new iam.Role(this, 'Role', {
            assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'),
            inlinePolicies
        });
    }