# AzureCognitiveServicesProjectConnectionsBuilderExtensions Methods

- Package: [Aspire.Hosting.Foundry](/reference/api/csharp/aspire.hosting.foundry.md)
- Type: [AzureCognitiveServicesProjectConnectionsBuilderExtensions](/reference/api/csharp/aspire.hosting.foundry/azurecognitiveservicesprojectconnectionsbuilderextensions.md)
- Kind: `Methods`
- Members: `12`

Extension methods for adding Microsoft Foundry project connection resources to the distributed application model.

## AddBingGroundingConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, string, string)

- Name: `AddBingGroundingConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, string, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BingGroundingConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/Project/ConnectionBuilderExtensions.cs)

Adds a Grounding with Bing Search connection to a Microsoft Foundry project.

```csharp
public static class AzureCognitiveServicesProjectConnectionsBuilderExtensions
{
    public static IResourceBuilder<BingGroundingConnectionResource> AddBingGroundingConnection(
        this IResourceBuilder<AzureCognitiveServicesProjectResource> builder,
        string name,
        string bingResourceId)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureCognitiveServicesProjectResource>`)
  The `ApplicationModel.IResourceBuilder`1` for the parent Microsoft Foundry project resource.
- `name` (`string`)
  The name of the connection resource.
- `bingResourceId` (`string`)
  The full Azure resource ID of the Bing Search resource (e.g., `/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Bing/accounts/{name}`).

## Returns

`IResourceBuilder<BingGroundingConnectionResource>` -- A reference to the `ApplicationModel.IResourceBuilder`1` for the connection resource.

## Remarks

The Bing Search resource ( `Microsoft.Bing/accounts`) cannot be provisioned through Aspire or Bicep. It must be created manually in the [Azure portal](https://portal.azure.com).

Once the Bing resource exists, pass its resource ID to this method. The connection is created in the Foundry project using API key authentication with `category: "ApiKey"` and `metadata.Type: "bing_grounding"`.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

## AddBingGroundingConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, string, IResourceBuilder<ParameterResource>)

- Name: `AddBingGroundingConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, string, IResourceBuilder<ParameterResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BingGroundingConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/Project/ConnectionBuilderExtensions.cs)

Adds a Grounding with Bing Search connection to a Microsoft Foundry project using a parameter resource for the Bing resource ID.

```csharp
public static class AzureCognitiveServicesProjectConnectionsBuilderExtensions
{
    public static IResourceBuilder<BingGroundingConnectionResource> AddBingGroundingConnection(
        this IResourceBuilder<AzureCognitiveServicesProjectResource> builder,
        string name,
        IResourceBuilder<ParameterResource> bingResourceId)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureCognitiveServicesProjectResource>`)
  The `ApplicationModel.IResourceBuilder`1` for the parent Microsoft Foundry project resource.
- `name` (`string`)
  The name of the connection resource.
- `bingResourceId` (`IResourceBuilder<ParameterResource>`)
  A parameter resource containing the full Azure resource ID of the Bing Search resource.

## Returns

`IResourceBuilder<BingGroundingConnectionResource>` -- A reference to the `ApplicationModel.IResourceBuilder`1` for the connection resource.

## Remarks

This overload allows the Bing resource ID to be supplied as a parameter (e.g., from user secrets or configuration) rather than a hardcoded string. The parameter value is resolved at deployment time and embedded in the Bicep template.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

## AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, string, Func<AzureResourceInfrastructure, CognitiveServicesConnectionProperties>)

