Frodo Library - v5.0.0-36
    Preparing search index...

    Type Alias IdmFeature

    IDM tenant-configuration feature management (GET/POST /openidm/feature).

    This is a distinct resource from cloud.feature (FeatureOps.ts), despite the overlapping "feature" terminology and shared installedVersion field name -- confirmed live against a real tenant that they return entirely different, unrelated lists. cloud.feature.readFeatures/hasFeature read environment-level entitlement/licensing flags (e.g. identity-cloud, workforce, service-accounts) via a bare {host}/feature path already used internally by ServiceAccountOps.ts -- left untouched here. This module is for IDM's own tenant-configuration features (groups, aiagent, am/2fa/profiles, indexed/strings/6thru20, password/timestamps, etc.) that install new managed-object types/properties or repository indexes into the tenant, documented at https://docs.pingidentity.com/pingoneaic/idm-rest-api/endpoints/rest-feature.md.

    Installing a feature is irreversible: per that same documentation, uninstalling or disabling a feature once installed requires contacting Ping support and rolling back the tenant. There is no self-service undo.

    type IdmFeature = {
        hasIdmFeature(featureId: string): Promise<boolean>;
        installIdmFeature(featureId: string): Promise<IdmFeatureActionResult>;
        readIdmFeature(featureId: string): Promise<IdmFeatureInterface>;
        readIdmFeatures(): Promise<IdmFeatureInterface[]>;
        validateIdmFeature(featureId: string): Promise<IdmFeatureActionResult>;
    }
    Index
    • Check if an IDM tenant-configuration feature is installed.

      Parameters

      • featureId: string

        feature id, e.g. 'aiagent'

      Returns Promise<boolean>

      a promise that resolves to true if the feature is installed

    • Install an IDM tenant-configuration feature. Irreversible -- see the module-level remarks. The result always has four fields: status (from the response body), success, message (the response message, unchanged, for example "Install complete.") and failures (empty unless the response lists failures). success is true when the request succeeded and the response does not say success: false and lists no failures; the install response documented by Ping has no success field, so a successful install is success: true without one. success: false means the endpoint reported a failure, with its failures and message kept. A request that fails (HTTP error, network error) throws a FrodoError. This makes no second request: a caller that wants confirmation reads the feature again (readIdmFeature or hasIdmFeature) and checks installedVersion.

      Parameters

      • featureId: string

        feature id, e.g. 'aiagent'

      Returns Promise<IdmFeatureActionResult>

      a promise that resolves to the install result: status, success, message and failures

    • Validate whether an IDM tenant-configuration feature is installable, without installing it. The result always has four fields: status (from the response body), success (true when the feature can be installed), message (the response message, unchanged, for example "Validate complete. 24 failure(s).") and failures (one entry per reason the feature cannot be installed, for example "config/managed: /objects/-: value already present at /objects/14"; an empty array when there are none). success is what the response says; when the response has no success field, it is true exactly when failures is empty. A validation that finds failures is a result with success: false, not an error; a request that fails (HTTP error, network error) throws a FrodoError.

      Parameters

      • featureId: string

        feature id, e.g. 'aiagent'

      Returns Promise<IdmFeatureActionResult>

      a promise that resolves to the validation result: status, success, message and failures