Module servicebus

This page documents the language specification for the azure package. If you're looking for help working with the inputs, outputs, or functions of azure resources in a Pulumi program, please see the resource documentation for examples and API reference.

Resources

Functions

Others

Resources

Resource Namespace

class Namespace extends CustomResource

Manages a ServiceBus Namespace.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleNamespace = new azure.servicebus.Namespace("exampleNamespace", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    sku: "Standard",
    tags: {
        source: "example",
    },
});

constructor

new Namespace(name: string, args: NamespaceArgs, opts?: pulumi.CustomResourceOptions)

Create a Namespace resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NamespaceState, opts?: pulumi.CustomResourceOptions): Namespace

Get an existing Namespace resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Namespace

Returns true if the given object is an instance of Namespace. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property capacity

public capacity: pulumi.Output<number | undefined>;

Specifies the capacity. When sku is Premium, capacity can be 1, 2, 4 or 8. When sku is Basic or Standard, capacity can be 0 only.

property defaultPrimaryConnectionString

public defaultPrimaryConnectionString: pulumi.Output<string>;

The primary connection string for the authorization rule RootManageSharedAccessKey.

property defaultPrimaryKey

public defaultPrimaryKey: pulumi.Output<string>;

The primary access key for the authorization rule RootManageSharedAccessKey.

property defaultSecondaryConnectionString

public defaultSecondaryConnectionString: pulumi.Output<string>;

The secondary connection string for the authorization rule RootManageSharedAccessKey.

property defaultSecondaryKey

public defaultSecondaryKey: pulumi.Output<string>;

The secondary access key for the authorization rule RootManageSharedAccessKey.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property location

public location: pulumi.Output<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

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

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the namespace.

property sku

public sku: pulumi.Output<string>;

Defines which tier to use. Options are basic, standard or premium. Changing this forces a new resource to be created.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property zoneRedundant

public zoneRedundant: pulumi.Output<boolean | undefined>;

Whether or not this resource is zone redundant. sku needs to be Premium. Defaults to false.

Resource NamespaceAuthorizationRule

class NamespaceAuthorizationRule extends CustomResource

Manages a ServiceBus Namespace authorization Rule within a ServiceBus.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West US"});
const exampleNamespace = new azure.servicebus.Namespace("exampleNamespace", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    sku: "Standard",
    tags: {
        source: "example",
    },
});
const exampleNamespaceAuthorizationRule = new azure.servicebus.NamespaceAuthorizationRule("exampleNamespaceAuthorizationRule", {
    namespaceName: exampleNamespace.name,
    resourceGroupName: exampleResourceGroup.name,
    listen: true,
    send: true,
    manage: false,
});

constructor

new NamespaceAuthorizationRule(name: string, args: NamespaceAuthorizationRuleArgs, opts?: pulumi.CustomResourceOptions)

Create a NamespaceAuthorizationRule resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NamespaceAuthorizationRuleState, opts?: pulumi.CustomResourceOptions): NamespaceAuthorizationRule

Get an existing NamespaceAuthorizationRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is NamespaceAuthorizationRule

Returns true if the given object is an instance of NamespaceAuthorizationRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property listen

public listen: pulumi.Output<boolean | undefined>;

Grants listen access to this this Authorization Rule. Defaults to false.

property manage

public manage: pulumi.Output<boolean | undefined>;

Grants manage access to this this Authorization Rule. When this property is true - both listen and send must be too. Defaults to false.

property name

public name: pulumi.Output<string>;

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

property namespaceName

public namespaceName: pulumi.Output<string>;

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

property primaryConnectionString

public primaryConnectionString: pulumi.Output<string>;

The Primary Connection String for the ServiceBus Namespace authorization Rule.

property primaryKey

public primaryKey: pulumi.Output<string>;

The Primary Key for the ServiceBus Namespace authorization Rule.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.

property secondaryConnectionString

public secondaryConnectionString: pulumi.Output<string>;

The Secondary Connection String for the ServiceBus Namespace authorization Rule.

property secondaryKey

public secondaryKey: pulumi.Output<string>;

The Secondary Key for the ServiceBus Namespace authorization Rule.

property send

public send: pulumi.Output<boolean | undefined>;

Grants send access to this this Authorization Rule. Defaults to false.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource NamespaceNetworkRuleSet

class NamespaceNetworkRuleSet extends CustomResource

Manages a ServiceBus Namespace Network Rule Set Set.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleNamespace = new azure.servicebus.Namespace("exampleNamespace", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    sku: "Premium",
    capacity: 1,
});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    addressSpaces: ["172.17.0.0/16"],
    dnsServers: [
        "10.0.0.4",
        "10.0.0.5",
    ],
});
const exampleSubnet = new azure.network.Subnet("exampleSubnet", {
    resourceGroupName: exampleResourceGroup.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefix: "172.17.0.0/24",
    serviceEndpoints: ["Microsoft.ServiceBus"],
});
const exampleNamespaceNetworkRuleSet = new azure.servicebus.NamespaceNetworkRuleSet("exampleNamespaceNetworkRuleSet", {
    namespaceName: exampleNamespace.name,
    resourceGroupName: exampleResourceGroup.name,
    defaultAction: "Deny",
    network_rules: [{
        subnetId: exampleSubnet.id,
        ignoreMissingVnetServiceEndpoint: false,
    }],
    ipRules: ["1.1.1.1"],
});

constructor

new NamespaceNetworkRuleSet(name: string, args: NamespaceNetworkRuleSetArgs, opts?: pulumi.CustomResourceOptions)

Create a NamespaceNetworkRuleSet resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NamespaceNetworkRuleSetState, opts?: pulumi.CustomResourceOptions): NamespaceNetworkRuleSet

Get an existing NamespaceNetworkRuleSet resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is NamespaceNetworkRuleSet

Returns true if the given object is an instance of NamespaceNetworkRuleSet. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property defaultAction

public defaultAction: pulumi.Output<string | undefined>;

Specifies the default action for the ServiceBus Namespace Network Rule Set. Possible values are Allow and Deny. Defaults to Deny.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ipRules

public ipRules: pulumi.Output<string[] | undefined>;

One or more IP Addresses, or CIDR Blocks which should be able to access the ServiceBus Namespace.

property namespaceName

public namespaceName: pulumi.Output<string>;

Specifies the ServiceBus Namespace name to which to attach the ServiceBus Namespace Network Rule Set. Changing this forces a new resource to be created.

property networkRules

public networkRules: pulumi.Output<NamespaceNetworkRuleSetNetworkRule[] | undefined>;

One or more networkRules blocks as defined below.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

Specifies the name of the Resource Group where the ServiceBus Namespace Network Rule Set should exist. Changing this forces a new resource to be created.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Queue

class Queue extends CustomResource

Manages a ServiceBus Queue.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleNamespace = new azure.servicebus.Namespace("exampleNamespace", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    sku: "Standard",
    tags: {
        source: "example",
    },
});
const exampleQueue = new azure.servicebus.Queue("exampleQueue", {
    resourceGroupName: exampleResourceGroup.name,
    namespaceName: exampleNamespace.name,
    enablePartitioning: true,
});

constructor

new Queue(name: string, args: QueueArgs, opts?: pulumi.CustomResourceOptions)

Create a Queue resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: QueueState, opts?: pulumi.CustomResourceOptions): Queue

Get an existing Queue resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getEventFunction

getEventFunction(name: string, args: ServiceBusCallback | CallbackFunctionArgs<ServiceBusContext, string, appservice.FunctionDefaultResponse>): ServiceBusFunction

Creates a new Function triggered by messages in the given Queue using the callback provided. [getEventFunction] creates no Azure resources automatically: the returned Function should be used as part of a [MultiCallbackFunctionApp]. Use [onEvent] if you want to create a Function App with a single Function.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Queue

Returns true if the given object is an instance of Queue. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method onEvent

onEvent(name: string, args: ServiceBusCallback | QueueEventSubscriptionArgs, opts?: pulumi.ComponentResourceOptions): QueueEventSubscription

Creates a new subscription to events fired from this Queue to the handler provided, along with options to control the behavior of the subscription. A dedicated Function App is created behind the scenes with a single Azure Function in it. Use [getEventFunction] if you want to compose multiple Functions into the same App manually.

property autoDeleteOnIdle

public autoDeleteOnIdle: pulumi.Output<string>;

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

property deadLetteringOnMessageExpiration

public deadLetteringOnMessageExpiration: pulumi.Output<boolean | undefined>;

Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to false.

property defaultMessageTtl

public defaultMessageTtl: pulumi.Output<string>;

The ISO 8601 timespan duration of the TTL of messages sent to this queue. This is the default value used when TTL is not set on message itself.

property duplicateDetectionHistoryTimeWindow

public duplicateDetectionHistoryTimeWindow: pulumi.Output<string>;

The ISO 8601 timespan duration during which duplicates can be detected. Default value is 10 minutes. (PT10M)

property enableExpress

public enableExpress: pulumi.Output<boolean | undefined>;

Boolean flag which controls whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage. Defaults to false for Basic and Standard. For Premium, it MUST be set to false.

property enablePartitioning

public enablePartitioning: pulumi.Output<boolean | undefined>;

