# ExistingAzureResourceExtensions Methods

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

Extension methods for interacting with resources that are not managed by Aspire's provisioning or container management layer.

## AsExisting(IResourceBuilder<T>, IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>)

- Name: `AsExisting(IResourceBuilder<T>, IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<T>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Azure/ExistingAzureResourceExtensions.cs#L162-L164)

Marks the resource as an existing resource in both run and publish modes.

```csharp
public static class ExistingAzureResourceExtensions
{
    public static IResourceBuilder<T> AsExisting<T>(
        this IResourceBuilder<T> builder,
        IResourceBuilder<ParameterResource> nameParameter,
        IResourceBuilder<ParameterResource>? resourceGroupParameter)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<T>`)
  The resource builder.
- `nameParameter` (`IResourceBuilder<ParameterResource>`)
  The name of the existing resource.
- `resourceGroupParameter` (`IResourceBuilder<ParameterResource>`)
  The name of the existing resource group, or `null` to use the current resource group.

## Returns

`IResourceBuilder<T>` -- The resource builder with the existing resource annotation added.

## ATS metadata

### Ignored by ATS

- Excluded from automatic Polyglot export.

## IsExisting(IResource)

- Name: `IsExisting(IResource)`
- Modifiers: `extension`
- Returns: `bool`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Azure/ExistingAzureResourceExtensions.cs#L24-L26)

Determines if the resource is an existing resource.

```csharp
public static class ExistingAzureResourceExtensions
{
    public static bool IsExisting(
        this IResource resource)
    {
        // ...
    }
}
```

## Parameters

- `resource` (`IResource`)
  The resource to check.

## Returns

`bool` -- True if the resource is an existing resource, otherwise false.

## Remarks

This method is not available in polyglot app hosts. Use the Azure resource-specific polyglot surface instead.

## ATS metadata

### Ignored by ATS

- Excluded from automatic Polyglot export.

## PublishAsExisting(IResourceBuilder<T>, IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>)

- Name: `PublishAsExisting(IResourceBuilder<T>, IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<T>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Azure/ExistingAzureResourceExtensions.cs#L107-L109)

Marks the resource as an existing resource when the application is deployed.

```csharp
public static class ExistingAzureResourceExtensions
{
    public static IResourceBuilder<T> PublishAsExisting<T>(
        this IResourceBuilder<T> builder,
        IResourceBuilder<ParameterResource> nameParameter,
        IResourceBuilder<ParameterResource>? resourceGroupParameter)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<T>`)
  The resource builder.
- `nameParameter` (`IResourceBuilder<ParameterResource>`)
  The name of the existing resource.
- `resourceGroupParameter` (`IResourceBuilder<ParameterResource>`)
  The name of the existing resource group, or `null` to use the current resource group.

## Returns

`IResourceBuilder<T>` -- The resource builder with the existing resource annotation added.

## ATS metadata

### Ignored by ATS

- Excluded from automatic Polyglot export.

## PublishAsExisting(IResourceBuilder<T>, string, string?)

- Name: `PublishAsExisting(IResourceBuilder<T>, string, string?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<T>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Azure/ExistingAzureResourceExtensions.cs#L124-L126)

Marks the resource as an existing resource when the application is deployed.

```csharp
public static class ExistingAzureResourceExtensions
{
    public static IResourceBuilder<T> PublishAsExisting<T>(
        this IResourceBuilder<T> builder,
        string name,
        string? resourceGroup)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<T>`)
  The resource builder.
- `name` (`string`)
  The name of the existing resource.
- `resourceGroup` (`string?`)
  The name of the existing resource group, or `null` to use the current resource group.

## Returns

`IResourceBuilder<T>` -- The resource builder with the existing resource annotation added.

## ATS metadata

### Ignored by ATS

- Excluded from automatic Polyglot export.

## RunAsExisting(IResourceBuilder<T>, IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>)

- Name: `RunAsExisting(IResourceBuilder<T>, IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<T>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Azure/ExistingAzureResourceExtensions.cs#L52-L54)

Marks the resource as an existing resource when the application is running.

```csharp
public static class ExistingAzureResourceExtensions
{
    public static IResourceBuilder<T> RunAsExisting<T>(
        this IResourceBuilder<T> builder,
        IResourceBuilder<ParameterResource> nameParameter,
        IResourceBuilder<ParameterResource>? resourceGroupParameter)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<T>`)
  The resource builder.
- `nameParameter` (`IResourceBuilder<ParameterResource>`)
  The name of the existing resource.
- `resourceGroupParameter` (`IResourceBuilder<ParameterResource>`)
  The name of the existing resource group, or `null` to use the current resource group.

## Returns

`IResourceBuilder<T>` -- The resource builder with the existing resource annotation added.

## ATS metadata

### Ignored by ATS

- Excluded from automatic Polyglot export.

## RunAsExisting(IResourceBuilder<T>, string, string?)

- Name: `RunAsExisting(IResourceBuilder<T>, string, string?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<T>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Azure/ExistingAzureResourceExtensions.cs#L69-L71)

Marks the resource as an existing resource when the application is running.

```csharp
public static class ExistingAzureResourceExtensions
{
    public static IResourceBuilder<T> RunAsExisting<T>(
        this IResourceBuilder<T> builder,
        string name,
        string? resourceGroup)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<T>`)
  The resource builder.
- `name` (`string`)
  The name of the existing resource.
- `resourceGroup` (`string?`)
  The name of the existing resource group, or `null` to use the current resource group.

## Returns

`IResourceBuilder<T>` -- The resource builder with the existing resource annotation added.

## ATS metadata

### Ignored by ATS

- Excluded from automatic Polyglot export.
