From b909dcd827824c1859af421ea7a514b6bd87487e Mon Sep 17 00:00:00 2001 From: Elad Ben-Israel Date: Thu, 10 Jan 2019 13:29:40 +0200 Subject: [PATCH] fix(lambda): use IRole instead of Role to allow imports (#1509) In order to allow passing in an imported role to a Lambda/Alias, we must use `IRole` instead of `Role`. --- packages/@aws-cdk/aws-lambda/lib/alias.ts | 2 +- packages/@aws-cdk/aws-lambda/lib/lambda-ref.ts | 6 +++--- packages/@aws-cdk/aws-lambda/lib/lambda.ts | 6 +++--- packages/@aws-cdk/aws-lambda/lib/singleton-lambda.ts | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/@aws-cdk/aws-lambda/lib/alias.ts b/packages/@aws-cdk/aws-lambda/lib/alias.ts index afe95955754cd..0f54a1feada37 100644 --- a/packages/@aws-cdk/aws-lambda/lib/alias.ts +++ b/packages/@aws-cdk/aws-lambda/lib/alias.ts @@ -71,7 +71,7 @@ export class Alias extends FunctionBase { /** * Role associated with this alias */ - public readonly role?: iam.Role | undefined; + public readonly role?: iam.IRole | undefined; protected readonly canCreatePermissions: boolean = true; // Not used anyway diff --git a/packages/@aws-cdk/aws-lambda/lib/lambda-ref.ts b/packages/@aws-cdk/aws-lambda/lib/lambda-ref.ts index 480b6af15c6d9..8c241d5428af6 100644 --- a/packages/@aws-cdk/aws-lambda/lib/lambda-ref.ts +++ b/packages/@aws-cdk/aws-lambda/lib/lambda-ref.ts @@ -33,7 +33,7 @@ export interface IFunction extends cdk.IConstruct, events.IEventRuleTarget, logs /** * The IAM role associated with this function. */ - readonly role?: iam.Role; + readonly role?: iam.IRole; /** * Whether or not this Lambda function was bound to a VPC @@ -123,7 +123,7 @@ export interface FunctionImportProps { * * If the role is not specified, any role-related operations will no-op. */ - role?: iam.Role; + role?: iam.IRole; /** * Id of the securityGroup for this Lambda, if in a VPC. @@ -149,7 +149,7 @@ export abstract class FunctionBase extends cdk.Construct implements IFunction { /** * The IAM role associated with this function. */ - public abstract readonly role?: iam.Role; + public abstract readonly role?: iam.IRole; /** * Whether the addPermission() call adds any permissions diff --git a/packages/@aws-cdk/aws-lambda/lib/lambda.ts b/packages/@aws-cdk/aws-lambda/lib/lambda.ts index a1eaaa906fa8c..32042863c4d43 100644 --- a/packages/@aws-cdk/aws-lambda/lib/lambda.ts +++ b/packages/@aws-cdk/aws-lambda/lib/lambda.ts @@ -111,7 +111,7 @@ export interface FunctionProps { * @default a unique role will be generated for this lambda function. * Both supplied and generated roles can always be changed by calling `addToRolePolicy`. */ - role?: iam.Role; + role?: iam.IRole; /** * VPC network to place Lambda network interfaces @@ -284,7 +284,7 @@ export class Function extends FunctionBase { /** * Execution role associated with this function */ - public readonly role?: iam.Role; + public readonly role?: iam.IRole; /** * The runtime configured for this lambda. @@ -493,7 +493,7 @@ export class Function extends FunctionBase { export class ImportedFunction extends FunctionBase { public readonly functionName: string; public readonly functionArn: string; - public readonly role?: iam.Role; + public readonly role?: iam.IRole; protected readonly canCreatePermissions = false; diff --git a/packages/@aws-cdk/aws-lambda/lib/singleton-lambda.ts b/packages/@aws-cdk/aws-lambda/lib/singleton-lambda.ts index ff65d1f66565c..d5daeecca091b 100644 --- a/packages/@aws-cdk/aws-lambda/lib/singleton-lambda.ts +++ b/packages/@aws-cdk/aws-lambda/lib/singleton-lambda.ts @@ -37,7 +37,7 @@ export interface SingletonFunctionProps extends FunctionProps { export class SingletonFunction extends FunctionBase { public readonly functionName: string; public readonly functionArn: string; - public readonly role?: iam.Role | undefined; + public readonly role?: iam.IRole | undefined; protected readonly canCreatePermissions: boolean; private lambdaFunction: IFunction;