# DevTunnelsResourceBuilderExtensions

- Kind: `class`
- Package: [Aspire.Hosting.DevTunnels](/reference/api/csharp/aspire.hosting.devtunnels.md)
- Version: `13.4.0`
- Namespace: `Aspire.Hosting`
- Target framework: `net8.0`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.DevTunnels/DevTunnelResourceBuilderExtensions.cs)

Provides extension methods for adding dev tunnels resources to an `Hosting.IDistributedApplicationBuilder`.

## Definition

```csharp
namespace Aspire.Hosting;

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

## Methods

- [AddDevTunnel(IDistributedApplicationBuilder, string, string?, DevTunnelOptions?)](/reference/api/csharp/aspire.hosting.devtunnels/devtunnelsresourcebuilderextensions/methods.md#adddevtunnel-idistributedapplicationbuilder-string-string-devtunneloptions) : `IResourceBuilder<DevTunnelResource>` `extension` `ats ignored` -- Adds a dev tunnel resource to the application model.
- [GetEndpoint(IResourceBuilder<DevTunnelResource>, IResourceBuilder<TResource>, string)](/reference/api/csharp/aspire.hosting.devtunnels/devtunnelsresourcebuilderextensions/methods.md#getendpoint-iresourcebuilder-devtunnelresource-iresourcebuilder-tresource-string) : `EndpointReference` `extension` `ats ignored` -- Gets the tunnel endpoint reference for the specified target resource and endpoint.
- [GetEndpoint(IResourceBuilder<DevTunnelResource>, IResource, string)](/reference/api/csharp/aspire.hosting.devtunnels/devtunnelsresourcebuilderextensions/methods.md#getendpoint-iresourcebuilder-devtunnelresource-iresource-string) : `EndpointReference` `extension` `ats ignored` -- Gets the tunnel endpoint reference for the specified target resource and endpoint.
- [GetEndpoint(IResourceBuilder<DevTunnelResource>, EndpointReference)](/reference/api/csharp/aspire.hosting.devtunnels/devtunnelsresourcebuilderextensions/methods.md#getendpoint-iresourcebuilder-devtunnelresource-endpointreference) : `EndpointReference` `extension` `ats export` -- Gets the tunnel endpoint reference for the specified target endpoint.
- [WithAnonymousAccess(IResourceBuilder<DevTunnelResource>)](/reference/api/csharp/aspire.hosting.devtunnels/devtunnelsresourcebuilderextensions/methods.md#withanonymousaccess-iresourcebuilder-devtunnelresource) : `IResourceBuilder<DevTunnelResource>` `extension` `ats export` -- Allows the tunnel to be publicly accessed without authentication.
- [WithReference(IResourceBuilder<DevTunnelResource>, IResourceBuilder<TResource>, bool)](/reference/api/csharp/aspire.hosting.devtunnels/devtunnelsresourcebuilderextensions/methods.md#withreference-iresourcebuilder-devtunnelresource-iresourcebuilder-tresource-bool) : `IResourceBuilder<DevTunnelResource>` `extension` `ats export` -- Adds ports on the dev tunnel for all endpoints found on the referenced resource and sets whether anonymous access is allowed.
- [WithReference(IResourceBuilder<DevTunnelResource>, IResourceBuilder<TResource>, DevTunnelPortOptions?)](/reference/api/csharp/aspire.hosting.devtunnels/devtunnelsresourcebuilderextensions/methods.md#withreference-iresourcebuilder-devtunnelresource-iresourcebuilder-tresource-devtunnelportoptions) : `IResourceBuilder<DevTunnelResource>` `extension` `ats ignored` -- Adds ports on the dev tunnel for all endpoints found on the referenced resource.
- [WithReference(IResourceBuilder<DevTunnelResource>, EndpointReference)](/reference/api/csharp/aspire.hosting.devtunnels/devtunnelsresourcebuilderextensions/methods.md#withreference-iresourcebuilder-devtunnelresource-endpointreference) : `IResourceBuilder<DevTunnelResource>` `extension` `ats export` -- Exposes the specified endpoint via the dev tunnel.
- [WithReference(IResourceBuilder<DevTunnelResource>, EndpointReference, bool)](/reference/api/csharp/aspire.hosting.devtunnels/devtunnelsresourcebuilderextensions/methods.md#withreference-iresourcebuilder-devtunnelresource-endpointreference-bool) : `IResourceBuilder<DevTunnelResource>` `extension` `ats export` -- Exposes the specified endpoint via the dev tunnel and sets whether anonymous access is allowed.
- [WithReference(IResourceBuilder<DevTunnelResource>, EndpointReference, DevTunnelPortOptions?)](/reference/api/csharp/aspire.hosting.devtunnels/devtunnelsresourcebuilderextensions/methods.md#withreference-iresourcebuilder-devtunnelresource-endpointreference-devtunnelportoptions) : `IResourceBuilder<DevTunnelResource>` `extension` `ats ignored` -- Exposes the specified endpoint via the dev tunnel.
- [WithReference(IResourceBuilder<TResource>, IResourceBuilder<IResourceWithEndpoints>, IResourceBuilder<DevTunnelResource>)](/reference/api/csharp/aspire.hosting.devtunnels/devtunnelsresourcebuilderextensions/methods.md#withreference-iresourcebuilder-tresource-iresourcebuilder-iresourcewithendpoints-iresourcebuilder-devtunnelresource) : `IResourceBuilder<TResource>` `extension` `ats ignored` -- Injects service discovery and endpoint information as environment variables from the dev tunnel resource into the destination resource, using the tunneled resource's name as the service name. Each endpoint defined on the target resource will be injected using the format defined by the `ApplicationModel.ReferenceEnvironmentInjectionAnnotation` on the destination resource, i.e. either "services__{sourceResourceName}__{endpointScheme}__{endpointIndex}={uriString}" for .NET service discovery, or "{RESOURCE_ENDPOINT}={uri}" for endpoint injection.
