@rockcarver/frodo-lib
Version:
A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.
185 lines • 7.64 kB
TypeScript
import { AgentGroupSkeleton, AgentSkeleton } from '../api/AgentApi';
import { AmConfigEntitiesInterface } from '../api/AmConfigApi';
import { IdObjectSkeletonInterface } from '../api/ApiTypes';
import { AuthenticationSettingsSkeleton } from '../api/AuthenticationSettingsApi';
import { CircleOfTrustSkeleton } from '../api/CirclesOfTrustApi';
import { SiteSkeleton } from '../api/classic/SiteApi';
import { SecretSkeleton } from '../api/cloud/SecretsApi';
import { VariableSkeleton } from '../api/cloud/VariablesApi';
import { OAuth2ClientSkeleton } from '../api/OAuth2ClientApi';
import { OAuth2TrustedJwtIssuerSkeleton } from '../api/OAuth2TrustedJwtIssuerApi';
import { PolicySkeleton } from '../api/PoliciesApi';
import { PolicySetSkeleton } from '../api/PolicySetApi';
import { RealmSkeleton } from '../api/RealmApi';
import { ResourceTypeSkeleton } from '../api/ResourceTypesApi';
import { Saml2ProviderSkeleton } from '../api/Saml2Api';
import { ScriptSkeleton } from '../api/ScriptApi';
import { AmServiceSkeleton } from '../api/ServiceApi';
import { SocialIdpSkeleton } from '../api/SocialIdentityProvidersApi';
import { State } from '../shared/State';
import { ApplicationSkeleton } from './ApplicationOps';
import { SecretStoreExportSkeleton } from './classic/SecretStoreOps';
import { ServerExportInterface } from './classic/ServerOps';
import { EmailTemplateSkeleton } from './EmailTemplateOps';
import { InternalRoleSkeleton } from './InternalRoleOps';
import { SingleTreeExportInterface } from './JourneyOps';
import { MappingSkeleton, SyncSkeleton } from './MappingOps';
import { ExportMetaData, ResultCallback } from './OpsTypes';
import { ScriptTypeExportSkeleton } from './ScriptTypeOps';
import { ThemeSkeleton } from './ThemeOps';
export type Config = {
/**
* Export full configuration
* @param {FullExportOptions} options export options
* @param {ResultCallback} resultCallback Optional callback to process individual results
* @returns {Promise<FullExportInterface>} a promise resolving to a full export object
*/
exportFullConfiguration(options: FullExportOptions, resultCallback: ResultCallback<any>): Promise<FullExportInterface>;
/**
* Import full configuration
* @param {FullExportInterface} importData import data
* @param {FullImportOptions} options import options
* @param {ResultCallback} resultCallback Optional callback to process individual results
*/
importFullConfiguration(importData: FullExportInterface, options: FullImportOptions, resultCallback: ResultCallback<any>): Promise<(object | any[])[]>;
};
declare const _default: (state: State) => Config;
export default _default;
/**
* Full export options
*/
export interface FullExportOptions {
/**
* Use string arrays to store multi-line text in scripts.
*/
useStringArrays: boolean;
/**
* Do not include decoded variable value in export
*/
noDecode: boolean;
/**
* Include x and y coordinate positions of the journey/tree nodes.
*/
coords: boolean;
/**
* Include default scripts in export if true
*/
includeDefault: boolean;
/**
* Include active and loaded secret values
*/
includeActiveValues: boolean;
/**
* Host URL of target environment to encrypt secret values for
*/
target?: string;
/**
* Include read only config in export if true
*/
includeReadOnly: boolean;
/**
* Export config only for the current realm
*/
onlyRealm: boolean;
/**
* Export only global config
*/
onlyGlobal: boolean;
}
/**
* Full import options
*/
export interface FullImportOptions {
/**
* Generate new UUIDs for all journey nodes during import.
*/
reUuidJourneys: boolean;
/**
* Generate new UUIDs for all scripts during import.
*/
reUuidScripts: boolean;
/**
* Indicates whether to remove previously existing services of the same id before importing
*/
cleanServices: boolean;
/**
* Include default scripts in import if true
*/
includeDefault: boolean;
/**
* Include active secret values
*/
includeActiveValues: boolean;
/**
* Host URL of source environment to decrypt secret values from
*/
source?: string;
}
export interface FullExportInterface {
meta?: ExportMetaData;
global: FullGlobalExportInterface;
realm: Record<string, FullRealmExportInterface>;
}
export interface FullGlobalExportInterface extends AmConfigEntitiesInterface {
agent: Record<string, AgentSkeleton> | undefined;
authentication: AuthenticationSettingsSkeleton | undefined;
emailTemplate: Record<string, EmailTemplateSkeleton> | undefined;
idm: Record<string, IdObjectSkeletonInterface> | undefined;
internalRole: Record<string, InternalRoleSkeleton>;
mapping: Record<string, MappingSkeleton> | undefined;
realm: Record<string, RealmSkeleton> | undefined;
scripttype: Record<string, ScriptTypeExportSkeleton> | undefined;
secret: Record<string, SecretSkeleton> | undefined;
secretstore: Record<string, SecretStoreExportSkeleton> | undefined;
server: ServerExportInterface | undefined;
service: Record<string, AmServiceSkeleton> | undefined;
site: Record<string, SiteSkeleton> | undefined;
sync: SyncSkeleton | undefined;
variable: Record<string, VariableSkeleton> | undefined;
}
export interface FullRealmExportInterface extends AmConfigEntitiesInterface {
agentGroup: Record<string, AgentGroupSkeleton> | undefined;
agent: Record<string, AgentSkeleton> | undefined;
application: Record<string, OAuth2ClientSkeleton> | undefined;
authentication: AuthenticationSettingsSkeleton | undefined;
idp: Record<string, SocialIdpSkeleton> | undefined;
managedApplication: Record<string, ApplicationSkeleton> | undefined;
policy: Record<string, PolicySkeleton> | undefined;
policyset: Record<string, PolicySetSkeleton> | undefined;
resourcetype: Record<string, ResourceTypeSkeleton> | undefined;
saml: {
hosted: Record<string, Saml2ProviderSkeleton>;
remote: Record<string, Saml2ProviderSkeleton>;
metadata: Record<string, string[]>;
cot: Record<string, CircleOfTrustSkeleton> | undefined;
} | undefined;
script: Record<string, ScriptSkeleton> | undefined;
secretstore: Record<string, SecretStoreExportSkeleton> | undefined;
service: Record<string, AmServiceSkeleton> | undefined;
theme: Record<string, ThemeSkeleton> | undefined;
trees: Record<string, SingleTreeExportInterface> | undefined;
trustedJwtIssuer: Record<string, OAuth2TrustedJwtIssuerSkeleton> | undefined;
}
/**
* Export full configuration
* @param {FullExportOptions} options export options
* @param {ResultCallback} resultCallback Optional callback to process individual results
*/
export declare function exportFullConfiguration({ options, resultCallback, state, }: {
options: FullExportOptions;
resultCallback: ResultCallback<any>;
state: State;
}): Promise<FullExportInterface>;
/**
* Import full configuration
* @param {FullExportInterface} importData import data
* @param {FullImportOptions} options import options
* @param {ResultCallback} resultCallback Optional callback to process individual results
*/
export declare function importFullConfiguration({ importData, options, resultCallback, state, }: {
importData: FullExportInterface;
options: FullImportOptions;
resultCallback: ResultCallback<any>;
state: State;
}): Promise<(object | any[])[]>;
//# sourceMappingURL=ConfigOps.d.ts.map