Skip to content

Commit eb13741

Browse files
mitchlloydrix0rrr
authored andcommitted
fix(iam): allow CompositePrincipal construction with spread (#2507)
1 parent 1feda0c commit eb13741

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

packages/@aws-cdk/aws-iam/lib/policy-document.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -287,11 +287,13 @@ export class CompositePrincipal extends PrincipalBase {
287287
public readonly assumeRoleAction: string;
288288
private readonly principals = new Array<PrincipalBase>();
289289

290-
constructor(principal: PrincipalBase, ...additionalPrincipals: PrincipalBase[]) {
290+
constructor(...principals: PrincipalBase[]) {
291291
super();
292-
this.assumeRoleAction = principal.assumeRoleAction;
293-
this.addPrincipals(principal);
294-
this.addPrincipals(...additionalPrincipals);
292+
if (principals.length === 0) {
293+
throw new Error('CompositePrincipals must be constructed with at least 1 Principal but none were passed.');
294+
}
295+
this.assumeRoleAction = principals[0].assumeRoleAction;
296+
this.addPrincipals(...principals);
295297
}
296298

297299
public addPrincipals(...principals: PrincipalBase[]): this {

0 commit comments

Comments
 (0)