Boolean flag which controls whether to enable the queue to be partitioned across multiple message brokers. Changing this forces a new resource to be created. Defaults to false for Basic and Standard. For Premium, it MUST be set to true.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property lockDuration

public lockDuration: pulumi.Output<string>;

The ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. Maximum value is 5 minutes. Defaults to 1 minute. (PT1M)

property maxDeliveryCount

public maxDeliveryCount: pulumi.Output<number | undefined>;

Integer value which controls when a message is automatically deadlettered. Defaults to 10.

property maxSizeInMegabytes

public maxSizeInMegabytes: pulumi.Output<number>;

Integer value which controls the size of memory allocated for the queue. For supported values see the “Queue/topic size” section of this document.

property name

public name: pulumi.Output<string>;

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

property namespaceName

public namespaceName: pulumi.Output<string>;

The name of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.

property requiresDuplicateDetection

public requiresDuplicateDetection: pulumi.Output<boolean | undefined>;

Boolean flag which controls whether the Queue requires duplicate detection. Changing this forces a new resource to be created. Defaults to false.

property requiresSession

public requiresSession: pulumi.Output<boolean | undefined>;

Boolean flag which controls whether the Queue requires sessions. This will allow ordered handling of unbounded sequences of related messages. With sessions enabled a queue can guarantee first-in-first-out delivery of messages. Changing this forces a new resource to be created. Defaults to false.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the namespace. Changing this forces a new resource to be created.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource QueueAuthorizationRule

class QueueAuthorizationRule extends CustomResource

Manages an Authorization Rule for a ServiceBus Queue.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West US"});
const exampleNamespace = new azure.servicebus.Namespace("exampleNamespace", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    sku: "Standard",
    tags: {
        source: "example",
    },
});
const exampleQueue = new azure.servicebus.Queue("exampleQueue", {
    resourceGroupName: exampleResourceGroup.name,
    namespaceName: exampleNamespace.name,
    enablePartitioning: true,
});
const exampleQueueAuthorizationRule = new azure.servicebus.QueueAuthorizationRule("exampleQueueAuthorizationRule", {
    namespaceName: exampleNamespace.name,
    queueName: exampleQueue.name,
    resourceGroupName: exampleResourceGroup.name,
    listen: true,
    send: true,
    manage: false,
});

constructor

new QueueAuthorizationRule(name: string, args: QueueAuthorizationRuleArgs, opts?: pulumi.CustomResourceOptions)

Create a QueueAuthorizationRule resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: QueueAuthorizationRuleState, opts?: pulumi.CustomResourceOptions): QueueAuthorizationRule

Get an existing QueueAuthorizationRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is QueueAuthorizationRule

Returns true if the given object is an instance of QueueAuthorizationRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property listen

public listen: pulumi.Output<boolean | undefined>;

Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to false.

property manage

public manage: pulumi.Output<boolean | undefined>;

Does this Authorization Rule have Manage permissions to the ServiceBus Queue? When this property is true - both listen and send must be too. Defaults to false.

property name

public name: pulumi.Output<string>;

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

property namespaceName

public namespaceName: pulumi.Output<string>;

Specifies the name of the ServiceBus Namespace in which the Queue exists. Changing this forces a new resource to be created.

property primaryConnectionString

public primaryConnectionString: pulumi.Output<string>;

The Primary Connection String for the Authorization Rule.

property primaryKey

public primaryKey: pulumi.Output<string>;

The Primary Key for the Authorization Rule.

property queueName

public queueName: pulumi.Output<string>;

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

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the Resource Group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.

property secondaryConnectionString

public secondaryConnectionString: pulumi.Output<string>;

The Secondary Connection String for the Authorization Rule.

property secondaryKey

public secondaryKey: pulumi.Output<string>;

The Secondary Key for the Authorization Rule.

property send

public send: pulumi.Output<boolean | undefined>;

Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to false.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Subscription

class Subscription extends CustomResource

Manages a ServiceBus Subscription.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleNamespace = new azure.servicebus.Namespace("exampleNamespace", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    sku: "Standard",
    tags: {
        source: "example",
    },
});
const exampleTopic = new azure.servicebus.Topic("exampleTopic", {
    resourceGroupName: exampleResourceGroup.name,
    namespaceName: exampleNamespace.name,
    enablePartitioning: true,
});
const exampleSubscription = new azure.servicebus.Subscription("exampleSubscription", {
    resourceGroupName: exampleResourceGroup.name,
    namespaceName: exampleNamespace.name,
    topicName: exampleTopic.name,
    maxDeliveryCount: 1,
});

constructor

new Subscription(name: string, args: SubscriptionArgs, opts?: pulumi.CustomResourceOptions)

Create a Subscription resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SubscriptionState, opts?: pulumi.CustomResourceOptions): Subscription

Get an existing Subscription resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Subscription

Returns true if the given object is an instance of Subscription. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property autoDeleteOnIdle

public autoDeleteOnIdle: pulumi.Output<string>;

The idle interval after which the topic is automatically deleted as an ISO 8601 duration. The minimum duration is 5 minutes or P5M.

property deadLetteringOnMessageExpiration

public deadLetteringOnMessageExpiration: pulumi.Output<boolean | undefined>;

Boolean flag which controls whether the Subscription has dead letter support when a message expires. Defaults to false.

property defaultMessageTtl

public defaultMessageTtl: pulumi.Output<string>;

The Default message timespan to live as an ISO 8601 duration. 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.

property enableBatchedOperations

public enableBatchedOperations: pulumi.Output<boolean | undefined>;

Boolean flag which controls whether the Subscription supports batched operations. Defaults to false.

property forwardDeadLetteredMessagesTo

public forwardDeadLetteredMessagesTo: pulumi.Output<string | undefined>;

The name of a Queue or Topic to automatically forward Dead Letter messages to.

property forwardTo

public forwardTo: pulumi.Output<string | undefined>;

The name of a Queue or Topic to automatically forward messages to.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property lockDuration

public lockDuration: pulumi.Output<string>;

The lock duration for the subscription as an ISO 8601 duration. The default value is 1 minute or P1M.

property maxDeliveryCount

public maxDeliveryCount: pulumi.Output<number>;

The maximum number of deliveries.

property name

public name: pulumi.Output<string>;

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

property namespaceName

public namespaceName: pulumi.Output<string>;

The name of the ServiceBus Namespace to create this Subscription in. Changing this forces a new resource to be created.

property requiresSession

public requiresSession: pulumi.Output<boolean | undefined>;

Boolean flag which controls whether this Subscription supports the concept of a session. Defaults to false. Changing this forces a new resource to be created.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the namespace. Changing this forces a new resource to be created.

property topicName

public topicName: pulumi.Output<string>;

The name of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource SubscriptionRule

class SubscriptionRule extends CustomResource

Manages a ServiceBus Subscription Rule.

Example Usage

SQL Filter)
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleNamespace = new azure.servicebus.Namespace("exampleNamespace", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    sku: "Standard",
    tags: {
        source: "example",
    },
});
const exampleTopic = new azure.servicebus.Topic("exampleTopic", {
    resourceGroupName: exampleResourceGroup.name,
    namespaceName: exampleNamespace.name,
    enablePartitioning: true,
});
const exampleSubscription = new azure.servicebus.Subscription("exampleSubscription", {
    resourceGroupName: exampleResourceGroup.name,
    namespaceName: exampleNamespace.name,
    topicName: exampleTopic.name,
    maxDeliveryCount: 1,
});
const exampleSubscriptionRule = new azure.servicebus.SubscriptionRule("exampleSubscriptionRule", {
    resourceGroupName: exampleResourceGroup.name,
    namespaceName: exampleNamespace.name,
    topicName: exampleTopic.name,
    subscriptionName: exampleSubscription.name,
    filterType: "SqlFilter",
    sqlFilter: "colour = 'red'",
});
Correlation Filter)
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleNamespace = new azure.servicebus.Namespace("exampleNamespace", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    sku: "Standard",
    tags: {
        source: "example",
    },
});
const exampleTopic = new azure.servicebus.Topic("exampleTopic", {
    resourceGroupName: exampleResourceGroup.name,
    namespaceName: exampleNamespace.name,
    enablePartitioning: true,
});
const exampleSubscription = new azure.servicebus.Subscription("exampleSubscription", {
    resourceGroupName: exampleResourceGroup.name,
    namespaceName: exampleNamespace.name,
    topicName: exampleTopic.name,
    maxDeliveryCount: 1,
});
const exampleSubscriptionRule = new azure.servicebus.SubscriptionRule("exampleSubscriptionRule", {
    resourceGroupName: exampleResourceGroup.name,
    namespaceName: exampleNamespace.name,
    topicName: exampleTopic.name,
    subscriptionName: exampleSubscription.name,
    filterType: "CorrelationFilter",
    correlation_filter: {
        correlationId: "high",
        label: "red",
    },
});

constructor

new SubscriptionRule(name: string, args: SubscriptionRuleArgs, opts?: pulumi.CustomResourceOptions)

Create a SubscriptionRule resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SubscriptionRuleState, opts?: pulumi.CustomResourceOptions): SubscriptionRule

