%SYS.ConfigStore.DescriptorManager
abstract class %SYS.ConfigStore.DescriptorManager
Manager class for ConfigStore descriptorsThis class provides centralized management and access to configuration descriptors. It handles descriptor registration, schema retrieval, validation, and configuration usage.
Usage:
Users should access through the %ConfigStore.DescriptorManager class.
Method Inventory
Methods
classmethod GetDescriptorClass(area As %String, type As %String, subtype As %String = "", Output descriptorClass As %String) as %Status
Get descriptor class name for area/type/subtype
Looks up the registered descriptor class that handles configurations for the specified area/type/subtype combination.
Parameters:
Returns:
%Status - $$$OK if successful, error status if descriptor not found
Looks up the registered descriptor class that handles configurations for the specified area/type/subtype combination.
Parameters:
- area - Area classification (e.g., "AI", "Integration")
- type - Type within area (e.g., "LLM", "JDBC")
- subtype - Optional provider refinement (e.g., "OpenAI", "PostgreSQL")
- descriptorClass - Output parameter containing the descriptor class name
Returns:
%Status - $$$OK if successful, error status if descriptor not found
classmethod GetSchema(area As %String, type As %String, subtype As %String = "", Output schema As %DynamicObject, Output allowUnrecognizedDetails As %Boolean) as %Status
Get the schema definition from a descriptor
Retrieves the schema that defines the structure and validation rules for configurations of a specific area/type/subtype. The schema includes field definitions, types, requirements, and default values.
Parameters:
Returns:
%Status - $$$OK if successful, error status otherwise
Retrieves the schema that defines the structure and validation rules for configurations of a specific area/type/subtype. The schema includes field definitions, types, requirements, and default values.
Parameters:
- area - Area classification (e.g., "AI", "Integration")
- type - Type within area (e.g., "LLM", "JDBC")
- subtype - Optional provider refinement (e.g., "OpenAI", "PostgreSQL")
- schema - Output parameter containing the schema as %DynamicObject
- allowUnrecognizedDetails - Output parameter indicating whether the descriptor allows unrecognized details fields
Returns:
%Status - $$$OK if successful, error status otherwise
classmethod RebuildRegistry() as %Status
Rebuild the descriptor registry from all compiled descriptor classes
Scans all descriptor classes in the system and rebuilds the registry. Useful after bulk descriptor changes or system upgrades.
Returns:
%Status - $$$OK if successful, error status otherwise
Scans all descriptor classes in the system and rebuilds the registry. Useful after bulk descriptor changes or system upgrades.
Returns:
%Status - $$$OK if successful, error status otherwise
classmethod ValidateDetails(area As %String, type As %String, subtype As %String = "", details As %DynamicObject, Output errorMessage As %String) as %Boolean
Validate configuration details against descriptor schema
Validates a details object without creating a configuration. Useful for pre-validation before attempting to create or update configurations. Checks required fields, types, secret references, and nested object structures according to the descriptor schema.
Parameters:
Returns:
1 (true) if valid, 0 (false) if invalid
Validates a details object without creating a configuration. Useful for pre-validation before attempting to create or update configurations. Checks required fields, types, secret references, and nested object structures according to the descriptor schema.
Parameters:
- area - Area classification (e.g., "AI", "Integration")
- type - Type within area (e.g., "LLM", "JDBC")
- subtype - Optional provider refinement (e.g., "OpenAI", "PostgreSQL")
- details - Details object to validate (%DynamicObject)
- errorMessage - Output parameter with detailed error message if validation fails
Returns:
1 (true) if valid, 0 (false) if invalid
Queries
query List()
List all registered descriptor types
Returns all registered area/type/subtype combinations with their descriptor classes. Useful for discovering available configuration types in the system.
Returns:
Result set with Area, Type, Subtype, and DescriptorClass columns
Returns all registered area/type/subtype combinations with their descriptor classes. Useful for discovering available configuration types in the system.
Returns:
Result set with Area, Type, Subtype, and DescriptorClass columns