- Name: `AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, string, Func<AzureResourceInfrastructure, CognitiveServicesConnectionProperties>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureCognitiveServicesProjectConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/Project/ConnectionBuilderExtensions.cs#L38-L75)

Adds a Microsoft Foundry project connection resource to a project. This is a low level interface that requires the caller to specify all connection properties.

```csharp
public static class AzureCognitiveServicesProjectConnectionsBuilderExtensions
{
    public static IResourceBuilder<AzureCognitiveServicesProjectConnectionResource> AddConnection(
        this IResourceBuilder<AzureCognitiveServicesProjectResource> builder,
        string name,
        Func<AzureResourceInfrastructure, CognitiveServicesConnectionProperties> configureProperties)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureCognitiveServicesProjectResource>`)
  The `ApplicationModel.IResourceBuilder`1` for the parent Microsoft Foundry project resource.
- `name` (`string`)
  The name of the Microsoft Foundry project connection resource.
- `configureProperties` (`Func<AzureResourceInfrastructure, CognitiveServicesConnectionProperties>`)
  Action to customize the resource.

## Returns

`IResourceBuilder<AzureCognitiveServicesProjectConnectionResource>` -- A reference to the `ApplicationModel.IResourceBuilder`1` for the Microsoft Foundry project connection resource.

## Remarks

This method is not available in polyglot app hosts.

## ATS metadata

### Ignored by ATS

- Excluded from automatic Polyglot export.

## AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, AzureCosmosDBResource)

- Name: `AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, AzureCosmosDBResource)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureCognitiveServicesProjectConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/Project/ConnectionBuilderExtensions.cs)

Adds CosmosDB to a project as a connection

```csharp
public static class AzureCognitiveServicesProjectConnectionsBuilderExtensions
{
    public static IResourceBuilder<AzureCognitiveServicesProjectConnectionResource> AddConnection(
        this IResourceBuilder<AzureCognitiveServicesProjectResource> builder,
        AzureCosmosDBResource db)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureCognitiveServicesProjectResource>`)
- `db` (`AzureCosmosDBResource`)

## ATS metadata

### Ignored by ATS

- Excluded from automatic Polyglot export.

## AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, IResourceBuilder<AzureCosmosDBResource>)

- Name: `AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, IResourceBuilder<AzureCosmosDBResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureCognitiveServicesProjectConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/Project/ConnectionBuilderExtensions.cs)

Adds CosmosDB to a project as a connection

```csharp
public static class AzureCognitiveServicesProjectConnectionsBuilderExtensions
{
    public static IResourceBuilder<AzureCognitiveServicesProjectConnectionResource> AddConnection(
        this IResourceBuilder<AzureCognitiveServicesProjectResource> builder,
        IResourceBuilder<AzureCosmosDBResource> db)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureCognitiveServicesProjectResource>`)
- `db` (`IResourceBuilder<AzureCosmosDBResource>`)

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

## AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, AzureStorageResource)

- Name: `AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, AzureStorageResource)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureCognitiveServicesProjectConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/Project/ConnectionBuilderExtensions.cs)

Adds an Azure Storage account to a project as a connection.

```csharp
public static class AzureCognitiveServicesProjectConnectionsBuilderExtensions
{
    public static IResourceBuilder<AzureCognitiveServicesProjectConnectionResource> AddConnection(
        this IResourceBuilder<AzureCognitiveServicesProjectResource> builder,
        AzureStorageResource storage)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureCognitiveServicesProjectResource>`)
- `storage` (`AzureStorageResource`)

## ATS metadata

### Ignored by ATS

- Excluded from automatic Polyglot export.

## AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, IResourceBuilder<AzureStorageResource>)

- Name: `AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, IResourceBuilder<AzureStorageResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureCognitiveServicesProjectConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/Project/ConnectionBuilderExtensions.cs)

Adds an Azure Storage account to a project as a connection.

```csharp
public static class AzureCognitiveServicesProjectConnectionsBuilderExtensions
{
    public static IResourceBuilder<AzureCognitiveServicesProjectConnectionResource> AddConnection(
        this IResourceBuilder<AzureCognitiveServicesProjectResource> builder,
        IResourceBuilder<AzureStorageResource> storage)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureCognitiveServicesProjectResource>`)
- `storage` (`IResourceBuilder<AzureStorageResource>`)

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

## AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, AzureContainerRegistryResource)

- Name: `AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, AzureContainerRegistryResource)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureCognitiveServicesProjectConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/Project/ConnectionBuilderExtensions.cs)

