# CognitoResourceExtensions Methods

- Package: [Aspire.Hosting.AWS](/reference/api/csharp/aspire.hosting.aws.md)
- Type: [CognitoResourceExtensions](/reference/api/csharp/aspire.hosting.aws/cognitoresourceextensions.md)
- Kind: `Methods`
- Members: `3`

Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

## AddClient(IResourceBuilder<IConstructResource<UserPool>>, string, IUserPoolClientOptions?)

- Name: `AddClient(IResourceBuilder<IConstructResource<UserPool>>, string, IUserPoolClientOptions?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<IConstructResource<UserPoolClient>>`

```csharp
public static class CognitoResourceExtensions
{
    public static IResourceBuilder<IConstructResource<UserPoolClient>> AddClient(
        this IResourceBuilder<IConstructResource<UserPool>> builder,
        string name,
        IUserPoolClientOptions? options = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<IConstructResource<UserPool>>`)
- `name` (`string`)
- `options` (`IUserPoolClientOptions?`) `optional`

## AddCognitoUserPool(IResourceBuilder<IStackResource>, string, IUserPoolProps?)

- Name: `AddCognitoUserPool(IResourceBuilder<IStackResource>, string, IUserPoolProps?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<IConstructResource<UserPool>>`

```csharp
public static class CognitoResourceExtensions
{
    public static IResourceBuilder<IConstructResource<UserPool>> AddCognitoUserPool(
        this IResourceBuilder<IStackResource> builder,
        string name,
        IUserPoolProps? props = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<IStackResource>`)
- `name` (`string`)
- `props` (`IUserPoolProps?`) `optional`

## WithReference(IResourceBuilder<TDestination>, IResourceBuilder<IConstructResource<UserPool>>, string?)

- Name: `WithReference(IResourceBuilder<TDestination>, IResourceBuilder<IConstructResource<UserPool>>, string?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<TDestination>`

```csharp
public static class CognitoResourceExtensions
{
    public static IResourceBuilder<TDestination> WithReference<TDestination>(
        this IResourceBuilder<TDestination> builder,
        IResourceBuilder<IConstructResource<UserPool>> userPool,
        string? configSection = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<TDestination>`)
- `userPool` (`IResourceBuilder<IConstructResource<UserPool>>`)
- `configSection` (`string?`) `optional`
