# AzureCognitiveServicesProjectConnectionResource

- Kind: `class`
- Package: [Aspire.Hosting.Foundry](/reference/api/csharp/aspire.hosting.foundry.md)
- Version: `13.4.0-preview.1.26281.18`
- Namespace: `Aspire.Hosting.Foundry`
- Target framework: `net8.0`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/Project/ConnectionResource.cs)
- Inherits: `AzureProvisionableAspireResourceWithParent<CognitiveServicesProjectConnection, AzureCognitiveServicesProjectResource>`

The Microsoft Foundry project connection resource scoped to a project.

## Definition

```csharp
namespace Aspire.Hosting.Foundry;

public class AzureCognitiveServicesProjectConnectionResource
    : Aspire.Hosting.Foundry.AzureProvisionableAspireResourceWithParent<Azure.Provisioning.CognitiveServices.CognitiveServicesProjectConnection, Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource>
{
    // ...
}
```

## Constructors

- [AzureCognitiveServicesProjectConnectionResource(string, Action<AzureResourceInfrastructure>, AzureCognitiveServicesProjectResource)](/reference/api/csharp/aspire.hosting.foundry/azurecognitiveservicesprojectconnectionresource/constructors.md#constructor-string-action-azureresourceinfrastructure-azurecognitiveservicesprojectresource) -- The Microsoft Foundry project connection resource scoped to a project.

## Methods

- [FromExisting(string)](/reference/api/csharp/aspire.hosting.foundry/azurecognitiveservicesprojectconnectionresource/methods.md#fromexisting-string) : `CognitiveServicesProjectConnection` -- Gets the Azure.Provisioning resource from an existing Bicep identifier. Because static methods can't be abstract, this is an instance method.
- [SetName(CognitiveServicesProjectConnection, BicepValue<string>)](/reference/api/csharp/aspire.hosting.foundry/azurecognitiveservicesprojectconnectionresource/methods.md#setname-cognitiveservicesprojectconnection-bicepvalue-string) -- Sets the name of the provisionable resource. This is needed because not all ProvisionableResource classes have a name property with a setter, and we can't put a type bound on T to require it.
