@rockcarver/frodo-lib
Version:
A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.
232 lines • 9.63 kB
TypeScript
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