Get an existing SubscriptionRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is SubscriptionRule

Returns true if the given object is an instance of SubscriptionRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property action

public action: pulumi.Output<string | undefined>;

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

property correlationFilter

public correlationFilter: pulumi.Output<SubscriptionRuleCorrelationFilter | undefined>;

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

property filterType

public filterType: pulumi.Output<string>;

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

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

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

property namespaceName

public namespaceName: pulumi.Output<string>;

The name of the ServiceBus Namespace in which the ServiceBus Topic exists. Changing this forces a new resource to be created.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in the ServiceBus Namespace exists. Changing this forces a new resource to be created.

property sqlFilter

public sqlFilter: pulumi.Output<string | undefined>;

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

property subscriptionName

public subscriptionName: pulumi.Output<string>;

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

property topicName

public topicName: pulumi.Output<string>;

The name of the ServiceBus Topic in which the ServiceBus Subscription exists. Changing this forces a new resource to be created.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Topic

class Topic extends CustomResource

Manages a ServiceBus Topic.

Note Topics can only be created in Namespaces with an SKU of standard or higher.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleNamespace = new azure.servicebus.Namespace("exampleNamespace", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    sku: "Standard",
    tags: {
        source: "example",
    },
});
const exampleTopic = new azure.servicebus.Topic("exampleTopic", {
    resourceGroupName: exampleResourceGroup.name,
    namespaceName: exampleNamespace.name,
    enablePartitioning: true,
});

constructor

new Topic(name: string, args: TopicArgs, opts?: pulumi.CustomResourceOptions)

Create a Topic resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TopicState, opts?: pulumi.CustomResourceOptions): Topic

Get an existing Topic resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getEventFunction

getEventFunction(name: string, args: GetTopicFunctionArgs): ServiceBusFunction

Creates a new Function triggered by messages in the given Topic using the callback provided. [getEventFunction] creates no Azure resources automatically: the returned Function should be used as part of a [MultiCallbackFunctionApp]. Use [onEvent] if you want to create a Function App with a single Function.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Topic

Returns true if the given object is an instance of Topic. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method onEvent

onEvent(name: string, args: ServiceBusCallback | TopicEventSubscriptionArgs, opts?: pulumi.ComponentResourceOptions): TopicEventSubscription

Creates a new subscription to events fired from this Topic to the handler provided, along with options to control the behavior of the subscription. A dedicated Function App is created behind the scenes with a single Azure Function in it. Use [getEventFunction] if you want to compose multiple Functions into the same App manually.

property autoDeleteOnIdle

public autoDeleteOnIdle: pulumi.Output<string>;

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

property defaultMessageTtl

public defaultMessageTtl: pulumi.Output<string>;

The ISO 8601 timespan duration of TTL of messages sent to this topic if no TTL value is set on the message itself.

property duplicateDetectionHistoryTimeWindow

public duplicateDetectionHistoryTimeWindow: pulumi.Output<string>;

The ISO 8601 timespan duration during which duplicates can be detected. Defaults to 10 minutes. (PT10M)

property enableBatchedOperations

public enableBatchedOperations: pulumi.Output<boolean | undefined>;

Boolean flag which controls if server-side batched operations are enabled. Defaults to false.

property enableExpress

public enableExpress: pulumi.Output<boolean | undefined>;

Boolean flag which controls whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage. Defaults to false.

property enablePartitioning

public enablePartitioning: pulumi.Output<boolean | undefined>;

Boolean flag which controls whether to enable the topic to be partitioned across multiple message brokers. Defaults to false. Changing this forces a new resource to be created.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property maxSizeInMegabytes

public maxSizeInMegabytes: pulumi.Output<number>;

Integer value which controls the size of memory allocated for the topic. For supported values see the “Queue/topic size” section of this document.

property name

public name: pulumi.Output<string>;

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

property namespaceName

public namespaceName: pulumi.Output<string>;

The name of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created.

property requiresDuplicateDetection

public requiresDuplicateDetection: pulumi.Output<boolean | undefined>;

Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forces a new resource to be created.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the namespace. Changing this forces a new resource to be created.

property status

public status: pulumi.Output<string | undefined>;

The Status of the Service Bus Topic. Acceptable values are Active or Disabled. Defaults to Active.

property supportOrdering

public supportOrdering: pulumi.Output<boolean | undefined>;

Boolean flag which controls whether the Topic supports ordering. Defaults to false.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource TopicAuthorizationRule

class TopicAuthorizationRule extends CustomResource

Manages a ServiceBus Topic authorization Rule within a ServiceBus Topic.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West US"});
const exampleNamespace = new azure.servicebus.Namespace("exampleNamespace", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    sku: "Standard",
    tags: {
        source: "example",
    },
});
const exampleTopic = new azure.servicebus.Topic("exampleTopic", {
    resourceGroupName: exampleResourceGroup.name,
    namespaceName: exampleNamespace.name,
});
const exampleTopicAuthorizationRule = new azure.servicebus.TopicAuthorizationRule("exampleTopicAuthorizationRule", {
    namespaceName: exampleNamespace.name,
    topicName: exampleTopic.name,
    resourceGroupName: exampleResourceGroup.name,
    listen: true,
    send: false,
    manage: false,
});

constructor

new TopicAuthorizationRule(name: string, args: TopicAuthorizationRuleArgs, opts?: pulumi.CustomResourceOptions)

Create a TopicAuthorizationRule resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TopicAuthorizationRuleState, opts?: pulumi.CustomResourceOptions): TopicAuthorizationRule

Get an existing TopicAuthorizationRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is TopicAuthorizationRule

Returns true if the given object is an instance of TopicAuthorizationRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property listen

public listen: pulumi.Output<boolean | undefined>;

Grants listen access to this this Authorization Rule. Defaults to false.

property manage

public manage: pulumi.Output<boolean | undefined>;

Grants manage access to this this Authorization Rule. When this property is true - both listen and send must be too. Defaults to false.

property name

public name: pulumi.Output<string>;

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

property namespaceName

public namespaceName: pulumi.Output<string>;

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

property primaryConnectionString

public primaryConnectionString: pulumi.Output<string>;

The Primary Connection String for the ServiceBus Topic authorization Rule.

property primaryKey

public primaryKey: pulumi.Output<string>;

The Primary Key for the ServiceBus Topic authorization Rule.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.

property secondaryConnectionString

public secondaryConnectionString: pulumi.Output<string>;

The Secondary Connection String for the ServiceBus Topic authorization Rule.

property secondaryKey

public secondaryKey: pulumi.Output<string>;

The Secondary Key for the ServiceBus Topic authorization Rule.

property send

public send: pulumi.Output<boolean | undefined>;

Grants send access to this this Authorization Rule. Defaults to false.

property topicName

public topicName: pulumi.Output<string>;

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

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Functions

Function getNamespace

getNamespace(args: GetNamespaceArgs, opts?: pulumi.InvokeOptions): Promise<GetNamespaceResult>

Use this data source to access information about an existing ServiceBus Namespace.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = azure.servicebus.getNamespace({
    name: "examplenamespace",
    resourceGroupName: "example-resources",
});
export const location = example.then(example => example.location);

Function getNamespaceAuthorizationRule

getNamespaceAuthorizationRule(args: GetNamespaceAuthorizationRuleArgs, opts?: pulumi.InvokeOptions): Promise<GetNamespaceAuthorizationRuleResult>

Use this data source to access information about an existing ServiceBus Namespace Authorization Rule.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = azure.servicebus.getNamespaceAuthorizationRule({
    name: "examplerule",
    namespaceName: "examplenamespace",
    resourceGroupName: "example-resources",
});
export const ruleId = example.then(example => example.id);

Function getTopicAuthorizationRule

getTopicAuthorizationRule(args: GetTopicAuthorizationRuleArgs, opts?: pulumi.InvokeOptions): Promise<GetTopicAuthorizationRuleResult>

Use this data source to access information about a ServiceBus Topic Authorization Rule within a ServiceBus Topic.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = pulumi.output(azure.servicebus.getTopicAuthorizationRule({
    name: "example-tfex_name",
    namespaceName: "example-namespace",
    resourceGroupName: "example-resources",
    topicName: "example-servicebus_topic",
}, { async: true }));

export const servicebusAuthorizationRuleId = azurem_servicebus_topic_authorization_rule_example.id;

Others

interface GetNamespaceArgs

interface GetNamespaceArgs

A collection of arguments for invoking getNamespace.

property name

name: string;

Specifies the name of the ServiceBus Namespace.

property resourceGroupName

resourceGroupName: string;

Specifies the name of the Resource Group where the ServiceBus Namespace exists.

interface GetNamespaceAuthorizationRuleArgs

interface GetNamespaceAuthorizationRuleArgs

A collection of arguments for invoking getNamespaceAuthorizationRule.

property name

name: string;

Specifies the name of the ServiceBus Namespace Authorization Rule.

property namespaceName

namespaceName: string;

Specifies the name of the ServiceBus Namespace.

property resourceGroupName

resourceGroupName: string;

Specifies the name of the Resource Group where the ServiceBus Namespace exists.

interface GetNamespaceAuthorizationRuleResult

interface GetNamespaceAuthorizationRuleResult

