# AzurePostgresFlexibleServerResource

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

## Definition

```typescript
interface AzurePostgresFlexibleServerResource
  extends IAzureResource,
    IManifestExpressionProvider,
    IResource,
    IResourceWithConnectionString,
    IResourceWithEndpoints,
    IResourceWithParameters,
    IValueProvider,
    IValueWithReferences,
    IAzurePrivateEndpointTarget {
  addDatabase(
      name: string,
      databaseName?: string): AzurePostgresFlexibleServerDatabaseResource;
  runAsContainer(configureContainer?: (obj: PostgresServerResource) => Promise<void>): AzurePostgresFlexibleServerResource;
  withPasswordAuthentication(
      userName?: ParameterResource,
      password?: ParameterResource): AzurePostgresFlexibleServerResource;
  withPasswordAuthenticationWithKeyVault(
      keyVaultBuilder: IAzureKeyVaultResource,
      userName?: ParameterResource,
      password?: ParameterResource): AzurePostgresFlexibleServerResource;
}
```

## Methods

- [addDatabase](/reference/api/typescript/aspire.hosting.azure.postgresql/azurepostgresflexibleserverresource/adddatabase.md) -- `method` -- Adds an Azure PostgreSQL database
    ```typescript
  addDatabase(name: string, databaseName?: string): AzurePostgresFlexibleServerDatabaseResource
  ```
- [runAsContainer](/reference/api/typescript/aspire.hosting.azure.postgresql/azurepostgresflexibleserverresource/runascontainer.md) -- `method` -- Configures the Azure PostgreSQL Flexible Server resource to run locally in a container
    ```typescript
  runAsContainer(configureContainer?: (obj: PostgresServerResource) => Promise<void>): AzurePostgresFlexibleServerResource
  ```
- [withPasswordAuthentication](/reference/api/typescript/aspire.hosting.azure.postgresql/azurepostgresflexibleserverresource/withpasswordauthentication.md) -- `method` -- Configures password authentication for Azure PostgreSQL Flexible Server
    ```typescript
  withPasswordAuthentication(userName?: ParameterResource, password?: ParameterResource): AzurePostgresFlexibleServerResource
  ```
- [withPasswordAuthenticationWithKeyVault](/reference/api/typescript/aspire.hosting.azure.postgresql/azurepostgresflexibleserverresource/withpasswordauthenticationwithkeyvault.md) -- `method` -- Configures password authentication using a specified Azure Key Vault resource
    ```typescript
  withPasswordAuthenticationWithKeyVault(keyVaultBuilder: IAzureKeyVaultResource, userName?: ParameterResource, password?: ParameterResource): AzurePostgresFlexibleServerResource
  ```
