# CustomSecretsProviderType (Complex Type)

### Namespace: http://midpoint.evolveum.com/xml/ns/public/common/common-3

Supertype: SecretsProviderType
Custom secrets provider implementation, that is not known at the compile time. E.g. not bundled with midPoint. EXPERIMENTAL: This provider implementation is experimental. It may be changed or removed in the future versions.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
identifier | property string | [1,1] | Unique identifier of this secrets provider.
display | container DisplayType | [0,1] | Display name, icon and styles for secret provider.
description | property string | [0,1] | Free-form description of the secrets provider.
documentation | property string | [0,1] | Free-form description of the secrets provider.
cache | property duration | [0,1] | Time-to-live when caching the secrets provided by this provider.
allowKeyPrefix | property string | [0,-1] | Allowed prefix for the secret keys resolved by this provider.
className | property string | [1,1] | Class name of the custom secrets provider.
configuration | container CustomSecretsProviderConfigurationType | [0,1] | Configuration of the custom secrets provider.

- ### Items

  - #### identifier

    Flags: RAM,runtime

    Multiplicity: [1,1]

    Unique identifier of this secrets provider.

  - #### display

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display name, icon and styles for secret provider. This is mostly for UI purposes.

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Free-form description of the secrets provider.

  - #### documentation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Free-form description of the secrets provider.

  - #### cache

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Time-to-live when caching the secrets provided by this provider. The secrets will be refreshed after this time. If not specified or duration is zero then the secrets will not be cached. If duration is negative then the secrets will be cached forever. Otherwise, secrets will be cached for specified duration time.

  - #### allowKeyPrefix

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Allowed prefix for the secret keys resolved by this provider. If not specified, all keys are allowed. E.g. "MYAPP_" - provider will only be able to use environment variables that start with "MYAPP_".

  - #### className

    Flags: RAM,runtime

    Multiplicity: [1,1]

    Class name of the custom secrets provider. Class must be available on classpath.

  - #### configuration

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Configuration of the custom secrets provider.