private createRole()

in lib/template/pattern/lambda-construct.ts [81:97]


  private createRole(roleName: string, policies: string[] | iam.PolicyStatement[]): iam.Role {
    const role = new iam.Role(this, roleName, {
      roleName: roleName,
      assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'),
    });

    role.addManagedPolicy({ managedPolicyArn: 'arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole' });
    for (var item of policies) {
      if (item instanceof iam.PolicyStatement) {
        role.addToPolicy(item);
      } else {
        role.addManagedPolicy({ managedPolicyArn: item });
      }
    }

    return role;
  }