# AzureServiceBusTopicResource

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

## Definition

```typescript
interface AzureServiceBusTopicResource
  extends IExpressionValue,
    IManifestExpressionProvider,
    IResource,
    IResourceWithConnectionString,
    IResourceWithParent,
    AzureServiceBusResource]],
    IValueProvider,
    IValueWithReferences,
    IResourceWithAzureFunctionsConfig {
  readonly connectionStringExpression: ReferenceExpression;
  defaultMessageTimeToLive: timespan;
  duplicateDetectionHistoryTimeWindow: timespan;
  readonly parent: AzureServiceBusResource;
  requiresDuplicateDetection: boolean;
  topicName: string;
  addServiceBusSubscription(
      name: string,
      subscriptionName?: string): AzureServiceBusSubscriptionResource;
  withProperties(configure: (obj: AzureServiceBusTopicResource) => Promise<void>): AzureServiceBusTopicResource;
}
```

## Properties

- `connectionStringExpression`: `ReferenceExpression` `get` -- Gets the ConnectionStringExpression property
- `defaultMessageTimeToLive`: `timespan` `get - set` -- Gets the DefaultMessageTimeToLive property
- `duplicateDetectionHistoryTimeWindow`: `timespan` `get - set` -- Gets the DuplicateDetectionHistoryTimeWindow property
- `parent`: [AzureServiceBusResource](/reference/api/typescript/aspire.hosting.azure.servicebus/azureservicebusresource.md) `get` -- Gets the Parent property
- `requiresDuplicateDetection`: `boolean` `get - set` -- Gets the RequiresDuplicateDetection property
- `topicName`: `string` `get - set` -- Gets the TopicName property

## Methods

- [addServiceBusSubscription](/reference/api/typescript/aspire.hosting.azure.servicebus/azureservicebustopicresource/addservicebussubscription.md) -- `method` -- Adds an Azure Service Bus subscription resource
    ```typescript
  addServiceBusSubscription(name: string, subscriptionName?: string): AzureServiceBusSubscriptionResource
  ```
- [withProperties](/reference/api/typescript/aspire.hosting.azure.servicebus/azureservicebustopicresource/withproperties.md) -- `method` -- Configures properties of an Azure Service Bus topic
    ```typescript
  withProperties(configure: (obj: AzureServiceBusTopicResource) => Promise<void>): AzureServiceBusTopicResource
  ```
