UNPKG

@rockcarver/frodo-lib

Version:

A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.

185 lines 7.64 kB
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