Table of Contents

Resource Providers Overview

Resource providers are the core platform components that manage specific types of resources in FoundationaLLM. This pattern mirrors Azure Resource Manager, providing a consistent API for all resource operations.

Overview

Each resource provider:

  • Manages a specific category of resources
  • Exposes a consistent REST API pattern
  • Enforces authorization through RBAC
  • Handles resource lifecycle (create, read, update, delete, purge)

API Pattern

All resource providers follow this URL structure:

/instances/{instanceId}/providers/{providerName}/{resourceType}/{resourceName}
Component Description Example
instanceId FoundationaLLM instance GUID abc123-def456-...
providerName Resource provider namespace FoundationaLLM.Agent
resourceType Type of resource agents
resourceName Resource identifier my-agent

Available Resource Providers

FoundationaLLM.Agent

Manages AI agents, their workflows, and tools.

Resource Type Description
agents Agent configurations
workflows Orchestration workflows
tools Agent tools (code interpreter, knowledge search, etc.)
accessTokens Agent access tokens for unauthenticated access

Example Endpoints:

GET  /instances/{id}/providers/FoundationaLLM.Agent/agents
GET  /instances/{id}/providers/FoundationaLLM.Agent/agents/{name}
POST /instances/{id}/providers/FoundationaLLM.Agent/agents/{name}
DELETE /instances/{id}/providers/FoundationaLLM.Agent/agents/{name}

FoundationaLLM.AIModel

Manages AI model configurations and deployments.

Resource Type Description
aiModels AI model definitions (GPT-4, Claude, etc.)

AI Model Types:

Type Description
completion Text generation models
embedding Embedding/vectorization models
image Image generation models (DALL-E)

FoundationaLLM.Attachment

Manages file attachments uploaded through the portal.

Resource Type Description
attachments User-uploaded files

FoundationaLLM.Authorization

Manages role-based access control.

Resource Type Description
roleAssignments Bindings between principals, roles, and scopes
roleDefinitions Available role definitions (Owner, Contributor, Reader, etc.)

Built-in Roles:

Role ID
Owner 1301f8d4-3bea-4880-945f-315dbd2ddb46
Contributor a9f0020f-6e3a-49bf-8d1d-35fd53058edf
Reader 00a53e72-f66e-4c03-8f81-7e885fd2eb35
User Access Administrator fb8e0fd0-f7e2-4957-89d6-19f44f7d6618

FoundationaLLM.Configuration

Manages platform configuration and API endpoints.

Resource Type Description
appConfigurations App Configuration key-value settings
apiEndpointConfigurations External API endpoint definitions

Common Configuration Categories:

  • Branding settings (FoundationaLLM:Branding:*)
  • API endpoints (FoundationaLLM:APIs:*)
  • Feature flags (FoundationaLLM:Features:*)

FoundationaLLM.Conversation

Manages user conversations and messages.

Resource Type Description
conversations Chat sessions/conversations

Note: Conversations are typically managed through the Core API. The Management API provides administrative access.


FoundationaLLM.DataPipeline

Manages data ingestion and processing pipelines.

Resource Type Description
dataPipelines Pipeline definitions
dataPipelineRuns Pipeline execution history

See Data Pipelines API for detailed documentation.


FoundationaLLM.DataSource

Manages connections to external data repositories.

Resource Type Description
dataSources Data source configurations

Supported Data Source Types:

Type Description
AzureDataLake Azure Blob Storage / Data Lake Gen2
OneLake Microsoft Fabric OneLake
SharePointOnline SharePoint document libraries
AzureSQLDatabase Azure SQL Database
Web Web page sources

FoundationaLLM.Plugin

Manages the plugin system for extensibility.

Resource Type Description
pluginPackages Plugin package definitions
plugins Individual plugin configurations

Plugin Types:

Type Description
AgentWorkflow Custom workflow implementations
AgentTool Custom agent tools
DataSource Custom data source connectors
DataPipelineStage Custom pipeline processing stages

FoundationaLLM.Prompt

Manages reusable prompt templates.

Resource Type Description
prompts Prompt template definitions

Prompt Categories:

Category Use Case
AgentWorkflow Agent system prompts
AgentTool Tool-specific instructions
DataPipeline Pipeline processing instructions

FoundationaLLM.Vector

Manages vector database configurations.

Resource Type Description
vectorDatabases Vector database connection definitions

Resource Object IDs

Every resource has a unique object ID following this format:

/instances/{instanceId}/providers/{providerName}/{resourceType}/{resourceName}

Object IDs are used for:

  • Cross-resource references
  • Authorization scopes
  • Resource identification

Example:

{
  "object_id": "/instances/abc123/providers/FoundationaLLM.Agent/agents/my-agent",
  "workflow_object_id": "/instances/abc123/providers/FoundationaLLM.Agent/workflows/my-workflow"
}

Standard Operations

All resource providers support these operations:

Operation HTTP Method Description
List GET /{resourceType} List all resources
Get GET /{resourceType}/{name} Get specific resource
Create/Update POST /{resourceType}/{name} Create or update resource
Delete DELETE /{resourceType}/{name} Soft delete resource
Purge POST /{resourceType}/{name}/purge Permanent delete

Response Format

All GET operations return resources with metadata:

{
  "resource": {
    "type": "agent",
    "name": "my-agent",
    "object_id": "/instances/{id}/providers/FoundationaLLM.Agent/agents/my-agent",
    // Resource-specific properties
  },
  "roles": ["Owner", "Contributor"],
  "actions": ["read", "write", "delete"]
}
Field Description
resource The resource definition
roles User's assigned roles for this resource
actions Actions the user can perform