A collection of values returned by getNamespaceAuthorizationRule.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property name

name: string;

property namespaceName

namespaceName: string;

property primaryConnectionString

primaryConnectionString: string;

The primary connection string for the authorization rule.

property primaryKey

primaryKey: string;

The primary access key for the authorization rule.

property resourceGroupName

resourceGroupName: string;

property secondaryConnectionString

secondaryConnectionString: string;

The secondary connection string for the authorization rule.

property secondaryKey

secondaryKey: string;

The secondary access key for the authorization rule.

interface GetNamespaceResult

interface GetNamespaceResult

A collection of values returned by getNamespace.

property capacity

capacity: number;

The capacity of the ServiceBus Namespace.

property defaultPrimaryConnectionString

defaultPrimaryConnectionString: string;

The primary connection string for the authorization rule RootManageSharedAccessKey.

property defaultPrimaryKey

defaultPrimaryKey: string;

The primary access key for the authorization rule RootManageSharedAccessKey.

property defaultSecondaryConnectionString

defaultSecondaryConnectionString: string;

The secondary connection string for the authorization rule RootManageSharedAccessKey.

property defaultSecondaryKey

defaultSecondaryKey: string;

The secondary access key for the authorization rule RootManageSharedAccessKey.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property location

location: string;

The location of the Resource Group in which the ServiceBus Namespace exists.

property name

name: string;

property resourceGroupName

resourceGroupName: string;

property sku

sku: string;

The Tier used for the ServiceBus Namespace.

property tags

tags: {[key: string]: string};

A mapping of tags assigned to the resource.

property zoneRedundant

zoneRedundant: boolean;

Whether or not this ServiceBus Namespace is zone redundant.

interface GetTopicAuthorizationRuleArgs

interface GetTopicAuthorizationRuleArgs

A collection of arguments for invoking getTopicAuthorizationRule.

property name

name: string;

The name of the ServiceBus Topic Authorization Rule resource.

property namespaceName

namespaceName: string;

The name of the ServiceBus Namespace.

property resourceGroupName

resourceGroupName: string;

The name of the resource group in which the ServiceBus Namespace exists.

property topicName

topicName: string;

The name of the ServiceBus Topic.

interface GetTopicAuthorizationRuleResult

interface GetTopicAuthorizationRuleResult

A collection of values returned by getTopicAuthorizationRule.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property listen

listen: boolean;

property manage

manage: boolean;

property name

name: string;

property namespaceName

namespaceName: string;

property primaryConnectionString

primaryConnectionString: string;

The Primary Connection String for the ServiceBus Topic authorization Rule.

property primaryKey

primaryKey: string;

The Primary Key for the ServiceBus Topic authorization Rule.

property resourceGroupName

resourceGroupName: string;

property secondaryConnectionString

secondaryConnectionString: string;

The Secondary Connection String for the ServiceBus Topic authorization Rule.

property secondaryKey

secondaryKey: string;

The Secondary Key for the ServiceBus Topic authorization Rule.

property send

send: boolean;

property topicName

topicName: string;

interface GetTopicFunctionArgs

interface GetTopicFunctionArgs extends CallbackFunctionArgs<ServiceBusContext, string, appservice.FunctionDefaultResponse>

property callback

callback?: Callback<ServiceBusContext, string, appservice.FunctionDefaultResponse>;

The Javascript function instance to use as the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

property callbackFactory

callbackFactory?: CallbackFactory<ServiceBusContext, string, appservice.FunctionDefaultResponse>;

The Javascript function instance that will be called to produce the function that is the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

This form is useful when there is expensive initialization work that should only be executed once. The factory-function will be invoked once when the final Azure FunctionApp module is loaded. It can run whatever code it needs, and will end by returning the actual function that the Azure will call into each time the FunctionApp it is is invoked.

property inputs

inputs?: InputBindingSettings[];

Input bindings.

property outputs

outputs?: OutputBindingSettings[];

Output bindings.

property subscription

subscription?: Subscription;

The ServiceBus Subscription to subscribe the Function to.

interface NamespaceArgs

interface NamespaceArgs

The set of arguments for constructing a Namespace resource.

property capacity

capacity?: pulumi.Input<number>;

Specifies the capacity. When sku is Premium, capacity can be 1, 2, 4 or 8. When sku is Basic or Standard, capacity can be 0 only.

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

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

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the namespace.

property sku

sku: pulumi.Input<string>;

Defines which tier to use. Options are basic, standard or premium. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

property zoneRedundant

zoneRedundant?: pulumi.Input<boolean>;

Whether or not this resource is zone redundant. sku needs to be Premium. Defaults to false.

interface NamespaceAuthorizationRuleArgs

interface NamespaceAuthorizationRuleArgs

The set of arguments for constructing a NamespaceAuthorizationRule resource.

property listen

listen?: pulumi.Input<boolean>;

Grants listen access to this this Authorization Rule. Defaults to false.

property manage

manage?: pulumi.Input<boolean>;

Grants manage access to this this Authorization Rule. When this property is true - both listen and send must be too. Defaults to false.

property name

name?: pulumi.Input<string>;

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

property namespaceName

namespaceName: pulumi.Input<string>;

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

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.

property send

send?: pulumi.Input<boolean>;

Grants send access to this this Authorization Rule. Defaults to false.

interface NamespaceAuthorizationRuleState

interface NamespaceAuthorizationRuleState

Input properties used for looking up and filtering NamespaceAuthorizationRule resources.

property listen

listen?: pulumi.Input<boolean>;

Grants listen access to this this Authorization Rule. Defaults to false.

property manage

manage?: pulumi.Input<boolean>;

Grants manage access to this this Authorization Rule. When this property is true - both listen and send must be too. Defaults to false.

property name

name?: pulumi.Input<string>;

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

property namespaceName

namespaceName?: pulumi.Input<string>;

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

property primaryConnectionString

primaryConnectionString?: pulumi.Input<string>;

The Primary Connection String for the ServiceBus Namespace authorization Rule.

property primaryKey

primaryKey?: pulumi.Input<string>;

The Primary Key for the ServiceBus Namespace authorization Rule.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.

property secondaryConnectionString

secondaryConnectionString?: pulumi.Input<string>;

The Secondary Connection String for the ServiceBus Namespace authorization Rule.

property secondaryKey

secondaryKey?: pulumi.Input<string>;

The Secondary Key for the ServiceBus Namespace authorization Rule.

property send

send?: pulumi.Input<boolean>;

Grants send access to this this Authorization Rule. Defaults to false.

interface NamespaceNetworkRuleSetArgs

interface NamespaceNetworkRuleSetArgs

The set of arguments for constructing a NamespaceNetworkRuleSet resource.

property defaultAction

defaultAction?: pulumi.Input<string>;

Specifies the default action for the ServiceBus Namespace Network Rule Set. Possible values are Allow and Deny. Defaults to Deny.

property ipRules

ipRules?: pulumi.Input<pulumi.Input<string>[]>;

One or more IP Addresses, or CIDR Blocks which should be able to access the ServiceBus Namespace.

property namespaceName

namespaceName: pulumi.Input<string>;

Specifies the ServiceBus Namespace name to which to attach the ServiceBus Namespace Network Rule Set. Changing this forces a new resource to be created.

property networkRules

networkRules?: pulumi.Input<pulumi.Input<NamespaceNetworkRuleSetNetworkRule>[]>;

One or more networkRules blocks as defined below.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

Specifies the name of the Resource Group where the ServiceBus Namespace Network Rule Set should exist. Changing this forces a new resource to be created.

interface NamespaceNetworkRuleSetState

interface NamespaceNetworkRuleSetState

Input properties used for looking up and filtering NamespaceNetworkRuleSet resources.

property defaultAction

defaultAction?: pulumi.Input<string>;

Specifies the default action for the ServiceBus Namespace Network Rule Set. Possible values are Allow and Deny. Defaults to Deny.

property ipRules

ipRules?: pulumi.Input<pulumi.Input<string>[]>;

One or more IP Addresses, or CIDR Blocks which should be able to access the ServiceBus Namespace.

property namespaceName

namespaceName?: pulumi.Input<string>;

Specifies the ServiceBus Namespace name to which to attach the ServiceBus Namespace Network Rule Set. Changing this forces a new resource to be created.

property networkRules

networkRules?: pulumi.Input<pulumi.Input<NamespaceNetworkRuleSetNetworkRule>[]>;

One or more networkRules blocks as defined below.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

Specifies the name of the Resource Group where the ServiceBus Namespace Network Rule Set should exist. Changing this forces a new resource to be created.

interface NamespaceState

interface NamespaceState

Input properties used for looking up and filtering Namespace resources.

property capacity

capacity?: pulumi.Input<number>;

Specifies the capacity. When sku is Premium, capacity can be 1, 2, 4 or 8. When sku is Basic or Standard, capacity can be 0 only.

property defaultPrimaryConnectionString

defaultPrimaryConnectionString?: pulumi.Input<string>;

The primary connection string for the authorization rule RootManageSharedAccessKey.

property defaultPrimaryKey

defaultPrimaryKey?: pulumi.Input<string>;

The primary access key for the authorization rule RootManageSharedAccessKey.

