@rockcarver/frodo-lib
Version:
A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.
263 lines • 11 kB
TypeScript
import { IdObjectSkeletonInterface } from '../api/ApiTypes';
import { State } from '../shared/State';
import { MappingSkeleton } from './MappingOps';
import { ExportMetaData } from './OpsTypes';
export type Connector = {
/**
* Connector type key used to build the IDM id: '<type>/<id>'
*/
CONNECTOR_TYPE: string;
/**
* Create an empty connector export template
* @returns {ConnectorExportInterface} an empty connector export template
*/
createConnectorExportTemplate(): ConnectorExportInterface;
/**
* Get all connectors
* @returns {Promise<ConnectorSkeleton[]>} a promise that resolves to an array of connector objects
*/
readConnectors(): Promise<ConnectorSkeleton[]>;
/**
* Get connector
* @param {string} connectorId id/name of the connector without the type prefix
* @returns {Promise<ConnectorSkeleton>} a promise that resolves an connector object
*/
readConnector(connectorId: string): Promise<ConnectorSkeleton>;
/**
* Create connector
* @param {string} connectorId id/name of the connector without the type prefix
* @param {ConnectorSkeleton} connectorData connector object
* @returns {Promise<ConnectorSkeleton>} a promise that resolves to an connector object
*/
createConnector(connectorId: string, connectorData: ConnectorSkeleton): Promise<ConnectorSkeleton>;
/**
* Update or create connector
* @param {string} connectorId id/name of the connector without the type prefix
* @param {ConnectorSkeleton} connectorData connector object
* @returns {Promise<ConnectorSkeleton>} a promise that resolves to an connector object
*/
updateConnector(connectorId: string, connectorData: ConnectorSkeleton): Promise<ConnectorSkeleton>;
/**
* Delete all connectors
* @returns {Promise<ConnectorSkeleton[]>} a promise that resolves to an array of connector objects
*/
deleteConnectors(): Promise<ConnectorSkeleton[]>;
/**
* Delete connector
* @param {string} connectorId id/name of the connector without the type prefix
* @returns {Promise<ConnectorSkeleton>} a promise that resolves an connector object
*/
deleteConnector(connectorId: string): Promise<ConnectorSkeleton>;
/**
* Export connector
* @param {string} connectorId id/name of the connector without the type prefix
* @param {ConnectorExportOptions} options export options
* @returns {Promise<ConnectorExportInterface>} a promise that resolves to a ConnectorExportInterface object
*/
exportConnector(connectorId: string, options?: ConnectorExportOptions): Promise<ConnectorExportInterface>;
/**
* Export all connectors
* @returns {Promise<ConnectorExportInterface>} a promise that resolves to a ConnectorExportInterface object
*/
exportConnectors(): Promise<ConnectorExportInterface>;
/**
* Import connector
* @param {string} connectorId id/name of the connector without the type prefix
* @param {ConnectorExportInterface} importData import data
* @param {ConnectorImportOptions} options import options
* @returns {Promise<ConnectorSkeleton>} a promise resolving to a ConnectorSkeleton object
*/
importConnector(connectorId: string, importData: ConnectorExportInterface, options?: ConnectorImportOptions): Promise<ConnectorSkeleton>;
/**
* Import first connector
* @param {ConnectorExportInterface} importData import data
* @param {ConnectorImportOptions} options import options
* @returns {Promise<ConnectorSkeleton>} a promise resolving to a ConnectorSkeleton object
*/
importFirstConnector(importData: ConnectorExportInterface, options?: ConnectorImportOptions): Promise<ConnectorSkeleton>;
/**
* Import all connectors
* @param {ConnectorExportInterface} importData import data
* @param {ConnectorImportOptions} options import options
* @returns {Promise<ConnectorSkeleton[]>} a promise resolving to an array of ConnectorSkeleton objects
*/
importConnectors(importData: ConnectorExportInterface, options?: ConnectorImportOptions): Promise<ConnectorSkeleton[]>;
};
declare const _default: (state: State) => Connector;
export default _default;
/**
* Connector type key used to build the IDM id: '\<type>/\<id>'
*/
export declare const CONNECTOR_TYPE = "provisioner.openicf";
export type ObjectPropertyFlag = 'NOT_CREATABLE' | 'NOT_READABLE' | 'NOT_RETURNED_BY_DEFAULT' | 'NOT_UPDATEABLE';
export type ObjectPropertyType = 'array' | 'boolean' | 'string';
export type ObjectPropertyNativeType = 'array' | 'boolean' | 'string' | 'JAVA_TYPE_BIGDECIMAL' | 'JAVA_TYPE_BIGINTEGER' | 'JAVA_TYPE_BYTE' | 'JAVA_TYPE_BYTE_ARRAY' | 'JAVA_TYPE_CHAR' | 'JAVA_TYPE_CHARACTER' | 'JAVA_TYPE_DATE' | 'JAVA_TYPE_DOUBLE' | 'JAVA_TYPE_FILE' | 'JAVA_TYPE_FLOAT' | 'JAVA_TYPE_GUARDEDBYTEARRAY' | 'JAVA_TYPE_GUARDEDSTRING' | 'JAVA_TYPE_INT' | 'JAVA_TYPE_INTEGER' | 'JAVA_TYPE_LONG' | 'JAVA_TYPE_OBJECT' | 'JAVA_TYPE_PRIMITIVE_BOOLEAN' | 'JAVA_TYPE_PRIMITIVE_BYTE' | 'JAVA_TYPE_PRIMITIVE_DOUBLE' | 'JAVA_TYPE_PRIMITIVE_FLOAT' | 'JAVA_TYPE_PRIMITIVE_LONG' | 'JAVA_TYPE_STRING';
export type ObjectPropertySkeleton = {
flags?: ObjectPropertyFlag[];
nativeName: string;
nativeType: ObjectPropertyNativeType;
type: ObjectPropertyType;
runAsUser?: boolean;
required?: boolean;
items?: {
nativeType: ObjectPropertyNativeType;
type: ObjectPropertyType;
};
};
export type ObjectTypeSkeleton = {
$schema: string;
id: string;
nativeType: string;
properties: Record<string, ObjectPropertySkeleton>;
type: 'object';
};
export type ConnectorSkeleton = IdObjectSkeletonInterface & {
configurationProperties: any;
connectorRef: {
bundleName: string;
bundleVersion: string;
connectorHostRef: string;
connectorName: string;
displayName: string;
systemType: 'provisioner.openicf';
};
enabled: boolean;
objectTypes: Record<string, ObjectTypeSkeleton>;
};
/**
* Connector export options
*/
export interface ConnectorExportOptions {
/**
* Use string arrays to store multi-line text in scripts.
*/
useStringArrays: boolean;
/**
* Include any dependencies (mappings).
*/
deps: boolean;
}
/**
* Connector import options
*/
export interface ConnectorImportOptions {
/**
* Include any dependencies (mappings).
*/
deps: boolean;
}
export interface ConnectorExportInterface {
meta?: ExportMetaData;
connector: Record<string, ConnectorSkeleton>;
mapping?: Record<string, MappingSkeleton>;
}
export declare function createConnectorExportTemplate({ state, }: {
state: State;
}): ConnectorExportInterface;
/**
* Get all connectors
* @returns {Promise<ConnectorSkeleton[]>} a promise that resolves to an array of connector objects
*/
export declare function readConnectors({ state, }: {
state: State;
}): Promise<ConnectorSkeleton[]>;
/**
* Get connector
* @param {string} connectorId id/name of the connector without the type prefix
* @returns {Promise<ConnectorSkeleton>} a promise that resolves an connector object
*/
export declare function readConnector({ connectorId, state, }: {
connectorId: string;
state: State;
}): Promise<ConnectorSkeleton>;
/**
* Create connector
* @param {string} connectorId id/name of the connector without the type prefix
* @param {ConnectorSkeleton} connectorData connector object
* @returns {Promise<ConnectorSkeleton>} a promise that resolves to an connector object
*/
export declare function createConnector({ connectorId, connectorData, state, }: {
connectorId: string;
connectorData: ConnectorSkeleton;
state: State;
}): Promise<ConnectorSkeleton>;
/**
* Update or create connector
* @param {string} connectorId id/name of the connector without the type prefix
* @param {ConnectorSkeleton} connectorData connector object
* @returns {Promise<ConnectorSkeleton>} a promise that resolves to an connector object
*/
export declare function updateConnector({ connectorId, connectorData, state, }: {
connectorId: string;
connectorData: ConnectorSkeleton;
state: State;
}): Promise<ConnectorSkeleton>;
/**
* Delete all connectors
* @returns {Promise<ConnectorSkeleton[]>} a promise that resolves to an array of connector objects
*/
export declare function deleteConnectors({ state, }: {
state: State;
}): Promise<ConnectorSkeleton[]>;
/**
* Delete connector
* @param {string} connectorId id/name of the connector without the type prefix
* @returns {Promise<ConnectorSkeleton>} a promise that resolves an connector object
*/
export declare function deleteConnector({ connectorId, state, }: {
connectorId: string;
state: State;
}): Promise<ConnectorSkeleton>;
/**
* Export connector
* @param {string} connectorId id/name of the connector without the type prefix
* @returns {Promise<ConnectorExportInterface>} a promise that resolves to a ConnectorExportInterface object
*/
export declare function exportConnector({ connectorId, options, state, }: {
connectorId: string;
options?: ConnectorExportOptions;
state: State;
}): Promise<ConnectorExportInterface>;
/**
* Export all connectors
* @returns {Promise<ConnectorExportInterface>} a promise that resolves to a ConnectorExportInterface object
*/
export declare function exportConnectors({ state, }: {
state: State;
}): Promise<ConnectorExportInterface>;
/**
* Import connector
* @param {string} connectorId id/name of the connector without the type prefix
* @param {ConnectorExportInterface} importData import data
* @param {ConnectorImportOptions} options import options
* @returns {Promise<ConnectorSkeleton>} a promise resolving to a ConnectorSkeleton object
*/
export declare function importConnector({ connectorId, importData, options, state, }: {
connectorId: string;
importData: ConnectorExportInterface;
options?: ConnectorImportOptions;
state: State;
}): Promise<ConnectorSkeleton>;
/**
* Import first connector
* @param {ConnectorExportInterface} importData import data
* @param {ConnectorImportOptions} options import options
* @returns {Promise<ConnectorSkeleton>} a promise resolving to a ConnectorSkeleton object
*/
export declare function importFirstConnector({ importData, options, state, }: {
importData: ConnectorExportInterface;
options?: ConnectorImportOptions;
state: State;
}): Promise<ConnectorSkeleton>;
/**
* Import all connectors
* @param {ConnectorExportInterface} importData import data
* @param {ConnectorImportOptions} options import options
* @returns {Promise<ConnectorSkeleton[]>} a promise resolving to an array of ConnectorSkeleton objects
*/
export declare function importConnectors({ importData, options, state, }: {
importData: ConnectorExportInterface;
options?: ConnectorImportOptions;
state: State;
}): Promise<ConnectorSkeleton[]>;
//# sourceMappingURL=ConnectorOps.d.ts.map