# HostingExtensions.AddCosmosGrainStorage(ISiloBuilder, string, Action&lt;CosmosGrainStorageOptions&gt;)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.persistence.cosmos/orleans.hosting.hostingextensions/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.persistence.cosmos/orleans.hosting.hostingextensions/methods/)

[Source](https://github.com/dotnet/orleans/blob/b7a9e3e1c9c54b3cec3a467c5734bf7744541bcf/src/Azure/Orleans.Persistence.Cosmos/HostingExtensions.cs)

```csharp
public static ISiloBuilder AddCosmosGrainStorage<TProvider>(this ISiloBuilder builder, string name, Action<CosmosGrainStorageOptions> configureOptions)
```

Configure silo to use Azure Cosmos DB storage for grain storage using a custom document id provider or a legacy partition key provider.

### Parameters

- `builder` (`ISiloBuilder`): The silo builder.
- `name` (`string`): The storage provider name.
- `configureOptions` (`Action<CosmosGrainStorageOptions>`): The delegate used to configure the provider.