property defaultSecondaryConnectionString

defaultSecondaryConnectionString?: pulumi.Input<string>;

The secondary connection string for the authorization rule RootManageSharedAccessKey.

property defaultSecondaryKey

defaultSecondaryKey?: pulumi.Input<string>;

The secondary access key for the authorization rule RootManageSharedAccessKey.

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

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

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the namespace.

property sku

sku?: pulumi.Input<string>;

Defines which tier to use. Options are basic, standard or premium. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

property zoneRedundant

zoneRedundant?: pulumi.Input<boolean>;

Whether or not this resource is zone redundant. sku needs to be Premium. Defaults to false.

interface QueueArgs

interface QueueArgs

The set of arguments for constructing a Queue resource.

property autoDeleteOnIdle

autoDeleteOnIdle?: pulumi.Input<string>;

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

property deadLetteringOnMessageExpiration

deadLetteringOnMessageExpiration?: pulumi.Input<boolean>;

Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to false.

property defaultMessageTtl

defaultMessageTtl?: pulumi.Input<string>;

The ISO 8601 timespan duration of the TTL of messages sent to this queue. This is the default value used when TTL is not set on message itself.

property duplicateDetectionHistoryTimeWindow

duplicateDetectionHistoryTimeWindow?: pulumi.Input<string>;

The ISO 8601 timespan duration during which duplicates can be detected. Default value is 10 minutes. (PT10M)

property enableExpress

enableExpress?: pulumi.Input<boolean>;

Boolean flag which controls whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage. Defaults to false for Basic and Standard. For Premium, it MUST be set to false.

property enablePartitioning

enablePartitioning?: pulumi.Input<boolean>;

Boolean flag which controls whether to enable the queue to be partitioned across multiple message brokers. Changing this forces a new resource to be created. Defaults to false for Basic and Standard. For Premium, it MUST be set to true.

property lockDuration

lockDuration?: pulumi.Input<string>;

The ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. Maximum value is 5 minutes. Defaults to 1 minute. (PT1M)

property maxDeliveryCount

maxDeliveryCount?: pulumi.Input<number>;

Integer value which controls when a message is automatically deadlettered. Defaults to 10.

property maxSizeInMegabytes

maxSizeInMegabytes?: pulumi.Input<number>;

Integer value which controls the size of memory allocated for the queue. For supported values see the “Queue/topic size” section of this document.

property name

name?: pulumi.Input<string>;

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

property namespaceName

namespaceName: pulumi.Input<string>;

The name of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.

property requiresDuplicateDetection

requiresDuplicateDetection?: pulumi.Input<boolean>;

Boolean flag which controls whether the Queue requires duplicate detection. Changing this forces a new resource to be created. Defaults to false.

property requiresSession

requiresSession?: pulumi.Input<boolean>;

Boolean flag which controls whether the Queue requires sessions. This will allow ordered handling of unbounded sequences of related messages. With sessions enabled a queue can guarantee first-in-first-out delivery of messages. Changing this forces a new resource to be created. Defaults to false.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the namespace. Changing this forces a new resource to be created.

interface QueueAuthorizationRuleArgs

interface QueueAuthorizationRuleArgs

The set of arguments for constructing a QueueAuthorizationRule resource.

property listen

listen?: pulumi.Input<boolean>;

Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to false.

property manage

manage?: pulumi.Input<boolean>;

Does this Authorization Rule have Manage permissions to the ServiceBus Queue? When this property is true - both listen and send must be too. Defaults to false.

property name

name?: pulumi.Input<string>;

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

property namespaceName

namespaceName: pulumi.Input<string>;

Specifies the name of the ServiceBus Namespace in which the Queue exists. Changing this forces a new resource to be created.

property queueName

queueName: pulumi.Input<string>;

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

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the Resource Group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.

property send

send?: pulumi.Input<boolean>;

Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to false.

interface QueueAuthorizationRuleState

interface QueueAuthorizationRuleState

Input properties used for looking up and filtering QueueAuthorizationRule resources.

property listen

listen?: pulumi.Input<boolean>;

Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to false.

property manage

manage?: pulumi.Input<boolean>;

Does this Authorization Rule have Manage permissions to the ServiceBus Queue? When this property is true - both listen and send must be too. Defaults to false.

property name

name?: pulumi.Input<string>;

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

property namespaceName

namespaceName?: pulumi.Input<string>;

Specifies the name of the ServiceBus Namespace in which the Queue exists. Changing this forces a new resource to be created.

property primaryConnectionString

primaryConnectionString?: pulumi.Input<string>;

The Primary Connection String for the Authorization Rule.

property primaryKey

primaryKey?: pulumi.Input<string>;

The Primary Key for the Authorization Rule.

property queueName

queueName?: pulumi.Input<string>;

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

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the Resource Group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.

property secondaryConnectionString

secondaryConnectionString?: pulumi.Input<string>;

The Secondary Connection String for the Authorization Rule.

property secondaryKey

secondaryKey?: pulumi.Input<string>;

The Secondary Key for the Authorization Rule.

property send

send?: pulumi.Input<boolean>;

Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to false.

class QueueEventSubscription

class QueueEventSubscription extends EventSubscription<ServiceBusContext, string, appservice.FunctionDefaultResponse>

constructor

new QueueEventSubscription(name: string, queue: Queue, args: QueueEventSubscriptionArgs, opts: ComponentResourceOptions)

method getData

protected getData(): Promise<TData>

Retrieves the data produces by [initialize]. The data is immediately available in a derived class’s constructor after the super(...) call to ComponentResource.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method initialize

protected initialize(args: Inputs): Promise<TData>

Can be overridden by a subclass to asynchronously initialize data for this Component automatically when constructed. The data will be available immediately for subclass constructors to use. To access the data use .getData.

method isInstance

static isInstance(obj: any): obj is ComponentResource

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

registerOutputs registers synthetic outputs that a component has initialized, usually by allocating other child sub-resources and propagating their resulting property values.

ComponentResources can call this at the end of their constructor to indicate that they are done creating child resources. This is not strictly necessary as this will automatically be called after the initialize method completes.

property functionApp

public functionApp: CallbackFunctionApp<ServiceBusContext, string, appservice.FunctionDefaultResponse>;

property queue

queue: Queue;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

interface QueueEventSubscriptionArgs

interface QueueEventSubscriptionArgs extends CallbackFunctionAppArgs<ServiceBusContext, string, appservice.FunctionDefaultResponse>

property account

account?: storageForTypesOnly.Account;

The storage account to use where the zip-file blob for the FunctionApp will be located. If not provided, a new storage account will create. It will be a ‘Standard’, ‘LRS’, ‘StorageV2’ account.

property appSettings

appSettings?: pulumi.Input<{[key: string]: any}>;

A key-value pair of App Settings.

property authSettings

authSettings?: pulumi.Input<FunctionAppAuthSettings>;

A authSettings block as defined below.

property callback

callback?: Callback<ServiceBusContext, string, appservice.FunctionDefaultResponse>;

The Javascript function instance to use as the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

property callbackFactory

callbackFactory?: CallbackFactory<ServiceBusContext, string, appservice.FunctionDefaultResponse>;

The Javascript function instance that will be called to produce the function that is the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

This form is useful when there is expensive initialization work that should only be executed once. The factory-function will be invoked once when the final Azure FunctionApp module is loaded. It can run whatever code it needs, and will end by returning the actual function that the Azure will call into each time the FunctionApp it is is invoked.

property clientAffinityEnabled

clientAffinityEnabled?: pulumi.Input<boolean>;

Should the Function App send session affinity cookies, which route client requests in the same session to the same instance?

property codePathOptions

codePathOptions?: pulumi.runtime.CodePathOptions;

Options to control which files and packages are included with the serialized FunctionApp code.

property connectionStrings

connectionStrings?: pulumi.Input<pulumi.Input<{
    name: pulumi.Input<string>;
    type: pulumi.Input<string>;
    value: pulumi.Input<string>;
}>[]>;

An connection_string block as defined below.

property container

container?: storageForTypesOnly.Container;

The container to use where the zip-file blob for the FunctionApp will be located. If not provided, the root container of the storage account will be used.

property dailyMemoryTimeQuota

dailyMemoryTimeQuota?: pulumi.Input<number>;

The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan. Defaults to 0.

property enableBuiltinLogging

enableBuiltinLogging?: pulumi.Input<boolean>;

Should the built-in logging of this Function App be enabled? Defaults to true.

property enabled

enabled?: pulumi.Input<boolean>;

Is the Function App enabled?

property hostSettings

hostSettings?: ServiceBusHostSettings;

Host settings specific to the Service Bus Topic/Subscription plugin. These values can be provided here, or defaults will be used in their place.

property httpsOnly

httpsOnly?: pulumi.Input<boolean>;

Can the Function App only be accessed via HTTPS? Defaults to false.

property identity

identity?: pulumi.Input<FunctionAppIdentity>;

An identity block as defined below.

property inputs

inputs?: InputBindingSettings[];

Input bindings.

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

The name of the Function App.

property nodeVersion

nodeVersion?: pulumi.Input<string>;

Controls the value of WEBSITE_NODE_DEFAULT_VERSION in appSettings. If not provided, defaults to ~12.

