# AzureUserAssignedIdentityExtensions Methods

- Package: [Aspire.Hosting.Azure](/reference/api/csharp/aspire.hosting.azure.md)
- Type: [AzureUserAssignedIdentityExtensions](/reference/api/csharp/aspire.hosting.azure/azureuserassignedidentityextensions.md)
- Kind: `Methods`
- Members: `2`

Provides extension methods for working with Azure user‑assigned identities.

## AddAzureUserAssignedIdentity(IDistributedApplicationBuilder, string)

- Name: `AddAzureUserAssignedIdentity(IDistributedApplicationBuilder, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureUserAssignedIdentityResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Azure/AzureUserAssignedIdentityExtensions.cs#L32-L44)

Adds an Azure user‑assigned identity resource to the application model.

```csharp
public static class AzureUserAssignedIdentityExtensions
{
    public static IResourceBuilder<AzureUserAssignedIdentityResource> AddAzureUserAssignedIdentity(
        this IDistributedApplicationBuilder builder,
        string name)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IDistributedApplicationBuilder`)
  The builder for the distributed application.
- `name` (`string`)
  The name of the resource.

## Returns

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

## Exceptions

- `ArgumentNullException` -- Thrown when `builder` is null.
- `ArgumentException` -- Thrown when `name` is null or empty.

## Remarks

This method adds an Azure user‑assigned identity resource to the application model. It configures the infrastructure for the resource and returns a builder for the resource. The resource is added to the infrastructure only if the application is not in run mode.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

## WithAzureUserAssignedIdentity(IResourceBuilder<T>, IResourceBuilder<AzureUserAssignedIdentityResource>)

- Name: `WithAzureUserAssignedIdentity(IResourceBuilder<T>, IResourceBuilder<AzureUserAssignedIdentityResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<T>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Azure/AzureUserAssignedIdentityExtensions.cs#L69-L74)

Attaches an existing [AzureUserAssignedIdentityResource](/reference/api/csharp/aspire.hosting.azure/azureuserassignedidentityresource.md) to a compute resource, setting it as the target identity for the builder.

```csharp
public static class AzureUserAssignedIdentityExtensions
{
    public static IResourceBuilder<T> WithAzureUserAssignedIdentity<T>(
        this IResourceBuilder<T> builder,
        IResourceBuilder<AzureUserAssignedIdentityResource> identityResourceBuilder)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<T>`)
  The builder for the `ApplicationModel.IComputeResource` the identity will be associated with.
- `identityResourceBuilder` (`IResourceBuilder<AzureUserAssignedIdentityResource>`)
  The builder for the [AzureUserAssignedIdentityResource](/reference/api/csharp/aspire.hosting.azure/azureuserassignedidentityresource.md).

## Returns

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

## Examples

```csharp
var identity = builder.AddAzureUserAssignedIdentity("myIdentity");
var app = builder.AddProject("myApp")
    .WithAzureUserAssignedIdentity(identity);
```

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.
