TopicArgs

data class TopicArgs(val autoDeleteOnIdle: Output<String>? = null, val defaultMessageTimeToLive: Output<String>? = null, val duplicateDetectionHistoryTimeWindow: Output<String>? = null, val enableBatchedOperations: Output<Boolean>? = null, val enableExpress: Output<Boolean>? = null, val enablePartitioning: Output<Boolean>? = null, val maxMessageSizeInKilobytes: Output<Double>? = null, val maxSizeInMegabytes: Output<Int>? = null, val namespaceName: Output<String>? = null, val requiresDuplicateDetection: Output<Boolean>? = null, val resourceGroupName: Output<String>? = null, val status: Output<EntityStatus>? = null, val supportOrdering: Output<Boolean>? = null, val topicName: Output<String>? = null) : ConvertibleToJava<TopicArgs>

Description of topic resource. Uses Azure REST API version 2024-01-01. In version 2.x of the Azure Native provider, it used API version 2022-01-01-preview. Other available API versions: 2018-01-01-preview, 2021-01-01-preview, 2021-06-01-preview, 2021-11-01, 2022-01-01-preview, 2022-10-01-preview, 2023-01-01-preview. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native servicebus [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

TopicCreate

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var topic = new AzureNative.ServiceBus.Topic("topic", new()
{
EnableExpress = true,
NamespaceName = "sdk-Namespace-1617",
ResourceGroupName = "ArunMonocle",
TopicName = "sdk-Topics-5488",
});
});
package main
import (
servicebus "github.com/pulumi/pulumi-azure-native-sdk/servicebus/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := servicebus.NewTopic(ctx, "topic", &servicebus.TopicArgs{
EnableExpress: pulumi.Bool(true),
NamespaceName: pulumi.String("sdk-Namespace-1617"),
ResourceGroupName: pulumi.String("ArunMonocle"),
TopicName: pulumi.String("sdk-Topics-5488"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.servicebus.Topic;
import com.pulumi.azurenative.servicebus.TopicArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var topic = new Topic("topic", TopicArgs.builder()
.enableExpress(true)
.namespaceName("sdk-Namespace-1617")
.resourceGroupName("ArunMonocle")
.topicName("sdk-Topics-5488")
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:servicebus:Topic sdk-Topics-5488 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}

Constructors

Link copied to clipboard
constructor(autoDeleteOnIdle: Output<String>? = null, defaultMessageTimeToLive: Output<String>? = null, duplicateDetectionHistoryTimeWindow: Output<String>? = null, enableBatchedOperations: Output<Boolean>? = null, enableExpress: Output<Boolean>? = null, enablePartitioning: Output<Boolean>? = null, maxMessageSizeInKilobytes: Output<Double>? = null, maxSizeInMegabytes: Output<Int>? = null, namespaceName: Output<String>? = null, requiresDuplicateDetection: Output<Boolean>? = null, resourceGroupName: Output<String>? = null, status: Output<EntityStatus>? = null, supportOrdering: Output<Boolean>? = null, topicName: Output<String>? = null)

Properties

Link copied to clipboard
val autoDeleteOnIdle: Output<String>? = null

ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes.

Link copied to clipboard
val defaultMessageTimeToLive: Output<String>? = null

ISO 8601 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.

Link copied to clipboard

ISO8601 timespan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.

Link copied to clipboard
val enableBatchedOperations: Output<Boolean>? = null

Value that indicates whether server-side batched operations are enabled.

Link copied to clipboard
val enableExpress: Output<Boolean>? = null

Value that indicates whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage.

Link copied to clipboard
val enablePartitioning: Output<Boolean>? = null

Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.

Link copied to clipboard
val maxMessageSizeInKilobytes: Output<Double>? = null

Maximum size (in KB) of the message payload that can be accepted by the topic. This property is only used in Premium today and default is 1024.

Link copied to clipboard
val maxSizeInMegabytes: Output<Int>? = null

Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. Default is 1024.

Link copied to clipboard
val namespaceName: Output<String>? = null

The namespace name

Link copied to clipboard
val requiresDuplicateDetection: Output<Boolean>? = null

Value indicating if this topic requires duplicate detection.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group. The name is case insensitive.

Link copied to clipboard
val status: Output<EntityStatus>? = null

Enumerates the possible values for the status of a messaging entity.

Link copied to clipboard
val supportOrdering: Output<Boolean>? = null

Value that indicates whether the topic supports ordering.

Link copied to clipboard
val topicName: Output<String>? = null

The topic name.

Functions

Link copied to clipboard
open override fun toJava(): TopicArgs