# AzureFunctionToolResource Constructors

- Package: [Aspire.Hosting.Foundry](/reference/api/csharp/aspire.hosting.foundry.md)
- Type: [AzureFunctionToolResource](/reference/api/csharp/aspire.hosting.foundry/azurefunctiontoolresource.md)
- Kind: `Constructors`
- Members: `1`

A Foundry tool resource that enables an agent to invoke an Azure Function.

## AzureFunctionToolResource(string, AzureCognitiveServicesProjectResource, string, string, BinaryData, string, string, string, string)

- Name: `Constructor(string, AzureCognitiveServicesProjectResource, string, string, BinaryData, string, string, string, string)`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Foundry/ToolResources/AzureFunctionToolResource.cs#L43-L60)

Creates a new instance of the [AzureFunctionToolResource](/reference/api/csharp/aspire.hosting.foundry/azurefunctiontoolresource.md) class.

```csharp
public sealed class AzureFunctionToolResource
{
    public AzureFunctionToolResource(
        string name,
        AzureCognitiveServicesProjectResource project,
        string functionName,
        string description,
        BinaryData parameters,
        string inputQueueEndpoint,
        string inputQueueName,
        string outputQueueEndpoint,
        string outputQueueName)
    {
        // ...
    }
}
```

## Parameters

- `name` (`string`)
  The name of the tool resource.
- `project` ([AzureCognitiveServicesProjectResource](/reference/api/csharp/aspire.hosting.foundry/azurecognitiveservicesprojectresource.md))
  The parent Foundry project resource.
- `functionName` (`string`)
  The name of the Azure Function.
- `description` (`string`)
  A description of what the function does.
- `parameters` (`BinaryData`)
  The JSON schema defining the function parameters.
- `inputQueueEndpoint` (`string`)
  The Azure Storage Queue endpoint for input binding.
- `inputQueueName` (`string`)
  The queue name for input binding.
- `outputQueueEndpoint` (`string`)
  The Azure Storage Queue endpoint for output binding.
- `outputQueueName` (`string`)
  The queue name for output binding.
