SubscriptionRuleArgs

data class SubscriptionRuleArgs constructor(val action: Output<String>? = null, val correlationFilter: Output<SubscriptionRuleCorrelationFilterArgs>? = null, val filterType: Output<String>? = null, val name: Output<String>? = null, val sqlFilter: Output<String>? = null, val subscriptionId: Output<String>? = null) : ConvertibleToJava<SubscriptionRuleArgs>

Manages a ServiceBus Subscription Rule.

Example Usage

SQL Filter)

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.servicebus.Namespace;
import com.pulumi.azure.servicebus.NamespaceArgs;
import com.pulumi.azure.servicebus.Topic;
import com.pulumi.azure.servicebus.TopicArgs;
import com.pulumi.azure.servicebus.Subscription;
import com.pulumi.azure.servicebus.SubscriptionArgs;
import com.pulumi.azure.servicebus.SubscriptionRule;
import com.pulumi.azure.servicebus.SubscriptionRuleArgs;
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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var exampleNamespace = new Namespace("exampleNamespace", NamespaceArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.sku("Standard")
.tags(Map.of("source", "example"))
.build());
var exampleTopic = new Topic("exampleTopic", TopicArgs.builder()
.namespaceId(exampleNamespace.id())
.enablePartitioning(true)
.build());
var exampleSubscription = new Subscription("exampleSubscription", SubscriptionArgs.builder()
.topicId(exampleTopic.id())
.maxDeliveryCount(1)
.build());
var exampleSubscriptionRule = new SubscriptionRule("exampleSubscriptionRule", SubscriptionRuleArgs.builder()
.subscriptionId(exampleSubscription.id())
.filterType("SqlFilter")
.sqlFilter("colour = 'red'")
.build());
}
}

Correlation Filter)

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.servicebus.Namespace;
import com.pulumi.azure.servicebus.NamespaceArgs;
import com.pulumi.azure.servicebus.Topic;
import com.pulumi.azure.servicebus.TopicArgs;
import com.pulumi.azure.servicebus.Subscription;
import com.pulumi.azure.servicebus.SubscriptionArgs;
import com.pulumi.azure.servicebus.SubscriptionRule;
import com.pulumi.azure.servicebus.SubscriptionRuleArgs;
import com.pulumi.azure.servicebus.inputs.SubscriptionRuleCorrelationFilterArgs;
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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var exampleNamespace = new Namespace("exampleNamespace", NamespaceArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.sku("Standard")
.tags(Map.of("source", "example"))
.build());
var exampleTopic = new Topic("exampleTopic", TopicArgs.builder()
.namespaceId(exampleNamespace.id())
.enablePartitioning(true)
.build());
var exampleSubscription = new Subscription("exampleSubscription", SubscriptionArgs.builder()
.topicId(exampleTopic.id())
.maxDeliveryCount(1)
.build());
var exampleSubscriptionRule = new SubscriptionRule("exampleSubscriptionRule", SubscriptionRuleArgs.builder()
.subscriptionId(exampleSubscription.id())
.filterType("CorrelationFilter")
.correlationFilter(SubscriptionRuleCorrelationFilterArgs.builder()
.correlationId("high")
.label("red")
.properties(Map.of("customProperty", "value"))
.build())
.build());
}
}

Import

Service Bus Subscription Rule can be imported using the resource id, e.g.

$ pulumi import azure:eventhub/subscriptionRule:SubscriptionRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1/topics/sntopic1/subscriptions/sbsub1/rules/sbrule1

Constructors

Link copied to clipboard
fun SubscriptionRuleArgs(action: Output<String>? = null, correlationFilter: Output<SubscriptionRuleCorrelationFilterArgs>? = null, filterType: Output<String>? = null, name: Output<String>? = null, sqlFilter: Output<String>? = null, subscriptionId: Output<String>? = null)

Functions

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

Properties

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

Represents set of actions written in SQL language-based syntax that is performed against a BrokeredMessage.

Link copied to clipboard

A correlation_filter block as documented below to be evaluated against a BrokeredMessage. Required when filter_type is set to CorrelationFilter.

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

Type of filter to be applied to a BrokeredMessage. Possible values are SqlFilter and CorrelationFilter.

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

Specifies the name of the ServiceBus Subscription Rule. Changing this forces a new resource to be created.

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

Represents a filter written in SQL language-based syntax that to be evaluated against a BrokeredMessage. Required when filter_type is set to SqlFilter.

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

The ID of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.