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: '/' */ CONNECTOR_TYPE: string; /** * Create an empty connector export template * @returns {ConnectorExportInterface} an empty connector export template */ createConnectorExportTemplate(): ConnectorExportInterface; /** * Get all connectors * @returns {Promise} a promise that resolves to an array of connector objects */ readConnectors(): Promise; /** * Get connector * @param {string} connectorId id/name of the connector without the type prefix * @returns {Promise} a promise that resolves an connector object */ readConnector(connectorId: string): Promise; /** * Create connector * @param {string} connectorId id/name of the connector without the type prefix * @param {ConnectorSkeleton} connectorData connector object * @returns {Promise} a promise that resolves to an connector object */ createConnector(connectorId: string, connectorData: ConnectorSkeleton): Promise; /** * Update or create connector * @param {string} connectorId id/name of the connector without the type prefix * @param {ConnectorSkeleton} connectorData connector object * @returns {Promise} a promise that resolves to an connector object */ updateConnector(connectorId: string, connectorData: ConnectorSkeleton): Promise; /** * Delete all connectors * @returns {Promise} a promise that resolves to an array of connector objects */ deleteConnectors(): Promise; /** * Delete connector * @param {string} connectorId id/name of the connector without the type prefix * @returns {Promise} a promise that resolves an connector object */ deleteConnector(connectorId: string): Promise; /** * Export connector * @param {string} connectorId id/name of the connector without the type prefix * @param {ConnectorExportOptions} options export options * @returns {Promise} a promise that resolves to a ConnectorExportInterface object */ exportConnector(connectorId: string, options?: ConnectorExportOptions): Promise; /** * Export all connectors * @returns {Promise} a promise that resolves to a ConnectorExportInterface object */ exportConnectors(): Promise; /** * 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} a promise resolving to a ConnectorSkeleton object */ importConnector(connectorId: string, importData: ConnectorExportInterface, options?: ConnectorImportOptions): Promise; /** * Import first connector * @param {ConnectorExportInterface} importData import data * @param {ConnectorImportOptions} options import options * @returns {Promise} a promise resolving to a ConnectorSkeleton object */ importFirstConnector(importData: ConnectorExportInterface, options?: ConnectorImportOptions): Promise; /** * Import all connectors * @param {ConnectorExportInterface} importData import data * @param {ConnectorImportOptions} options import options * @returns {Promise} a promise resolving to an array of ConnectorSkeleton objects */ importConnectors(importData: ConnectorExportInterface, options?: ConnectorImportOptions): Promise; }; declare const _default: (state: State) => Connector; export default _default; /** * Connector type key used to build the IDM 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; 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; }; /** * 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; mapping?: Record; } export declare function createConnectorExportTemplate({ state, }: { state: State; }): ConnectorExportInterface; /** * Get all connectors * @returns {Promise} a promise that resolves to an array of connector objects */ export declare function readConnectors({ state, }: { state: State; }): Promise; /** * Get connector * @param {string} connectorId id/name of the connector without the type prefix * @returns {Promise} a promise that resolves an connector object */ export declare function readConnector({ connectorId, state, }: { connectorId: string; state: State; }): Promise; /** * Create connector * @param {string} connectorId id/name of the connector without the type prefix * @param {ConnectorSkeleton} connectorData connector object * @returns {Promise} a promise that resolves to an connector object */ export declare function createConnector({ connectorId, connectorData, state, }: { connectorId: string; connectorData: ConnectorSkeleton; state: State; }): Promise; /** * Update or create connector * @param {string} connectorId id/name of the connector without the type prefix * @param {ConnectorSkeleton} connectorData connector object * @returns {Promise} a promise that resolves to an connector object */ export declare function updateConnector({ connectorId, connectorData, state, }: { connectorId: string; connectorData: ConnectorSkeleton; state: State; }): Promise; /** * Delete all connectors * @returns {Promise} a promise that resolves to an array of connector objects */ export declare function deleteConnectors({ state, }: { state: State; }): Promise; /** * Delete connector * @param {string} connectorId id/name of the connector without the type prefix * @returns {Promise} a promise that resolves an connector object */ export declare function deleteConnector({ connectorId, state, }: { connectorId: string; state: State; }): Promise; /** * Export connector * @param {string} connectorId id/name of the connector without the type prefix * @returns {Promise} a promise that resolves to a ConnectorExportInterface object */ export declare function exportConnector({ connectorId, options, state, }: { connectorId: string; options?: ConnectorExportOptions; state: State; }): Promise; /** * Export all connectors * @returns {Promise} a promise that resolves to a ConnectorExportInterface object */ export declare function exportConnectors({ state, }: { state: State; }): Promise; /** * 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} a promise resolving to a ConnectorSkeleton object */ export declare function importConnector({ connectorId, importData, options, state, }: { connectorId: string; importData: ConnectorExportInterface; options?: ConnectorImportOptions; state: State; }): Promise; /** * Import first connector * @param {ConnectorExportInterface} importData import data * @param {ConnectorImportOptions} options import options * @returns {Promise} a promise resolving to a ConnectorSkeleton object */ export declare function importFirstConnector({ importData, options, state, }: { importData: ConnectorExportInterface; options?: ConnectorImportOptions; state: State; }): Promise; /** * Import all connectors * @param {ConnectorExportInterface} importData import data * @param {ConnectorImportOptions} options import options * @returns {Promise} a promise resolving to an array of ConnectorSkeleton objects */ export declare function importConnectors({ importData, options, state, }: { importData: ConnectorExportInterface; options?: ConnectorImportOptions; state: State; }): Promise; //# sourceMappingURL=ConnectorOps.d.ts.map