property osType

osType?: pulumi.Input<string>;

A string indicating the Operating System type for this function app.

property outputs

outputs?: OutputBindingSettings[];

Output bindings.

property plan

plan?: appservice.Plan;

The App Service Plan within which to create this Function App. Changing this forces a new resource to be created.

If not provided, a default “Consumption” plan will be created. See: https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#consumption-plan for more details.

property resourceGroup

resourceGroup?: core.ResourceGroup;

The resource group in which to create the event subscription. [resourceGroup] takes precedence over [resourceGroupName].

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the event subscription. [resourceGroup] takes precedence over [resourceGroupName]. If none of the two is supplied, the Queue’s resource group will be used.

property siteConfig

siteConfig?: pulumi.Input<FunctionAppSiteConfig>;

A site_config object as defined below.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property version

version?: pulumi.Input<string>;

The runtime version associated with the Function App. Defaults to ~3.

interface QueueState

interface QueueState

Input properties used for looking up and filtering Queue resources.

property autoDeleteOnIdle

autoDeleteOnIdle?: pulumi.Input<string>;

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

property deadLetteringOnMessageExpiration

deadLetteringOnMessageExpiration?: pulumi.Input<boolean>;

Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to false.

property defaultMessageTtl

defaultMessageTtl?: pulumi.Input<string>;

The ISO 8601 timespan duration of the TTL of messages sent to this queue. This is the default value used when TTL is not set on message itself.

property duplicateDetectionHistoryTimeWindow

duplicateDetectionHistoryTimeWindow?: pulumi.Input<string>;

The ISO 8601 timespan duration during which duplicates can be detected. Default value is 10 minutes. (PT10M)

property enableExpress

enableExpress?: pulumi.Input<boolean>;

Boolean flag which controls whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage. Defaults to false for Basic and Standard. For Premium, it MUST be set to false.

property enablePartitioning

enablePartitioning?: pulumi.Input<boolean>;

Boolean flag which controls whether to enable the queue to be partitioned across multiple message brokers. Changing this forces a new resource to be created. Defaults to false for Basic and Standard. For Premium, it MUST be set to true.

property lockDuration

lockDuration?: pulumi.Input<string>;

The ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. Maximum value is 5 minutes. Defaults to 1 minute. (PT1M)

property maxDeliveryCount

maxDeliveryCount?: pulumi.Input<number>;

Integer value which controls when a message is automatically deadlettered. Defaults to 10.

property maxSizeInMegabytes

maxSizeInMegabytes?: pulumi.Input<number>;

Integer value which controls the size of memory allocated for the queue. For supported values see the “Queue/topic size” section of this document.

property name

name?: pulumi.Input<string>;

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

property namespaceName

namespaceName?: pulumi.Input<string>;

The name of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.

property requiresDuplicateDetection

requiresDuplicateDetection?: pulumi.Input<boolean>;

Boolean flag which controls whether the Queue requires duplicate detection. Changing this forces a new resource to be created. Defaults to false.

property requiresSession

requiresSession?: pulumi.Input<boolean>;

Boolean flag which controls whether the Queue requires sessions. This will allow ordered handling of unbounded sequences of related messages. With sessions enabled a queue can guarantee first-in-first-out delivery of messages. Changing this forces a new resource to be created. Defaults to false.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the namespace. Changing this forces a new resource to be created.

type ServiceBusCallback

type ServiceBusCallback = appservice.Callback<ServiceBusContext, string, appservice.FunctionDefaultResponse>;

Signature of the callback that can receive queue and topic notifications.

interface ServiceBusContext

interface ServiceBusContext extends Context<appservice.FunctionDefaultResponse>

Data that will be passed along in the context object to the ServiceBusCallback.

method done

done(err?: Error | string | null, result?: R): void

A callback function that signals to the runtime that your code has completed. If your function is synchronous, you must call context.done at the end of execution. If your function is asynchronous, you should not use this callback.

property bindingData

bindingData: {
    contentType: string;
    correlationId: any;
    deadLetterSource: any;
    invocationId: string;
    label: any;
    message: string;
    messageId: string;
    properties: Record<string, any>;
    replyTo: any;
    sys: {
        methodName: string;
        utcNow: string;
    };
    to: any;
};

property bindingDefinitions

bindingDefinitions: BindingDefinition[];

Bindings your function uses, as defined in function.json.

property bindings

bindings: {
    message: string;
};

property executionContext

executionContext: {
    functionDirectory: string;
    functionName: string;
    invocationId: string;
};

property invocationId

invocationId: string;

property log

log: Logger;

Allows you to write streaming function logs. Calling directly allows you to write streaming function logs at the default trace level.

property req

req?: HttpRequest;

HTTP request object. Provided to your function when using HTTP Bindings.

property res

res?: undefined | {[key: string]: any};

HTTP response object. Provided to your function when using HTTP Bindings.

property traceContext

traceContext: TraceContext;

TraceContext information to enable distributed tracing scenarios.

class ServiceBusFunction

class ServiceBusFunction extends Function<ServiceBusContext, string, appservice.FunctionDefaultResponse>

Azure Function triggered by a ServiceBus Topic.

constructor

new ServiceBusFunction(name: string, args: ServiceBusFunctionArgs)

property appSettings

public appSettings?: pulumi.Input<{[key: string]: string}>;

Application settings required by the function.

property bindings

public bindings: pulumi.Input<BindingDefinition[]>;

An array of function binding definitions.

property callback

public callback: CallbackArgs<ServiceBusContext, string, appservice.FunctionDefaultResponse>;

Function callback.

property name

public name: string;

Function name.

interface ServiceBusFunctionArgs

interface ServiceBusFunctionArgs extends CallbackFunctionArgs<ServiceBusContext, string, appservice.FunctionDefaultResponse>

property callback

callback?: Callback<ServiceBusContext, string, appservice.FunctionDefaultResponse>;

The Javascript function instance to use as the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

property callbackFactory

callbackFactory?: CallbackFactory<ServiceBusContext, string, appservice.FunctionDefaultResponse>;

The Javascript function instance that will be called to produce the function that is the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

This form is useful when there is expensive initialization work that should only be executed once. The factory-function will be invoked once when the final Azure FunctionApp module is loaded. It can run whatever code it needs, and will end by returning the actual function that the Azure will call into each time the FunctionApp it is is invoked.

property inputs

inputs?: InputBindingSettings[];

Input bindings.

property outputs

outputs?: OutputBindingSettings[];

Output bindings.

property queue

queue?: Queue;

The ServiceBus Queue to subscribe to.

property subscription

subscription?: Subscription;

The ServiceBus Subscription to subscribe the Function to.

property topic

topic?: Topic;

The ServiceBus Topic to subscribe to.

interface ServiceBusHostExtensions

interface ServiceBusHostExtensions extends HostSettings

Host settings specific to the Service Bus Queue/Topic/Subscription plugin.

For more details see https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus#host-json

property aggregator

aggregator?: undefined | {
    batchSize: number;
    flushTimeout: string;
};

Specifies how many function invocations are aggregated when calculating metrics for Application Insights.

See https://docs.microsoft.com/en-us/azure/azure-functions/functions-host-json#aggregator for more details.

property extensions

extensions?: undefined | {
    http?: appservice.HttpHostExtensions;
    queues?: storageForTypesOnly.QueueHostExtensions;
    serviceBus?: eventhubForTypesOnly.ServiceBusHostExtensions;
};

Extension-specific configuration options.

property functionTimeout

functionTimeout?: undefined | string;

Indicates the timeout duration for all functions. In a serverless Consumption plan, the valid range is from 1 second to 10 minutes, and the default value is 5 minutes. In an App Service plan, there is no overall limit and the default depends on the runtime version. In version 2.x, the default value for an App Service plan is 30 minutes.

property healthMonitor

healthMonitor?: undefined | {
    counterThreshold: number;
    enabled: boolean;
    healthCheckInterval: string;
    healthCheckThreshold: number;
    healthCheckWindow: string;
};

Configuration settings for host-health-monitor.

property logging

logging?: undefined | {
    applicationInsights: {
        samplingSettings: {
            isEnabled: boolean;
            maxTelemetryItemsPerSecond: number;
        };
    };
    fileLoggingMode: "never" | "only" | "debugOnly";
    logLevel: {
        default: string;
    };
};

Controls the logging behaviors of the function app, including Application Insights.

property messageHandlerOptions

messageHandlerOptions?: undefined | {
    autoComplete?: undefined | false | true;
    maxAutoRenewDuration?: undefined | string;
    maxConcurrentCalls?: undefined | number;
};

property prefetchCount

prefetchCount?: undefined | number;

The default PrefetchCount that will be used by the underlying MessageReceiver.

property singleton

singleton?: undefined | {
    listenerLockPeriod: string;
    listenerLockRecoveryPollingInterval: string;
    lockAcquisitionPollingInterval: string;
    lockAcquisitionTimeout: string;
    lockPeriod: string;
};

Configuration settings for Singleton lock behavior. For more information, see GitHub-issue about singleton support.

interface ServiceBusHostSettings

interface ServiceBusHostSettings extends HostSettings

