UNPKG

@rockcarver/frodo-lib

Version:

A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.

232 lines 9.63 kB
import { type IdObjectSkeletonInterface } from '../api/ApiTypes'; import { State } from '../shared/State'; import { type ExportMetaData } from './OpsTypes'; export type InternalRole = { /** * Create an empty internal role export template * @returns {InternalRoleExportInterface} an empty internal role export template */ createInternalRoleExportTemplate(): InternalRoleExportInterface; /** * Create internal role * @param {InternalRoleSkeleton} roleData internal role data * @returns {Promise<InternalRoleSkeleton>} a promise that resolves to an internal role object */ createInternalRole(roleData: InternalRoleSkeleton): Promise<InternalRoleSkeleton>; /** * Read internal role * @param {string} roleId internal role uuid * @returns {Promise<InternalRoleSkeleton>} a promise that resolves to an internal role object */ readInternalRole(roleId: string): Promise<InternalRoleSkeleton>; /** * Read internal role by name * @param {string} roleName internal role name * @returns {Promise<InternalRoleSkeleton>} a promise that resolves to an internal role object */ readInternalRoleByName(roleName: string): Promise<InternalRoleSkeleton>; /** * Read all internal roles. Results are sorted aphabetically. * @returns {Promise<InternalRoleSkeleton[]>} a promise that resolves to an array of internal role objects */ readInternalRoles(): Promise<InternalRoleSkeleton[]>; /** * Update internal role * @param {string} roleId internal role uuid * @param {InternalRoleSkeleton} roleData internal role data * @returns {Promise<InternalRoleSkeleton>} a promise that resolves to an internal role object */ updateInternalRole(roleId: string, roleData: InternalRoleSkeleton): Promise<InternalRoleSkeleton>; /** * Delete internal role * @param {string} roleId internal role uuid * @returns {Promise<InternalRoleSkeleton>} a promise that resolves to an internal role object */ deleteInternalRole(roleId: string): Promise<InternalRoleSkeleton>; /** * Delete internal role by name * @param {string} roleName internal role name * @returns {Promise<InternalRoleSkeleton>} a promise that resolves to an internal role object */ deleteInternalRoleByName(roleName: string): Promise<InternalRoleSkeleton>; /** * Delete all internal roles * @returns {Promise<InternalRoleSkeleton[]>} a promise that resolves to an array of internal role objects */ deleteInternalRoles(): Promise<InternalRoleSkeleton[]>; /** * Query internal roles * @param filter CREST search filter * @param fields array of fields to return */ queryInternalRoles(filter: string, fields?: string[]): Promise<InternalRoleSkeleton[]>; /** * Export internal role. The response can be saved to file as is. * @param {string} roleId internal role uuid * @returns {Promise<InternalRoleExportInterface} Promise resolving to an InternalRoleExportInterface object. */ exportInternalRole(roleId: string): Promise<InternalRoleExportInterface>; /** * Export internal role by name. The response can be saved to file as is. * @param {string} roleName internal role name * @returns {Promise<InternalRoleExportInterface} Promise resolving to an InternalRoleExportInterface object. */ exportInternalRoleByName(roleName: string): Promise<InternalRoleExportInterface>; /** * Export all internal roles. The response can be saved to file as is. * @returns {Promise<InternalRoleExportInterface>} Promise resolving to an InternalRoleExportInterface object. */ exportInternalRoles(): Promise<InternalRoleExportInterface>; /** * Import internal role. The import data is usually read from an internal role export file. * @param {string} roleId internal role uuid * @param {InternalRoleExportInterface} importData internal role import data. * @returns {Promise<InternalRoleSkeleton>} Promise resolving to an internal role object. */ importInternalRole(roleId: string, importData: InternalRoleExportInterface): Promise<InternalRoleSkeleton>; /** * Import internal role by name. The import data is usually read from an internal role export file. * @param {string} roleName internal role name * @param {InternalRoleExportInterface} importData internal role import data. * @returns {Promise<InternalRoleSkeleton>} Promise resolving to an internal role object. */ importInternalRoleByName(roleName: string, importData: InternalRoleExportInterface): Promise<InternalRoleSkeleton>; /** * Import first internal role. The import data is usually read from an internal role export file. * @param {InternalRoleExportInterface} importData internal role import data. */ importFirstInternalRole(importData: InternalRoleExportInterface): Promise<InternalRoleSkeleton[]>; /** * Import internal roles. The import data is usually read from an internal role export file. * @param {InternalRoleExportInterface} importData internal role import data. */ importInternalRoles(importData: InternalRoleExportInterface): Promise<InternalRoleSkeleton[]>; }; declare const _default: (state: State) => InternalRole; export default _default; export type InternalRoleSkeleton = IdObjectSkeletonInterface & { condition: string; description: string; name: string; privileges: { accessFlags: { attribute: string; readOnly: boolean; }[]; actions: string[]; filter: string; name: string; path: string; permissions: string[]; }[]; temporalConstraints: { duration: string; }[]; }; /** * Export format for internal roles */ export interface InternalRoleExportInterface { /** * Metadata */ meta?: ExportMetaData; /** * Internal roles */ internalRole: Record<string, InternalRoleSkeleton>; } export declare function createInternalRoleExportTemplate({ state, }: { state: State; }): InternalRoleExportInterface; export declare function createInternalRole({ roleData, state, }: { roleData: InternalRoleSkeleton; state: State; }): Promise<InternalRoleSkeleton>; export declare function readInternalRole({ roleId, fields, state, }: { roleId: string; fields?: string[]; state: State; }): Promise<InternalRoleSkeleton>; export declare function readInternalRoleByName({ roleName, fields, state, }: { roleName: string; fields?: string[]; state: State; }): Promise<InternalRoleSkeleton>; export declare function readInternalRoles({ fields, state, }: { fields?: string[]; state: State; }): Promise<InternalRoleSkeleton[]>; export declare function updateInternalRole({ roleId, roleData, state, }: { roleId: string; roleData: InternalRoleSkeleton; state: State; }): Promise<InternalRoleSkeleton>; export declare function deleteInternalRole({ roleId, state, }: { roleId: string; state: State; }): Promise<InternalRoleSkeleton>; export declare function deleteInternalRoleByName({ roleName, state, }: { roleName: string; state: State; }): Promise<InternalRoleSkeleton>; export declare function deleteInternalRoles({ state, }: { state: State; }): Promise<InternalRoleSkeleton[]>; export declare function queryInternalRoles({ filter, fields, state, }: { filter: string; fields?: string[]; state: State; }): Promise<InternalRoleSkeleton[]>; export declare function exportInternalRole({ roleId, state, }: { roleId: string; state: State; }): Promise<InternalRoleExportInterface>; export declare function exportInternalRoleByName({ roleName, state, }: { roleName: string; state: State; }): Promise<InternalRoleExportInterface>; export declare function exportInternalRoles({ state, }: { state: State; }): Promise<InternalRoleExportInterface>; /** * Import internal role * @param {string} clientId client id * @param {InternalRoleExportInterface} importData import data * @returns {Promise<InternalRoleSkeleton>} a promise resolving to an oauth2 client */ export declare function importInternalRole({ roleId, importData, state, }: { roleId: string; importData: InternalRoleExportInterface; state: State; }): Promise<InternalRoleSkeleton>; /** * Import internal role * @param {string} clientId client id * @param {InternalRoleExportInterface} importData import data * @returns {Promise<InternalRoleSkeleton>} a promise resolving to an oauth2 client */ export declare function importInternalRoleByName({ roleName: roleName, importData, state, }: { roleName: string; importData: InternalRoleExportInterface; state: State; }): Promise<InternalRoleSkeleton>; /** * Import first internal role * @param {InternalRoleExportInterface} importData import data * @returns {Promise<InternalRoleSkeleton[]>} a promise resolving to an array of oauth2 clients */ export declare function importFirstInternalRole({ importData, state, }: { importData: InternalRoleExportInterface; state: State; }): Promise<InternalRoleSkeleton>; /** * Import internal roles * @param {InternalRoleExportInterface} importData import data * @returns {Promise<InternalRoleSkeleton[]>} a promise resolving to an array of oauth2 clients */ export declare function importInternalRoles({ importData, state, }: { importData: InternalRoleExportInterface; state: State; }): Promise<InternalRoleSkeleton[]>; //# sourceMappingURL=InternalRoleOps.d.ts.map