# SurrealDbBuilderExtensions

- Kind: `class`
- Package: [CommunityToolkit.Aspire.Hosting.SurrealDb](/reference/api/csharp/communitytoolkit.aspire.hosting.surrealdb.md)
- Version: `13.4.0`
- Namespace: `Aspire.Hosting`
- Target framework: `net10.0`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d9dc6fc02412d7398c5722840513d99965a6e98f/src/CommunityToolkit.Aspire.Hosting.SurrealDb/SurrealDbBuilderExtensions.cs)

Provides extension methods for adding SurrealDB resources to the application model.

## Definition

```csharp
namespace Aspire.Hosting;

public static class SurrealDbBuilderExtensions
{
    // ...
}
```

## Methods

- [AddDatabase(IResourceBuilder<SurrealDbNamespaceResource>, string, string?)](/reference/api/csharp/communitytoolkit.aspire.hosting.surrealdb/surrealdbbuilderextensions/methods.md#adddatabase-iresourcebuilder-surrealdbnamespaceresource-string-string) : `IResourceBuilder<SurrealDbDatabaseResource>` `extension` `ats export` -- Adds a SurrealDB database to the application model. This is a child resource of a [SurrealDbNamespaceResource](/reference/api/csharp/communitytoolkit.aspire.hosting.surrealdb/surrealdbnamespaceresource.md).
- [AddNamespace(IResourceBuilder<SurrealDbServerResource>, string, string?)](/reference/api/csharp/communitytoolkit.aspire.hosting.surrealdb/surrealdbbuilderextensions/methods.md#addnamespace-iresourcebuilder-surrealdbserverresource-string-string) : `IResourceBuilder<SurrealDbNamespaceResource>` `extension` `ats export` -- Adds a SurrealDB namespace to the application model. This is a child resource of a [SurrealDbServerResource](/reference/api/csharp/communitytoolkit.aspire.hosting.surrealdb/surrealdbserverresource.md).
- [AddSurrealServer(IDistributedApplicationBuilder, string, IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>, int?, string, bool)](/reference/api/csharp/communitytoolkit.aspire.hosting.surrealdb/surrealdbbuilderextensions/methods.md#addsurrealserver-idistributedapplicationbuilder-string-iresourcebuilder-parameterresource-iresourcebuilder-parameterresource-int-string-bool) : `IResourceBuilder<SurrealDbServerResource>` `extension` `ats export` -- Adds a SurrealDB resource to the application model. A container is used for local development. The default image is and the tag is .
- [WithCreationScript(IResourceBuilder<SurrealDbNamespaceResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.surrealdb/surrealdbbuilderextensions/methods.md#withcreationscript-iresourcebuilder-surrealdbnamespaceresource-string) : `IResourceBuilder<SurrealDbNamespaceResource>` `extension` `experimental` `ats export` -- Defines the SQL script used to create the namespace.
- [WithCreationScript(IResourceBuilder<SurrealDbDatabaseResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.surrealdb/surrealdbbuilderextensions/methods.md#withcreationscript-iresourcebuilder-surrealdbdatabaseresource-string) : `IResourceBuilder<SurrealDbDatabaseResource>` `extension` `experimental` `ats export` -- Defines the SQL script used to create the database.
- [WithDataBindMount(IResourceBuilder<SurrealDbServerResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.surrealdb/surrealdbbuilderextensions/methods.md#withdatabindmount-iresourcebuilder-surrealdbserverresource-string) : `IResourceBuilder<SurrealDbServerResource>` `extension` `ats export` -- Adds a bind mount for the data folder to a SurrealDB resource.
- [WithDataVolume(IResourceBuilder<SurrealDbServerResource>, string?)](/reference/api/csharp/communitytoolkit.aspire.hosting.surrealdb/surrealdbbuilderextensions/methods.md#withdatavolume-iresourcebuilder-surrealdbserverresource-string) : `IResourceBuilder<SurrealDbServerResource>` `extension` `ats export` -- Adds a named volume for the data folder to a SurrealDB resource.
- [WithInitFiles(IResourceBuilder<SurrealDbServerResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.surrealdb/surrealdbbuilderextensions/methods.md#withinitfiles-iresourcebuilder-surrealdbserverresource-string) : `IResourceBuilder<SurrealDbServerResource>` `extension` `experimental` `ats export` -- Copies init files into a SurrealDB container resource.
- [WithLogLevel(IResourceBuilder<SurrealDbServerResource>, LogLevel)](/reference/api/csharp/communitytoolkit.aspire.hosting.surrealdb/surrealdbbuilderextensions/methods.md#withloglevel-iresourcebuilder-surrealdbserverresource-loglevel) : `IResourceBuilder<SurrealDbServerResource>` `extension` `ats ignored` -- Configures logging level for the SurrealDB container resource.
- [WithOtlpExporter(IResourceBuilder<SurrealDbServerResource>)](/reference/api/csharp/communitytoolkit.aspire.hosting.surrealdb/surrealdbbuilderextensions/methods.md#withotlpexporter-iresourcebuilder-surrealdbserverresource) : `IResourceBuilder<SurrealDbServerResource>` `extension` `ats export` -- Injects the appropriate environment variables to allow the resource to enable sending telemetry to the dashboard. 1. It sets the OTLP endpoint to the value of the DOTNET_DASHBOARD_OTLP_ENDPOINT_URL environment variable. 2. It sets the service name and instance id to the resource name and UID. Values are injected by the orchestrator. 3. It sets a small batch schedule delay in development. This reduces the delay that OTLP exporter waits to sends telemetry and makes the dashboard telemetry pages responsive.
- [WithSurrealist(IResourceBuilder<T>, Action<IResourceBuilder<SurrealistContainerResource>>, string?)](/reference/api/csharp/communitytoolkit.aspire.hosting.surrealdb/surrealdbbuilderextensions/methods.md#withsurrealist-iresourcebuilder-t-action-iresourcebuilder-surrealistcontainerresource-string) : `IResourceBuilder<T>` `extension` `ats ignored` -- Adds a Surrealist UI instance for SurrealDB to the application model. The default image is and the tag is .