property aggregator

aggregator?: undefined | {
    batchSize: number;
    flushTimeout: string;
};

Specifies how many function invocations are aggregated when calculating metrics for Application Insights.

See https://docs.microsoft.com/en-us/azure/azure-functions/functions-host-json#aggregator for more details.

property extensions

extensions?: undefined | {
    serviceBus: ServiceBusHostExtensions;
};

property functionTimeout

functionTimeout?: undefined | string;

Indicates the timeout duration for all functions. In a serverless Consumption plan, the valid range is from 1 second to 10 minutes, and the default value is 5 minutes. In an App Service plan, there is no overall limit and the default depends on the runtime version. In version 2.x, the default value for an App Service plan is 30 minutes.

property healthMonitor

healthMonitor?: undefined | {
    counterThreshold: number;
    enabled: boolean;
    healthCheckInterval: string;
    healthCheckThreshold: number;
    healthCheckWindow: string;
};

Configuration settings for host-health-monitor.

property logging

logging?: undefined | {
    applicationInsights: {
        samplingSettings: {
            isEnabled: boolean;
            maxTelemetryItemsPerSecond: number;
        };
    };
    fileLoggingMode: "never" | "only" | "debugOnly";
    logLevel: {
        default: string;
    };
};

Controls the logging behaviors of the function app, including Application Insights.

property singleton

singleton?: undefined | {
    listenerLockPeriod: string;
    listenerLockRecoveryPollingInterval: string;
    lockAcquisitionPollingInterval: string;
    lockAcquisitionTimeout: string;
    lockPeriod: string;
};

Configuration settings for Singleton lock behavior. For more information, see GitHub-issue about singleton support.

interface SubscriptionArgs

interface SubscriptionArgs

The set of arguments for constructing a Subscription resource.

property autoDeleteOnIdle

autoDeleteOnIdle?: pulumi.Input<string>;

The idle interval after which the topic is automatically deleted as an ISO 8601 duration. The minimum duration is 5 minutes or P5M.

property deadLetteringOnMessageExpiration

deadLetteringOnMessageExpiration?: pulumi.Input<boolean>;

Boolean flag which controls whether the Subscription has dead letter support when a message expires. Defaults to false.

property defaultMessageTtl

defaultMessageTtl?: pulumi.Input<string>;

The Default message timespan to live as an ISO 8601 duration. 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.

property enableBatchedOperations

enableBatchedOperations?: pulumi.Input<boolean>;

Boolean flag which controls whether the Subscription supports batched operations. Defaults to false.

property forwardDeadLetteredMessagesTo

forwardDeadLetteredMessagesTo?: pulumi.Input<string>;

The name of a Queue or Topic to automatically forward Dead Letter messages to.

property forwardTo

forwardTo?: pulumi.Input<string>;

The name of a Queue or Topic to automatically forward messages to.

property lockDuration

lockDuration?: pulumi.Input<string>;

The lock duration for the subscription as an ISO 8601 duration. The default value is 1 minute or P1M.

property maxDeliveryCount

maxDeliveryCount: pulumi.Input<number>;

The maximum number of deliveries.

property name

name?: pulumi.Input<string>;

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

property namespaceName

namespaceName: pulumi.Input<string>;

The name of the ServiceBus Namespace to create this Subscription in. Changing this forces a new resource to be created.

property requiresSession

requiresSession?: pulumi.Input<boolean>;

Boolean flag which controls whether this Subscription supports the concept of a session. Defaults to false. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the namespace. Changing this forces a new resource to be created.

property topicName

topicName: pulumi.Input<string>;

The name of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.

interface SubscriptionRuleArgs

interface SubscriptionRuleArgs

The set of arguments for constructing a SubscriptionRule resource.

property action

action?: pulumi.Input<string>;

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

property correlationFilter

correlationFilter?: pulumi.Input<SubscriptionRuleCorrelationFilter>;

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

property filterType

filterType: pulumi.Input<string>;

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

property name

name?: pulumi.Input<string>;

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

property namespaceName

namespaceName: pulumi.Input<string>;

The name of the ServiceBus Namespace in which the ServiceBus Topic exists. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in the ServiceBus Namespace exists. Changing this forces a new resource to be created.

property sqlFilter

sqlFilter?: pulumi.Input<string>;

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

property subscriptionName

subscriptionName: pulumi.Input<string>;

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

property topicName

topicName: pulumi.Input<string>;

The name of the ServiceBus Topic in which the ServiceBus Subscription exists. Changing this forces a new resource to be created.

interface SubscriptionRuleState

interface SubscriptionRuleState

Input properties used for looking up and filtering SubscriptionRule resources.

property action

action?: pulumi.Input<string>;

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

property correlationFilter

correlationFilter?: pulumi.Input<SubscriptionRuleCorrelationFilter>;

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

property filterType

filterType?: pulumi.Input<string>;

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

property name

name?: pulumi.Input<string>;

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

property namespaceName

namespaceName?: pulumi.Input<string>;

The name of the ServiceBus Namespace in which the ServiceBus Topic exists. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in the ServiceBus Namespace exists. Changing this forces a new resource to be created.

property sqlFilter

sqlFilter?: pulumi.Input<string>;

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

property subscriptionName

subscriptionName?: pulumi.Input<string>;

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

property topicName

topicName?: pulumi.Input<string>;

The name of the ServiceBus Topic in which the ServiceBus Subscription exists. Changing this forces a new resource to be created.

interface SubscriptionState

interface SubscriptionState

Input properties used for looking up and filtering Subscription resources.

property autoDeleteOnIdle

autoDeleteOnIdle?: pulumi.Input<string>;

The idle interval after which the topic is automatically deleted as an ISO 8601 duration. The minimum duration is 5 minutes or P5M.

property deadLetteringOnMessageExpiration

deadLetteringOnMessageExpiration?: pulumi.Input<boolean>;

Boolean flag which controls whether the Subscription has dead letter support when a message expires. Defaults to false.

property defaultMessageTtl

defaultMessageTtl?: pulumi.Input<string>;

The Default message timespan to live as an ISO 8601 duration. 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.

property enableBatchedOperations

enableBatchedOperations?: pulumi.Input<boolean>;

Boolean flag which controls whether the Subscription supports batched operations. Defaults to false.

property forwardDeadLetteredMessagesTo

forwardDeadLetteredMessagesTo?: pulumi.Input<string>;

The name of a Queue or Topic to automatically forward Dead Letter messages to.

property forwardTo

forwardTo?: pulumi.Input<string>;

The name of a Queue or Topic to automatically forward messages to.

property lockDuration

lockDuration?: pulumi.Input<string>;

The lock duration for the subscription as an ISO 8601 duration. The default value is 1 minute or P1M.

property maxDeliveryCount

maxDeliveryCount?: pulumi.Input<number>;

The maximum number of deliveries.

property name

name?: pulumi.Input<string>;

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

property namespaceName

namespaceName?: pulumi.Input<string>;

The name of the ServiceBus Namespace to create this Subscription in. Changing this forces a new resource to be created.

property requiresSession

requiresSession?: pulumi.Input<boolean>;

Boolean flag which controls whether this Subscription supports the concept of a session. Defaults to false. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the namespace. Changing this forces a new resource to be created.

property topicName

topicName?: pulumi.Input<string>;

The name of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.

interface TopicArgs

interface TopicArgs

The set of arguments for constructing a Topic resource.

property autoDeleteOnIdle

autoDeleteOnIdle?: pulumi.Input<string>;

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

property defaultMessageTtl

defaultMessageTtl?: pulumi.Input<string>;

The ISO 8601 timespan duration of TTL of messages sent to this topic if no TTL value is set on the message itself.

property duplicateDetectionHistoryTimeWindow

duplicateDetectionHistoryTimeWindow?: pulumi.Input<string>;

The ISO 8601 timespan duration during which duplicates can be detected. Defaults to 10 minutes. (PT10M)

property enableBatchedOperations

enableBatchedOperations?: pulumi.Input<boolean>;

Boolean flag which controls if server-side batched operations are enabled. Defaults to false.

property enableExpress

enableExpress?: pulumi.Input<boolean>;

Boolean flag which controls whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage. Defaults to false.

property enablePartitioning

enablePartitioning?: pulumi.Input<boolean>;

Boolean flag which controls whether to enable the topic to be partitioned across multiple message brokers. Defaults to false. Changing this forces a new resource to be created.

property maxSizeInMegabytes

maxSizeInMegabytes?: pulumi.Input<number>;

Integer value which controls the size of memory allocated for the topic. For supported values see the “Queue/topic size” section of this document.

property name

name?: pulumi.Input<string>;

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

property namespaceName

namespaceName: pulumi.Input<string>;

The name of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created.

property requiresDuplicateDetection

requiresDuplicateDetection?: pulumi.Input<boolean>;

Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the namespace. Changing this forces a new resource to be created.

property status

status?: pulumi.Input<string>;

The Status of the Service Bus Topic. Acceptable values are Active or Disabled. Defaults to Active.

property supportOrdering

supportOrdering?: pulumi.Input<boolean>;

Boolean flag which controls whether the Topic supports ordering. Defaults to false.

interface TopicAuthorizationRuleArgs

