# AzurePrivateEndpointExtensions Methods

- Package: [Aspire.Hosting.Azure.Network](/reference/api/csharp/aspire.hosting.azure.network.md)
- Type: [AzurePrivateEndpointExtensions](/reference/api/csharp/aspire.hosting.azure.network/azureprivateendpointextensions.md)
- Kind: `Methods`
- Members: `1`

Provides extension methods for adding Azure Private Endpoint resources to the application model.

## AddPrivateEndpoint(IResourceBuilder<AzureSubnetResource>, IResourceBuilder<IAzurePrivateEndpointTarget>)

- Name: `AddPrivateEndpoint(IResourceBuilder<AzureSubnetResource>, IResourceBuilder<IAzurePrivateEndpointTarget>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzurePrivateEndpointResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Azure.Network/AzurePrivateEndpointExtensions.cs#L54-L96)

Adds an Azure Private Endpoint resource to the subnet.

```csharp
public static class AzurePrivateEndpointExtensions
{
    public static IResourceBuilder<AzurePrivateEndpointResource> AddPrivateEndpoint(
        this IResourceBuilder<AzureSubnetResource> subnet,
        IResourceBuilder<IAzurePrivateEndpointTarget> target)
    {
        // ...
    }
}
```

## Parameters

- `subnet` (`IResourceBuilder<AzureSubnetResource>`)
  The subnet to add the private endpoint to.
- `target` (`IResourceBuilder<IAzurePrivateEndpointTarget>`)
  The target Azure resource to connect via private link.

## Returns

`IResourceBuilder<AzurePrivateEndpointResource>` -- A reference to the `ApplicationModel.IResourceBuilder`1`.

## Remarks

This method automatically creates the Private DNS Zone, VNet Link, and DNS Zone Group required for private endpoint DNS resolution. Private DNS Zones are shared across multiple private endpoints that use the same zone name.

When a private endpoint is added, the target resource (or its parent) is automatically configured to deny public network access. To override this behavior, use `AzureProvisioningResourceExtensions.ConfigureInfrastructure` to customize the network settings.

## Examples

This example creates a virtual network with a subnet and adds a private endpoint for Azure Storage blobs:

```csharp
var vnet = builder.AddAzureVirtualNetwork("vnet");
var peSubnet = vnet.AddSubnet("pe-subnet", "10.0.1.0/24");

var storage = builder.AddAzureStorage("storage");
var blobs = storage.AddBlobs("blobs");

peSubnet.AddPrivateEndpoint(blobs);
```

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.
