Module provider_capabilities

Source
Expand description

Automated Provider Capability Discovery System

This module provides automatic discovery of SCIM provider capabilities by introspecting the current server configuration, registered resource types, schemas, and provider implementation. This eliminates manual capability configuration and ensures that the ServiceProviderConfig always accurately reflects the actual server capabilities.

§Key Features

  • Automatic Discovery: Capabilities are derived from registered components
  • SCIM Compliance: Generates RFC 7644 compliant ServiceProviderConfig
  • Type Safety: Leverages Rust’s type system for capability constraints
  • Real-time Updates: Capabilities reflect current server state
  • Mandatory ETag Support: All providers automatically support conditional operations

§Discovery Sources

  • Schemas: From SchemaRegistry - determines supported resource types
  • Operations: From registered resource handlers - determines CRUD capabilities
  • Provider Type: From ResourceProvider implementation - determines advanced features
  • Attribute Metadata: From schema definitions - determines filtering capabilities
  • ETag Versioning: Always enabled - conditional operations are mandatory for all providers

Structs§

AuthenticationCapabilities
Authentication capabilities (typically configured rather than discovered)
BulkCapabilities
Bulk operation support information discovered from provider implementation
CapabilityDiscovery
Automatic capability discovery engine that introspects server configuration
ExtendedCapabilities
Extended capabilities specific to the provider implementation
FilterCapabilities
Filtering capabilities discovered from schema attribute definitions
PaginationCapabilities
Pagination support capabilities
ProviderCapabilities
Comprehensive provider capability information automatically discovered from the current server configuration and registered components.

Enums§

FilterOperator
SCIM filter operators that can be supported

Traits§

CapabilityIntrospectable
Trait for providers that support capability introspection