interface TopicAuthorizationRuleArgs

The set of arguments for constructing a TopicAuthorizationRule resource.

property listen

listen?: pulumi.Input<boolean>;

Grants listen access to this this Authorization Rule. Defaults to false.

property manage

manage?: pulumi.Input<boolean>;

Grants manage access to this this Authorization Rule. When this property is true - both listen and send must be too. Defaults to false.

property name

name?: pulumi.Input<string>;

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

property namespaceName

namespaceName: pulumi.Input<string>;

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

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.

property send

send?: pulumi.Input<boolean>;

Grants send access to this this Authorization Rule. Defaults to false.

property topicName

topicName: pulumi.Input<string>;

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

interface TopicAuthorizationRuleState

interface TopicAuthorizationRuleState

Input properties used for looking up and filtering TopicAuthorizationRule resources.

property listen

listen?: pulumi.Input<boolean>;

Grants listen access to this this Authorization Rule. Defaults to false.

property manage

manage?: pulumi.Input<boolean>;

Grants manage access to this this Authorization Rule. When this property is true - both listen and send must be too. Defaults to false.

property name

name?: pulumi.Input<string>;

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

property namespaceName

namespaceName?: pulumi.Input<string>;

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

property primaryConnectionString

primaryConnectionString?: pulumi.Input<string>;

The Primary Connection String for the ServiceBus Topic authorization Rule.

property primaryKey

primaryKey?: pulumi.Input<string>;

The Primary Key for the ServiceBus Topic authorization Rule.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.

property secondaryConnectionString

secondaryConnectionString?: pulumi.Input<string>;

The Secondary Connection String for the ServiceBus Topic authorization Rule.

property secondaryKey

secondaryKey?: pulumi.Input<string>;

The Secondary Key for the ServiceBus Topic authorization Rule.

property send

send?: pulumi.Input<boolean>;

Grants send access to this this Authorization Rule. Defaults to false.

property topicName

topicName?: pulumi.Input<string>;

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

class TopicEventSubscription

class TopicEventSubscription extends EventSubscription<ServiceBusContext, string, appservice.FunctionDefaultResponse>

constructor

new TopicEventSubscription(name: string, topic: Topic, args: TopicEventSubscriptionArgs, opts: ComponentResourceOptions)

method getData

protected getData(): Promise<TData>

Retrieves the data produces by [initialize]. The data is immediately available in a derived class’s constructor after the super(...) call to ComponentResource.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method initialize

protected initialize(args: Inputs): Promise<TData>

Can be overridden by a subclass to asynchronously initialize data for this Component automatically when constructed. The data will be available immediately for subclass constructors to use. To access the data use .getData.

method isInstance

static isInstance(obj: any): obj is ComponentResource

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

registerOutputs registers synthetic outputs that a component has initialized, usually by allocating other child sub-resources and propagating their resulting property values.

ComponentResources can call this at the end of their constructor to indicate that they are done creating child resources. This is not strictly necessary as this will automatically be called after the initialize method completes.

property functionApp

public functionApp: CallbackFunctionApp<ServiceBusContext, string, appservice.FunctionDefaultResponse>;

property subscription

subscription: Subscription;

property topic

topic: Topic;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

interface TopicEventSubscriptionArgs

interface TopicEventSubscriptionArgs extends GetTopicFunctionArgs, QueueEventSubscriptionArgs

property account

account?: storageForTypesOnly.Account;

The storage account to use where the zip-file blob for the FunctionApp will be located. If not provided, a new storage account will create. It will be a ‘Standard’, ‘LRS’, ‘StorageV2’ account.

property appSettings

appSettings?: pulumi.Input<{[key: string]: any}>;

A key-value pair of App Settings.

property authSettings

authSettings?: pulumi.Input<FunctionAppAuthSettings>;

A authSettings block as defined below.

property callback

callback?: Callback<ServiceBusContext, string, appservice.FunctionDefaultResponse>;

The Javascript function instance to use as the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

property callbackFactory

callbackFactory?: CallbackFactory<ServiceBusContext, string, appservice.FunctionDefaultResponse>;

The Javascript function instance that will be called to produce the function that is the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

This form is useful when there is expensive initialization work that should only be executed once. The factory-function will be invoked once when the final Azure FunctionApp module is loaded. It can run whatever code it needs, and will end by returning the actual function that the Azure will call into each time the FunctionApp it is is invoked.

property clientAffinityEnabled

clientAffinityEnabled?: pulumi.Input<boolean>;

Should the Function App send session affinity cookies, which route client requests in the same session to the same instance?

property codePathOptions

codePathOptions?: pulumi.runtime.CodePathOptions;

Options to control which files and packages are included with the serialized FunctionApp code.

property connectionStrings

connectionStrings?: pulumi.Input<pulumi.Input<{
    name: pulumi.Input<string>;
    type: pulumi.Input<string>;
    value: pulumi.Input<string>;
}>[]>;

An connection_string block as defined below.

property container

container?: storageForTypesOnly.Container;

The container to use where the zip-file blob for the FunctionApp will be located. If not provided, the root container of the storage account will be used.

property dailyMemoryTimeQuota

dailyMemoryTimeQuota?: pulumi.Input<number>;

The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan. Defaults to 0.

property enableBuiltinLogging

enableBuiltinLogging?: pulumi.Input<boolean>;

Should the built-in logging of this Function App be enabled? Defaults to true.

property enabled

enabled?: pulumi.Input<boolean>;

Is the Function App enabled?

property hostSettings

hostSettings?: ServiceBusHostSettings;

Host settings specific to the Service Bus Topic/Subscription plugin. These values can be provided here, or defaults will be used in their place.

property httpsOnly

httpsOnly?: pulumi.Input<boolean>;

Can the Function App only be accessed via HTTPS? Defaults to false.

property identity

identity?: pulumi.Input<FunctionAppIdentity>;

An identity block as defined below.

property inputs

inputs?: InputBindingSettings[];

Input bindings.

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property maxDeliveryCount

maxDeliveryCount?: pulumi.Input<number>;

The maximum number of deliveries. Will default to 10 if not specified.

property name

name?: pulumi.Input<string>;

The name of the Function App.

property nodeVersion

nodeVersion?: pulumi.Input<string>;

Controls the value of WEBSITE_NODE_DEFAULT_VERSION in appSettings. If not provided, defaults to ~12.

property osType

osType?: pulumi.Input<string>;

A string indicating the Operating System type for this function app.

property outputs

outputs?: OutputBindingSettings[];

Output bindings.

property plan

plan?: appservice.Plan;

The App Service Plan within which to create this Function App. Changing this forces a new resource to be created.

If not provided, a default “Consumption” plan will be created. See: https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#consumption-plan for more details.

property resourceGroup

resourceGroup?: core.ResourceGroup;

The resource group in which to create the event subscription. [resourceGroup] takes precedence over [resourceGroupName].

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the event subscription. [resourceGroup] takes precedence over [resourceGroupName]. If none of the two is supplied, the Queue’s resource group will be used.

property siteConfig

siteConfig?: pulumi.Input<FunctionAppSiteConfig>;

A site_config object as defined below.

property subscription

subscription?: Subscription;

The ServiceBus Subscription to subscribe the Function to.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property version

version?: pulumi.Input<string>;

The runtime version associated with the Function App. Defaults to ~3.

interface TopicState

interface TopicState

Input properties used for looking up and filtering Topic resources.

property autoDeleteOnIdle

autoDeleteOnIdle?: pulumi.Input<string>;

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

property defaultMessageTtl

defaultMessageTtl?: pulumi.Input<string>;

The ISO 8601 timespan duration of TTL of messages sent to this topic if no TTL value is set on the message itself.

property duplicateDetectionHistoryTimeWindow

duplicateDetectionHistoryTimeWindow?: pulumi.Input<string>;

The ISO 8601 timespan duration during which duplicates can be detected. Defaults to 10 minutes. (PT10M)

property enableBatchedOperations

enableBatchedOperations?: pulumi.Input<boolean>;

Boolean flag which controls if server-side batched operations are enabled. Defaults to false.

property enableExpress

enableExpress?: pulumi.Input<boolean>;

Boolean flag which controls whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage. Defaults to false.

property enablePartitioning

enablePartitioning?: pulumi.Input<boolean>;

Boolean flag which controls whether to enable the topic to be partitioned across multiple message brokers. Defaults to false. Changing this forces a new resource to be created.

property maxSizeInMegabytes

maxSizeInMegabytes?: pulumi.Input<number>;

Integer value which controls the size of memory allocated for the topic. For supported values see the “Queue/topic size” section of this document.

property name

name?: pulumi.Input<string>;

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

property namespaceName

namespaceName?: pulumi.Input<string>;

The name of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created.

property requiresDuplicateDetection

requiresDuplicateDetection?: pulumi.Input<boolean>;

Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the namespace. Changing this forces a new resource to be created.

property status

status?: pulumi.Input<string>;

The Status of the Service Bus Topic. Acceptable values are Active or Disabled. Defaults to Active.

property supportOrdering

supportOrdering?: pulumi.Input<boolean>;

Boolean flag which controls whether the Topic supports ordering. Defaults to false.