@rockcarver/frodo-lib
Version:
A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.
230 lines • 8.79 kB
TypeScript
import { RealmSkeleton } from '../api/RealmApi';
import { State } from '../shared/State';
import { ExportMetaData } from './OpsTypes';
export type Realm = {
/**
* Read all realms
* @returns {Promise<RealmSkeleton[]>} a promise resolving to an array of realm objects
*/
readRealms(): Promise<RealmSkeleton[]>;
/**
* Read realm
* @param {string} realmId realm id
* @returns {Promise<RealmSkeleton>} a promise resolving to a realm object
*/
readRealm(realmId: string): Promise<RealmSkeleton>;
/**
* Read realm by name
* @param {string} realmName realm name
* @returns {Promise<RealmSkeleton>} a promise resolving to a realm object
*/
readRealmByName(realmName: string): Promise<RealmSkeleton>;
/**
* Export all realms. The response can be saved to file as is.
* @returns {Promise<RealmExportInterface>} Promise resolving to a RealmExportInterface object.
*/
exportRealms(): Promise<RealmExportInterface>;
/**
* Create realm
* @param {string} realmName realm name
* @param {RealmSkeleton} realmData realm data
* @returns {Promise<RealmSkeleton>} a promise resolving to a realm object
*/
createRealm(realmName: string, realmData?: RealmSkeleton): Promise<RealmSkeleton>;
/**
* Update realm
* @param {string} realmId realm id
* @param {RealmSkeleton} realmData realm data
* @returns {Promise<RealmSkeleton>} a promise resolving to a realm object
*/
updateRealm(realmId: string, realmData: RealmSkeleton): Promise<RealmSkeleton>;
/**
* Import realms
* @param {RealmExportInterface} importData realm import data
* @param {string} realmId Optional realm id. If supplied, only the realm of that id is imported. Takes priority over realmName if both are provided.
* @param {string} realmName Optional realm name. If supplied, only the realm of that name is imported.
* @returns {Promise<RealmSkeleton[]>} the imported realms
*/
importRealms(importData: RealmExportInterface, realmId?: string, realmName?: string): Promise<RealmSkeleton[]>;
/**
* Delete realm
* @param {string} realmId realm id
* @returns {Promise<RealmSkeleton>} a promise resolving to a realm object
*/
deleteRealm(realmId: string): Promise<RealmSkeleton>;
/**
* Delete realm by name
* @param {string} realmName realm name
* @returns {Promise<RealmSkeleton>} a promise resolving to a realm object
*/
deleteRealmByName(realmName: string): Promise<RealmSkeleton>;
/**
* Add custom DNS domain name (realm DNS alias)
* @param {string} realmName realm name
* @param {string} domain domain name
* @returns {Promise<RealmSkeleton>} a promise resolving to a realm object
*/
addCustomDomain(realmName: string, domain: string): Promise<RealmSkeleton>;
/**
* Remove custom DNS domain name (realm DNS alias)
* @param {string} realmName realm name
* @param {string} domain domain name
* @returns {Promise<RealmSkeleton>} a promise resolving to a realm object
*/
removeCustomDomain(realmName: string, domain: string): Promise<RealmSkeleton>;
/**
* Get all realms
* @returns {Promise<RealmSkeleton[]>} a promise resolving to an array of realm objects
* @deprecated since v2.0.0 use {@link Realm.readRealms | readRealms} instead
* ```javascript
* readRealms(): Promise<RealmSkeleton[]>
* ```
* @group Deprecated
*/
getRealms(): Promise<RealmSkeleton[]>;
/**
* Get realm by name
* @param {string} realmName realm name
* @returns {Promise<RealmSkeleton>} a promise resolving to a realm object
* @deprecated since v2.0.0 use {@link Realm.readRealmByName | readRealmByName} instead
* ```javascript
* readRealmByName(realmName: string): Promise<RealmSkeleton>
* ```
* @group Deprecated
*/
getRealmByName(realmName: string): Promise<RealmSkeleton>;
/**
* Update realm
* @param {string} realmId realm id
* @param {RealmSkeleton} realmData realm data
* @returns {Promise<RealmSkeleton>} a promise resolving to a realm object
* @deprecated since v2.0.0 use {@link Realm.updateRealm | updateRealm} or {@link Realm.createRealm | createRealm} instead
* ```javascript
* updateRealm(realmId: string, realmData: RealmSkeleton): Promise<RealmSkeleton>
* createRealm(realmName: string, realmData: RealmSkeleton): Promise<RealmSkeleton>
* ```
* @group Deprecated
*/
putRealm(realmId: string, realmData: RealmSkeleton): Promise<RealmSkeleton>;
};
declare const _default: (state: State) => Realm;
export default _default;
export interface RealmExportInterface {
meta?: ExportMetaData;
realm: Record<string, RealmSkeleton>;
}
/**
* Create an empty realm export template
* @returns {RealmExportInterface} an empty realm export template
*/
export declare function createRealmExportTemplate({ state, }: {
state: State;
}): RealmExportInterface;
/**
* Get all realms
* @returns {Promise} a promise that resolves to an object containing an array of realm objects
*/
export declare function getRealms({ state }: {
state: State;
}): Promise<RealmSkeleton[]>;
/**
* Export all realms. The response can be saved to file as is.
* @returns {Promise<RealmExportInterface>} Promise resolving to a RealmExportInterface object.
*/
export declare function exportRealms({ state, }: {
state: State;
}): Promise<RealmExportInterface>;
/**
* Create realm
* @param {string} realmName realm name
* @param {RealmSkeleton} realmData realm data
* @returns {Promise<RealmSkeleton>} a promise resolving to a realm object
*/
export declare function createRealm({ realmName, realmData, state, }: {
realmName: string;
realmData?: RealmSkeleton;
state: State;
}): Promise<RealmSkeleton>;
/**
* Update realm
* @param {string} realmId realm id
* @param {RealmSkeleton} realmData realm config object
* @returns {Promise<RealmSkeleton>} a promise that resolves to a realm object
*/
export declare function updateRealm({ realmId, realmData, state, }: {
realmId: string;
realmData: RealmSkeleton;
state: State;
}): Promise<RealmSkeleton>;
/**
* Import realms
* @param {string} realmId Optional realm id. If supplied, only the realm of that id is imported. Takes priority over realmName if both are provided.
* @param {string} realmName Optional realm name. If supplied, only the realm of that name is imported.
* @param {RealmExportInterface} importData realm import data
* @returns {Promise<RealmSkeleton[]>} the imported realms
*/
export declare function importRealms({ realmId, realmName, importData, state, }: {
realmId?: string;
realmName?: string;
importData: RealmExportInterface;
state: State;
}): Promise<RealmSkeleton[]>;
/**
* Get realm
* @param {String} realmId realm id
* @returns {Promise<RealmSkeleton>} a promise that resolves to a realm object
*/
export declare function getRealm({ realmId, state, }: {
realmId: string;
state: State;
}): Promise<RealmSkeleton>;
/**
* Get realm by name
* @param {string} realmName realm name
* @returns {Promise<RealmSkeleton>} a promise that resolves to a realm object
*/
export declare function getRealmByName({ realmName, state, }: {
realmName: string;
state: State;
}): Promise<RealmSkeleton>;
/**
* Delete realm
* @param {string} realmId realm id
* @returns {Promise<RealmSkeleton>} a promise that resolves to an object containing a realm object
*/
export declare function deleteRealm({ realmId, state, }: {
realmId: string;
state: State;
}): Promise<RealmSkeleton>;
/**
* Delete realm by name
* @param {string} realmName realm name
* @returns {Promise<RealmSkeleton>} a promise that resolves to a realm object
*/
export declare function deleteRealmByName({ realmName, state, }: {
realmName: string;
state: State;
}): Promise<RealmSkeleton>;
/**
* Add custom DNS domain name (realm DNS alias)
* @param {string} realm realm name
* @param {string} domain domain name
* @returns {Promise<RealmSkeleton>} a promise that resolves to a realm object
*/
export declare function addCustomDomain({ realmName, domain, state, }: {
realmName: string;
domain: string;
state: State;
}): Promise<RealmSkeleton>;
/**
* Remove custom DNS domain name (realm DNS alias)
* @param {String} realm realm name
* @param {String} domain domain name
* @returns {Promise<RealmSkeleton>} a promise that resolves to a realm object
*/
export declare function removeCustomDomain({ realmName, domain, state, }: {
realmName: string;
domain: string;
state: State;
}): Promise<RealmSkeleton>;
//# sourceMappingURL=RealmOps.d.ts.map