@rockcarver/frodo-lib
Version:
A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.
315 lines • 13.9 kB
TypeScript
import { type Saml2ProiderLocation, type Saml2ProviderSkeleton, type Saml2ProviderStub } from '../api/Saml2Api';
import { type ScriptSkeleton } from '../api/ScriptApi';
import { State } from '../shared/State';
import { type ExportMetaData } from './OpsTypes';
export type Saml2 = {
/**
* Read all SAML2 entity provider stubs
* @returns {Promise<Saml2ProviderStub[]>} a promise that resolves to an array of saml2 entity stubs
*/
readSaml2ProviderStubs(): Promise<Saml2ProviderStub[]>;
/**
*
* @param {string} entityId Provider entity id
* @returns {Promise<Saml2ProviderStub>} Promise resolving to a Saml2ExportInterface object.
*/
readSaml2ProviderStub(entityId: string): Promise<Saml2ProviderStub>;
/**
* Export a single entity provider. The response can be saved to file as is.
* @param {string} entityId Provider entity id
* @returns {Promise<Saml2ProviderSkeleton>} Promise resolving to a Saml2ExportInterface object.
*/
readSaml2Provider(entityId: string): Promise<Saml2ProviderSkeleton>;
/**
* Create a SAML2 entity provider
* @param {Saml2ProiderLocation} location 'hosted' or 'remote'
* @param {Saml2ProviderSkeleton} providerData Object representing a SAML entity provider
* @param {string} metaData Base64-encoded metadata XML. Only required for remote providers
* @returns {Promise<Saml2ProviderSkeleton>} a promise that resolves to a saml2 entity provider object
*/
createSaml2Provider(location: Saml2ProiderLocation, providerData: Saml2ProviderSkeleton, metaData: string): Promise<Saml2ProviderSkeleton>;
/**
* Update SAML2 entity provider
* @param {Saml2ProiderLocation} location Entity provider location (hosted or remote)
* @param {string} entityId SAML2 entity id
* @param {Saml2ProviderSkeleton} providerData Object representing a SAML entity provider
* @returns {Promise<Saml2ProviderSkeleton>} a promise that resolves to a saml2 entity provider object
*/
updateSaml2Provider(location: Saml2ProiderLocation, providerData: Saml2ProviderSkeleton, entityId?: string): Promise<Saml2ProviderSkeleton>;
/**
* Delete an entity provider. The response can be saved to file as is.
* @param {string} entityId Provider entity id
* @returns {Promise<Saml2ProviderSkeleton>} Promise resolving to a Saml2ExportInterface object.
*/
deleteSaml2Provider(entityId: string): Promise<Saml2ProviderSkeleton>;
/**
* Delete all entity providers.
* @returns {Promise<Saml2ProviderSkeleton[]>} Promise resolving to an array of Saml2ProviderSkeleton objects.
*/
deleteSaml2Providers(): Promise<Saml2ProviderSkeleton[]>;
/**
* Get a SAML2 entity provider's metadata URL by entity id
* @param {string} entityId SAML2 entity id
* @returns {string} the URL to get the metadata from
*/
getSaml2ProviderMetadataUrl(entityId: string): string;
/**
* Get a SAML2 entity provider's metadata by entity id
* @param {string} entityId SAML2 entity id
* @returns {Promise<object>} a promise that resolves to an object containing a SAML2 metadata
*/
getSaml2ProviderMetadata(entityId: string): Promise<any>;
/**
* Export a single entity provider. The response can be saved to file as is.
* @param {string} entityId Provider entity id
* @param {Saml2EntitiesExportOptions} options export options
* @returns {Promise<Saml2ExportInterface>} Promise resolving to a Saml2ExportInterface object.
*/
exportSaml2Provider(entityId: string, options?: Saml2EntitiesExportOptions): Promise<Saml2ExportInterface>;
/**
* Export all entity providers. The response can be saved to file as is.
* @param {Saml2EntitiesExportOptions} options export options
* @returns {Promise<Saml2ExportInterface>} Promise resolving to a Saml2ExportInterface object.
*/
exportSaml2Providers(options?: Saml2EntitiesExportOptions): Promise<Saml2ExportInterface>;
/**
* Import a SAML entity provider
* @param {string} entityId Provider entity id
* @param {Saml2ExportInterface} importData Import data
* @param {Saml2EntitiesImportOptions} options import options
* @returns {Promise<Saml2ProviderSkeleton>} a promise resolving to a provider object
*/
importSaml2Provider(entityId: string, importData: Saml2ExportInterface, options?: Saml2EntitiesImportOptions): Promise<Saml2ProviderSkeleton>;
/**
* Import SAML entity providers
* @param {Saml2ExportInterface} importData Import data
* @param {Saml2EntitiesImportOptions} options import options
* @returns {Promise<Saml2ProviderSkeleton[]>} a promise resolving to an array of provider objects
*/
importSaml2Providers(importData: Saml2ExportInterface, options?: Saml2EntitiesImportOptions): Promise<Saml2ProviderSkeleton[]>;
/**
* Get SAML2 entity provider stubs
* @returns {Promise<Saml2ProviderStub[]>} a promise that resolves to an array of saml2 entity stubs
* @deprecated since v2.0.0 use {@link Saml2.readSaml2ProviderStubs | readSaml2ProviderStubs} instead
* ```javascript
* readSaml2ProviderStubs(): Promise<Saml2ProviderStub[]>
* ```
* @group Deprecated
*/
getSaml2ProviderStubs(): Promise<Saml2ProviderStub[]>;
/**
* Get a SAML2 entity provider's metadata URL by entity id
* @param {string} entityId SAML2 entity id
* @returns {string} the URL to get the metadata from
* @deprecated since v2.0.0 use {@link Saml2.getSaml2ProviderMetadataUrl | getSaml2ProviderMetadataUrl} instead
* ```javascript
* getSaml2ProviderMetadataUrl(entityId: string): string
* ```
* @group Deprecated
*/
getProviderMetadataUrl(entityId: string): string;
/**
* Get a SAML2 entity provider's metadata by entity id
* @param {string} entityId SAML2 entity id
* @returns {Promise<any>} a promise that resolves to an object containing a SAML2 metadata
* @deprecated since v2.0.0 use {@link Saml2.getSaml2ProviderMetadata | getSaml2ProviderMetadata} instead
* ```javascript
* getSaml2ProviderMetadata(entityId: string): Promise<any>
* ```
* @group Deprecated
*/
getProviderMetadata(entityId: string): Promise<any>;
/**
*
* @param {string} entityId Provider entity id
* @returns {Promise<Saml2ProviderStub>} Promise resolving to a Saml2ExportInterface object.
* @deprecated since v2.0.0 use {@link Saml2.readSaml2ProviderStub | readSaml2ProviderStub} instead
* ```javascript
* readSaml2ProviderStub(entityId: string): Promise<Saml2ProviderStub>
* ```
* @group Deprecated
*/
getSaml2ProviderStub(entityId: string): Promise<Saml2ProviderStub>;
/**
* Export a single entity provider. The response can be saved to file as is.
* @param {string} entityId Provider entity id
* @returns {Promise<Saml2ProviderSkeleton>} Promise resolving to a Saml2ExportInterface object.
* @deprecated since v2.0.0 use {@link Saml2.readSaml2Provider | readSaml2Provider} instead
* ```javascript
* readSaml2Provider(entityId: string): Promise<Saml2ProviderSkeleton>
* ```
* @group Deprecated
*/
getSaml2Provider(entityId: string): Promise<Saml2ProviderSkeleton>;
};
declare const _default: (state: State) => Saml2;
export default _default;
export interface Saml2EntitiesImportOptions {
/**
* Include any dependencies (scripts).
*/
deps: boolean;
}
export interface Saml2EntitiesExportOptions {
/**
* Include any dependencies (scripts).
*/
deps: boolean;
}
export interface Saml2ExportInterface {
meta?: ExportMetaData;
script: Record<string, ScriptSkeleton>;
saml: {
hosted: Record<string, Saml2ProviderSkeleton>;
remote: Record<string, Saml2ProviderSkeleton>;
metadata: Record<string, string[]>;
};
}
export declare function createSaml2ExportTemplate({ state, }: {
state: State;
}): Saml2ExportInterface;
/**
* Get SAML2 entity provider stubs
* @returns {Promise<Saml2ProviderStub[]>} a promise that resolves to an array of saml2 entity stubs
*/
export declare function readSaml2ProviderStubs({ state, }: {
state: State;
}): Promise<Saml2ProviderStub[]>;
/**
* Get all SAML2 entity ids
* @returns {Promise<string[]>} a promise that resolves to an array of saml2 entity ids
*/
export declare function readSaml2EntityIds({ state, }: {
state: State;
}): Promise<string[]>;
/**
* Get a SAML2 entity provider's metadata URL by entity id
* @param {string} entityId SAML2 entity id
* @returns {string} the URL to get the metadata from
*/
export declare function getSaml2ProviderMetadataUrl({ entityId, state, }: {
entityId: string;
state: State;
}): string;
/**
* Get a SAML2 entity provider's metadata by entity id
* @param {string} entityId SAML2 entity id
* @returns {Promise<object>} a promise that resolves to an object containing a SAML2 metadata
*/
export declare function getSaml2ProviderMetadata({ entityId, state, }: {
entityId: string;
state: State;
}): Promise<string>;
/**
*
* @param {string} entityId Provider entity id
* @returns {Promise<Saml2ProviderStub>} Promise resolving to a Saml2ExportInterface object.
*/
export declare function readSaml2ProviderStub({ entityId, state, }: {
entityId: string;
state: State;
}): Promise<Saml2ProviderStub>;
/**
* Export a single entity provider. The response can be saved to file as is.
* @param {string} entityId Provider entity id
* @returns {Promise<Saml2ProviderSkeleton>} Promise resolving to a Saml2ExportInterface object.
*/
export declare function readSaml2Provider({ entityId, state, }: {
entityId: string;
state: State;
}): Promise<Saml2ProviderSkeleton>;
/**
* Create a SAML2 entity provider
* @param {Saml2ProiderLocation} location 'hosted' or 'remote'
* @param {Saml2ProviderSkeleton} providerData Object representing a SAML entity provider
* @param {string} metaData Base64-encoded metadata XML. Only required for remote providers
* @returns {Promise<Saml2ProviderSkeleton>} a promise that resolves to a saml2 entity provider object
*/
export declare function createSaml2Provider({ location, providerData, metaData, state, }: {
location: Saml2ProiderLocation;
providerData: Saml2ProviderSkeleton;
metaData?: string;
state: State;
}): Promise<Saml2ProviderSkeleton>;
/**
* Update SAML2 entity provider
* @param {Saml2ProiderLocation} location Entity provider location (hosted or remote)
* @param {string} entityId SAML2 entity id
* @param {Saml2ProviderSkeleton} providerData Object representing a SAML entity provider
* @returns {Promise<Saml2ProviderSkeleton>} a promise that resolves to a saml2 entity provider object
*/
export declare function updateSaml2Provider({ location, entityId, providerData, state, }: {
location: Saml2ProiderLocation;
entityId?: string;
providerData: Saml2ProviderSkeleton;
state: State;
}): Promise<Saml2ProviderSkeleton>;
/**
* Delete an entity provider. The response can be saved to file as is.
* @param {string} entityId Provider entity id
* @returns {Promise<Saml2ProviderSkeleton>} Promise resolving to a Saml2ExportInterface object.
*/
export declare function deleteSaml2Provider({ entityId, state, }: {
entityId: string;
state: State;
}): Promise<Saml2ProviderSkeleton>;
/**
* Delete all entity providers.
* @returns {Promise<Saml2ProviderSkeleton[]>} Promise resolving to an array of Saml2ProviderSkeleton objects.
*/
export declare function deleteSaml2Providers({ state, }: {
state: State;
}): Promise<Saml2ProviderSkeleton[]>;
/**
* Export a single entity provider. The response can be saved to file as is.
* @param {string} entityId Provider entity id
* @returns {Promise<Saml2ExportInterface>} Promise resolving to a Saml2ExportInterface object.
*/
export declare function exportSaml2Provider({ entityId, options, state, }: {
entityId: string;
options?: Saml2EntitiesExportOptions;
state: State;
}): Promise<Saml2ExportInterface>;
/**
* Export all entity providers. The response can be saved to file as is.
* @returns {Promise<Saml2ExportInterface>} Promise resolving to a Saml2ExportInterface object.
*/
export declare function exportSaml2Providers({ options, state, }: {
options?: Saml2EntitiesExportOptions;
state: State;
}): Promise<Saml2ExportInterface>;
/**
* Include dependencies from the import file
* @param {object} providerData Object representing a SAML entity provider
* @param {object} fileData File data object to read dependencies from
*/
export declare function importDependencies({ providerData, fileData, state, }: {
providerData: Saml2ProviderSkeleton;
fileData: Saml2ExportInterface;
state: State;
}): Promise<void>;
/**
* Import a SAML entity provider
* @param {string} entityId Provider entity id
* @param {Saml2ExportInterface} importData Import data
* @param {Saml2ProviderImportOptions} options import options
* @returns {Promise<Saml2ProviderSkeleton>} a promise resolving to a provider object
*/
export declare function importSaml2Provider({ entityId, importData, options, state, }: {
entityId: string;
importData: Saml2ExportInterface;
options?: Saml2EntitiesImportOptions;
state: State;
}): Promise<Saml2ProviderSkeleton>;
/**
* Import SAML entity providers
* @param {Saml2ExportInterface} importData Import data
* @param {Saml2ProviderImportOptions} options import options
* @returns {Promise<Saml2ProviderSkeleton[]>} a promise resolving to an array of provider objects
*/
export declare function importSaml2Providers({ importData, options, state, }: {
importData: Saml2ExportInterface;
options?: Saml2EntitiesImportOptions;
state: State;
}): Promise<Saml2ProviderSkeleton[]>;
//# sourceMappingURL=Saml2Ops.d.ts.map