# AzureCosmosDBResource

- Module: [Aspire.Hosting.Azure.CosmosDB](/reference/api/typescript/aspire.hosting.azure.cosmosdb.md)
- Version: `13.2.0`
- Kind: `handle`
- Source: [GitHub](https://github.com/microsoft/aspire)

## Definition

```typescript
interface AzureCosmosDBResource
  extends IAzureResource,
    IManifestExpressionProvider,
    IResource,
    IResourceWithConnectionString,
    IResourceWithEndpoints,
    IResourceWithParameters,
    IValueProvider,
    IValueWithReferences,
    IAzurePrivateEndpointTarget,
    IResourceWithAzureFunctionsConfig {
  addCosmosDatabase(
      name: string,
      databaseName?: string): AzureCosmosDBDatabaseResource;
  runAsEmulator(configureContainer?: (obj: AzureCosmosDBEmulatorResource) => Promise<void>): AzureCosmosDBResource;
  runAsPreviewEmulator(configureContainer?: (obj: AzureCosmosDBEmulatorResource) => Promise<void>): AzureCosmosDBResource;
  withAccessKeyAuthentication(): AzureCosmosDBResource;
  withAccessKeyAuthenticationWithKeyVault(keyVaultBuilder: IAzureKeyVaultResource): AzureCosmosDBResource;
  withDefaultAzureSku(): AzureCosmosDBResource;
}
```

## Methods

- [addCosmosDatabase](/reference/api/typescript/aspire.hosting.azure.cosmosdb/azurecosmosdbresource/addcosmosdatabase.md) -- `method` -- Adds an Azure Cosmos DB database resource
    ```typescript
  addCosmosDatabase(name: string, databaseName?: string): AzureCosmosDBDatabaseResource
  ```
- [runAsEmulator](/reference/api/typescript/aspire.hosting.azure.cosmosdb/azurecosmosdbresource/runasemulator.md) -- `method` -- Configures the Azure Cosmos DB resource to run using the local emulator
    ```typescript
  runAsEmulator(configureContainer?: (obj: AzureCosmosDBEmulatorResource) => Promise<void>): AzureCosmosDBResource
  ```
- [runAsPreviewEmulator](/reference/api/typescript/aspire.hosting.azure.cosmosdb/azurecosmosdbresource/runaspreviewemulator.md) -- `method` -- Configures the Azure Cosmos DB resource to run using the preview emulator
    ```typescript
  runAsPreviewEmulator(configureContainer?: (obj: AzureCosmosDBEmulatorResource) => Promise<void>): AzureCosmosDBResource
  ```
- [withAccessKeyAuthentication](/reference/api/typescript/aspire.hosting.azure.cosmosdb/azurecosmosdbresource/withaccesskeyauthentication.md) -- `method` -- Configures Azure Cosmos DB to use access key authentication
    ```typescript
  withAccessKeyAuthentication(): AzureCosmosDBResource
  ```
- [withAccessKeyAuthenticationWithKeyVault](/reference/api/typescript/aspire.hosting.azure.cosmosdb/azurecosmosdbresource/withaccesskeyauthenticationwithkeyvault.md) -- `method` -- Configures Azure Cosmos DB access key authentication using a specified Azure Key Vault resource
    ```typescript
  withAccessKeyAuthenticationWithKeyVault(keyVaultBuilder: IAzureKeyVaultResource): AzureCosmosDBResource
  ```
- [withDefaultAzureSku](/reference/api/typescript/aspire.hosting.azure.cosmosdb/azurecosmosdbresource/withdefaultazuresku.md) -- `method` -- Configures Azure Cosmos DB to use the default Azure SKU
    ```typescript
  withDefaultAzureSku(): AzureCosmosDBResource
  ```
