Get resource by ID.
Returns: Resource with complete configuration and state.
Raises: HTTPException: 404 if resource not found.
Successful Response
Domain model for resources with provider/resource identity and 5-state lifecycle.
Identity fields (frozen - immutable after creation): provider: Provider that manages this resource type. resource: Resource type name. name: Unique resource instance name.
Configuration fields (mutable): config: Resource configuration dictionary. May contain embedded resource configurations if the provider schema defines fields as resource types. dependencies: References to resources this resource depends on. owner_references: References to resources that own this resource for lifecycle coordination and cascading deletes.
Output fields (provider-managed): outputs: Resource outputs from provider processing. error: Error message when resource is in FAILED state.
Lifecycle fields (system-managed): lifecycle_state: Current state (DRAFT/PENDING/PROCESSING/READY/FAILED). pending_event_id: Event ID currently being processed (set on PROCESSING, cleared on READY/FAILED). Used for response idempotency validation.
Categorization fields (mutable): tags: Optional list of tags for categorization and filtering.
Inherited from PragmaModel: created_at: Creation timestamp (frozen). updated_at: Last update timestamp (mutable).
Resource lifecycle states: DRAFT, PENDING, PROCESSING, READY, FAILED.
draft, pending, processing, ready, failed