Adds a container registry connection to the Microsoft Foundry project.

```csharp
public static class AzureCognitiveServicesProjectConnectionsBuilderExtensions
{
    public static IResourceBuilder<AzureCognitiveServicesProjectConnectionResource> AddConnection(
        this IResourceBuilder<AzureCognitiveServicesProjectResource> builder,
        AzureContainerRegistryResource registry)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureCognitiveServicesProjectResource>`)
- `registry` (`AzureContainerRegistryResource`)

## ATS metadata

### Ignored by ATS

- Excluded from automatic Polyglot export.

## AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, IResourceBuilder<AzureContainerRegistryResource>)

- Name: `AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, IResourceBuilder<AzureContainerRegistryResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureCognitiveServicesProjectConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/Project/ConnectionBuilderExtensions.cs)

Adds a container registry connection to the Microsoft Foundry project.

```csharp
public static class AzureCognitiveServicesProjectConnectionsBuilderExtensions
{
    public static IResourceBuilder<AzureCognitiveServicesProjectConnectionResource> AddConnection(
        this IResourceBuilder<AzureCognitiveServicesProjectResource> builder,
        IResourceBuilder<AzureContainerRegistryResource> registry)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureCognitiveServicesProjectResource>`)
- `registry` (`IResourceBuilder<AzureContainerRegistryResource>`)

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

## AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, AzureSearchResource)

- Name: `AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, AzureSearchResource)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureCognitiveServicesProjectConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/Project/ConnectionBuilderExtensions.cs)

Adds an Azure AI Search connection to a Microsoft Foundry project.

```csharp
public static class AzureCognitiveServicesProjectConnectionsBuilderExtensions
{
    public static IResourceBuilder<AzureCognitiveServicesProjectConnectionResource> AddConnection(
        this IResourceBuilder<AzureCognitiveServicesProjectResource> builder,
        AzureSearchResource search)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureCognitiveServicesProjectResource>`)
- `search` (`AzureSearchResource`)

## ATS metadata

### Ignored by ATS

- Excluded from automatic Polyglot export.

## AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, IResourceBuilder<AzureSearchResource>)

- Name: `AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, IResourceBuilder<AzureSearchResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureCognitiveServicesProjectConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/Project/ConnectionBuilderExtensions.cs)

Adds an Azure AI Search connection to a Microsoft Foundry project.

```csharp
public static class AzureCognitiveServicesProjectConnectionsBuilderExtensions
{
    public static IResourceBuilder<AzureCognitiveServicesProjectConnectionResource> AddConnection(
        this IResourceBuilder<AzureCognitiveServicesProjectResource> builder,
        IResourceBuilder<AzureSearchResource> search)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureCognitiveServicesProjectResource>`)
- `search` (`IResourceBuilder<AzureSearchResource>`)

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

## AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, IResourceBuilder<AzureKeyVaultResource>)

- Name: `AddConnection(IResourceBuilder<AzureCognitiveServicesProjectResource>, IResourceBuilder<AzureKeyVaultResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<AzureCognitiveServicesProjectConnectionResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/Project/ConnectionBuilderExtensions.cs#L254-L278)

Adds a Key Vault connection to the Microsoft Foundry project.

```csharp
public static class AzureCognitiveServicesProjectConnectionsBuilderExtensions
{
    public static IResourceBuilder<AzureCognitiveServicesProjectConnectionResource> AddConnection(
        this IResourceBuilder<AzureCognitiveServicesProjectResource> builder,
        IResourceBuilder<AzureKeyVaultResource> keyVault)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<AzureCognitiveServicesProjectResource>`)
- `keyVault` (`IResourceBuilder<AzureKeyVaultResource>`)

## Remarks

This connection allows the Microsoft Foundry project to store secrets for various other connections. As such, we recommend adding this connection *before* any others, so that those connections can leverage the Key Vault connection for secret storage.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.
