public resolveRoleRef()

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);
    }
  }