@rockcarver/frodo-lib
Version:
A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.
206 lines • 7.94 kB
TypeScript
import { type PolicySkeleton } from '../api/PoliciesApi';
import { type PolicySetSkeleton } from '../api/PolicySetApi';
import { type ResourceTypeSkeleton } from '../api/ResourceTypesApi';
import { type ScriptSkeleton } from '../api/ScriptApi';
import { State } from '../shared/State';
import { ExportMetaData } from './OpsTypes';
export type PolicySet = {
/**
* Create policy export template
* @returns {PolicySetExportInterface} policy export interface
*/
createPolicySetExportTemplate(): PolicySetExportInterface;
/**
* Read all policy sets
* @returns {Promise<PolicySetSkeleton[]>} a promise that resolves to an array of policy set objects
*/
readPolicySets(): Promise<PolicySetSkeleton[]>;
/**
* Read policy set
* @param {string} policySetName policy set name
* @returns {Promise<PolicySetSkeleton>} a promise that resolves to a policy set object
*/
readPolicySet(policySetName: string): Promise<PolicySetSkeleton>;
createPolicySet(policySetData: PolicySetSkeleton, policySetName?: string): Promise<PolicySetSkeleton>;
updatePolicySet(policySetData: PolicySetSkeleton, policySetName?: string): Promise<PolicySetSkeleton>;
deletePolicySet(policySetName: string): Promise<PolicySetSkeleton>;
/**
* Export policy set
* @param {string} policySetName policy set name
* @param {PolicySetExportOptions} options export options
* @returns {Promise<PolicySetExportInterface>} a promise that resolves to an PolicySetExportInterface object
*/
exportPolicySet(policySetName: string, options?: PolicySetExportOptions): Promise<PolicySetExportInterface>;
/**
* Export policy sets
* @param {PolicySetExportOptions} options export options
* @returns {Promise<PolicySetExportInterface>} a promise that resolves to an PolicySetExportInterface object
*/
exportPolicySets(options?: PolicySetExportOptions): Promise<PolicySetExportInterface>;
/**
* Import policy set
* @param {string} policySetName policy set name
* @param {PolicySetExportInterface} importData import data
* @param {PolicySetImportOptions} options import options
*/
importPolicySet(policySetName: string, importData: PolicySetExportInterface, options?: PolicySetImportOptions): Promise<any>;
/**
* Import first policy set
* @param {PolicySetExportInterface} importData import data
* @param {PolicySetImportOptions} options import options
*/
importFirstPolicySet(importData: PolicySetExportInterface, options?: PolicySetImportOptions): Promise<any>;
/**
* Import policy sets
* @param {PolicySetExportInterface} importData import data
* @param {PolicySetImportOptions} options import options
* @returns {any[]} The imported policy sets
*/
importPolicySets(importData: PolicySetExportInterface, options?: PolicySetImportOptions): Promise<any[]>;
/**
* Get all policy sets
* @returns {Promise<PolicySetSkeleton[]>} a promise that resolves to an array of policy set objects
* @deprecated since v2.0.0 use {@link Policy.readPolicySets | readPolicySets} instead
* ```javascript
* readPolicySets(): Promise<PolicySetSkeleton[]>
* ```
* @group Deprecated
*/
getPolicySets(): Promise<PolicySetSkeleton[]>;
/**
* Get policy set
* @param {string} policySetName policy set name
* @returns {Promise<PolicySetSkeleton>} a promise that resolves to a policy set object
* @deprecated since v2.0.0 use {@link Policy.readPolicySet | readPolicySet} instead
* ```javascript
* readPolicySet(policySetName: string): Promise<PolicySetSkeleton>
* ```
* @group Deprecated
*/
getPolicySet(policySetName: string): Promise<PolicySetSkeleton>;
};
declare const _default: (state: State) => PolicySet;
export default _default;
export interface PolicySetExportInterface {
meta?: ExportMetaData;
script: Record<string, ScriptSkeleton>;
resourcetype: Record<string, ResourceTypeSkeleton>;
policy: Record<string, PolicySkeleton>;
policyset: Record<string, PolicySetSkeleton>;
}
/**
* Application/policy set export options
*/
export interface PolicySetExportOptions {
/**
* Include any dependencies (policies, scripts, resource types).
*/
deps: boolean;
/**
* Include any prerequisites (policy sets, resource types).
*/
prereqs: boolean;
/**
* Use string arrays to store multi-line text in scripts.
*/
useStringArrays: boolean;
}
/**
* Policy set import options
*/
export interface PolicySetImportOptions {
/**
* Include any dependencies (policies, scripts, resource types).
*/
deps: boolean;
/**
* Include any prerequisites (policy sets, resource types).
*/
prereqs: boolean;
}
/**
* Create an empty export template
* @returns {PolicySetExportInterface} an empty export template
*/
export declare function createPolicySetExportTemplate({ state, }: {
state: State;
}): PolicySetExportInterface;
/**
* Get all policy sets
* @returns {Promise} a promise that resolves to an array of policy set objects
*/
export declare function readPolicySets({ state, }: {
state: State;
}): Promise<PolicySetSkeleton[]>;
export declare function readPolicySet({ policySetName, state, }: {
policySetName: string;
state: State;
}): Promise<PolicySetSkeleton>;
export declare function createPolicySet({ policySetName, policySetData, state, }: {
policySetName?: string;
policySetData: PolicySetSkeleton;
state: State;
}): Promise<any>;
export declare function updatePolicySet({ policySetName, policySetData, state, }: {
policySetName?: string;
policySetData: PolicySetSkeleton;
state: State;
}): Promise<any>;
export declare function deletePolicySet({ policySetName, state, }: {
policySetName: string;
state: State;
}): Promise<any>;
/**
* Export policy set
* @param {string} policySetName policy set name
* @param {PolicySetExportOptions} options export options
* @returns {Promise<PolicySetExportInterface>} a promise that resolves to an PolicySetExportInterface object
*/
export declare function exportPolicySet({ policySetName, options, state, }: {
policySetName: string;
options?: PolicySetExportOptions;
state: State;
}): Promise<PolicySetExportInterface>;
/**
* Export policy sets
* @param {PolicySetExportOptions} options export options
* @returns {Promise<PolicySetExportInterface>} a promise that resolves to an PolicySetExportInterface object
*/
export declare function exportPolicySets({ options, state, }: {
options: PolicySetExportOptions;
state: State;
}): Promise<PolicySetExportInterface>;
/**
* Import policy set
* @param {string} policySetName policy set name
* @param {PolicySetExportInterface} importData import data
* @param {PolicySetImportOptions} options import options
*/
export declare function importPolicySet({ policySetName, importData, options, state, }: {
policySetName: string;
importData: PolicySetExportInterface;
options?: PolicySetImportOptions;
state: State;
}): Promise<any>;
/**
* Import first policy set
* @param {PolicySetExportInterface} importData import data
* @param {PolicySetImportOptions} options import options
*/
export declare function importFirstPolicySet({ importData, options, state, }: {
importData: PolicySetExportInterface;
options?: PolicySetImportOptions;
state: State;
}): Promise<any>;
/**
* Import policy sets
* @param {PolicySetExportInterface} importData import data
* @param {PolicySetImportOptions} options import options
* @returns {any[]} The imported policy sets
*/
export declare function importPolicySets({ importData, options, state, }: {
importData: PolicySetExportInterface;
options?: PolicySetImportOptions;
state: State;
}): Promise<any[]>;
//# sourceMappingURL=PolicySetOps.d.ts.map