in packages/utilities/iam-role-helper/lib/rolehelper.ts [88:101]
public resolveRoleRef(roleRef: MdaaResolvableRoleRef): MdaaResolvableRole {
if (!roleRef.id && !roleRef.arn && !roleRef.name) {
throw new Error('Role References must have at least one of arn, id, or name specified.');
}
if (roleRef.id && this.resolveIdCache[roleRef.id]) {
return this.resolveIdCache[roleRef.id];
} else if (roleRef.arn && this.resolveArnCache[roleRef.arn]) {
return this.resolveArnCache[roleRef.arn];
} else if (roleRef.name && this.resolveNameCache[roleRef.name]) {
return this.resolveNameCache[roleRef.name];
} else {
return this.createAndReturnResolvableRole(roleRef);
}
}