servicebus

package
v5.74.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 29, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LookupNamespaceArgs

type LookupNamespaceArgs struct {
	// Specifies the name of the ServiceBus Namespace.
	Name string `pulumi:"name"`
	// Specifies the name of the Resource Group where the ServiceBus Namespace exists.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getNamespace.

type LookupNamespaceAuthorizationRuleArgs

type LookupNamespaceAuthorizationRuleArgs struct {
	// Specifies the name of the ServiceBus Namespace Authorization Rule.
	Name string `pulumi:"name"`
	// Specifies the ID of the ServiceBus Namespace where the Service Bus Namespace Authorization Rule exists.
	NamespaceId *string `pulumi:"namespaceId"`
	// Specifies the name of the ServiceBus Namespace.
	//
	// Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	NamespaceName *string `pulumi:"namespaceName"`
	// Specifies the name of the Resource Group where the ServiceBus Namespace exists.
	//
	// > **Note:** `namespaceName` and `resourceGroupName` has been deprecated and will be removed in version 4.0 of the provider in favour of `namespaceId`.
	//
	// Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	ResourceGroupName *string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getNamespaceAuthorizationRule.

type LookupNamespaceAuthorizationRuleOutputArgs

type LookupNamespaceAuthorizationRuleOutputArgs struct {
	// Specifies the name of the ServiceBus Namespace Authorization Rule.
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the ID of the ServiceBus Namespace where the Service Bus Namespace Authorization Rule exists.
	NamespaceId pulumi.StringPtrInput `pulumi:"namespaceId"`
	// Specifies the name of the ServiceBus Namespace.
	//
	// Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	NamespaceName pulumi.StringPtrInput `pulumi:"namespaceName"`
	// Specifies the name of the Resource Group where the ServiceBus Namespace exists.
	//
	// > **Note:** `namespaceName` and `resourceGroupName` has been deprecated and will be removed in version 4.0 of the provider in favour of `namespaceId`.
	//
	// Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	ResourceGroupName pulumi.StringPtrInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getNamespaceAuthorizationRule.

func (LookupNamespaceAuthorizationRuleOutputArgs) ElementType

type LookupNamespaceAuthorizationRuleResult

type LookupNamespaceAuthorizationRuleResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id          string  `pulumi:"id"`
	Name        string  `pulumi:"name"`
	NamespaceId *string `pulumi:"namespaceId"`
	// Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	NamespaceName *string `pulumi:"namespaceName"`
	// The primary connection string for the authorization rule.
	PrimaryConnectionString string `pulumi:"primaryConnectionString"`
	// The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.
	PrimaryConnectionStringAlias string `pulumi:"primaryConnectionStringAlias"`
	// The primary access key for the authorization rule.
	PrimaryKey string `pulumi:"primaryKey"`
	// Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	ResourceGroupName *string `pulumi:"resourceGroupName"`
	// The secondary connection string for the authorization rule.
	SecondaryConnectionString string `pulumi:"secondaryConnectionString"`
	// The alias Secondary Connection String for the ServiceBus Namespace
	SecondaryConnectionStringAlias string `pulumi:"secondaryConnectionStringAlias"`
	// The secondary access key for the authorization rule.
	SecondaryKey string `pulumi:"secondaryKey"`
}

A collection of values returned by getNamespaceAuthorizationRule.

func LookupNamespaceAuthorizationRule

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := servicebus.LookupNamespaceAuthorizationRule(ctx, &servicebus.LookupNamespaceAuthorizationRuleArgs{
			Name:        "examplerule",
			NamespaceId: pulumi.StringRef("examplenamespace"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("ruleId", example.Id)
		return nil
	})
}

```

type LookupNamespaceAuthorizationRuleResultOutput

type LookupNamespaceAuthorizationRuleResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNamespaceAuthorizationRule.

func (LookupNamespaceAuthorizationRuleResultOutput) ElementType

func (LookupNamespaceAuthorizationRuleResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupNamespaceAuthorizationRuleResultOutput) Name

func (LookupNamespaceAuthorizationRuleResultOutput) NamespaceId

func (LookupNamespaceAuthorizationRuleResultOutput) NamespaceName deprecated

Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.

func (LookupNamespaceAuthorizationRuleResultOutput) PrimaryConnectionString

The primary connection string for the authorization rule.

func (LookupNamespaceAuthorizationRuleResultOutput) PrimaryConnectionStringAlias

func (o LookupNamespaceAuthorizationRuleResultOutput) PrimaryConnectionStringAlias() pulumi.StringOutput

The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.

func (LookupNamespaceAuthorizationRuleResultOutput) PrimaryKey

The primary access key for the authorization rule.

func (LookupNamespaceAuthorizationRuleResultOutput) ResourceGroupName deprecated

Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.

func (LookupNamespaceAuthorizationRuleResultOutput) SecondaryConnectionString

The secondary connection string for the authorization rule.

func (LookupNamespaceAuthorizationRuleResultOutput) SecondaryConnectionStringAlias

func (o LookupNamespaceAuthorizationRuleResultOutput) SecondaryConnectionStringAlias() pulumi.StringOutput

The alias Secondary Connection String for the ServiceBus Namespace

func (LookupNamespaceAuthorizationRuleResultOutput) SecondaryKey

The secondary access key for the authorization rule.

func (LookupNamespaceAuthorizationRuleResultOutput) ToLookupNamespaceAuthorizationRuleResultOutput

func (o LookupNamespaceAuthorizationRuleResultOutput) ToLookupNamespaceAuthorizationRuleResultOutput() LookupNamespaceAuthorizationRuleResultOutput

func (LookupNamespaceAuthorizationRuleResultOutput) ToLookupNamespaceAuthorizationRuleResultOutputWithContext

func (o LookupNamespaceAuthorizationRuleResultOutput) ToLookupNamespaceAuthorizationRuleResultOutputWithContext(ctx context.Context) LookupNamespaceAuthorizationRuleResultOutput

type LookupNamespaceDisasterRecoveryConfigArgs

type LookupNamespaceDisasterRecoveryConfigArgs struct {
	AliasAuthorizationRuleId *string `pulumi:"aliasAuthorizationRuleId"`
	Name                     string  `pulumi:"name"`
	NamespaceId              *string `pulumi:"namespaceId"`
	// Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	NamespaceName *string `pulumi:"namespaceName"`
	// Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	ResourceGroupName *string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getNamespaceDisasterRecoveryConfig.

type LookupNamespaceDisasterRecoveryConfigOutputArgs

type LookupNamespaceDisasterRecoveryConfigOutputArgs struct {
	AliasAuthorizationRuleId pulumi.StringPtrInput `pulumi:"aliasAuthorizationRuleId"`
	Name                     pulumi.StringInput    `pulumi:"name"`
	NamespaceId              pulumi.StringPtrInput `pulumi:"namespaceId"`
	// Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	NamespaceName pulumi.StringPtrInput `pulumi:"namespaceName"`
	// Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	ResourceGroupName pulumi.StringPtrInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getNamespaceDisasterRecoveryConfig.

func (LookupNamespaceDisasterRecoveryConfigOutputArgs) ElementType

type LookupNamespaceDisasterRecoveryConfigResult

type LookupNamespaceDisasterRecoveryConfigResult struct {
	AliasAuthorizationRuleId *string `pulumi:"aliasAuthorizationRuleId"`
	DefaultPrimaryKey        string  `pulumi:"defaultPrimaryKey"`
	DefaultSecondaryKey      string  `pulumi:"defaultSecondaryKey"`
	// The provider-assigned unique ID for this managed resource.
	Id          string  `pulumi:"id"`
	Name        string  `pulumi:"name"`
	NamespaceId *string `pulumi:"namespaceId"`
	// Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	NamespaceName                *string `pulumi:"namespaceName"`
	PartnerNamespaceId           string  `pulumi:"partnerNamespaceId"`
	PrimaryConnectionStringAlias string  `pulumi:"primaryConnectionStringAlias"`
	// Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	ResourceGroupName              *string `pulumi:"resourceGroupName"`
	SecondaryConnectionStringAlias string  `pulumi:"secondaryConnectionStringAlias"`
}

A collection of values returned by getNamespaceDisasterRecoveryConfig.

type LookupNamespaceDisasterRecoveryConfigResultOutput

type LookupNamespaceDisasterRecoveryConfigResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNamespaceDisasterRecoveryConfig.

func (LookupNamespaceDisasterRecoveryConfigResultOutput) AliasAuthorizationRuleId added in v5.24.0

func (LookupNamespaceDisasterRecoveryConfigResultOutput) DefaultPrimaryKey

func (LookupNamespaceDisasterRecoveryConfigResultOutput) DefaultSecondaryKey

func (LookupNamespaceDisasterRecoveryConfigResultOutput) ElementType

func (LookupNamespaceDisasterRecoveryConfigResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupNamespaceDisasterRecoveryConfigResultOutput) Name

func (LookupNamespaceDisasterRecoveryConfigResultOutput) NamespaceId

func (LookupNamespaceDisasterRecoveryConfigResultOutput) NamespaceName deprecated

Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.

func (LookupNamespaceDisasterRecoveryConfigResultOutput) PartnerNamespaceId

func (LookupNamespaceDisasterRecoveryConfigResultOutput) PrimaryConnectionStringAlias

func (LookupNamespaceDisasterRecoveryConfigResultOutput) ResourceGroupName deprecated

Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.

func (LookupNamespaceDisasterRecoveryConfigResultOutput) SecondaryConnectionStringAlias

func (o LookupNamespaceDisasterRecoveryConfigResultOutput) SecondaryConnectionStringAlias() pulumi.StringOutput

func (LookupNamespaceDisasterRecoveryConfigResultOutput) ToLookupNamespaceDisasterRecoveryConfigResultOutput

func (o LookupNamespaceDisasterRecoveryConfigResultOutput) ToLookupNamespaceDisasterRecoveryConfigResultOutput() LookupNamespaceDisasterRecoveryConfigResultOutput

func (LookupNamespaceDisasterRecoveryConfigResultOutput) ToLookupNamespaceDisasterRecoveryConfigResultOutputWithContext

func (o LookupNamespaceDisasterRecoveryConfigResultOutput) ToLookupNamespaceDisasterRecoveryConfigResultOutputWithContext(ctx context.Context) LookupNamespaceDisasterRecoveryConfigResultOutput

type LookupNamespaceOutputArgs

type LookupNamespaceOutputArgs struct {
	// Specifies the name of the ServiceBus Namespace.
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the name of the Resource Group where the ServiceBus Namespace exists.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getNamespace.

func (LookupNamespaceOutputArgs) ElementType

func (LookupNamespaceOutputArgs) ElementType() reflect.Type

type LookupNamespaceResult

type LookupNamespaceResult struct {
	// The capacity of the ServiceBus Namespace.
	Capacity int `pulumi:"capacity"`
	// The primary connection string for the authorization
	// rule `RootManageSharedAccessKey`.
	DefaultPrimaryConnectionString string `pulumi:"defaultPrimaryConnectionString"`
	// The primary access key for the authorization rule `RootManageSharedAccessKey`.
	DefaultPrimaryKey string `pulumi:"defaultPrimaryKey"`
	// The secondary connection string for the
	// authorization rule `RootManageSharedAccessKey`.
	DefaultSecondaryConnectionString string `pulumi:"defaultSecondaryConnectionString"`
	// The secondary access key for the authorization rule `RootManageSharedAccessKey`.
	DefaultSecondaryKey string `pulumi:"defaultSecondaryKey"`
	// The URL to access the ServiceBus Namespace.
	Endpoint string `pulumi:"endpoint"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The location of the Resource Group in which the ServiceBus Namespace exists.
	Location string `pulumi:"location"`
	Name     string `pulumi:"name"`
	// The messaging partitions of the ServiceBus Namespace.
	PremiumMessagingPartitions int    `pulumi:"premiumMessagingPartitions"`
	ResourceGroupName          string `pulumi:"resourceGroupName"`
	// The Tier used for the ServiceBus Namespace.
	Sku string `pulumi:"sku"`
	// A mapping of tags assigned to the resource.
	Tags map[string]string `pulumi:"tags"`
	// Whether or not this ServiceBus Namespace is zone redundant.
	ZoneRedundant bool `pulumi:"zoneRedundant"`
}

A collection of values returned by getNamespace.

func LookupNamespace

func LookupNamespace(ctx *pulumi.Context, args *LookupNamespaceArgs, opts ...pulumi.InvokeOption) (*LookupNamespaceResult, error)

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := servicebus.LookupNamespace(ctx, &servicebus.LookupNamespaceArgs{
			Name:              "examplenamespace",
			ResourceGroupName: "example-resources",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("location", example.Location)
		return nil
	})
}

```

type LookupNamespaceResultOutput

type LookupNamespaceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNamespace.

func (LookupNamespaceResultOutput) Capacity

The capacity of the ServiceBus Namespace.

func (LookupNamespaceResultOutput) DefaultPrimaryConnectionString

func (o LookupNamespaceResultOutput) DefaultPrimaryConnectionString() pulumi.StringOutput

The primary connection string for the authorization rule `RootManageSharedAccessKey`.

func (LookupNamespaceResultOutput) DefaultPrimaryKey

func (o LookupNamespaceResultOutput) DefaultPrimaryKey() pulumi.StringOutput

The primary access key for the authorization rule `RootManageSharedAccessKey`.

func (LookupNamespaceResultOutput) DefaultSecondaryConnectionString

func (o LookupNamespaceResultOutput) DefaultSecondaryConnectionString() pulumi.StringOutput

The secondary connection string for the authorization rule `RootManageSharedAccessKey`.

func (LookupNamespaceResultOutput) DefaultSecondaryKey

func (o LookupNamespaceResultOutput) DefaultSecondaryKey() pulumi.StringOutput

The secondary access key for the authorization rule `RootManageSharedAccessKey`.

func (LookupNamespaceResultOutput) ElementType

func (LookupNamespaceResultOutput) Endpoint added in v5.37.0

The URL to access the ServiceBus Namespace.

func (LookupNamespaceResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupNamespaceResultOutput) Location

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

func (LookupNamespaceResultOutput) Name

func (LookupNamespaceResultOutput) PremiumMessagingPartitions added in v5.68.0

func (o LookupNamespaceResultOutput) PremiumMessagingPartitions() pulumi.IntOutput

The messaging partitions of the ServiceBus Namespace.

func (LookupNamespaceResultOutput) ResourceGroupName

func (o LookupNamespaceResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupNamespaceResultOutput) Sku

The Tier used for the ServiceBus Namespace.

func (LookupNamespaceResultOutput) Tags

A mapping of tags assigned to the resource.

func (LookupNamespaceResultOutput) ToLookupNamespaceResultOutput

func (o LookupNamespaceResultOutput) ToLookupNamespaceResultOutput() LookupNamespaceResultOutput

func (LookupNamespaceResultOutput) ToLookupNamespaceResultOutputWithContext

func (o LookupNamespaceResultOutput) ToLookupNamespaceResultOutputWithContext(ctx context.Context) LookupNamespaceResultOutput

func (LookupNamespaceResultOutput) ZoneRedundant

func (o LookupNamespaceResultOutput) ZoneRedundant() pulumi.BoolOutput

Whether or not this ServiceBus Namespace is zone redundant.

type LookupQueueArgs

type LookupQueueArgs struct {
	// The name of this Service Bus Queue.
	Name string `pulumi:"name"`
	// The ID of the ServiceBus Namespace where the Service Bus Queue exists.
	NamespaceId *string `pulumi:"namespaceId"`
	// The name of the ServiceBus Namespace.
	//
	// Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	NamespaceName *string `pulumi:"namespaceName"`
	// The name of the Resource Group where the Service Bus Queue exists.
	//
	// > **Note:** `namespaceName` and `resourceGroupName` has been deprecated and will be removed in version 4.0 of the provider in favour of `namespaceId`.
	//
	// Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	ResourceGroupName *string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getQueue.

type LookupQueueAuthorizationRuleArgs

type LookupQueueAuthorizationRuleArgs struct {
	// The name of this ServiceBus Queue Authorisation Rule.
	Name string `pulumi:"name"`
	// The name of the ServiceBus Namespace.
	NamespaceName *string `pulumi:"namespaceName"`
	QueueId       *string `pulumi:"queueId"`
	// The name of the ServiceBus Queue.
	QueueName *string `pulumi:"queueName"`
	// The name of the Resource Group where the ServiceBus Queue Authorisation Rule exists.
	ResourceGroupName *string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getQueueAuthorizationRule.

type LookupQueueAuthorizationRuleOutputArgs

type LookupQueueAuthorizationRuleOutputArgs struct {
	// The name of this ServiceBus Queue Authorisation Rule.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the ServiceBus Namespace.
	NamespaceName pulumi.StringPtrInput `pulumi:"namespaceName"`
	QueueId       pulumi.StringPtrInput `pulumi:"queueId"`
	// The name of the ServiceBus Queue.
	QueueName pulumi.StringPtrInput `pulumi:"queueName"`
	// The name of the Resource Group where the ServiceBus Queue Authorisation Rule exists.
	ResourceGroupName pulumi.StringPtrInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getQueueAuthorizationRule.

func (LookupQueueAuthorizationRuleOutputArgs) ElementType

type LookupQueueAuthorizationRuleResult

type LookupQueueAuthorizationRuleResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id            string  `pulumi:"id"`
	Listen        bool    `pulumi:"listen"`
	Manage        bool    `pulumi:"manage"`
	Name          string  `pulumi:"name"`
	NamespaceName *string `pulumi:"namespaceName"`
	// The Primary Connection String for the ServiceBus Queue authorization Rule.
	PrimaryConnectionString string `pulumi:"primaryConnectionString"`
	// The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.
	PrimaryConnectionStringAlias string `pulumi:"primaryConnectionStringAlias"`
	// The Primary Key for the ServiceBus Queue authorization Rule.
	PrimaryKey        string  `pulumi:"primaryKey"`
	QueueId           *string `pulumi:"queueId"`
	QueueName         *string `pulumi:"queueName"`
	ResourceGroupName *string `pulumi:"resourceGroupName"`
	// The Secondary Connection String for the ServiceBus Queue authorization Rule.
	SecondaryConnectionString string `pulumi:"secondaryConnectionString"`
	// The alias Secondary Connection String for the ServiceBus Namespace
	SecondaryConnectionStringAlias string `pulumi:"secondaryConnectionStringAlias"`
	// The Secondary Key for the ServiceBus Queue authorization Rule.
	SecondaryKey string `pulumi:"secondaryKey"`
	Send         bool   `pulumi:"send"`
}

A collection of values returned by getQueueAuthorizationRule.

func LookupQueueAuthorizationRule

func LookupQueueAuthorizationRule(ctx *pulumi.Context, args *LookupQueueAuthorizationRuleArgs, opts ...pulumi.InvokeOption) (*LookupQueueAuthorizationRuleResult, error)

Use this data source to access information about an existing ServiceBus Queue Authorisation Rule within a ServiceBus Queue.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := servicebus.LookupQueueAuthorizationRule(ctx, &servicebus.LookupQueueAuthorizationRuleArgs{
			Name:              "example-tfex_name",
			ResourceGroupName: pulumi.StringRef("example-resources"),
			QueueName:         pulumi.StringRef("example-servicebus_queue"),
			NamespaceName:     pulumi.StringRef("example-namespace"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}

```

type LookupQueueAuthorizationRuleResultOutput

type LookupQueueAuthorizationRuleResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getQueueAuthorizationRule.

func (LookupQueueAuthorizationRuleResultOutput) ElementType

func (LookupQueueAuthorizationRuleResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupQueueAuthorizationRuleResultOutput) Listen

func (LookupQueueAuthorizationRuleResultOutput) Manage

func (LookupQueueAuthorizationRuleResultOutput) Name

func (LookupQueueAuthorizationRuleResultOutput) NamespaceName

func (LookupQueueAuthorizationRuleResultOutput) PrimaryConnectionString

func (o LookupQueueAuthorizationRuleResultOutput) PrimaryConnectionString() pulumi.StringOutput

The Primary Connection String for the ServiceBus Queue authorization Rule.

func (LookupQueueAuthorizationRuleResultOutput) PrimaryConnectionStringAlias

func (o LookupQueueAuthorizationRuleResultOutput) PrimaryConnectionStringAlias() pulumi.StringOutput

The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.

func (LookupQueueAuthorizationRuleResultOutput) PrimaryKey

The Primary Key for the ServiceBus Queue authorization Rule.

func (LookupQueueAuthorizationRuleResultOutput) QueueId

func (LookupQueueAuthorizationRuleResultOutput) QueueName

func (LookupQueueAuthorizationRuleResultOutput) ResourceGroupName

func (LookupQueueAuthorizationRuleResultOutput) SecondaryConnectionString

func (o LookupQueueAuthorizationRuleResultOutput) SecondaryConnectionString() pulumi.StringOutput

The Secondary Connection String for the ServiceBus Queue authorization Rule.

func (LookupQueueAuthorizationRuleResultOutput) SecondaryConnectionStringAlias

func (o LookupQueueAuthorizationRuleResultOutput) SecondaryConnectionStringAlias() pulumi.StringOutput

The alias Secondary Connection String for the ServiceBus Namespace

func (LookupQueueAuthorizationRuleResultOutput) SecondaryKey

The Secondary Key for the ServiceBus Queue authorization Rule.

func (LookupQueueAuthorizationRuleResultOutput) Send

func (LookupQueueAuthorizationRuleResultOutput) ToLookupQueueAuthorizationRuleResultOutput

func (o LookupQueueAuthorizationRuleResultOutput) ToLookupQueueAuthorizationRuleResultOutput() LookupQueueAuthorizationRuleResultOutput

func (LookupQueueAuthorizationRuleResultOutput) ToLookupQueueAuthorizationRuleResultOutputWithContext

func (o LookupQueueAuthorizationRuleResultOutput) ToLookupQueueAuthorizationRuleResultOutputWithContext(ctx context.Context) LookupQueueAuthorizationRuleResultOutput

type LookupQueueOutputArgs

type LookupQueueOutputArgs struct {
	// The name of this Service Bus Queue.
	Name pulumi.StringInput `pulumi:"name"`
	// The ID of the ServiceBus Namespace where the Service Bus Queue exists.
	NamespaceId pulumi.StringPtrInput `pulumi:"namespaceId"`
	// The name of the ServiceBus Namespace.
	//
	// Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	NamespaceName pulumi.StringPtrInput `pulumi:"namespaceName"`
	// The name of the Resource Group where the Service Bus Queue exists.
	//
	// > **Note:** `namespaceName` and `resourceGroupName` has been deprecated and will be removed in version 4.0 of the provider in favour of `namespaceId`.
	//
	// Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	ResourceGroupName pulumi.StringPtrInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getQueue.

func (LookupQueueOutputArgs) ElementType

func (LookupQueueOutputArgs) ElementType() reflect.Type

type LookupQueueResult

type LookupQueueResult struct {
	// The ISO 8601 timespan duration of the idle interval after which the Queue is automatically deleted, minimum of 5 minutes.
	AutoDeleteOnIdle string `pulumi:"autoDeleteOnIdle"`
	// Boolean flag which controls whether the Queue has dead letter support when a message expires.
	DeadLetteringOnMessageExpiration bool `pulumi:"deadLetteringOnMessageExpiration"`
	// 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 a message itself.
	DefaultMessageTtl string `pulumi:"defaultMessageTtl"`
	// The ISO 8601 timespan duration during which duplicates can be detected.
	DuplicateDetectionHistoryTimeWindow string `pulumi:"duplicateDetectionHistoryTimeWindow"`
	// Boolean flag which controls whether server-side batched operations are enabled.
	EnableBatchedOperations bool `pulumi:"enableBatchedOperations"`
	// Boolean flag which controls whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage.
	EnableExpress bool `pulumi:"enableExpress"`
	// Boolean flag which controls whether to enable the queue to be partitioned across multiple message brokers.
	EnablePartitioning bool `pulumi:"enablePartitioning"`
	// The name of a Queue or Topic to automatically forward dead lettered messages to.
	ForwardDeadLetteredMessagesTo string `pulumi:"forwardDeadLetteredMessagesTo"`
	// The name of a Queue or Topic to automatically forward messages to. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding) for more information.
	ForwardTo string `pulumi:"forwardTo"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers.
	LockDuration string `pulumi:"lockDuration"`
	// Integer value which controls when a message is automatically dead lettered.
	MaxDeliveryCount int `pulumi:"maxDeliveryCount"`
	// Integer value which controls the size of memory allocated for the queue. For supported values see the "Queue or topic size" section of [Service Bus Quotas](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).
	MaxSizeInMegabytes int     `pulumi:"maxSizeInMegabytes"`
	Name               string  `pulumi:"name"`
	NamespaceId        *string `pulumi:"namespaceId"`
	// Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	NamespaceName *string `pulumi:"namespaceName"`
	// Boolean flag which controls whether the Queue requires duplicate detection.
	RequiresDuplicateDetection bool `pulumi:"requiresDuplicateDetection"`
	// 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.
	RequiresSession bool `pulumi:"requiresSession"`
	// Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	ResourceGroupName *string `pulumi:"resourceGroupName"`
	// The status of the Queue. Possible values are `Active`, `Creating`, `Deleting`, `Disabled`, `ReceiveDisabled`, `Renaming`, `SendDisabled`, `Unknown`.
	Status string `pulumi:"status"`
}

A collection of values returned by getQueue.

func LookupQueue

func LookupQueue(ctx *pulumi.Context, args *LookupQueueArgs, opts ...pulumi.InvokeOption) (*LookupQueueResult, error)

Use this data source to access information about an existing Service Bus Queue.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := servicebus.LookupQueue(ctx, &servicebus.LookupQueueArgs{
			Name:        "existing",
			NamespaceId: pulumi.StringRef("existing"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}

```

type LookupQueueResultOutput

type LookupQueueResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getQueue.

func (LookupQueueResultOutput) AutoDeleteOnIdle

func (o LookupQueueResultOutput) AutoDeleteOnIdle() pulumi.StringOutput

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

func (LookupQueueResultOutput) DeadLetteringOnMessageExpiration

func (o LookupQueueResultOutput) DeadLetteringOnMessageExpiration() pulumi.BoolOutput

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

func (LookupQueueResultOutput) DefaultMessageTtl

func (o LookupQueueResultOutput) DefaultMessageTtl() pulumi.StringOutput

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 a message itself.

func (LookupQueueResultOutput) DuplicateDetectionHistoryTimeWindow

func (o LookupQueueResultOutput) DuplicateDetectionHistoryTimeWindow() pulumi.StringOutput

The ISO 8601 timespan duration during which duplicates can be detected.

func (LookupQueueResultOutput) ElementType

func (LookupQueueResultOutput) ElementType() reflect.Type

func (LookupQueueResultOutput) EnableBatchedOperations

func (o LookupQueueResultOutput) EnableBatchedOperations() pulumi.BoolOutput

Boolean flag which controls whether server-side batched operations are enabled.

func (LookupQueueResultOutput) EnableExpress

func (o LookupQueueResultOutput) EnableExpress() pulumi.BoolOutput

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

func (LookupQueueResultOutput) EnablePartitioning

func (o LookupQueueResultOutput) EnablePartitioning() pulumi.BoolOutput

Boolean flag which controls whether to enable the queue to be partitioned across multiple message brokers.

func (LookupQueueResultOutput) ForwardDeadLetteredMessagesTo

func (o LookupQueueResultOutput) ForwardDeadLetteredMessagesTo() pulumi.StringOutput

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

func (LookupQueueResultOutput) ForwardTo

The name of a Queue or Topic to automatically forward messages to. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding) for more information.

func (LookupQueueResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupQueueResultOutput) LockDuration

func (o LookupQueueResultOutput) LockDuration() pulumi.StringOutput

The ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers.

func (LookupQueueResultOutput) MaxDeliveryCount

func (o LookupQueueResultOutput) MaxDeliveryCount() pulumi.IntOutput

Integer value which controls when a message is automatically dead lettered.

func (LookupQueueResultOutput) MaxSizeInMegabytes

func (o LookupQueueResultOutput) MaxSizeInMegabytes() pulumi.IntOutput

Integer value which controls the size of memory allocated for the queue. For supported values see the "Queue or topic size" section of [Service Bus Quotas](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).

func (LookupQueueResultOutput) Name

func (LookupQueueResultOutput) NamespaceId

func (LookupQueueResultOutput) NamespaceName deprecated

Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.

func (LookupQueueResultOutput) RequiresDuplicateDetection

func (o LookupQueueResultOutput) RequiresDuplicateDetection() pulumi.BoolOutput

Boolean flag which controls whether the Queue requires duplicate detection.

func (LookupQueueResultOutput) RequiresSession

func (o LookupQueueResultOutput) RequiresSession() pulumi.BoolOutput

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.

func (LookupQueueResultOutput) ResourceGroupName deprecated

func (o LookupQueueResultOutput) ResourceGroupName() pulumi.StringPtrOutput

Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.

func (LookupQueueResultOutput) Status

The status of the Queue. Possible values are `Active`, `Creating`, `Deleting`, `Disabled`, `ReceiveDisabled`, `Renaming`, `SendDisabled`, `Unknown`.

func (LookupQueueResultOutput) ToLookupQueueResultOutput

func (o LookupQueueResultOutput) ToLookupQueueResultOutput() LookupQueueResultOutput

func (LookupQueueResultOutput) ToLookupQueueResultOutputWithContext

func (o LookupQueueResultOutput) ToLookupQueueResultOutputWithContext(ctx context.Context) LookupQueueResultOutput

type LookupSubscriptionArgs

type LookupSubscriptionArgs struct {
	// Specifies the name of the ServiceBus Subscription.
	Name string `pulumi:"name"`
	// The name of the ServiceBus Namespace.
	//
	// Deprecated: `namespaceName` will be removed in favour of the property `topicId` in version 4.0 of the AzureRM Provider.
	NamespaceName *string `pulumi:"namespaceName"`
	// Specifies the name of the Resource Group where the ServiceBus Namespace exists.
	//
	// Deprecated: `resourceGroupName` will be removed in favour of the property `topicId` in version 4.0 of the AzureRM Provider.
	ResourceGroupName *string `pulumi:"resourceGroupName"`
	// The ID of the ServiceBus Topic where the Service Bus Subscription exists.
	TopicId *string `pulumi:"topicId"`
	// The name of the ServiceBus Topic.
	//
	// > **Note:** `namespaceName`,`resourceGroupName` and `topicName` has been deprecated and will be removed in version 4.0 of the provider in favour of `topicId`.
	//
	// Deprecated: `topicName` will be removed in favour of the property `topicId` in version 4.0 of the AzureRM Provider.
	TopicName *string `pulumi:"topicName"`
}

A collection of arguments for invoking getSubscription.

type LookupSubscriptionOutputArgs

type LookupSubscriptionOutputArgs struct {
	// Specifies the name of the ServiceBus Subscription.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the ServiceBus Namespace.
	//
	// Deprecated: `namespaceName` will be removed in favour of the property `topicId` in version 4.0 of the AzureRM Provider.
	NamespaceName pulumi.StringPtrInput `pulumi:"namespaceName"`
	// Specifies the name of the Resource Group where the ServiceBus Namespace exists.
	//
	// Deprecated: `resourceGroupName` will be removed in favour of the property `topicId` in version 4.0 of the AzureRM Provider.
	ResourceGroupName pulumi.StringPtrInput `pulumi:"resourceGroupName"`
	// The ID of the ServiceBus Topic where the Service Bus Subscription exists.
	TopicId pulumi.StringPtrInput `pulumi:"topicId"`
	// The name of the ServiceBus Topic.
	//
	// > **Note:** `namespaceName`,`resourceGroupName` and `topicName` has been deprecated and will be removed in version 4.0 of the provider in favour of `topicId`.
	//
	// Deprecated: `topicName` will be removed in favour of the property `topicId` in version 4.0 of the AzureRM Provider.
	TopicName pulumi.StringPtrInput `pulumi:"topicName"`
}

A collection of arguments for invoking getSubscription.

func (LookupSubscriptionOutputArgs) ElementType

type LookupSubscriptionResult

type LookupSubscriptionResult struct {
	// The idle interval after which the topic is automatically deleted.
	AutoDeleteOnIdle string `pulumi:"autoDeleteOnIdle"`
	// Does the ServiceBus Subscription have dead letter support on filter evaluation exceptions?
	DeadLetteringOnFilterEvaluationError bool `pulumi:"deadLetteringOnFilterEvaluationError"`
	// Does the Service Bus Subscription have dead letter support when a message expires?
	DeadLetteringOnMessageExpiration bool `pulumi:"deadLetteringOnMessageExpiration"`
	// The Default message timespan to live. 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.
	DefaultMessageTtl string `pulumi:"defaultMessageTtl"`
	// Are batched operations enabled on this ServiceBus Subscription?
	EnableBatchedOperations bool `pulumi:"enableBatchedOperations"`
	// The name of a Queue or Topic to automatically forward Dead Letter messages to.
	ForwardDeadLetteredMessagesTo string `pulumi:"forwardDeadLetteredMessagesTo"`
	// The name of a ServiceBus Queue or ServiceBus Topic where messages are automatically forwarded.
	ForwardTo string `pulumi:"forwardTo"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The lock duration for the subscription.
	LockDuration string `pulumi:"lockDuration"`
	// The maximum number of deliveries.
	MaxDeliveryCount int    `pulumi:"maxDeliveryCount"`
	Name             string `pulumi:"name"`
	// Deprecated: `namespaceName` will be removed in favour of the property `topicId` in version 4.0 of the AzureRM Provider.
	NamespaceName *string `pulumi:"namespaceName"`
	// Whether or not this ServiceBus Subscription supports session.
	RequiresSession bool `pulumi:"requiresSession"`
	// Deprecated: `resourceGroupName` will be removed in favour of the property `topicId` in version 4.0 of the AzureRM Provider.
	ResourceGroupName *string `pulumi:"resourceGroupName"`
	TopicId           *string `pulumi:"topicId"`
	// Deprecated: `topicName` will be removed in favour of the property `topicId` in version 4.0 of the AzureRM Provider.
	TopicName *string `pulumi:"topicName"`
}

A collection of values returned by getSubscription.

func LookupSubscription

func LookupSubscription(ctx *pulumi.Context, args *LookupSubscriptionArgs, opts ...pulumi.InvokeOption) (*LookupSubscriptionResult, error)

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := servicebus.LookupSubscription(ctx, &servicebus.LookupSubscriptionArgs{
			Name:    "examplesubscription",
			TopicId: pulumi.StringRef("exampletopic"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("servicebusSubscription", exampleAzurermServicebusNamespace)
		return nil
	})
}

```

type LookupSubscriptionResultOutput

type LookupSubscriptionResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSubscription.

func (LookupSubscriptionResultOutput) AutoDeleteOnIdle

func (o LookupSubscriptionResultOutput) AutoDeleteOnIdle() pulumi.StringOutput

The idle interval after which the topic is automatically deleted.

func (LookupSubscriptionResultOutput) DeadLetteringOnFilterEvaluationError

func (o LookupSubscriptionResultOutput) DeadLetteringOnFilterEvaluationError() pulumi.BoolOutput

Does the ServiceBus Subscription have dead letter support on filter evaluation exceptions?

func (LookupSubscriptionResultOutput) DeadLetteringOnMessageExpiration

func (o LookupSubscriptionResultOutput) DeadLetteringOnMessageExpiration() pulumi.BoolOutput

Does the Service Bus Subscription have dead letter support when a message expires?

func (LookupSubscriptionResultOutput) DefaultMessageTtl

func (o LookupSubscriptionResultOutput) DefaultMessageTtl() pulumi.StringOutput

The Default message timespan to live. 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.

func (LookupSubscriptionResultOutput) ElementType

func (LookupSubscriptionResultOutput) EnableBatchedOperations

func (o LookupSubscriptionResultOutput) EnableBatchedOperations() pulumi.BoolOutput

Are batched operations enabled on this ServiceBus Subscription?

func (LookupSubscriptionResultOutput) ForwardDeadLetteredMessagesTo

func (o LookupSubscriptionResultOutput) ForwardDeadLetteredMessagesTo() pulumi.StringOutput

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

func (LookupSubscriptionResultOutput) ForwardTo

The name of a ServiceBus Queue or ServiceBus Topic where messages are automatically forwarded.

func (LookupSubscriptionResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupSubscriptionResultOutput) LockDuration

The lock duration for the subscription.

func (LookupSubscriptionResultOutput) MaxDeliveryCount

func (o LookupSubscriptionResultOutput) MaxDeliveryCount() pulumi.IntOutput

The maximum number of deliveries.

func (LookupSubscriptionResultOutput) Name

func (LookupSubscriptionResultOutput) NamespaceName deprecated

Deprecated: `namespaceName` will be removed in favour of the property `topicId` in version 4.0 of the AzureRM Provider.

func (LookupSubscriptionResultOutput) RequiresSession

func (o LookupSubscriptionResultOutput) RequiresSession() pulumi.BoolOutput

Whether or not this ServiceBus Subscription supports session.

func (LookupSubscriptionResultOutput) ResourceGroupName deprecated

Deprecated: `resourceGroupName` will be removed in favour of the property `topicId` in version 4.0 of the AzureRM Provider.

func (LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutput

func (o LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutput() LookupSubscriptionResultOutput

func (LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutputWithContext

func (o LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutputWithContext(ctx context.Context) LookupSubscriptionResultOutput

func (LookupSubscriptionResultOutput) TopicId

func (LookupSubscriptionResultOutput) TopicName deprecated

Deprecated: `topicName` will be removed in favour of the property `topicId` in version 4.0 of the AzureRM Provider.

type LookupTopicArgs

type LookupTopicArgs struct {
	// The name of this Service Bus Topic.
	Name string `pulumi:"name"`
	// The ID of the ServiceBus Namespace where the Service Bus Topic exists.
	NamespaceId *string `pulumi:"namespaceId"`
	// The name of the Service Bus Namespace.
	//
	// Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	NamespaceName *string `pulumi:"namespaceName"`
	// The name of the Resource Group where the Service Bus Topic exists.
	//
	// > **Note:** `namespaceName` and `resourceGroupName` has been deprecated and will be removed in version 4.0 of the provider in favour of `namespaceId`.
	//
	// Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	ResourceGroupName *string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getTopic.

type LookupTopicAuthorizationRuleArgs

type LookupTopicAuthorizationRuleArgs struct {
	// The name of the ServiceBus Topic Authorization Rule resource.
	Name string `pulumi:"name"`
	// The name of the ServiceBus Namespace.
	NamespaceName *string `pulumi:"namespaceName"`
	QueueName     *string `pulumi:"queueName"`
	// The name of the resource group in which the ServiceBus Namespace exists.
	ResourceGroupName *string `pulumi:"resourceGroupName"`
	TopicId           *string `pulumi:"topicId"`
	// The name of the ServiceBus Topic.
	TopicName *string `pulumi:"topicName"`
}

A collection of arguments for invoking getTopicAuthorizationRule.

type LookupTopicAuthorizationRuleOutputArgs

type LookupTopicAuthorizationRuleOutputArgs struct {
	// The name of the ServiceBus Topic Authorization Rule resource.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the ServiceBus Namespace.
	NamespaceName pulumi.StringPtrInput `pulumi:"namespaceName"`
	QueueName     pulumi.StringPtrInput `pulumi:"queueName"`
	// The name of the resource group in which the ServiceBus Namespace exists.
	ResourceGroupName pulumi.StringPtrInput `pulumi:"resourceGroupName"`
	TopicId           pulumi.StringPtrInput `pulumi:"topicId"`
	// The name of the ServiceBus Topic.
	TopicName pulumi.StringPtrInput `pulumi:"topicName"`
}

A collection of arguments for invoking getTopicAuthorizationRule.

func (LookupTopicAuthorizationRuleOutputArgs) ElementType

type LookupTopicAuthorizationRuleResult

type LookupTopicAuthorizationRuleResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id            string  `pulumi:"id"`
	Listen        bool    `pulumi:"listen"`
	Manage        bool    `pulumi:"manage"`
	Name          string  `pulumi:"name"`
	NamespaceName *string `pulumi:"namespaceName"`
	// The Primary Connection String for the ServiceBus Topic authorization Rule.
	PrimaryConnectionString string `pulumi:"primaryConnectionString"`
	// The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.
	PrimaryConnectionStringAlias string `pulumi:"primaryConnectionStringAlias"`
	// The Primary Key for the ServiceBus Topic authorization Rule.
	PrimaryKey        string  `pulumi:"primaryKey"`
	QueueName         *string `pulumi:"queueName"`
	ResourceGroupName *string `pulumi:"resourceGroupName"`
	// The Secondary Connection String for the ServiceBus Topic authorization Rule.
	SecondaryConnectionString string `pulumi:"secondaryConnectionString"`
	// The alias Secondary Connection String for the ServiceBus Namespace
	SecondaryConnectionStringAlias string `pulumi:"secondaryConnectionStringAlias"`
	// The Secondary Key for the ServiceBus Topic authorization Rule.
	SecondaryKey string  `pulumi:"secondaryKey"`
	Send         bool    `pulumi:"send"`
	TopicId      *string `pulumi:"topicId"`
	TopicName    *string `pulumi:"topicName"`
}

A collection of values returned by getTopicAuthorizationRule.

func LookupTopicAuthorizationRule

func LookupTopicAuthorizationRule(ctx *pulumi.Context, args *LookupTopicAuthorizationRuleArgs, opts ...pulumi.InvokeOption) (*LookupTopicAuthorizationRuleResult, error)

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := servicebus.LookupTopicAuthorizationRule(ctx, &servicebus.LookupTopicAuthorizationRuleArgs{
			Name:              "example-tfex_name",
			ResourceGroupName: pulumi.StringRef("example-resources"),
			NamespaceName:     pulumi.StringRef("example-namespace"),
			TopicName:         pulumi.StringRef("example-servicebus_topic"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("servicebusAuthorizationRuleId", exampleAzuremServicebusTopicAuthorizationRule.Id)
		return nil
	})
}

```

type LookupTopicAuthorizationRuleResultOutput

type LookupTopicAuthorizationRuleResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTopicAuthorizationRule.

func (LookupTopicAuthorizationRuleResultOutput) ElementType

func (LookupTopicAuthorizationRuleResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupTopicAuthorizationRuleResultOutput) Listen

func (LookupTopicAuthorizationRuleResultOutput) Manage

func (LookupTopicAuthorizationRuleResultOutput) Name

func (LookupTopicAuthorizationRuleResultOutput) NamespaceName

func (LookupTopicAuthorizationRuleResultOutput) PrimaryConnectionString

func (o LookupTopicAuthorizationRuleResultOutput) PrimaryConnectionString() pulumi.StringOutput

The Primary Connection String for the ServiceBus Topic authorization Rule.

func (LookupTopicAuthorizationRuleResultOutput) PrimaryConnectionStringAlias

func (o LookupTopicAuthorizationRuleResultOutput) PrimaryConnectionStringAlias() pulumi.StringOutput

The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.

func (LookupTopicAuthorizationRuleResultOutput) PrimaryKey

The Primary Key for the ServiceBus Topic authorization Rule.

func (LookupTopicAuthorizationRuleResultOutput) QueueName

func (LookupTopicAuthorizationRuleResultOutput) ResourceGroupName

func (LookupTopicAuthorizationRuleResultOutput) SecondaryConnectionString

func (o LookupTopicAuthorizationRuleResultOutput) SecondaryConnectionString() pulumi.StringOutput

The Secondary Connection String for the ServiceBus Topic authorization Rule.

func (LookupTopicAuthorizationRuleResultOutput) SecondaryConnectionStringAlias

func (o LookupTopicAuthorizationRuleResultOutput) SecondaryConnectionStringAlias() pulumi.StringOutput

The alias Secondary Connection String for the ServiceBus Namespace

func (LookupTopicAuthorizationRuleResultOutput) SecondaryKey

The Secondary Key for the ServiceBus Topic authorization Rule.

func (LookupTopicAuthorizationRuleResultOutput) Send

func (LookupTopicAuthorizationRuleResultOutput) ToLookupTopicAuthorizationRuleResultOutput

func (o LookupTopicAuthorizationRuleResultOutput) ToLookupTopicAuthorizationRuleResultOutput() LookupTopicAuthorizationRuleResultOutput

func (LookupTopicAuthorizationRuleResultOutput) ToLookupTopicAuthorizationRuleResultOutputWithContext

func (o LookupTopicAuthorizationRuleResultOutput) ToLookupTopicAuthorizationRuleResultOutputWithContext(ctx context.Context) LookupTopicAuthorizationRuleResultOutput

func (LookupTopicAuthorizationRuleResultOutput) TopicId

func (LookupTopicAuthorizationRuleResultOutput) TopicName

type LookupTopicOutputArgs

type LookupTopicOutputArgs struct {
	// The name of this Service Bus Topic.
	Name pulumi.StringInput `pulumi:"name"`
	// The ID of the ServiceBus Namespace where the Service Bus Topic exists.
	NamespaceId pulumi.StringPtrInput `pulumi:"namespaceId"`
	// The name of the Service Bus Namespace.
	//
	// Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	NamespaceName pulumi.StringPtrInput `pulumi:"namespaceName"`
	// The name of the Resource Group where the Service Bus Topic exists.
	//
	// > **Note:** `namespaceName` and `resourceGroupName` has been deprecated and will be removed in version 4.0 of the provider in favour of `namespaceId`.
	//
	// Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	ResourceGroupName pulumi.StringPtrInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getTopic.

func (LookupTopicOutputArgs) ElementType

func (LookupTopicOutputArgs) ElementType() reflect.Type

type LookupTopicResult

type LookupTopicResult struct {
	// The ISO 8601 timespan duration of the idle interval after which the Topic is automatically deleted, minimum of 5 minutes.
	AutoDeleteOnIdle string `pulumi:"autoDeleteOnIdle"`
	// The ISO 8601 timespan duration of TTL of messages sent to this topic if no TTL value is set on the message itself.
	DefaultMessageTtl string `pulumi:"defaultMessageTtl"`
	// The ISO 8601 timespan duration during which duplicates can be detected.
	DuplicateDetectionHistoryTimeWindow string `pulumi:"duplicateDetectionHistoryTimeWindow"`
	// Boolean flag which controls if server-side batched operations are enabled.
	EnableBatchedOperations bool `pulumi:"enableBatchedOperations"`
	// Boolean flag which controls whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage.
	EnableExpress bool `pulumi:"enableExpress"`
	// Boolean flag which controls whether to enable the topic to be partitioned across multiple message brokers.
	EnablePartitioning bool `pulumi:"enablePartitioning"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Integer value which controls the size of memory allocated for the topic. For supported values see the "Queue/topic size" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).
	MaxSizeInMegabytes int     `pulumi:"maxSizeInMegabytes"`
	Name               string  `pulumi:"name"`
	NamespaceId        *string `pulumi:"namespaceId"`
	// Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	NamespaceName *string `pulumi:"namespaceName"`
	// Boolean flag which controls whether the Topic requires duplicate detection.
	RequiresDuplicateDetection bool `pulumi:"requiresDuplicateDetection"`
	// Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.
	ResourceGroupName *string `pulumi:"resourceGroupName"`
	// The Status of the Service Bus Topic. Acceptable values are Active or Disabled.
	Status string `pulumi:"status"`
	// Boolean flag which controls whether the Topic supports ordering.
	SupportOrdering bool `pulumi:"supportOrdering"`
}

A collection of values returned by getTopic.

func LookupTopic

func LookupTopic(ctx *pulumi.Context, args *LookupTopicArgs, opts ...pulumi.InvokeOption) (*LookupTopicResult, error)

Use this data source to access information about an existing Service Bus Topic.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := servicebus.LookupTopic(ctx, &servicebus.LookupTopicArgs{
			Name:        "existing",
			NamespaceId: pulumi.StringRef("existing"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}

```

type LookupTopicResultOutput

type LookupTopicResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTopic.

func (LookupTopicResultOutput) AutoDeleteOnIdle

func (o LookupTopicResultOutput) AutoDeleteOnIdle() pulumi.StringOutput

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

func (LookupTopicResultOutput) DefaultMessageTtl

func (o LookupTopicResultOutput) DefaultMessageTtl() pulumi.StringOutput

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

func (LookupTopicResultOutput) DuplicateDetectionHistoryTimeWindow

func (o LookupTopicResultOutput) DuplicateDetectionHistoryTimeWindow() pulumi.StringOutput

The ISO 8601 timespan duration during which duplicates can be detected.

func (LookupTopicResultOutput) ElementType

func (LookupTopicResultOutput) ElementType() reflect.Type

func (LookupTopicResultOutput) EnableBatchedOperations

func (o LookupTopicResultOutput) EnableBatchedOperations() pulumi.BoolOutput

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

func (LookupTopicResultOutput) EnableExpress

func (o LookupTopicResultOutput) EnableExpress() pulumi.BoolOutput

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

func (LookupTopicResultOutput) EnablePartitioning

func (o LookupTopicResultOutput) EnablePartitioning() pulumi.BoolOutput

Boolean flag which controls whether to enable the topic to be partitioned across multiple message brokers.

func (LookupTopicResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupTopicResultOutput) MaxSizeInMegabytes

func (o LookupTopicResultOutput) MaxSizeInMegabytes() pulumi.IntOutput

Integer value which controls the size of memory allocated for the topic. For supported values see the "Queue/topic size" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).

func (LookupTopicResultOutput) Name

func (LookupTopicResultOutput) NamespaceId

func (LookupTopicResultOutput) NamespaceName deprecated

Deprecated: `namespaceName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.

func (LookupTopicResultOutput) RequiresDuplicateDetection

func (o LookupTopicResultOutput) RequiresDuplicateDetection() pulumi.BoolOutput

Boolean flag which controls whether the Topic requires duplicate detection.

func (LookupTopicResultOutput) ResourceGroupName deprecated

func (o LookupTopicResultOutput) ResourceGroupName() pulumi.StringPtrOutput

Deprecated: `resourceGroupName` will be removed in favour of the property `namespaceId` in version 4.0 of the AzureRM Provider.

func (LookupTopicResultOutput) Status

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

func (LookupTopicResultOutput) SupportOrdering

func (o LookupTopicResultOutput) SupportOrdering() pulumi.BoolOutput

Boolean flag which controls whether the Topic supports ordering.

func (LookupTopicResultOutput) ToLookupTopicResultOutput

func (o LookupTopicResultOutput) ToLookupTopicResultOutput() LookupTopicResultOutput

func (LookupTopicResultOutput) ToLookupTopicResultOutputWithContext

func (o LookupTopicResultOutput) ToLookupTopicResultOutputWithContext(ctx context.Context) LookupTopicResultOutput

type Namespace

type Namespace struct {
	pulumi.CustomResourceState

	// Specifies the capacity. When `sku` is `Premium`, capacity can be `1`, `2`, `4`, `8` or `16`. When `sku` is `Basic` or `Standard`, capacity can be `0` only.
	Capacity pulumi.IntPtrOutput `pulumi:"capacity"`
	// An `customerManagedKey` block as defined below.
	CustomerManagedKey NamespaceCustomerManagedKeyPtrOutput `pulumi:"customerManagedKey"`
	// The primary connection string for the authorization rule `RootManageSharedAccessKey`.
	DefaultPrimaryConnectionString pulumi.StringOutput `pulumi:"defaultPrimaryConnectionString"`
	// The primary access key for the authorization rule `RootManageSharedAccessKey`.
	DefaultPrimaryKey pulumi.StringOutput `pulumi:"defaultPrimaryKey"`
	// The secondary connection string for the authorization rule `RootManageSharedAccessKey`.
	DefaultSecondaryConnectionString pulumi.StringOutput `pulumi:"defaultSecondaryConnectionString"`
	// The secondary access key for the authorization rule `RootManageSharedAccessKey`.
	DefaultSecondaryKey pulumi.StringOutput `pulumi:"defaultSecondaryKey"`
	// The URL to access the ServiceBus Namespace.
	Endpoint pulumi.StringOutput `pulumi:"endpoint"`
	// An `identity` block as defined below.
	Identity NamespaceIdentityPtrOutput `pulumi:"identity"`
	// Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to `true`.
	LocalAuthEnabled pulumi.BoolPtrOutput `pulumi:"localAuthEnabled"`
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. The current default minimum TLS version is `1.2`.
	MinimumTlsVersion pulumi.StringOutput `pulumi:"minimumTlsVersion"`
	// Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// An `networkRuleSet` block as defined below.
	NetworkRuleSet NamespaceNetworkRuleSetTypeOutput `pulumi:"networkRuleSet"`
	// Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created.
	//
	// > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.
	PremiumMessagingPartitions pulumi.IntPtrOutput `pulumi:"premiumMessagingPartitions"`
	// Is public network access enabled for the Service Bus Namespace? Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrOutput `pulumi:"publicNetworkAccessEnabled"`
	// The name of the resource group in which to Changing this forces a new resource to be created.
	// create the namespace.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Defines which tier to use. Options are `Basic`, `Standard` or `Premium`. Please note that setting this field to `Premium` will force the creation of a new resource.
	Sku pulumi.StringOutput `pulumi:"sku"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Whether or not this resource is zone redundant. `sku` needs to be `Premium`. Changing this forces a new resource to be created.
	ZoneRedundant pulumi.BoolPtrOutput `pulumi:"zoneRedundant"`
}

Manages a ServiceBus Namespace.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("my-servicebus"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = servicebus.NewNamespace(ctx, "example", &servicebus.NamespaceArgs{
			Name:              pulumi.String("tfex-servicebus-namespace"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
			Tags: pulumi.StringMap{
				"source": pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Service Bus Namespace can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:servicebus/namespace:Namespace example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1 ```

func GetNamespace

func GetNamespace(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NamespaceState, opts ...pulumi.ResourceOption) (*Namespace, error)

GetNamespace gets an existing Namespace resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNamespace

func NewNamespace(ctx *pulumi.Context,
	name string, args *NamespaceArgs, opts ...pulumi.ResourceOption) (*Namespace, error)

NewNamespace registers a new resource with the given unique name, arguments, and options.

func (*Namespace) ElementType

func (*Namespace) ElementType() reflect.Type

func (*Namespace) ToNamespaceOutput

func (i *Namespace) ToNamespaceOutput() NamespaceOutput

func (*Namespace) ToNamespaceOutputWithContext

func (i *Namespace) ToNamespaceOutputWithContext(ctx context.Context) NamespaceOutput

type NamespaceArgs

type NamespaceArgs struct {
	// Specifies the capacity. When `sku` is `Premium`, capacity can be `1`, `2`, `4`, `8` or `16`. When `sku` is `Basic` or `Standard`, capacity can be `0` only.
	Capacity pulumi.IntPtrInput
	// An `customerManagedKey` block as defined below.
	CustomerManagedKey NamespaceCustomerManagedKeyPtrInput
	// An `identity` block as defined below.
	Identity NamespaceIdentityPtrInput
	// Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to `true`.
	LocalAuthEnabled pulumi.BoolPtrInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. The current default minimum TLS version is `1.2`.
	MinimumTlsVersion pulumi.StringPtrInput
	// Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// An `networkRuleSet` block as defined below.
	NetworkRuleSet NamespaceNetworkRuleSetTypePtrInput
	// Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created.
	//
	// > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.
	PremiumMessagingPartitions pulumi.IntPtrInput
	// Is public network access enabled for the Service Bus Namespace? Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// The name of the resource group in which to Changing this forces a new resource to be created.
	// create the namespace.
	ResourceGroupName pulumi.StringInput
	// Defines which tier to use. Options are `Basic`, `Standard` or `Premium`. Please note that setting this field to `Premium` will force the creation of a new resource.
	Sku pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether or not this resource is zone redundant. `sku` needs to be `Premium`. Changing this forces a new resource to be created.
	ZoneRedundant pulumi.BoolPtrInput
}

The set of arguments for constructing a Namespace resource.

func (NamespaceArgs) ElementType

func (NamespaceArgs) ElementType() reflect.Type

type NamespaceArray

type NamespaceArray []NamespaceInput

func (NamespaceArray) ElementType

func (NamespaceArray) ElementType() reflect.Type

func (NamespaceArray) ToNamespaceArrayOutput

func (i NamespaceArray) ToNamespaceArrayOutput() NamespaceArrayOutput

func (NamespaceArray) ToNamespaceArrayOutputWithContext

func (i NamespaceArray) ToNamespaceArrayOutputWithContext(ctx context.Context) NamespaceArrayOutput

type NamespaceArrayInput

type NamespaceArrayInput interface {
	pulumi.Input

	ToNamespaceArrayOutput() NamespaceArrayOutput
	ToNamespaceArrayOutputWithContext(context.Context) NamespaceArrayOutput
}

NamespaceArrayInput is an input type that accepts NamespaceArray and NamespaceArrayOutput values. You can construct a concrete instance of `NamespaceArrayInput` via:

NamespaceArray{ NamespaceArgs{...} }

type NamespaceArrayOutput

type NamespaceArrayOutput struct{ *pulumi.OutputState }

func (NamespaceArrayOutput) ElementType

func (NamespaceArrayOutput) ElementType() reflect.Type

func (NamespaceArrayOutput) Index

func (NamespaceArrayOutput) ToNamespaceArrayOutput

func (o NamespaceArrayOutput) ToNamespaceArrayOutput() NamespaceArrayOutput

func (NamespaceArrayOutput) ToNamespaceArrayOutputWithContext

func (o NamespaceArrayOutput) ToNamespaceArrayOutputWithContext(ctx context.Context) NamespaceArrayOutput

type NamespaceAuthorizationRule

type NamespaceAuthorizationRule struct {
	pulumi.CustomResourceState

	// Grants listen access to this this Authorization Rule. Defaults to `false`.
	Listen pulumi.BoolPtrOutput `pulumi:"listen"`
	// Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.
	Manage pulumi.BoolPtrOutput `pulumi:"manage"`
	// Specifies the name of the ServiceBus Namespace Authorization Rule resource. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the ID of the ServiceBus Namespace. Changing this forces a new resource to be created.
	//
	// > **NOTE** At least one of the 3 permissions below needs to be set.
	NamespaceId pulumi.StringOutput `pulumi:"namespaceId"`
	// The Primary Connection String for the ServiceBus Namespace authorization Rule.
	PrimaryConnectionString pulumi.StringOutput `pulumi:"primaryConnectionString"`
	// The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.
	PrimaryConnectionStringAlias pulumi.StringOutput `pulumi:"primaryConnectionStringAlias"`
	// The Primary Key for the ServiceBus Namespace authorization Rule.
	PrimaryKey pulumi.StringOutput `pulumi:"primaryKey"`
	// The Secondary Connection String for the ServiceBus Namespace authorization Rule.
	SecondaryConnectionString pulumi.StringOutput `pulumi:"secondaryConnectionString"`
	// The alias Secondary Connection String for the ServiceBus Namespace
	SecondaryConnectionStringAlias pulumi.StringOutput `pulumi:"secondaryConnectionStringAlias"`
	// The Secondary Key for the ServiceBus Namespace authorization Rule.
	SecondaryKey pulumi.StringOutput `pulumi:"secondaryKey"`
	// Grants send access to this this Authorization Rule. Defaults to `false`.
	Send pulumi.BoolPtrOutput `pulumi:"send"`
}

Manages a ServiceBus Namespace authorization Rule within a ServiceBus.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("my-servicebus"),
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		exampleNamespace, err := servicebus.NewNamespace(ctx, "example", &servicebus.NamespaceArgs{
			Name:              pulumi.String("tfex-servicebus-namespace"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
			Tags: pulumi.StringMap{
				"source": pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		_, err = servicebus.NewNamespaceAuthorizationRule(ctx, "example", &servicebus.NamespaceAuthorizationRuleArgs{
			Name:        pulumi.String("examplerule"),
			NamespaceId: exampleNamespace.ID(),
			Listen:      pulumi.Bool(true),
			Send:        pulumi.Bool(true),
			Manage:      pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ServiceBus Namespace authorization rules can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:servicebus/namespaceAuthorizationRule:NamespaceAuthorizationRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ServiceBus/namespaces/namespace1/authorizationRules/rule1 ```

func GetNamespaceAuthorizationRule

func GetNamespaceAuthorizationRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NamespaceAuthorizationRuleState, opts ...pulumi.ResourceOption) (*NamespaceAuthorizationRule, error)

GetNamespaceAuthorizationRule gets an existing NamespaceAuthorizationRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNamespaceAuthorizationRule

func NewNamespaceAuthorizationRule(ctx *pulumi.Context,
	name string, args *NamespaceAuthorizationRuleArgs, opts ...pulumi.ResourceOption) (*NamespaceAuthorizationRule, error)

NewNamespaceAuthorizationRule registers a new resource with the given unique name, arguments, and options.

func (*NamespaceAuthorizationRule) ElementType

func (*NamespaceAuthorizationRule) ElementType() reflect.Type

func (*NamespaceAuthorizationRule) ToNamespaceAuthorizationRuleOutput

func (i *NamespaceAuthorizationRule) ToNamespaceAuthorizationRuleOutput() NamespaceAuthorizationRuleOutput

func (*NamespaceAuthorizationRule) ToNamespaceAuthorizationRuleOutputWithContext

func (i *NamespaceAuthorizationRule) ToNamespaceAuthorizationRuleOutputWithContext(ctx context.Context) NamespaceAuthorizationRuleOutput

type NamespaceAuthorizationRuleArgs

type NamespaceAuthorizationRuleArgs struct {
	// Grants listen access to this this Authorization Rule. Defaults to `false`.
	Listen pulumi.BoolPtrInput
	// Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.
	Manage pulumi.BoolPtrInput
	// Specifies the name of the ServiceBus Namespace Authorization Rule resource. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the ID of the ServiceBus Namespace. Changing this forces a new resource to be created.
	//
	// > **NOTE** At least one of the 3 permissions below needs to be set.
	NamespaceId pulumi.StringInput
	// Grants send access to this this Authorization Rule. Defaults to `false`.
	Send pulumi.BoolPtrInput
}

The set of arguments for constructing a NamespaceAuthorizationRule resource.

func (NamespaceAuthorizationRuleArgs) ElementType

type NamespaceAuthorizationRuleArray

type NamespaceAuthorizationRuleArray []NamespaceAuthorizationRuleInput

func (NamespaceAuthorizationRuleArray) ElementType

func (NamespaceAuthorizationRuleArray) ToNamespaceAuthorizationRuleArrayOutput

func (i NamespaceAuthorizationRuleArray) ToNamespaceAuthorizationRuleArrayOutput() NamespaceAuthorizationRuleArrayOutput

func (NamespaceAuthorizationRuleArray) ToNamespaceAuthorizationRuleArrayOutputWithContext

func (i NamespaceAuthorizationRuleArray) ToNamespaceAuthorizationRuleArrayOutputWithContext(ctx context.Context) NamespaceAuthorizationRuleArrayOutput

type NamespaceAuthorizationRuleArrayInput

type NamespaceAuthorizationRuleArrayInput interface {
	pulumi.Input

	ToNamespaceAuthorizationRuleArrayOutput() NamespaceAuthorizationRuleArrayOutput
	ToNamespaceAuthorizationRuleArrayOutputWithContext(context.Context) NamespaceAuthorizationRuleArrayOutput
}

NamespaceAuthorizationRuleArrayInput is an input type that accepts NamespaceAuthorizationRuleArray and NamespaceAuthorizationRuleArrayOutput values. You can construct a concrete instance of `NamespaceAuthorizationRuleArrayInput` via:

NamespaceAuthorizationRuleArray{ NamespaceAuthorizationRuleArgs{...} }

type NamespaceAuthorizationRuleArrayOutput

type NamespaceAuthorizationRuleArrayOutput struct{ *pulumi.OutputState }

func (NamespaceAuthorizationRuleArrayOutput) ElementType

func (NamespaceAuthorizationRuleArrayOutput) Index

func (NamespaceAuthorizationRuleArrayOutput) ToNamespaceAuthorizationRuleArrayOutput

func (o NamespaceAuthorizationRuleArrayOutput) ToNamespaceAuthorizationRuleArrayOutput() NamespaceAuthorizationRuleArrayOutput

func (NamespaceAuthorizationRuleArrayOutput) ToNamespaceAuthorizationRuleArrayOutputWithContext

func (o NamespaceAuthorizationRuleArrayOutput) ToNamespaceAuthorizationRuleArrayOutputWithContext(ctx context.Context) NamespaceAuthorizationRuleArrayOutput

type NamespaceAuthorizationRuleInput

type NamespaceAuthorizationRuleInput interface {
	pulumi.Input

	ToNamespaceAuthorizationRuleOutput() NamespaceAuthorizationRuleOutput
	ToNamespaceAuthorizationRuleOutputWithContext(ctx context.Context) NamespaceAuthorizationRuleOutput
}

type NamespaceAuthorizationRuleMap

type NamespaceAuthorizationRuleMap map[string]NamespaceAuthorizationRuleInput

func (NamespaceAuthorizationRuleMap) ElementType

func (NamespaceAuthorizationRuleMap) ToNamespaceAuthorizationRuleMapOutput

func (i NamespaceAuthorizationRuleMap) ToNamespaceAuthorizationRuleMapOutput() NamespaceAuthorizationRuleMapOutput

func (NamespaceAuthorizationRuleMap) ToNamespaceAuthorizationRuleMapOutputWithContext

func (i NamespaceAuthorizationRuleMap) ToNamespaceAuthorizationRuleMapOutputWithContext(ctx context.Context) NamespaceAuthorizationRuleMapOutput

type NamespaceAuthorizationRuleMapInput

type NamespaceAuthorizationRuleMapInput interface {
	pulumi.Input

	ToNamespaceAuthorizationRuleMapOutput() NamespaceAuthorizationRuleMapOutput
	ToNamespaceAuthorizationRuleMapOutputWithContext(context.Context) NamespaceAuthorizationRuleMapOutput
}

NamespaceAuthorizationRuleMapInput is an input type that accepts NamespaceAuthorizationRuleMap and NamespaceAuthorizationRuleMapOutput values. You can construct a concrete instance of `NamespaceAuthorizationRuleMapInput` via:

NamespaceAuthorizationRuleMap{ "key": NamespaceAuthorizationRuleArgs{...} }

type NamespaceAuthorizationRuleMapOutput

type NamespaceAuthorizationRuleMapOutput struct{ *pulumi.OutputState }

func (NamespaceAuthorizationRuleMapOutput) ElementType

func (NamespaceAuthorizationRuleMapOutput) MapIndex

func (NamespaceAuthorizationRuleMapOutput) ToNamespaceAuthorizationRuleMapOutput

func (o NamespaceAuthorizationRuleMapOutput) ToNamespaceAuthorizationRuleMapOutput() NamespaceAuthorizationRuleMapOutput

func (NamespaceAuthorizationRuleMapOutput) ToNamespaceAuthorizationRuleMapOutputWithContext

func (o NamespaceAuthorizationRuleMapOutput) ToNamespaceAuthorizationRuleMapOutputWithContext(ctx context.Context) NamespaceAuthorizationRuleMapOutput

type NamespaceAuthorizationRuleOutput

type NamespaceAuthorizationRuleOutput struct{ *pulumi.OutputState }

func (NamespaceAuthorizationRuleOutput) ElementType

func (NamespaceAuthorizationRuleOutput) Listen added in v5.5.0

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

func (NamespaceAuthorizationRuleOutput) Manage added in v5.5.0

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

func (NamespaceAuthorizationRuleOutput) Name added in v5.5.0

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

func (NamespaceAuthorizationRuleOutput) NamespaceId added in v5.5.0

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

> **NOTE** At least one of the 3 permissions below needs to be set.

func (NamespaceAuthorizationRuleOutput) PrimaryConnectionString added in v5.5.0

func (o NamespaceAuthorizationRuleOutput) PrimaryConnectionString() pulumi.StringOutput

The Primary Connection String for the ServiceBus Namespace authorization Rule.

func (NamespaceAuthorizationRuleOutput) PrimaryConnectionStringAlias added in v5.5.0

func (o NamespaceAuthorizationRuleOutput) PrimaryConnectionStringAlias() pulumi.StringOutput

The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.

func (NamespaceAuthorizationRuleOutput) PrimaryKey added in v5.5.0

The Primary Key for the ServiceBus Namespace authorization Rule.

func (NamespaceAuthorizationRuleOutput) SecondaryConnectionString added in v5.5.0

func (o NamespaceAuthorizationRuleOutput) SecondaryConnectionString() pulumi.StringOutput

The Secondary Connection String for the ServiceBus Namespace authorization Rule.

func (NamespaceAuthorizationRuleOutput) SecondaryConnectionStringAlias added in v5.5.0

func (o NamespaceAuthorizationRuleOutput) SecondaryConnectionStringAlias() pulumi.StringOutput

The alias Secondary Connection String for the ServiceBus Namespace

func (NamespaceAuthorizationRuleOutput) SecondaryKey added in v5.5.0

The Secondary Key for the ServiceBus Namespace authorization Rule.

func (NamespaceAuthorizationRuleOutput) Send added in v5.5.0

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

func (NamespaceAuthorizationRuleOutput) ToNamespaceAuthorizationRuleOutput

func (o NamespaceAuthorizationRuleOutput) ToNamespaceAuthorizationRuleOutput() NamespaceAuthorizationRuleOutput

func (NamespaceAuthorizationRuleOutput) ToNamespaceAuthorizationRuleOutputWithContext

func (o NamespaceAuthorizationRuleOutput) ToNamespaceAuthorizationRuleOutputWithContext(ctx context.Context) NamespaceAuthorizationRuleOutput

type NamespaceAuthorizationRuleState

type NamespaceAuthorizationRuleState struct {
	// Grants listen access to this this Authorization Rule. Defaults to `false`.
	Listen pulumi.BoolPtrInput
	// Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.
	Manage pulumi.BoolPtrInput
	// Specifies the name of the ServiceBus Namespace Authorization Rule resource. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the ID of the ServiceBus Namespace. Changing this forces a new resource to be created.
	//
	// > **NOTE** At least one of the 3 permissions below needs to be set.
	NamespaceId pulumi.StringPtrInput
	// The Primary Connection String for the ServiceBus Namespace authorization Rule.
	PrimaryConnectionString pulumi.StringPtrInput
	// The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.
	PrimaryConnectionStringAlias pulumi.StringPtrInput
	// The Primary Key for the ServiceBus Namespace authorization Rule.
	PrimaryKey pulumi.StringPtrInput
	// The Secondary Connection String for the ServiceBus Namespace authorization Rule.
	SecondaryConnectionString pulumi.StringPtrInput
	// The alias Secondary Connection String for the ServiceBus Namespace
	SecondaryConnectionStringAlias pulumi.StringPtrInput
	// The Secondary Key for the ServiceBus Namespace authorization Rule.
	SecondaryKey pulumi.StringPtrInput
	// Grants send access to this this Authorization Rule. Defaults to `false`.
	Send pulumi.BoolPtrInput
}

func (NamespaceAuthorizationRuleState) ElementType

type NamespaceCustomerManagedKey added in v5.1.0

type NamespaceCustomerManagedKey struct {
	// The ID of the User Assigned Identity that has access to the key.
	IdentityId string `pulumi:"identityId"`
	// Used to specify whether enable Infrastructure Encryption (Double Encryption). Changing this forces a new resource to be created.
	InfrastructureEncryptionEnabled *bool `pulumi:"infrastructureEncryptionEnabled"`
	// The ID of the Key Vault Key which should be used to Encrypt the data in this ServiceBus Namespace.
	KeyVaultKeyId string `pulumi:"keyVaultKeyId"`
}

type NamespaceCustomerManagedKeyArgs added in v5.1.0

type NamespaceCustomerManagedKeyArgs struct {
	// The ID of the User Assigned Identity that has access to the key.
	IdentityId pulumi.StringInput `pulumi:"identityId"`
	// Used to specify whether enable Infrastructure Encryption (Double Encryption). Changing this forces a new resource to be created.
	InfrastructureEncryptionEnabled pulumi.BoolPtrInput `pulumi:"infrastructureEncryptionEnabled"`
	// The ID of the Key Vault Key which should be used to Encrypt the data in this ServiceBus Namespace.
	KeyVaultKeyId pulumi.StringInput `pulumi:"keyVaultKeyId"`
}

func (NamespaceCustomerManagedKeyArgs) ElementType added in v5.1.0

func (NamespaceCustomerManagedKeyArgs) ToNamespaceCustomerManagedKeyOutput added in v5.1.0

func (i NamespaceCustomerManagedKeyArgs) ToNamespaceCustomerManagedKeyOutput() NamespaceCustomerManagedKeyOutput

func (NamespaceCustomerManagedKeyArgs) ToNamespaceCustomerManagedKeyOutputWithContext added in v5.1.0

func (i NamespaceCustomerManagedKeyArgs) ToNamespaceCustomerManagedKeyOutputWithContext(ctx context.Context) NamespaceCustomerManagedKeyOutput

func (NamespaceCustomerManagedKeyArgs) ToNamespaceCustomerManagedKeyPtrOutput added in v5.1.0

func (i NamespaceCustomerManagedKeyArgs) ToNamespaceCustomerManagedKeyPtrOutput() NamespaceCustomerManagedKeyPtrOutput

func (NamespaceCustomerManagedKeyArgs) ToNamespaceCustomerManagedKeyPtrOutputWithContext added in v5.1.0

func (i NamespaceCustomerManagedKeyArgs) ToNamespaceCustomerManagedKeyPtrOutputWithContext(ctx context.Context) NamespaceCustomerManagedKeyPtrOutput

type NamespaceCustomerManagedKeyInput added in v5.1.0

type NamespaceCustomerManagedKeyInput interface {
	pulumi.Input

	ToNamespaceCustomerManagedKeyOutput() NamespaceCustomerManagedKeyOutput
	ToNamespaceCustomerManagedKeyOutputWithContext(context.Context) NamespaceCustomerManagedKeyOutput
}

NamespaceCustomerManagedKeyInput is an input type that accepts NamespaceCustomerManagedKeyArgs and NamespaceCustomerManagedKeyOutput values. You can construct a concrete instance of `NamespaceCustomerManagedKeyInput` via:

NamespaceCustomerManagedKeyArgs{...}

type NamespaceCustomerManagedKeyOutput added in v5.1.0

type NamespaceCustomerManagedKeyOutput struct{ *pulumi.OutputState }

func (NamespaceCustomerManagedKeyOutput) ElementType added in v5.1.0

func (NamespaceCustomerManagedKeyOutput) IdentityId added in v5.1.0

The ID of the User Assigned Identity that has access to the key.

func (NamespaceCustomerManagedKeyOutput) InfrastructureEncryptionEnabled added in v5.1.0

func (o NamespaceCustomerManagedKeyOutput) InfrastructureEncryptionEnabled() pulumi.BoolPtrOutput

Used to specify whether enable Infrastructure Encryption (Double Encryption). Changing this forces a new resource to be created.

func (NamespaceCustomerManagedKeyOutput) KeyVaultKeyId added in v5.1.0

The ID of the Key Vault Key which should be used to Encrypt the data in this ServiceBus Namespace.

func (NamespaceCustomerManagedKeyOutput) ToNamespaceCustomerManagedKeyOutput added in v5.1.0

func (o NamespaceCustomerManagedKeyOutput) ToNamespaceCustomerManagedKeyOutput() NamespaceCustomerManagedKeyOutput

func (NamespaceCustomerManagedKeyOutput) ToNamespaceCustomerManagedKeyOutputWithContext added in v5.1.0

func (o NamespaceCustomerManagedKeyOutput) ToNamespaceCustomerManagedKeyOutputWithContext(ctx context.Context) NamespaceCustomerManagedKeyOutput

func (NamespaceCustomerManagedKeyOutput) ToNamespaceCustomerManagedKeyPtrOutput added in v5.1.0

func (o NamespaceCustomerManagedKeyOutput) ToNamespaceCustomerManagedKeyPtrOutput() NamespaceCustomerManagedKeyPtrOutput

func (NamespaceCustomerManagedKeyOutput) ToNamespaceCustomerManagedKeyPtrOutputWithContext added in v5.1.0

func (o NamespaceCustomerManagedKeyOutput) ToNamespaceCustomerManagedKeyPtrOutputWithContext(ctx context.Context) NamespaceCustomerManagedKeyPtrOutput

type NamespaceCustomerManagedKeyPtrInput added in v5.1.0

type NamespaceCustomerManagedKeyPtrInput interface {
	pulumi.Input

	ToNamespaceCustomerManagedKeyPtrOutput() NamespaceCustomerManagedKeyPtrOutput
	ToNamespaceCustomerManagedKeyPtrOutputWithContext(context.Context) NamespaceCustomerManagedKeyPtrOutput
}

NamespaceCustomerManagedKeyPtrInput is an input type that accepts NamespaceCustomerManagedKeyArgs, NamespaceCustomerManagedKeyPtr and NamespaceCustomerManagedKeyPtrOutput values. You can construct a concrete instance of `NamespaceCustomerManagedKeyPtrInput` via:

        NamespaceCustomerManagedKeyArgs{...}

or:

        nil

func NamespaceCustomerManagedKeyPtr added in v5.1.0

type NamespaceCustomerManagedKeyPtrOutput added in v5.1.0

type NamespaceCustomerManagedKeyPtrOutput struct{ *pulumi.OutputState }

func (NamespaceCustomerManagedKeyPtrOutput) Elem added in v5.1.0

func (NamespaceCustomerManagedKeyPtrOutput) ElementType added in v5.1.0

func (NamespaceCustomerManagedKeyPtrOutput) IdentityId added in v5.1.0

The ID of the User Assigned Identity that has access to the key.

func (NamespaceCustomerManagedKeyPtrOutput) InfrastructureEncryptionEnabled added in v5.1.0

func (o NamespaceCustomerManagedKeyPtrOutput) InfrastructureEncryptionEnabled() pulumi.BoolPtrOutput

Used to specify whether enable Infrastructure Encryption (Double Encryption). Changing this forces a new resource to be created.

func (NamespaceCustomerManagedKeyPtrOutput) KeyVaultKeyId added in v5.1.0

The ID of the Key Vault Key which should be used to Encrypt the data in this ServiceBus Namespace.

func (NamespaceCustomerManagedKeyPtrOutput) ToNamespaceCustomerManagedKeyPtrOutput added in v5.1.0

func (o NamespaceCustomerManagedKeyPtrOutput) ToNamespaceCustomerManagedKeyPtrOutput() NamespaceCustomerManagedKeyPtrOutput

func (NamespaceCustomerManagedKeyPtrOutput) ToNamespaceCustomerManagedKeyPtrOutputWithContext added in v5.1.0

func (o NamespaceCustomerManagedKeyPtrOutput) ToNamespaceCustomerManagedKeyPtrOutputWithContext(ctx context.Context) NamespaceCustomerManagedKeyPtrOutput

type NamespaceDisasterRecoveryConfig

type NamespaceDisasterRecoveryConfig struct {
	pulumi.CustomResourceState

	// The Shared access policies used to access the connection string for the alias.
	AliasAuthorizationRuleId pulumi.StringPtrOutput `pulumi:"aliasAuthorizationRuleId"`
	// The primary access key for the authorization rule `RootManageSharedAccessKey`.
	DefaultPrimaryKey pulumi.StringOutput `pulumi:"defaultPrimaryKey"`
	// The secondary access key for the authorization rule `RootManageSharedAccessKey`.
	DefaultSecondaryKey pulumi.StringOutput `pulumi:"defaultSecondaryKey"`
	// Specifies the name of the Disaster Recovery Config. This is the alias DNS name that will be created. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the Service Bus Namespace to replicate to.
	PartnerNamespaceId pulumi.StringOutput `pulumi:"partnerNamespaceId"`
	// The alias Primary Connection String for the ServiceBus Namespace.
	PrimaryConnectionStringAlias pulumi.StringOutput `pulumi:"primaryConnectionStringAlias"`
	// The ID of the primary Service Bus Namespace to replicate. Changing this forces a new resource to be created.
	PrimaryNamespaceId pulumi.StringOutput `pulumi:"primaryNamespaceId"`
	// The alias Secondary Connection String for the ServiceBus Namespace
	SecondaryConnectionStringAlias pulumi.StringOutput `pulumi:"secondaryConnectionStringAlias"`
}

Manages a Disaster Recovery Config for a Service Bus Namespace.

> **NOTE:** Disaster Recovery Config is a Premium SKU only capability.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("servicebus-replication"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		primary, err := servicebus.NewNamespace(ctx, "primary", &servicebus.NamespaceArgs{
			Name:              pulumi.String("servicebus-primary"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Premium"),
			Capacity:          pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		secondary, err := servicebus.NewNamespace(ctx, "secondary", &servicebus.NamespaceArgs{
			Name:              pulumi.String("servicebus-secondary"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Premium"),
			Capacity:          pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		exampleNamespaceAuthorizationRule, err := servicebus.NewNamespaceAuthorizationRule(ctx, "example", &servicebus.NamespaceAuthorizationRuleArgs{
			Name:        pulumi.String("examplerule"),
			NamespaceId: pulumi.Any(exampleAzurermServicebusNamespace.Id),
			Listen:      pulumi.Bool(true),
			Send:        pulumi.Bool(true),
			Manage:      pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = servicebus.NewNamespaceDisasterRecoveryConfig(ctx, "example", &servicebus.NamespaceDisasterRecoveryConfigArgs{
			Name:                     pulumi.String("servicebus-alias-name"),
			PrimaryNamespaceId:       primary.ID(),
			PartnerNamespaceId:       secondary.ID(),
			AliasAuthorizationRuleId: exampleNamespaceAuthorizationRule.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Service Bus DR configs can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:servicebus/namespaceDisasterRecoveryConfig:NamespaceDisasterRecoveryConfig config1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ServiceBus/namespaces/namespace1/disasterRecoveryConfigs/config1 ```

func GetNamespaceDisasterRecoveryConfig

func GetNamespaceDisasterRecoveryConfig(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NamespaceDisasterRecoveryConfigState, opts ...pulumi.ResourceOption) (*NamespaceDisasterRecoveryConfig, error)

GetNamespaceDisasterRecoveryConfig gets an existing NamespaceDisasterRecoveryConfig resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNamespaceDisasterRecoveryConfig

func NewNamespaceDisasterRecoveryConfig(ctx *pulumi.Context,
	name string, args *NamespaceDisasterRecoveryConfigArgs, opts ...pulumi.ResourceOption) (*NamespaceDisasterRecoveryConfig, error)

NewNamespaceDisasterRecoveryConfig registers a new resource with the given unique name, arguments, and options.

func (*NamespaceDisasterRecoveryConfig) ElementType

func (*NamespaceDisasterRecoveryConfig) ToNamespaceDisasterRecoveryConfigOutput

func (i *NamespaceDisasterRecoveryConfig) ToNamespaceDisasterRecoveryConfigOutput() NamespaceDisasterRecoveryConfigOutput

func (*NamespaceDisasterRecoveryConfig) ToNamespaceDisasterRecoveryConfigOutputWithContext

func (i *NamespaceDisasterRecoveryConfig) ToNamespaceDisasterRecoveryConfigOutputWithContext(ctx context.Context) NamespaceDisasterRecoveryConfigOutput

type NamespaceDisasterRecoveryConfigArgs

type NamespaceDisasterRecoveryConfigArgs struct {
	// The Shared access policies used to access the connection string for the alias.
	AliasAuthorizationRuleId pulumi.StringPtrInput
	// Specifies the name of the Disaster Recovery Config. This is the alias DNS name that will be created. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the Service Bus Namespace to replicate to.
	PartnerNamespaceId pulumi.StringInput
	// The ID of the primary Service Bus Namespace to replicate. Changing this forces a new resource to be created.
	PrimaryNamespaceId pulumi.StringInput
}

The set of arguments for constructing a NamespaceDisasterRecoveryConfig resource.

func (NamespaceDisasterRecoveryConfigArgs) ElementType

type NamespaceDisasterRecoveryConfigArray

type NamespaceDisasterRecoveryConfigArray []NamespaceDisasterRecoveryConfigInput

func (NamespaceDisasterRecoveryConfigArray) ElementType

func (NamespaceDisasterRecoveryConfigArray) ToNamespaceDisasterRecoveryConfigArrayOutput

func (i NamespaceDisasterRecoveryConfigArray) ToNamespaceDisasterRecoveryConfigArrayOutput() NamespaceDisasterRecoveryConfigArrayOutput

func (NamespaceDisasterRecoveryConfigArray) ToNamespaceDisasterRecoveryConfigArrayOutputWithContext

func (i NamespaceDisasterRecoveryConfigArray) ToNamespaceDisasterRecoveryConfigArrayOutputWithContext(ctx context.Context) NamespaceDisasterRecoveryConfigArrayOutput

type NamespaceDisasterRecoveryConfigArrayInput

type NamespaceDisasterRecoveryConfigArrayInput interface {
	pulumi.Input

	ToNamespaceDisasterRecoveryConfigArrayOutput() NamespaceDisasterRecoveryConfigArrayOutput
	ToNamespaceDisasterRecoveryConfigArrayOutputWithContext(context.Context) NamespaceDisasterRecoveryConfigArrayOutput
}

NamespaceDisasterRecoveryConfigArrayInput is an input type that accepts NamespaceDisasterRecoveryConfigArray and NamespaceDisasterRecoveryConfigArrayOutput values. You can construct a concrete instance of `NamespaceDisasterRecoveryConfigArrayInput` via:

NamespaceDisasterRecoveryConfigArray{ NamespaceDisasterRecoveryConfigArgs{...} }

type NamespaceDisasterRecoveryConfigArrayOutput

type NamespaceDisasterRecoveryConfigArrayOutput struct{ *pulumi.OutputState }

func (NamespaceDisasterRecoveryConfigArrayOutput) ElementType

func (NamespaceDisasterRecoveryConfigArrayOutput) Index

func (NamespaceDisasterRecoveryConfigArrayOutput) ToNamespaceDisasterRecoveryConfigArrayOutput

func (o NamespaceDisasterRecoveryConfigArrayOutput) ToNamespaceDisasterRecoveryConfigArrayOutput() NamespaceDisasterRecoveryConfigArrayOutput

func (NamespaceDisasterRecoveryConfigArrayOutput) ToNamespaceDisasterRecoveryConfigArrayOutputWithContext

func (o NamespaceDisasterRecoveryConfigArrayOutput) ToNamespaceDisasterRecoveryConfigArrayOutputWithContext(ctx context.Context) NamespaceDisasterRecoveryConfigArrayOutput

type NamespaceDisasterRecoveryConfigInput

type NamespaceDisasterRecoveryConfigInput interface {
	pulumi.Input

	ToNamespaceDisasterRecoveryConfigOutput() NamespaceDisasterRecoveryConfigOutput
	ToNamespaceDisasterRecoveryConfigOutputWithContext(ctx context.Context) NamespaceDisasterRecoveryConfigOutput
}

type NamespaceDisasterRecoveryConfigMap

type NamespaceDisasterRecoveryConfigMap map[string]NamespaceDisasterRecoveryConfigInput

func (NamespaceDisasterRecoveryConfigMap) ElementType

func (NamespaceDisasterRecoveryConfigMap) ToNamespaceDisasterRecoveryConfigMapOutput

func (i NamespaceDisasterRecoveryConfigMap) ToNamespaceDisasterRecoveryConfigMapOutput() NamespaceDisasterRecoveryConfigMapOutput

func (NamespaceDisasterRecoveryConfigMap) ToNamespaceDisasterRecoveryConfigMapOutputWithContext

func (i NamespaceDisasterRecoveryConfigMap) ToNamespaceDisasterRecoveryConfigMapOutputWithContext(ctx context.Context) NamespaceDisasterRecoveryConfigMapOutput

type NamespaceDisasterRecoveryConfigMapInput

type NamespaceDisasterRecoveryConfigMapInput interface {
	pulumi.Input

	ToNamespaceDisasterRecoveryConfigMapOutput() NamespaceDisasterRecoveryConfigMapOutput
	ToNamespaceDisasterRecoveryConfigMapOutputWithContext(context.Context) NamespaceDisasterRecoveryConfigMapOutput
}

NamespaceDisasterRecoveryConfigMapInput is an input type that accepts NamespaceDisasterRecoveryConfigMap and NamespaceDisasterRecoveryConfigMapOutput values. You can construct a concrete instance of `NamespaceDisasterRecoveryConfigMapInput` via:

NamespaceDisasterRecoveryConfigMap{ "key": NamespaceDisasterRecoveryConfigArgs{...} }

type NamespaceDisasterRecoveryConfigMapOutput

type NamespaceDisasterRecoveryConfigMapOutput struct{ *pulumi.OutputState }

func (NamespaceDisasterRecoveryConfigMapOutput) ElementType

func (NamespaceDisasterRecoveryConfigMapOutput) MapIndex

func (NamespaceDisasterRecoveryConfigMapOutput) ToNamespaceDisasterRecoveryConfigMapOutput

func (o NamespaceDisasterRecoveryConfigMapOutput) ToNamespaceDisasterRecoveryConfigMapOutput() NamespaceDisasterRecoveryConfigMapOutput

func (NamespaceDisasterRecoveryConfigMapOutput) ToNamespaceDisasterRecoveryConfigMapOutputWithContext

func (o NamespaceDisasterRecoveryConfigMapOutput) ToNamespaceDisasterRecoveryConfigMapOutputWithContext(ctx context.Context) NamespaceDisasterRecoveryConfigMapOutput

type NamespaceDisasterRecoveryConfigOutput

type NamespaceDisasterRecoveryConfigOutput struct{ *pulumi.OutputState }

func (NamespaceDisasterRecoveryConfigOutput) AliasAuthorizationRuleId added in v5.24.0

func (o NamespaceDisasterRecoveryConfigOutput) AliasAuthorizationRuleId() pulumi.StringPtrOutput

The Shared access policies used to access the connection string for the alias.

func (NamespaceDisasterRecoveryConfigOutput) DefaultPrimaryKey added in v5.5.0

The primary access key for the authorization rule `RootManageSharedAccessKey`.

func (NamespaceDisasterRecoveryConfigOutput) DefaultSecondaryKey added in v5.5.0

The secondary access key for the authorization rule `RootManageSharedAccessKey`.

func (NamespaceDisasterRecoveryConfigOutput) ElementType

func (NamespaceDisasterRecoveryConfigOutput) Name added in v5.5.0

Specifies the name of the Disaster Recovery Config. This is the alias DNS name that will be created. Changing this forces a new resource to be created.

func (NamespaceDisasterRecoveryConfigOutput) PartnerNamespaceId added in v5.5.0

The ID of the Service Bus Namespace to replicate to.

func (NamespaceDisasterRecoveryConfigOutput) PrimaryConnectionStringAlias added in v5.5.0

func (o NamespaceDisasterRecoveryConfigOutput) PrimaryConnectionStringAlias() pulumi.StringOutput

The alias Primary Connection String for the ServiceBus Namespace.

func (NamespaceDisasterRecoveryConfigOutput) PrimaryNamespaceId added in v5.5.0

The ID of the primary Service Bus Namespace to replicate. Changing this forces a new resource to be created.

func (NamespaceDisasterRecoveryConfigOutput) SecondaryConnectionStringAlias added in v5.5.0

func (o NamespaceDisasterRecoveryConfigOutput) SecondaryConnectionStringAlias() pulumi.StringOutput

The alias Secondary Connection String for the ServiceBus Namespace

func (NamespaceDisasterRecoveryConfigOutput) ToNamespaceDisasterRecoveryConfigOutput

func (o NamespaceDisasterRecoveryConfigOutput) ToNamespaceDisasterRecoveryConfigOutput() NamespaceDisasterRecoveryConfigOutput

func (NamespaceDisasterRecoveryConfigOutput) ToNamespaceDisasterRecoveryConfigOutputWithContext

func (o NamespaceDisasterRecoveryConfigOutput) ToNamespaceDisasterRecoveryConfigOutputWithContext(ctx context.Context) NamespaceDisasterRecoveryConfigOutput

type NamespaceDisasterRecoveryConfigState

type NamespaceDisasterRecoveryConfigState struct {
	// The Shared access policies used to access the connection string for the alias.
	AliasAuthorizationRuleId pulumi.StringPtrInput
	// The primary access key for the authorization rule `RootManageSharedAccessKey`.
	DefaultPrimaryKey pulumi.StringPtrInput
	// The secondary access key for the authorization rule `RootManageSharedAccessKey`.
	DefaultSecondaryKey pulumi.StringPtrInput
	// Specifies the name of the Disaster Recovery Config. This is the alias DNS name that will be created. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the Service Bus Namespace to replicate to.
	PartnerNamespaceId pulumi.StringPtrInput
	// The alias Primary Connection String for the ServiceBus Namespace.
	PrimaryConnectionStringAlias pulumi.StringPtrInput
	// The ID of the primary Service Bus Namespace to replicate. Changing this forces a new resource to be created.
	PrimaryNamespaceId pulumi.StringPtrInput
	// The alias Secondary Connection String for the ServiceBus Namespace
	SecondaryConnectionStringAlias pulumi.StringPtrInput
}

func (NamespaceDisasterRecoveryConfigState) ElementType

type NamespaceIdentity

type NamespaceIdentity struct {
	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this ServiceBus namespace.
	//
	// > **NOTE:** This is required when `type` is set to `UserAssigned` or `SystemAssigned, UserAssigned`.
	IdentityIds []string `pulumi:"identityIds"`
	// The Principal ID for the Service Principal associated with the Managed Service Identity of this ServiceBus Namespace.
	PrincipalId *string `pulumi:"principalId"`
	// The Tenant ID for the Service Principal associated with the Managed Service Identity of this ServiceBus Namespace.
	TenantId *string `pulumi:"tenantId"`
	// Specifies the type of Managed Service Identity that should be configured on this ServiceBus Namespace. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).
	Type string `pulumi:"type"`
}

type NamespaceIdentityArgs

type NamespaceIdentityArgs struct {
	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this ServiceBus namespace.
	//
	// > **NOTE:** This is required when `type` is set to `UserAssigned` or `SystemAssigned, UserAssigned`.
	IdentityIds pulumi.StringArrayInput `pulumi:"identityIds"`
	// The Principal ID for the Service Principal associated with the Managed Service Identity of this ServiceBus Namespace.
	PrincipalId pulumi.StringPtrInput `pulumi:"principalId"`
	// The Tenant ID for the Service Principal associated with the Managed Service Identity of this ServiceBus Namespace.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
	// Specifies the type of Managed Service Identity that should be configured on this ServiceBus Namespace. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).
	Type pulumi.StringInput `pulumi:"type"`
}

func (NamespaceIdentityArgs) ElementType

func (NamespaceIdentityArgs) ElementType() reflect.Type

func (NamespaceIdentityArgs) ToNamespaceIdentityOutput

func (i NamespaceIdentityArgs) ToNamespaceIdentityOutput() NamespaceIdentityOutput

func (NamespaceIdentityArgs) ToNamespaceIdentityOutputWithContext

func (i NamespaceIdentityArgs) ToNamespaceIdentityOutputWithContext(ctx context.Context) NamespaceIdentityOutput

func (NamespaceIdentityArgs) ToNamespaceIdentityPtrOutput

func (i NamespaceIdentityArgs) ToNamespaceIdentityPtrOutput() NamespaceIdentityPtrOutput

func (NamespaceIdentityArgs) ToNamespaceIdentityPtrOutputWithContext

func (i NamespaceIdentityArgs) ToNamespaceIdentityPtrOutputWithContext(ctx context.Context) NamespaceIdentityPtrOutput

type NamespaceIdentityInput

type NamespaceIdentityInput interface {
	pulumi.Input

	ToNamespaceIdentityOutput() NamespaceIdentityOutput
	ToNamespaceIdentityOutputWithContext(context.Context) NamespaceIdentityOutput
}

NamespaceIdentityInput is an input type that accepts NamespaceIdentityArgs and NamespaceIdentityOutput values. You can construct a concrete instance of `NamespaceIdentityInput` via:

NamespaceIdentityArgs{...}

type NamespaceIdentityOutput

type NamespaceIdentityOutput struct{ *pulumi.OutputState }

func (NamespaceIdentityOutput) ElementType

func (NamespaceIdentityOutput) ElementType() reflect.Type

func (NamespaceIdentityOutput) IdentityIds

Specifies a list of User Assigned Managed Identity IDs to be assigned to this ServiceBus namespace.

> **NOTE:** This is required when `type` is set to `UserAssigned` or `SystemAssigned, UserAssigned`.

func (NamespaceIdentityOutput) PrincipalId

The Principal ID for the Service Principal associated with the Managed Service Identity of this ServiceBus Namespace.

func (NamespaceIdentityOutput) TenantId

The Tenant ID for the Service Principal associated with the Managed Service Identity of this ServiceBus Namespace.

func (NamespaceIdentityOutput) ToNamespaceIdentityOutput

func (o NamespaceIdentityOutput) ToNamespaceIdentityOutput() NamespaceIdentityOutput

func (NamespaceIdentityOutput) ToNamespaceIdentityOutputWithContext

func (o NamespaceIdentityOutput) ToNamespaceIdentityOutputWithContext(ctx context.Context) NamespaceIdentityOutput

func (NamespaceIdentityOutput) ToNamespaceIdentityPtrOutput

func (o NamespaceIdentityOutput) ToNamespaceIdentityPtrOutput() NamespaceIdentityPtrOutput

func (NamespaceIdentityOutput) ToNamespaceIdentityPtrOutputWithContext

func (o NamespaceIdentityOutput) ToNamespaceIdentityPtrOutputWithContext(ctx context.Context) NamespaceIdentityPtrOutput

func (NamespaceIdentityOutput) Type

Specifies the type of Managed Service Identity that should be configured on this ServiceBus Namespace. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).

type NamespaceIdentityPtrInput

type NamespaceIdentityPtrInput interface {
	pulumi.Input

	ToNamespaceIdentityPtrOutput() NamespaceIdentityPtrOutput
	ToNamespaceIdentityPtrOutputWithContext(context.Context) NamespaceIdentityPtrOutput
}

NamespaceIdentityPtrInput is an input type that accepts NamespaceIdentityArgs, NamespaceIdentityPtr and NamespaceIdentityPtrOutput values. You can construct a concrete instance of `NamespaceIdentityPtrInput` via:

        NamespaceIdentityArgs{...}

or:

        nil

type NamespaceIdentityPtrOutput

type NamespaceIdentityPtrOutput struct{ *pulumi.OutputState }

func (NamespaceIdentityPtrOutput) Elem

func (NamespaceIdentityPtrOutput) ElementType

func (NamespaceIdentityPtrOutput) ElementType() reflect.Type

func (NamespaceIdentityPtrOutput) IdentityIds

Specifies a list of User Assigned Managed Identity IDs to be assigned to this ServiceBus namespace.

> **NOTE:** This is required when `type` is set to `UserAssigned` or `SystemAssigned, UserAssigned`.

func (NamespaceIdentityPtrOutput) PrincipalId

The Principal ID for the Service Principal associated with the Managed Service Identity of this ServiceBus Namespace.

func (NamespaceIdentityPtrOutput) TenantId

The Tenant ID for the Service Principal associated with the Managed Service Identity of this ServiceBus Namespace.

func (NamespaceIdentityPtrOutput) ToNamespaceIdentityPtrOutput

func (o NamespaceIdentityPtrOutput) ToNamespaceIdentityPtrOutput() NamespaceIdentityPtrOutput

func (NamespaceIdentityPtrOutput) ToNamespaceIdentityPtrOutputWithContext

func (o NamespaceIdentityPtrOutput) ToNamespaceIdentityPtrOutputWithContext(ctx context.Context) NamespaceIdentityPtrOutput

func (NamespaceIdentityPtrOutput) Type

Specifies the type of Managed Service Identity that should be configured on this ServiceBus Namespace. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).

type NamespaceInput

type NamespaceInput interface {
	pulumi.Input

	ToNamespaceOutput() NamespaceOutput
	ToNamespaceOutputWithContext(ctx context.Context) NamespaceOutput
}

type NamespaceMap

type NamespaceMap map[string]NamespaceInput

func (NamespaceMap) ElementType

func (NamespaceMap) ElementType() reflect.Type

func (NamespaceMap) ToNamespaceMapOutput

func (i NamespaceMap) ToNamespaceMapOutput() NamespaceMapOutput

func (NamespaceMap) ToNamespaceMapOutputWithContext

func (i NamespaceMap) ToNamespaceMapOutputWithContext(ctx context.Context) NamespaceMapOutput

type NamespaceMapInput

type NamespaceMapInput interface {
	pulumi.Input

	ToNamespaceMapOutput() NamespaceMapOutput
	ToNamespaceMapOutputWithContext(context.Context) NamespaceMapOutput
}

NamespaceMapInput is an input type that accepts NamespaceMap and NamespaceMapOutput values. You can construct a concrete instance of `NamespaceMapInput` via:

NamespaceMap{ "key": NamespaceArgs{...} }

type NamespaceMapOutput

type NamespaceMapOutput struct{ *pulumi.OutputState }

func (NamespaceMapOutput) ElementType

func (NamespaceMapOutput) ElementType() reflect.Type

func (NamespaceMapOutput) MapIndex

func (NamespaceMapOutput) ToNamespaceMapOutput

func (o NamespaceMapOutput) ToNamespaceMapOutput() NamespaceMapOutput

func (NamespaceMapOutput) ToNamespaceMapOutputWithContext

func (o NamespaceMapOutput) ToNamespaceMapOutputWithContext(ctx context.Context) NamespaceMapOutput

type NamespaceNetworkRuleSet

type NamespaceNetworkRuleSet struct {
	pulumi.CustomResourceState

	// Specifies the default action for the ServiceBus Namespace Network Rule Set. Possible values are `Allow` and `Deny`. Defaults to `Allow`.
	DefaultAction pulumi.StringPtrOutput `pulumi:"defaultAction"`
	// One or more IP Addresses, or CIDR Blocks which should be able to access the ServiceBus Namespace.
	IpRules pulumi.StringArrayOutput `pulumi:"ipRules"`
	// Specifies the ServiceBus Namespace ID to which to attach the ServiceBus Namespace Network Rule Set. Changing this forces a new resource to be created.
	//
	// > **NOTE:** The ServiceBus Namespace must be `Premium` in order to attach a ServiceBus Namespace Network Rule Set.
	NamespaceId pulumi.StringOutput `pulumi:"namespaceId"`
	// One or more `networkRules` blocks as defined below.
	NetworkRules NamespaceNetworkRuleSetNetworkRuleArrayOutput `pulumi:"networkRules"`
	// Whether to allow traffic over public network. Possible values are `true` and `false`. Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrOutput `pulumi:"publicNetworkAccessEnabled"`
	// If True, then Azure Services that are known and trusted for this resource type are allowed to bypass firewall configuration. See [Trusted Microsoft Services](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/service-bus-messaging/includes/service-bus-trusted-services.md)
	TrustedServicesAllowed pulumi.BoolPtrOutput `pulumi:"trustedServicesAllowed"`
}

Manages a ServiceBus Namespace Network Rule Set.

> The `servicebus.NamespaceNetworkRuleSet` resource is deprecated and will be removed in version 4.0 of the AzureRM provider. Please use `networkRuleSet` inside the `servicebus.Namespace` resource instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleNamespace, err := servicebus.NewNamespace(ctx, "example", &servicebus.NamespaceArgs{
			Name:              pulumi.String("example-sb-namespace"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Premium"),
			Capacity:          pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name:              pulumi.String("example-vnet"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("172.17.0.0/16"),
			},
			DnsServers: pulumi.StringArray{
				pulumi.String("10.0.0.4"),
				pulumi.String("10.0.0.5"),
			},
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("default"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("172.17.0.0/24"),
			},
			ServiceEndpoints: pulumi.StringArray{
				pulumi.String("Microsoft.ServiceBus"),
			},
		})
		if err != nil {
			return err
		}
		_, err = servicebus.NewNamespaceNetworkRuleSet(ctx, "example", &servicebus.NamespaceNetworkRuleSetArgs{
			NamespaceId:                exampleNamespace.ID(),
			DefaultAction:              pulumi.String("Deny"),
			PublicNetworkAccessEnabled: pulumi.Bool(true),
			NetworkRules: servicebus.NamespaceNetworkRuleSetNetworkRuleArray{
				&servicebus.NamespaceNetworkRuleSetNetworkRuleArgs{
					SubnetId:                         exampleSubnet.ID(),
					IgnoreMissingVnetServiceEndpoint: pulumi.Bool(false),
				},
			},
			IpRules: pulumi.StringArray{
				pulumi.String("1.1.1.1"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Service Bus Namespace can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:servicebus/namespaceNetworkRuleSet:NamespaceNetworkRuleSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ServiceBus/namespaces/sbns1 ```

func GetNamespaceNetworkRuleSet

func GetNamespaceNetworkRuleSet(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NamespaceNetworkRuleSetState, opts ...pulumi.ResourceOption) (*NamespaceNetworkRuleSet, error)

GetNamespaceNetworkRuleSet gets an existing NamespaceNetworkRuleSet resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNamespaceNetworkRuleSet

func NewNamespaceNetworkRuleSet(ctx *pulumi.Context,
	name string, args *NamespaceNetworkRuleSetArgs, opts ...pulumi.ResourceOption) (*NamespaceNetworkRuleSet, error)

NewNamespaceNetworkRuleSet registers a new resource with the given unique name, arguments, and options.

func (*NamespaceNetworkRuleSet) ElementType

func (*NamespaceNetworkRuleSet) ElementType() reflect.Type

func (*NamespaceNetworkRuleSet) ToNamespaceNetworkRuleSetOutput

func (i *NamespaceNetworkRuleSet) ToNamespaceNetworkRuleSetOutput() NamespaceNetworkRuleSetOutput

func (*NamespaceNetworkRuleSet) ToNamespaceNetworkRuleSetOutputWithContext

func (i *NamespaceNetworkRuleSet) ToNamespaceNetworkRuleSetOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetOutput

type NamespaceNetworkRuleSetArgs

type NamespaceNetworkRuleSetArgs struct {
	// Specifies the default action for the ServiceBus Namespace Network Rule Set. Possible values are `Allow` and `Deny`. Defaults to `Allow`.
	DefaultAction pulumi.StringPtrInput
	// One or more IP Addresses, or CIDR Blocks which should be able to access the ServiceBus Namespace.
	IpRules pulumi.StringArrayInput
	// Specifies the ServiceBus Namespace ID to which to attach the ServiceBus Namespace Network Rule Set. Changing this forces a new resource to be created.
	//
	// > **NOTE:** The ServiceBus Namespace must be `Premium` in order to attach a ServiceBus Namespace Network Rule Set.
	NamespaceId pulumi.StringInput
	// One or more `networkRules` blocks as defined below.
	NetworkRules NamespaceNetworkRuleSetNetworkRuleArrayInput
	// Whether to allow traffic over public network. Possible values are `true` and `false`. Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// If True, then Azure Services that are known and trusted for this resource type are allowed to bypass firewall configuration. See [Trusted Microsoft Services](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/service-bus-messaging/includes/service-bus-trusted-services.md)
	TrustedServicesAllowed pulumi.BoolPtrInput
}

The set of arguments for constructing a NamespaceNetworkRuleSet resource.

func (NamespaceNetworkRuleSetArgs) ElementType

type NamespaceNetworkRuleSetArray

type NamespaceNetworkRuleSetArray []NamespaceNetworkRuleSetInput

func (NamespaceNetworkRuleSetArray) ElementType

func (NamespaceNetworkRuleSetArray) ToNamespaceNetworkRuleSetArrayOutput

func (i NamespaceNetworkRuleSetArray) ToNamespaceNetworkRuleSetArrayOutput() NamespaceNetworkRuleSetArrayOutput

func (NamespaceNetworkRuleSetArray) ToNamespaceNetworkRuleSetArrayOutputWithContext

func (i NamespaceNetworkRuleSetArray) ToNamespaceNetworkRuleSetArrayOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetArrayOutput

type NamespaceNetworkRuleSetArrayInput

type NamespaceNetworkRuleSetArrayInput interface {
	pulumi.Input

	ToNamespaceNetworkRuleSetArrayOutput() NamespaceNetworkRuleSetArrayOutput
	ToNamespaceNetworkRuleSetArrayOutputWithContext(context.Context) NamespaceNetworkRuleSetArrayOutput
}

NamespaceNetworkRuleSetArrayInput is an input type that accepts NamespaceNetworkRuleSetArray and NamespaceNetworkRuleSetArrayOutput values. You can construct a concrete instance of `NamespaceNetworkRuleSetArrayInput` via:

NamespaceNetworkRuleSetArray{ NamespaceNetworkRuleSetArgs{...} }

type NamespaceNetworkRuleSetArrayOutput

type NamespaceNetworkRuleSetArrayOutput struct{ *pulumi.OutputState }

func (NamespaceNetworkRuleSetArrayOutput) ElementType

func (NamespaceNetworkRuleSetArrayOutput) Index

func (NamespaceNetworkRuleSetArrayOutput) ToNamespaceNetworkRuleSetArrayOutput

func (o NamespaceNetworkRuleSetArrayOutput) ToNamespaceNetworkRuleSetArrayOutput() NamespaceNetworkRuleSetArrayOutput

func (NamespaceNetworkRuleSetArrayOutput) ToNamespaceNetworkRuleSetArrayOutputWithContext

func (o NamespaceNetworkRuleSetArrayOutput) ToNamespaceNetworkRuleSetArrayOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetArrayOutput

type NamespaceNetworkRuleSetInput

type NamespaceNetworkRuleSetInput interface {
	pulumi.Input

	ToNamespaceNetworkRuleSetOutput() NamespaceNetworkRuleSetOutput
	ToNamespaceNetworkRuleSetOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetOutput
}

type NamespaceNetworkRuleSetMap

type NamespaceNetworkRuleSetMap map[string]NamespaceNetworkRuleSetInput

func (NamespaceNetworkRuleSetMap) ElementType

func (NamespaceNetworkRuleSetMap) ElementType() reflect.Type

func (NamespaceNetworkRuleSetMap) ToNamespaceNetworkRuleSetMapOutput

func (i NamespaceNetworkRuleSetMap) ToNamespaceNetworkRuleSetMapOutput() NamespaceNetworkRuleSetMapOutput

func (NamespaceNetworkRuleSetMap) ToNamespaceNetworkRuleSetMapOutputWithContext

func (i NamespaceNetworkRuleSetMap) ToNamespaceNetworkRuleSetMapOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetMapOutput

type NamespaceNetworkRuleSetMapInput

type NamespaceNetworkRuleSetMapInput interface {
	pulumi.Input

	ToNamespaceNetworkRuleSetMapOutput() NamespaceNetworkRuleSetMapOutput
	ToNamespaceNetworkRuleSetMapOutputWithContext(context.Context) NamespaceNetworkRuleSetMapOutput
}

NamespaceNetworkRuleSetMapInput is an input type that accepts NamespaceNetworkRuleSetMap and NamespaceNetworkRuleSetMapOutput values. You can construct a concrete instance of `NamespaceNetworkRuleSetMapInput` via:

NamespaceNetworkRuleSetMap{ "key": NamespaceNetworkRuleSetArgs{...} }

type NamespaceNetworkRuleSetMapOutput

type NamespaceNetworkRuleSetMapOutput struct{ *pulumi.OutputState }

func (NamespaceNetworkRuleSetMapOutput) ElementType

func (NamespaceNetworkRuleSetMapOutput) MapIndex

func (NamespaceNetworkRuleSetMapOutput) ToNamespaceNetworkRuleSetMapOutput

func (o NamespaceNetworkRuleSetMapOutput) ToNamespaceNetworkRuleSetMapOutput() NamespaceNetworkRuleSetMapOutput

func (NamespaceNetworkRuleSetMapOutput) ToNamespaceNetworkRuleSetMapOutputWithContext

func (o NamespaceNetworkRuleSetMapOutput) ToNamespaceNetworkRuleSetMapOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetMapOutput

type NamespaceNetworkRuleSetNetworkRule

type NamespaceNetworkRuleSetNetworkRule struct {
	// Should the ServiceBus Namespace Network Rule Set ignore missing Virtual Network Service Endpoint option in the Subnet? Defaults to `false`.
	IgnoreMissingVnetServiceEndpoint *bool `pulumi:"ignoreMissingVnetServiceEndpoint"`
	// The Subnet ID which should be able to access this ServiceBus Namespace.
	SubnetId string `pulumi:"subnetId"`
}

type NamespaceNetworkRuleSetNetworkRuleArgs

type NamespaceNetworkRuleSetNetworkRuleArgs struct {
	// Should the ServiceBus Namespace Network Rule Set ignore missing Virtual Network Service Endpoint option in the Subnet? Defaults to `false`.
	IgnoreMissingVnetServiceEndpoint pulumi.BoolPtrInput `pulumi:"ignoreMissingVnetServiceEndpoint"`
	// The Subnet ID which should be able to access this ServiceBus Namespace.
	SubnetId pulumi.StringInput `pulumi:"subnetId"`
}

func (NamespaceNetworkRuleSetNetworkRuleArgs) ElementType

func (NamespaceNetworkRuleSetNetworkRuleArgs) ToNamespaceNetworkRuleSetNetworkRuleOutput

func (i NamespaceNetworkRuleSetNetworkRuleArgs) ToNamespaceNetworkRuleSetNetworkRuleOutput() NamespaceNetworkRuleSetNetworkRuleOutput

func (NamespaceNetworkRuleSetNetworkRuleArgs) ToNamespaceNetworkRuleSetNetworkRuleOutputWithContext

func (i NamespaceNetworkRuleSetNetworkRuleArgs) ToNamespaceNetworkRuleSetNetworkRuleOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetNetworkRuleOutput

type NamespaceNetworkRuleSetNetworkRuleArray

type NamespaceNetworkRuleSetNetworkRuleArray []NamespaceNetworkRuleSetNetworkRuleInput

func (NamespaceNetworkRuleSetNetworkRuleArray) ElementType

func (NamespaceNetworkRuleSetNetworkRuleArray) ToNamespaceNetworkRuleSetNetworkRuleArrayOutput

func (i NamespaceNetworkRuleSetNetworkRuleArray) ToNamespaceNetworkRuleSetNetworkRuleArrayOutput() NamespaceNetworkRuleSetNetworkRuleArrayOutput

func (NamespaceNetworkRuleSetNetworkRuleArray) ToNamespaceNetworkRuleSetNetworkRuleArrayOutputWithContext

func (i NamespaceNetworkRuleSetNetworkRuleArray) ToNamespaceNetworkRuleSetNetworkRuleArrayOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetNetworkRuleArrayOutput

type NamespaceNetworkRuleSetNetworkRuleArrayInput

type NamespaceNetworkRuleSetNetworkRuleArrayInput interface {
	pulumi.Input

	ToNamespaceNetworkRuleSetNetworkRuleArrayOutput() NamespaceNetworkRuleSetNetworkRuleArrayOutput
	ToNamespaceNetworkRuleSetNetworkRuleArrayOutputWithContext(context.Context) NamespaceNetworkRuleSetNetworkRuleArrayOutput
}

NamespaceNetworkRuleSetNetworkRuleArrayInput is an input type that accepts NamespaceNetworkRuleSetNetworkRuleArray and NamespaceNetworkRuleSetNetworkRuleArrayOutput values. You can construct a concrete instance of `NamespaceNetworkRuleSetNetworkRuleArrayInput` via:

NamespaceNetworkRuleSetNetworkRuleArray{ NamespaceNetworkRuleSetNetworkRuleArgs{...} }

type NamespaceNetworkRuleSetNetworkRuleArrayOutput

type NamespaceNetworkRuleSetNetworkRuleArrayOutput struct{ *pulumi.OutputState }

func (NamespaceNetworkRuleSetNetworkRuleArrayOutput) ElementType

func (NamespaceNetworkRuleSetNetworkRuleArrayOutput) Index

func (NamespaceNetworkRuleSetNetworkRuleArrayOutput) ToNamespaceNetworkRuleSetNetworkRuleArrayOutput

func (o NamespaceNetworkRuleSetNetworkRuleArrayOutput) ToNamespaceNetworkRuleSetNetworkRuleArrayOutput() NamespaceNetworkRuleSetNetworkRuleArrayOutput

func (NamespaceNetworkRuleSetNetworkRuleArrayOutput) ToNamespaceNetworkRuleSetNetworkRuleArrayOutputWithContext

func (o NamespaceNetworkRuleSetNetworkRuleArrayOutput) ToNamespaceNetworkRuleSetNetworkRuleArrayOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetNetworkRuleArrayOutput

type NamespaceNetworkRuleSetNetworkRuleInput

type NamespaceNetworkRuleSetNetworkRuleInput interface {
	pulumi.Input

	ToNamespaceNetworkRuleSetNetworkRuleOutput() NamespaceNetworkRuleSetNetworkRuleOutput
	ToNamespaceNetworkRuleSetNetworkRuleOutputWithContext(context.Context) NamespaceNetworkRuleSetNetworkRuleOutput
}

NamespaceNetworkRuleSetNetworkRuleInput is an input type that accepts NamespaceNetworkRuleSetNetworkRuleArgs and NamespaceNetworkRuleSetNetworkRuleOutput values. You can construct a concrete instance of `NamespaceNetworkRuleSetNetworkRuleInput` via:

NamespaceNetworkRuleSetNetworkRuleArgs{...}

type NamespaceNetworkRuleSetNetworkRuleOutput

type NamespaceNetworkRuleSetNetworkRuleOutput struct{ *pulumi.OutputState }

func (NamespaceNetworkRuleSetNetworkRuleOutput) ElementType

func (NamespaceNetworkRuleSetNetworkRuleOutput) IgnoreMissingVnetServiceEndpoint

func (o NamespaceNetworkRuleSetNetworkRuleOutput) IgnoreMissingVnetServiceEndpoint() pulumi.BoolPtrOutput

Should the ServiceBus Namespace Network Rule Set ignore missing Virtual Network Service Endpoint option in the Subnet? Defaults to `false`.

func (NamespaceNetworkRuleSetNetworkRuleOutput) SubnetId

The Subnet ID which should be able to access this ServiceBus Namespace.

func (NamespaceNetworkRuleSetNetworkRuleOutput) ToNamespaceNetworkRuleSetNetworkRuleOutput

func (o NamespaceNetworkRuleSetNetworkRuleOutput) ToNamespaceNetworkRuleSetNetworkRuleOutput() NamespaceNetworkRuleSetNetworkRuleOutput

func (NamespaceNetworkRuleSetNetworkRuleOutput) ToNamespaceNetworkRuleSetNetworkRuleOutputWithContext

func (o NamespaceNetworkRuleSetNetworkRuleOutput) ToNamespaceNetworkRuleSetNetworkRuleOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetNetworkRuleOutput

type NamespaceNetworkRuleSetOutput

type NamespaceNetworkRuleSetOutput struct{ *pulumi.OutputState }

func (NamespaceNetworkRuleSetOutput) DefaultAction added in v5.5.0

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

func (NamespaceNetworkRuleSetOutput) ElementType

func (NamespaceNetworkRuleSetOutput) IpRules added in v5.5.0

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

func (NamespaceNetworkRuleSetOutput) NamespaceId added in v5.5.0

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

> **NOTE:** The ServiceBus Namespace must be `Premium` in order to attach a ServiceBus Namespace Network Rule Set.

func (NamespaceNetworkRuleSetOutput) NetworkRules added in v5.5.0

One or more `networkRules` blocks as defined below.

func (NamespaceNetworkRuleSetOutput) PublicNetworkAccessEnabled added in v5.5.0

func (o NamespaceNetworkRuleSetOutput) PublicNetworkAccessEnabled() pulumi.BoolPtrOutput

Whether to allow traffic over public network. Possible values are `true` and `false`. Defaults to `true`.

func (NamespaceNetworkRuleSetOutput) ToNamespaceNetworkRuleSetOutput

func (o NamespaceNetworkRuleSetOutput) ToNamespaceNetworkRuleSetOutput() NamespaceNetworkRuleSetOutput

func (NamespaceNetworkRuleSetOutput) ToNamespaceNetworkRuleSetOutputWithContext

func (o NamespaceNetworkRuleSetOutput) ToNamespaceNetworkRuleSetOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetOutput

func (NamespaceNetworkRuleSetOutput) TrustedServicesAllowed added in v5.5.0

func (o NamespaceNetworkRuleSetOutput) TrustedServicesAllowed() pulumi.BoolPtrOutput

If True, then Azure Services that are known and trusted for this resource type are allowed to bypass firewall configuration. See [Trusted Microsoft Services](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/service-bus-messaging/includes/service-bus-trusted-services.md)

type NamespaceNetworkRuleSetState

type NamespaceNetworkRuleSetState struct {
	// Specifies the default action for the ServiceBus Namespace Network Rule Set. Possible values are `Allow` and `Deny`. Defaults to `Allow`.
	DefaultAction pulumi.StringPtrInput
	// One or more IP Addresses, or CIDR Blocks which should be able to access the ServiceBus Namespace.
	IpRules pulumi.StringArrayInput
	// Specifies the ServiceBus Namespace ID to which to attach the ServiceBus Namespace Network Rule Set. Changing this forces a new resource to be created.
	//
	// > **NOTE:** The ServiceBus Namespace must be `Premium` in order to attach a ServiceBus Namespace Network Rule Set.
	NamespaceId pulumi.StringPtrInput
	// One or more `networkRules` blocks as defined below.
	NetworkRules NamespaceNetworkRuleSetNetworkRuleArrayInput
	// Whether to allow traffic over public network. Possible values are `true` and `false`. Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// If True, then Azure Services that are known and trusted for this resource type are allowed to bypass firewall configuration. See [Trusted Microsoft Services](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/service-bus-messaging/includes/service-bus-trusted-services.md)
	TrustedServicesAllowed pulumi.BoolPtrInput
}

func (NamespaceNetworkRuleSetState) ElementType

type NamespaceNetworkRuleSetType added in v5.49.0

type NamespaceNetworkRuleSetType struct {
	// Specifies the default action for the Network Rule Set. Possible values are `Allow` and `Deny`. Defaults to `Allow`.
	DefaultAction *string `pulumi:"defaultAction"`
	// One or more IP Addresses, or CIDR Blocks which should be able to access the ServiceBus Namespace.
	IpRules []string `pulumi:"ipRules"`
	// One or more `networkRules` blocks as defined below.
	NetworkRules []NamespaceNetworkRuleSetNetworkRule `pulumi:"networkRules"`
	// Whether to allow traffic over public network. Possible values are `true` and `false`. Defaults to `true`.
	PublicNetworkAccessEnabled *bool `pulumi:"publicNetworkAccessEnabled"`
	// Are Azure Services that are known and trusted for this resource type are allowed to bypass firewall configuration? See [Trusted Microsoft Services](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/service-bus-messaging/includes/service-bus-trusted-services.md)
	TrustedServicesAllowed *bool `pulumi:"trustedServicesAllowed"`
}

type NamespaceNetworkRuleSetTypeArgs added in v5.49.0

type NamespaceNetworkRuleSetTypeArgs struct {
	// Specifies the default action for the Network Rule Set. Possible values are `Allow` and `Deny`. Defaults to `Allow`.
	DefaultAction pulumi.StringPtrInput `pulumi:"defaultAction"`
	// One or more IP Addresses, or CIDR Blocks which should be able to access the ServiceBus Namespace.
	IpRules pulumi.StringArrayInput `pulumi:"ipRules"`
	// One or more `networkRules` blocks as defined below.
	NetworkRules NamespaceNetworkRuleSetNetworkRuleArrayInput `pulumi:"networkRules"`
	// Whether to allow traffic over public network. Possible values are `true` and `false`. Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput `pulumi:"publicNetworkAccessEnabled"`
	// Are Azure Services that are known and trusted for this resource type are allowed to bypass firewall configuration? See [Trusted Microsoft Services](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/service-bus-messaging/includes/service-bus-trusted-services.md)
	TrustedServicesAllowed pulumi.BoolPtrInput `pulumi:"trustedServicesAllowed"`
}

func (NamespaceNetworkRuleSetTypeArgs) ElementType added in v5.49.0

func (NamespaceNetworkRuleSetTypeArgs) ToNamespaceNetworkRuleSetTypeOutput added in v5.49.0

func (i NamespaceNetworkRuleSetTypeArgs) ToNamespaceNetworkRuleSetTypeOutput() NamespaceNetworkRuleSetTypeOutput

func (NamespaceNetworkRuleSetTypeArgs) ToNamespaceNetworkRuleSetTypeOutputWithContext added in v5.49.0

func (i NamespaceNetworkRuleSetTypeArgs) ToNamespaceNetworkRuleSetTypeOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetTypeOutput

func (NamespaceNetworkRuleSetTypeArgs) ToNamespaceNetworkRuleSetTypePtrOutput added in v5.49.0

func (i NamespaceNetworkRuleSetTypeArgs) ToNamespaceNetworkRuleSetTypePtrOutput() NamespaceNetworkRuleSetTypePtrOutput

func (NamespaceNetworkRuleSetTypeArgs) ToNamespaceNetworkRuleSetTypePtrOutputWithContext added in v5.49.0

func (i NamespaceNetworkRuleSetTypeArgs) ToNamespaceNetworkRuleSetTypePtrOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetTypePtrOutput

type NamespaceNetworkRuleSetTypeInput added in v5.49.0

type NamespaceNetworkRuleSetTypeInput interface {
	pulumi.Input

	ToNamespaceNetworkRuleSetTypeOutput() NamespaceNetworkRuleSetTypeOutput
	ToNamespaceNetworkRuleSetTypeOutputWithContext(context.Context) NamespaceNetworkRuleSetTypeOutput
}

NamespaceNetworkRuleSetTypeInput is an input type that accepts NamespaceNetworkRuleSetTypeArgs and NamespaceNetworkRuleSetTypeOutput values. You can construct a concrete instance of `NamespaceNetworkRuleSetTypeInput` via:

NamespaceNetworkRuleSetTypeArgs{...}

type NamespaceNetworkRuleSetTypeOutput added in v5.49.0

type NamespaceNetworkRuleSetTypeOutput struct{ *pulumi.OutputState }

func (NamespaceNetworkRuleSetTypeOutput) DefaultAction added in v5.49.0

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

func (NamespaceNetworkRuleSetTypeOutput) ElementType added in v5.49.0

func (NamespaceNetworkRuleSetTypeOutput) IpRules added in v5.49.0

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

func (NamespaceNetworkRuleSetTypeOutput) NetworkRules added in v5.49.0

One or more `networkRules` blocks as defined below.

func (NamespaceNetworkRuleSetTypeOutput) PublicNetworkAccessEnabled added in v5.49.0

func (o NamespaceNetworkRuleSetTypeOutput) PublicNetworkAccessEnabled() pulumi.BoolPtrOutput

Whether to allow traffic over public network. Possible values are `true` and `false`. Defaults to `true`.

func (NamespaceNetworkRuleSetTypeOutput) ToNamespaceNetworkRuleSetTypeOutput added in v5.49.0

func (o NamespaceNetworkRuleSetTypeOutput) ToNamespaceNetworkRuleSetTypeOutput() NamespaceNetworkRuleSetTypeOutput

func (NamespaceNetworkRuleSetTypeOutput) ToNamespaceNetworkRuleSetTypeOutputWithContext added in v5.49.0

func (o NamespaceNetworkRuleSetTypeOutput) ToNamespaceNetworkRuleSetTypeOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetTypeOutput

func (NamespaceNetworkRuleSetTypeOutput) ToNamespaceNetworkRuleSetTypePtrOutput added in v5.49.0

func (o NamespaceNetworkRuleSetTypeOutput) ToNamespaceNetworkRuleSetTypePtrOutput() NamespaceNetworkRuleSetTypePtrOutput

func (NamespaceNetworkRuleSetTypeOutput) ToNamespaceNetworkRuleSetTypePtrOutputWithContext added in v5.49.0

func (o NamespaceNetworkRuleSetTypeOutput) ToNamespaceNetworkRuleSetTypePtrOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetTypePtrOutput

func (NamespaceNetworkRuleSetTypeOutput) TrustedServicesAllowed added in v5.49.0

func (o NamespaceNetworkRuleSetTypeOutput) TrustedServicesAllowed() pulumi.BoolPtrOutput

Are Azure Services that are known and trusted for this resource type are allowed to bypass firewall configuration? See [Trusted Microsoft Services](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/service-bus-messaging/includes/service-bus-trusted-services.md)

type NamespaceNetworkRuleSetTypePtrInput added in v5.49.0

type NamespaceNetworkRuleSetTypePtrInput interface {
	pulumi.Input

	ToNamespaceNetworkRuleSetTypePtrOutput() NamespaceNetworkRuleSetTypePtrOutput
	ToNamespaceNetworkRuleSetTypePtrOutputWithContext(context.Context) NamespaceNetworkRuleSetTypePtrOutput
}

NamespaceNetworkRuleSetTypePtrInput is an input type that accepts NamespaceNetworkRuleSetTypeArgs, NamespaceNetworkRuleSetTypePtr and NamespaceNetworkRuleSetTypePtrOutput values. You can construct a concrete instance of `NamespaceNetworkRuleSetTypePtrInput` via:

        NamespaceNetworkRuleSetTypeArgs{...}

or:

        nil

func NamespaceNetworkRuleSetTypePtr added in v5.49.0

type NamespaceNetworkRuleSetTypePtrOutput added in v5.49.0

type NamespaceNetworkRuleSetTypePtrOutput struct{ *pulumi.OutputState }

func (NamespaceNetworkRuleSetTypePtrOutput) DefaultAction added in v5.49.0

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

func (NamespaceNetworkRuleSetTypePtrOutput) Elem added in v5.49.0

func (NamespaceNetworkRuleSetTypePtrOutput) ElementType added in v5.49.0

func (NamespaceNetworkRuleSetTypePtrOutput) IpRules added in v5.49.0

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

func (NamespaceNetworkRuleSetTypePtrOutput) NetworkRules added in v5.49.0

One or more `networkRules` blocks as defined below.

func (NamespaceNetworkRuleSetTypePtrOutput) PublicNetworkAccessEnabled added in v5.49.0

func (o NamespaceNetworkRuleSetTypePtrOutput) PublicNetworkAccessEnabled() pulumi.BoolPtrOutput

Whether to allow traffic over public network. Possible values are `true` and `false`. Defaults to `true`.

func (NamespaceNetworkRuleSetTypePtrOutput) ToNamespaceNetworkRuleSetTypePtrOutput added in v5.49.0

func (o NamespaceNetworkRuleSetTypePtrOutput) ToNamespaceNetworkRuleSetTypePtrOutput() NamespaceNetworkRuleSetTypePtrOutput

func (NamespaceNetworkRuleSetTypePtrOutput) ToNamespaceNetworkRuleSetTypePtrOutputWithContext added in v5.49.0

func (o NamespaceNetworkRuleSetTypePtrOutput) ToNamespaceNetworkRuleSetTypePtrOutputWithContext(ctx context.Context) NamespaceNetworkRuleSetTypePtrOutput

func (NamespaceNetworkRuleSetTypePtrOutput) TrustedServicesAllowed added in v5.49.0

func (o NamespaceNetworkRuleSetTypePtrOutput) TrustedServicesAllowed() pulumi.BoolPtrOutput

Are Azure Services that are known and trusted for this resource type are allowed to bypass firewall configuration? See [Trusted Microsoft Services](https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/service-bus-messaging/includes/service-bus-trusted-services.md)

type NamespaceOutput

type NamespaceOutput struct{ *pulumi.OutputState }

func (NamespaceOutput) Capacity added in v5.5.0

func (o NamespaceOutput) Capacity() pulumi.IntPtrOutput

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

func (NamespaceOutput) CustomerManagedKey added in v5.5.0

An `customerManagedKey` block as defined below.

func (NamespaceOutput) DefaultPrimaryConnectionString added in v5.5.0

func (o NamespaceOutput) DefaultPrimaryConnectionString() pulumi.StringOutput

The primary connection string for the authorization rule `RootManageSharedAccessKey`.

func (NamespaceOutput) DefaultPrimaryKey added in v5.5.0

func (o NamespaceOutput) DefaultPrimaryKey() pulumi.StringOutput

The primary access key for the authorization rule `RootManageSharedAccessKey`.

func (NamespaceOutput) DefaultSecondaryConnectionString added in v5.5.0

func (o NamespaceOutput) DefaultSecondaryConnectionString() pulumi.StringOutput

The secondary connection string for the authorization rule `RootManageSharedAccessKey`.

func (NamespaceOutput) DefaultSecondaryKey added in v5.5.0

func (o NamespaceOutput) DefaultSecondaryKey() pulumi.StringOutput

The secondary access key for the authorization rule `RootManageSharedAccessKey`.

func (NamespaceOutput) ElementType

func (NamespaceOutput) ElementType() reflect.Type

func (NamespaceOutput) Endpoint added in v5.37.0

func (o NamespaceOutput) Endpoint() pulumi.StringOutput

The URL to access the ServiceBus Namespace.

func (NamespaceOutput) Identity added in v5.5.0

An `identity` block as defined below.

func (NamespaceOutput) LocalAuthEnabled added in v5.5.0

func (o NamespaceOutput) LocalAuthEnabled() pulumi.BoolPtrOutput

Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to `true`.

func (NamespaceOutput) Location added in v5.5.0

func (o NamespaceOutput) Location() pulumi.StringOutput

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

func (NamespaceOutput) MinimumTlsVersion added in v5.18.0

func (o NamespaceOutput) MinimumTlsVersion() pulumi.StringOutput

The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. The current default minimum TLS version is `1.2`.

func (NamespaceOutput) Name added in v5.5.0

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

func (NamespaceOutput) NetworkRuleSet added in v5.49.0

An `networkRuleSet` block as defined below.

func (NamespaceOutput) PremiumMessagingPartitions added in v5.68.0

func (o NamespaceOutput) PremiumMessagingPartitions() pulumi.IntPtrOutput

Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created.

> **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.

func (NamespaceOutput) PublicNetworkAccessEnabled added in v5.18.0

func (o NamespaceOutput) PublicNetworkAccessEnabled() pulumi.BoolPtrOutput

Is public network access enabled for the Service Bus Namespace? Defaults to `true`.

func (NamespaceOutput) ResourceGroupName added in v5.5.0

func (o NamespaceOutput) ResourceGroupName() pulumi.StringOutput

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

func (NamespaceOutput) Sku added in v5.5.0

Defines which tier to use. Options are `Basic`, `Standard` or `Premium`. Please note that setting this field to `Premium` will force the creation of a new resource.

func (NamespaceOutput) Tags added in v5.5.0

A mapping of tags to assign to the resource.

func (NamespaceOutput) ToNamespaceOutput

func (o NamespaceOutput) ToNamespaceOutput() NamespaceOutput

func (NamespaceOutput) ToNamespaceOutputWithContext

func (o NamespaceOutput) ToNamespaceOutputWithContext(ctx context.Context) NamespaceOutput

func (NamespaceOutput) ZoneRedundant added in v5.5.0

func (o NamespaceOutput) ZoneRedundant() pulumi.BoolPtrOutput

Whether or not this resource is zone redundant. `sku` needs to be `Premium`. Changing this forces a new resource to be created.

type NamespaceState

type NamespaceState struct {
	// Specifies the capacity. When `sku` is `Premium`, capacity can be `1`, `2`, `4`, `8` or `16`. When `sku` is `Basic` or `Standard`, capacity can be `0` only.
	Capacity pulumi.IntPtrInput
	// An `customerManagedKey` block as defined below.
	CustomerManagedKey NamespaceCustomerManagedKeyPtrInput
	// The primary connection string for the authorization rule `RootManageSharedAccessKey`.
	DefaultPrimaryConnectionString pulumi.StringPtrInput
	// The primary access key for the authorization rule `RootManageSharedAccessKey`.
	DefaultPrimaryKey pulumi.StringPtrInput
	// The secondary connection string for the authorization rule `RootManageSharedAccessKey`.
	DefaultSecondaryConnectionString pulumi.StringPtrInput
	// The secondary access key for the authorization rule `RootManageSharedAccessKey`.
	DefaultSecondaryKey pulumi.StringPtrInput
	// The URL to access the ServiceBus Namespace.
	Endpoint pulumi.StringPtrInput
	// An `identity` block as defined below.
	Identity NamespaceIdentityPtrInput
	// Whether or not SAS authentication is enabled for the Service Bus namespace. Defaults to `true`.
	LocalAuthEnabled pulumi.BoolPtrInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. The current default minimum TLS version is `1.2`.
	MinimumTlsVersion pulumi.StringPtrInput
	// Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// An `networkRuleSet` block as defined below.
	NetworkRuleSet NamespaceNetworkRuleSetTypePtrInput
	// Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created.
	//
	// > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.
	PremiumMessagingPartitions pulumi.IntPtrInput
	// Is public network access enabled for the Service Bus Namespace? Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// The name of the resource group in which to Changing this forces a new resource to be created.
	// create the namespace.
	ResourceGroupName pulumi.StringPtrInput
	// Defines which tier to use. Options are `Basic`, `Standard` or `Premium`. Please note that setting this field to `Premium` will force the creation of a new resource.
	Sku pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether or not this resource is zone redundant. `sku` needs to be `Premium`. Changing this forces a new resource to be created.
	ZoneRedundant pulumi.BoolPtrInput
}

func (NamespaceState) ElementType

func (NamespaceState) ElementType() reflect.Type

type Queue

type Queue struct {
	pulumi.CustomResourceState

	// The ISO 8601 timespan duration of the idle interval after which the Queue is automatically deleted, minimum of 5 minutes.
	AutoDeleteOnIdle pulumi.StringOutput `pulumi:"autoDeleteOnIdle"`
	// Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to `false`.
	DeadLetteringOnMessageExpiration pulumi.BoolPtrOutput `pulumi:"deadLetteringOnMessageExpiration"`
	// 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.
	DefaultMessageTtl pulumi.StringOutput `pulumi:"defaultMessageTtl"`
	// The ISO 8601 timespan duration during which duplicates can be detected. Defaults to 10 minutes (`PT10M`).
	DuplicateDetectionHistoryTimeWindow pulumi.StringOutput `pulumi:"duplicateDetectionHistoryTimeWindow"`
	// Boolean flag which controls whether server-side batched operations are enabled. Defaults to `true`.
	EnableBatchedOperations pulumi.BoolPtrOutput `pulumi:"enableBatchedOperations"`
	// 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`.
	//
	// > **NOTE:** Service Bus Premium namespaces do not support Express Entities, so `enableExpress` MUST be set to `false`.
	EnableExpress pulumi.BoolPtrOutput `pulumi:"enableExpress"`
	// 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.
	//
	// > **NOTE:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. For premium namespace, partitioning is available at namespace creation, and all queues and topics in the partitioned namespace will be partitioned, for the premium namespace that has `premiumMessagingPartitions` sets to `1`, the namespace is not partitioned.
	EnablePartitioning pulumi.BoolPtrOutput `pulumi:"enablePartitioning"`
	// The name of a Queue or Topic to automatically forward dead lettered messages to.
	ForwardDeadLetteredMessagesTo pulumi.StringPtrOutput `pulumi:"forwardDeadLetteredMessagesTo"`
	// The name of a Queue or Topic to automatically forward messages to. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding) for more information.
	ForwardTo pulumi.StringPtrOutput `pulumi:"forwardTo"`
	// 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`).
	LockDuration pulumi.StringOutput `pulumi:"lockDuration"`
	// Integer value which controls when a message is automatically dead lettered. Defaults to `10`.
	MaxDeliveryCount pulumi.IntPtrOutput `pulumi:"maxDeliveryCount"`
	// Integer value which controls the maximum size of a message allowed on the queue for Premium SKU. For supported values see the "Large messages support" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview).
	MaxMessageSizeInKilobytes pulumi.IntOutput `pulumi:"maxMessageSizeInKilobytes"`
	// Integer value which controls the size of memory allocated for the queue. For supported values see the "Queue or topic size" section of [Service Bus Quotas](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). Defaults to `1024`.
	MaxSizeInMegabytes pulumi.IntOutput `pulumi:"maxSizeInMegabytes"`
	// Specifies the name of the ServiceBus Queue resource. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.
	NamespaceId   pulumi.StringOutput `pulumi:"namespaceId"`
	NamespaceName pulumi.StringOutput `pulumi:"namespaceName"`
	// Boolean flag which controls whether the Queue requires duplicate detection. Changing this forces a new resource to be created. Defaults to `false`.
	RequiresDuplicateDetection pulumi.BoolPtrOutput `pulumi:"requiresDuplicateDetection"`
	// 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`.
	RequiresSession   pulumi.BoolPtrOutput `pulumi:"requiresSession"`
	ResourceGroupName pulumi.StringOutput  `pulumi:"resourceGroupName"`
	// The status of the Queue. Possible values are `Active`, `Creating`, `Deleting`, `Disabled`, `ReceiveDisabled`, `Renaming`, `SendDisabled`, `Unknown`. Note that `Restoring` is not accepted. Defaults to `Active`.
	Status pulumi.StringPtrOutput `pulumi:"status"`
}

Manages a ServiceBus Queue.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("my-servicebus"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleNamespace, err := servicebus.NewNamespace(ctx, "example", &servicebus.NamespaceArgs{
			Name:              pulumi.String("tfex-servicebus-namespace"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
			Tags: pulumi.StringMap{
				"source": pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		_, err = servicebus.NewQueue(ctx, "example", &servicebus.QueueArgs{
			Name:               pulumi.String("tfex_servicebus_queue"),
			NamespaceId:        exampleNamespace.ID(),
			EnablePartitioning: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Service Bus Queue can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:servicebus/queue:Queue example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1/queues/snqueue1 ```

func GetQueue

func GetQueue(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QueueState, opts ...pulumi.ResourceOption) (*Queue, error)

GetQueue gets an existing Queue resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewQueue

func NewQueue(ctx *pulumi.Context,
	name string, args *QueueArgs, opts ...pulumi.ResourceOption) (*Queue, error)

NewQueue registers a new resource with the given unique name, arguments, and options.

func (*Queue) ElementType

func (*Queue) ElementType() reflect.Type

func (*Queue) ToQueueOutput

func (i *Queue) ToQueueOutput() QueueOutput

func (*Queue) ToQueueOutputWithContext

func (i *Queue) ToQueueOutputWithContext(ctx context.Context) QueueOutput

type QueueArgs

type QueueArgs struct {
	// The ISO 8601 timespan duration of the idle interval after which the Queue is automatically deleted, minimum of 5 minutes.
	AutoDeleteOnIdle pulumi.StringPtrInput
	// Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to `false`.
	DeadLetteringOnMessageExpiration pulumi.BoolPtrInput
	// 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.
	DefaultMessageTtl pulumi.StringPtrInput
	// The ISO 8601 timespan duration during which duplicates can be detected. Defaults to 10 minutes (`PT10M`).
	DuplicateDetectionHistoryTimeWindow pulumi.StringPtrInput
	// Boolean flag which controls whether server-side batched operations are enabled. Defaults to `true`.
	EnableBatchedOperations pulumi.BoolPtrInput
	// 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`.
	//
	// > **NOTE:** Service Bus Premium namespaces do not support Express Entities, so `enableExpress` MUST be set to `false`.
	EnableExpress pulumi.BoolPtrInput
	// 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.
	//
	// > **NOTE:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. For premium namespace, partitioning is available at namespace creation, and all queues and topics in the partitioned namespace will be partitioned, for the premium namespace that has `premiumMessagingPartitions` sets to `1`, the namespace is not partitioned.
	EnablePartitioning pulumi.BoolPtrInput
	// The name of a Queue or Topic to automatically forward dead lettered messages to.
	ForwardDeadLetteredMessagesTo pulumi.StringPtrInput
	// The name of a Queue or Topic to automatically forward messages to. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding) for more information.
	ForwardTo pulumi.StringPtrInput
	// 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`).
	LockDuration pulumi.StringPtrInput
	// Integer value which controls when a message is automatically dead lettered. Defaults to `10`.
	MaxDeliveryCount pulumi.IntPtrInput
	// Integer value which controls the maximum size of a message allowed on the queue for Premium SKU. For supported values see the "Large messages support" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview).
	MaxMessageSizeInKilobytes pulumi.IntPtrInput
	// Integer value which controls the size of memory allocated for the queue. For supported values see the "Queue or topic size" section of [Service Bus Quotas](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). Defaults to `1024`.
	MaxSizeInMegabytes pulumi.IntPtrInput
	// Specifies the name of the ServiceBus Queue resource. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.
	NamespaceId pulumi.StringInput
	// Boolean flag which controls whether the Queue requires duplicate detection. Changing this forces a new resource to be created. Defaults to `false`.
	RequiresDuplicateDetection pulumi.BoolPtrInput
	// 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`.
	RequiresSession pulumi.BoolPtrInput
	// The status of the Queue. Possible values are `Active`, `Creating`, `Deleting`, `Disabled`, `ReceiveDisabled`, `Renaming`, `SendDisabled`, `Unknown`. Note that `Restoring` is not accepted. Defaults to `Active`.
	Status pulumi.StringPtrInput
}

The set of arguments for constructing a Queue resource.

func (QueueArgs) ElementType

func (QueueArgs) ElementType() reflect.Type

type QueueArray

type QueueArray []QueueInput

func (QueueArray) ElementType

func (QueueArray) ElementType() reflect.Type

func (QueueArray) ToQueueArrayOutput

func (i QueueArray) ToQueueArrayOutput() QueueArrayOutput

func (QueueArray) ToQueueArrayOutputWithContext

func (i QueueArray) ToQueueArrayOutputWithContext(ctx context.Context) QueueArrayOutput

type QueueArrayInput

type QueueArrayInput interface {
	pulumi.Input

	ToQueueArrayOutput() QueueArrayOutput
	ToQueueArrayOutputWithContext(context.Context) QueueArrayOutput
}

QueueArrayInput is an input type that accepts QueueArray and QueueArrayOutput values. You can construct a concrete instance of `QueueArrayInput` via:

QueueArray{ QueueArgs{...} }

type QueueArrayOutput

type QueueArrayOutput struct{ *pulumi.OutputState }

func (QueueArrayOutput) ElementType

func (QueueArrayOutput) ElementType() reflect.Type

func (QueueArrayOutput) Index

func (QueueArrayOutput) ToQueueArrayOutput

func (o QueueArrayOutput) ToQueueArrayOutput() QueueArrayOutput

func (QueueArrayOutput) ToQueueArrayOutputWithContext

func (o QueueArrayOutput) ToQueueArrayOutputWithContext(ctx context.Context) QueueArrayOutput

type QueueAuthorizationRule

type QueueAuthorizationRule struct {
	pulumi.CustomResourceState

	// Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to `false`.
	Listen pulumi.BoolPtrOutput `pulumi:"listen"`
	// 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`.
	Manage pulumi.BoolPtrOutput `pulumi:"manage"`
	// Specifies the name of the Authorization Rule. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The Primary Connection String for the Authorization Rule.
	PrimaryConnectionString pulumi.StringOutput `pulumi:"primaryConnectionString"`
	// The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.
	PrimaryConnectionStringAlias pulumi.StringOutput `pulumi:"primaryConnectionStringAlias"`
	// The Primary Key for the Authorization Rule.
	PrimaryKey pulumi.StringOutput `pulumi:"primaryKey"`
	// Specifies the ID of the ServiceBus Queue. Changing this forces a new resource to be created.
	//
	// > **NOTE** At least one of the 3 permissions below needs to be set.
	QueueId pulumi.StringOutput `pulumi:"queueId"`
	// The Secondary Connection String for the Authorization Rule.
	SecondaryConnectionString pulumi.StringOutput `pulumi:"secondaryConnectionString"`
	// The alias Secondary Connection String for the ServiceBus Namespace
	SecondaryConnectionStringAlias pulumi.StringOutput `pulumi:"secondaryConnectionStringAlias"`
	// The Secondary Key for the Authorization Rule.
	SecondaryKey pulumi.StringOutput `pulumi:"secondaryKey"`
	// Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to `false`.
	Send pulumi.BoolPtrOutput `pulumi:"send"`
}

Manages an Authorization Rule for a ServiceBus Queue.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("my-servicebus"),
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		exampleNamespace, err := servicebus.NewNamespace(ctx, "example", &servicebus.NamespaceArgs{
			Name:              pulumi.String("tfex-servicebus-namespace"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
			Tags: pulumi.StringMap{
				"source": pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		exampleQueue, err := servicebus.NewQueue(ctx, "example", &servicebus.QueueArgs{
			Name:               pulumi.String("tfex_servicebus_queue"),
			NamespaceId:        exampleNamespace.ID(),
			EnablePartitioning: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = servicebus.NewQueueAuthorizationRule(ctx, "example", &servicebus.QueueAuthorizationRuleArgs{
			Name:    pulumi.String("examplerule"),
			QueueId: exampleQueue.ID(),
			Listen:  pulumi.Bool(true),
			Send:    pulumi.Bool(true),
			Manage:  pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ServiceBus Queue Authorization Rules can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:servicebus/queueAuthorizationRule:QueueAuthorizationRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ServiceBus/namespaces/namespace1/queues/queue1/authorizationRules/rule1 ```

func GetQueueAuthorizationRule

func GetQueueAuthorizationRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QueueAuthorizationRuleState, opts ...pulumi.ResourceOption) (*QueueAuthorizationRule, error)

GetQueueAuthorizationRule gets an existing QueueAuthorizationRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewQueueAuthorizationRule

func NewQueueAuthorizationRule(ctx *pulumi.Context,
	name string, args *QueueAuthorizationRuleArgs, opts ...pulumi.ResourceOption) (*QueueAuthorizationRule, error)

NewQueueAuthorizationRule registers a new resource with the given unique name, arguments, and options.

func (*QueueAuthorizationRule) ElementType

func (*QueueAuthorizationRule) ElementType() reflect.Type

func (*QueueAuthorizationRule) ToQueueAuthorizationRuleOutput

func (i *QueueAuthorizationRule) ToQueueAuthorizationRuleOutput() QueueAuthorizationRuleOutput

func (*QueueAuthorizationRule) ToQueueAuthorizationRuleOutputWithContext

func (i *QueueAuthorizationRule) ToQueueAuthorizationRuleOutputWithContext(ctx context.Context) QueueAuthorizationRuleOutput

type QueueAuthorizationRuleArgs

type QueueAuthorizationRuleArgs struct {
	// Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to `false`.
	Listen pulumi.BoolPtrInput
	// 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`.
	Manage pulumi.BoolPtrInput
	// Specifies the name of the Authorization Rule. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the ID of the ServiceBus Queue. Changing this forces a new resource to be created.
	//
	// > **NOTE** At least one of the 3 permissions below needs to be set.
	QueueId pulumi.StringInput
	// Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to `false`.
	Send pulumi.BoolPtrInput
}

The set of arguments for constructing a QueueAuthorizationRule resource.

func (QueueAuthorizationRuleArgs) ElementType

func (QueueAuthorizationRuleArgs) ElementType() reflect.Type

type QueueAuthorizationRuleArray

type QueueAuthorizationRuleArray []QueueAuthorizationRuleInput

func (QueueAuthorizationRuleArray) ElementType

func (QueueAuthorizationRuleArray) ToQueueAuthorizationRuleArrayOutput

func (i QueueAuthorizationRuleArray) ToQueueAuthorizationRuleArrayOutput() QueueAuthorizationRuleArrayOutput

func (QueueAuthorizationRuleArray) ToQueueAuthorizationRuleArrayOutputWithContext

func (i QueueAuthorizationRuleArray) ToQueueAuthorizationRuleArrayOutputWithContext(ctx context.Context) QueueAuthorizationRuleArrayOutput

type QueueAuthorizationRuleArrayInput

type QueueAuthorizationRuleArrayInput interface {
	pulumi.Input

	ToQueueAuthorizationRuleArrayOutput() QueueAuthorizationRuleArrayOutput
	ToQueueAuthorizationRuleArrayOutputWithContext(context.Context) QueueAuthorizationRuleArrayOutput
}

QueueAuthorizationRuleArrayInput is an input type that accepts QueueAuthorizationRuleArray and QueueAuthorizationRuleArrayOutput values. You can construct a concrete instance of `QueueAuthorizationRuleArrayInput` via:

QueueAuthorizationRuleArray{ QueueAuthorizationRuleArgs{...} }

type QueueAuthorizationRuleArrayOutput

type QueueAuthorizationRuleArrayOutput struct{ *pulumi.OutputState }

func (QueueAuthorizationRuleArrayOutput) ElementType

func (QueueAuthorizationRuleArrayOutput) Index

func (QueueAuthorizationRuleArrayOutput) ToQueueAuthorizationRuleArrayOutput

func (o QueueAuthorizationRuleArrayOutput) ToQueueAuthorizationRuleArrayOutput() QueueAuthorizationRuleArrayOutput

func (QueueAuthorizationRuleArrayOutput) ToQueueAuthorizationRuleArrayOutputWithContext

func (o QueueAuthorizationRuleArrayOutput) ToQueueAuthorizationRuleArrayOutputWithContext(ctx context.Context) QueueAuthorizationRuleArrayOutput

type QueueAuthorizationRuleInput

type QueueAuthorizationRuleInput interface {
	pulumi.Input

	ToQueueAuthorizationRuleOutput() QueueAuthorizationRuleOutput
	ToQueueAuthorizationRuleOutputWithContext(ctx context.Context) QueueAuthorizationRuleOutput
}

type QueueAuthorizationRuleMap

type QueueAuthorizationRuleMap map[string]QueueAuthorizationRuleInput

func (QueueAuthorizationRuleMap) ElementType

func (QueueAuthorizationRuleMap) ElementType() reflect.Type

func (QueueAuthorizationRuleMap) ToQueueAuthorizationRuleMapOutput

func (i QueueAuthorizationRuleMap) ToQueueAuthorizationRuleMapOutput() QueueAuthorizationRuleMapOutput

func (QueueAuthorizationRuleMap) ToQueueAuthorizationRuleMapOutputWithContext

func (i QueueAuthorizationRuleMap) ToQueueAuthorizationRuleMapOutputWithContext(ctx context.Context) QueueAuthorizationRuleMapOutput

type QueueAuthorizationRuleMapInput

type QueueAuthorizationRuleMapInput interface {
	pulumi.Input

	ToQueueAuthorizationRuleMapOutput() QueueAuthorizationRuleMapOutput
	ToQueueAuthorizationRuleMapOutputWithContext(context.Context) QueueAuthorizationRuleMapOutput
}

QueueAuthorizationRuleMapInput is an input type that accepts QueueAuthorizationRuleMap and QueueAuthorizationRuleMapOutput values. You can construct a concrete instance of `QueueAuthorizationRuleMapInput` via:

QueueAuthorizationRuleMap{ "key": QueueAuthorizationRuleArgs{...} }

type QueueAuthorizationRuleMapOutput

type QueueAuthorizationRuleMapOutput struct{ *pulumi.OutputState }

func (QueueAuthorizationRuleMapOutput) ElementType

func (QueueAuthorizationRuleMapOutput) MapIndex

func (QueueAuthorizationRuleMapOutput) ToQueueAuthorizationRuleMapOutput

func (o QueueAuthorizationRuleMapOutput) ToQueueAuthorizationRuleMapOutput() QueueAuthorizationRuleMapOutput

func (QueueAuthorizationRuleMapOutput) ToQueueAuthorizationRuleMapOutputWithContext

func (o QueueAuthorizationRuleMapOutput) ToQueueAuthorizationRuleMapOutputWithContext(ctx context.Context) QueueAuthorizationRuleMapOutput

type QueueAuthorizationRuleOutput

type QueueAuthorizationRuleOutput struct{ *pulumi.OutputState }

func (QueueAuthorizationRuleOutput) ElementType

func (QueueAuthorizationRuleOutput) Listen added in v5.5.0

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

func (QueueAuthorizationRuleOutput) Manage added in v5.5.0

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`.

func (QueueAuthorizationRuleOutput) Name added in v5.5.0

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

func (QueueAuthorizationRuleOutput) PrimaryConnectionString added in v5.5.0

func (o QueueAuthorizationRuleOutput) PrimaryConnectionString() pulumi.StringOutput

The Primary Connection String for the Authorization Rule.

func (QueueAuthorizationRuleOutput) PrimaryConnectionStringAlias added in v5.5.0

func (o QueueAuthorizationRuleOutput) PrimaryConnectionStringAlias() pulumi.StringOutput

The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.

func (QueueAuthorizationRuleOutput) PrimaryKey added in v5.5.0

The Primary Key for the Authorization Rule.

func (QueueAuthorizationRuleOutput) QueueId added in v5.5.0

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

> **NOTE** At least one of the 3 permissions below needs to be set.

func (QueueAuthorizationRuleOutput) SecondaryConnectionString added in v5.5.0

func (o QueueAuthorizationRuleOutput) SecondaryConnectionString() pulumi.StringOutput

The Secondary Connection String for the Authorization Rule.

func (QueueAuthorizationRuleOutput) SecondaryConnectionStringAlias added in v5.5.0

func (o QueueAuthorizationRuleOutput) SecondaryConnectionStringAlias() pulumi.StringOutput

The alias Secondary Connection String for the ServiceBus Namespace

func (QueueAuthorizationRuleOutput) SecondaryKey added in v5.5.0

The Secondary Key for the Authorization Rule.

func (QueueAuthorizationRuleOutput) Send added in v5.5.0

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

func (QueueAuthorizationRuleOutput) ToQueueAuthorizationRuleOutput

func (o QueueAuthorizationRuleOutput) ToQueueAuthorizationRuleOutput() QueueAuthorizationRuleOutput

func (QueueAuthorizationRuleOutput) ToQueueAuthorizationRuleOutputWithContext

func (o QueueAuthorizationRuleOutput) ToQueueAuthorizationRuleOutputWithContext(ctx context.Context) QueueAuthorizationRuleOutput

type QueueAuthorizationRuleState

type QueueAuthorizationRuleState struct {
	// Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to `false`.
	Listen pulumi.BoolPtrInput
	// 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`.
	Manage pulumi.BoolPtrInput
	// Specifies the name of the Authorization Rule. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The Primary Connection String for the Authorization Rule.
	PrimaryConnectionString pulumi.StringPtrInput
	// The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.
	PrimaryConnectionStringAlias pulumi.StringPtrInput
	// The Primary Key for the Authorization Rule.
	PrimaryKey pulumi.StringPtrInput
	// Specifies the ID of the ServiceBus Queue. Changing this forces a new resource to be created.
	//
	// > **NOTE** At least one of the 3 permissions below needs to be set.
	QueueId pulumi.StringPtrInput
	// The Secondary Connection String for the Authorization Rule.
	SecondaryConnectionString pulumi.StringPtrInput
	// The alias Secondary Connection String for the ServiceBus Namespace
	SecondaryConnectionStringAlias pulumi.StringPtrInput
	// The Secondary Key for the Authorization Rule.
	SecondaryKey pulumi.StringPtrInput
	// Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to `false`.
	Send pulumi.BoolPtrInput
}

func (QueueAuthorizationRuleState) ElementType

type QueueInput

type QueueInput interface {
	pulumi.Input

	ToQueueOutput() QueueOutput
	ToQueueOutputWithContext(ctx context.Context) QueueOutput
}

type QueueMap

type QueueMap map[string]QueueInput

func (QueueMap) ElementType

func (QueueMap) ElementType() reflect.Type

func (QueueMap) ToQueueMapOutput

func (i QueueMap) ToQueueMapOutput() QueueMapOutput

func (QueueMap) ToQueueMapOutputWithContext

func (i QueueMap) ToQueueMapOutputWithContext(ctx context.Context) QueueMapOutput

type QueueMapInput

type QueueMapInput interface {
	pulumi.Input

	ToQueueMapOutput() QueueMapOutput
	ToQueueMapOutputWithContext(context.Context) QueueMapOutput
}

QueueMapInput is an input type that accepts QueueMap and QueueMapOutput values. You can construct a concrete instance of `QueueMapInput` via:

QueueMap{ "key": QueueArgs{...} }

type QueueMapOutput

type QueueMapOutput struct{ *pulumi.OutputState }

func (QueueMapOutput) ElementType

func (QueueMapOutput) ElementType() reflect.Type

func (QueueMapOutput) MapIndex

func (QueueMapOutput) ToQueueMapOutput

func (o QueueMapOutput) ToQueueMapOutput() QueueMapOutput

func (QueueMapOutput) ToQueueMapOutputWithContext

func (o QueueMapOutput) ToQueueMapOutputWithContext(ctx context.Context) QueueMapOutput

type QueueOutput

type QueueOutput struct{ *pulumi.OutputState }

func (QueueOutput) AutoDeleteOnIdle added in v5.5.0

func (o QueueOutput) AutoDeleteOnIdle() pulumi.StringOutput

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

func (QueueOutput) DeadLetteringOnMessageExpiration added in v5.5.0

func (o QueueOutput) DeadLetteringOnMessageExpiration() pulumi.BoolPtrOutput

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

func (QueueOutput) DefaultMessageTtl added in v5.5.0

func (o QueueOutput) DefaultMessageTtl() pulumi.StringOutput

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.

func (QueueOutput) DuplicateDetectionHistoryTimeWindow added in v5.5.0

func (o QueueOutput) DuplicateDetectionHistoryTimeWindow() pulumi.StringOutput

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

func (QueueOutput) ElementType

func (QueueOutput) ElementType() reflect.Type

func (QueueOutput) EnableBatchedOperations added in v5.5.0

func (o QueueOutput) EnableBatchedOperations() pulumi.BoolPtrOutput

Boolean flag which controls whether server-side batched operations are enabled. Defaults to `true`.

func (QueueOutput) EnableExpress added in v5.5.0

func (o QueueOutput) EnableExpress() pulumi.BoolPtrOutput

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`.

> **NOTE:** Service Bus Premium namespaces do not support Express Entities, so `enableExpress` MUST be set to `false`.

func (QueueOutput) EnablePartitioning added in v5.5.0

func (o QueueOutput) EnablePartitioning() pulumi.BoolPtrOutput

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.

> **NOTE:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. For premium namespace, partitioning is available at namespace creation, and all queues and topics in the partitioned namespace will be partitioned, for the premium namespace that has `premiumMessagingPartitions` sets to `1`, the namespace is not partitioned.

func (QueueOutput) ForwardDeadLetteredMessagesTo added in v5.5.0

func (o QueueOutput) ForwardDeadLetteredMessagesTo() pulumi.StringPtrOutput

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

func (QueueOutput) ForwardTo added in v5.5.0

func (o QueueOutput) ForwardTo() pulumi.StringPtrOutput

The name of a Queue or Topic to automatically forward messages to. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding) for more information.

func (QueueOutput) LockDuration added in v5.5.0

func (o QueueOutput) LockDuration() pulumi.StringOutput

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`).

func (QueueOutput) MaxDeliveryCount added in v5.5.0

func (o QueueOutput) MaxDeliveryCount() pulumi.IntPtrOutput

Integer value which controls when a message is automatically dead lettered. Defaults to `10`.

func (QueueOutput) MaxMessageSizeInKilobytes added in v5.5.0

func (o QueueOutput) MaxMessageSizeInKilobytes() pulumi.IntOutput

Integer value which controls the maximum size of a message allowed on the queue for Premium SKU. For supported values see the "Large messages support" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview).

func (QueueOutput) MaxSizeInMegabytes added in v5.5.0

func (o QueueOutput) MaxSizeInMegabytes() pulumi.IntOutput

Integer value which controls the size of memory allocated for the queue. For supported values see the "Queue or topic size" section of [Service Bus Quotas](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). Defaults to `1024`.

func (QueueOutput) Name added in v5.5.0

func (o QueueOutput) Name() pulumi.StringOutput

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

func (QueueOutput) NamespaceId added in v5.5.0

func (o QueueOutput) NamespaceId() pulumi.StringOutput

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

func (QueueOutput) NamespaceName added in v5.5.0

func (o QueueOutput) NamespaceName() pulumi.StringOutput

func (QueueOutput) RequiresDuplicateDetection added in v5.5.0

func (o QueueOutput) RequiresDuplicateDetection() pulumi.BoolPtrOutput

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

func (QueueOutput) RequiresSession added in v5.5.0

func (o QueueOutput) RequiresSession() pulumi.BoolPtrOutput

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`.

func (QueueOutput) ResourceGroupName added in v5.5.0

func (o QueueOutput) ResourceGroupName() pulumi.StringOutput

func (QueueOutput) Status added in v5.5.0

func (o QueueOutput) Status() pulumi.StringPtrOutput

The status of the Queue. Possible values are `Active`, `Creating`, `Deleting`, `Disabled`, `ReceiveDisabled`, `Renaming`, `SendDisabled`, `Unknown`. Note that `Restoring` is not accepted. Defaults to `Active`.

func (QueueOutput) ToQueueOutput

func (o QueueOutput) ToQueueOutput() QueueOutput

func (QueueOutput) ToQueueOutputWithContext

func (o QueueOutput) ToQueueOutputWithContext(ctx context.Context) QueueOutput

type QueueState

type QueueState struct {
	// The ISO 8601 timespan duration of the idle interval after which the Queue is automatically deleted, minimum of 5 minutes.
	AutoDeleteOnIdle pulumi.StringPtrInput
	// Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to `false`.
	DeadLetteringOnMessageExpiration pulumi.BoolPtrInput
	// 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.
	DefaultMessageTtl pulumi.StringPtrInput
	// The ISO 8601 timespan duration during which duplicates can be detected. Defaults to 10 minutes (`PT10M`).
	DuplicateDetectionHistoryTimeWindow pulumi.StringPtrInput
	// Boolean flag which controls whether server-side batched operations are enabled. Defaults to `true`.
	EnableBatchedOperations pulumi.BoolPtrInput
	// 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`.
	//
	// > **NOTE:** Service Bus Premium namespaces do not support Express Entities, so `enableExpress` MUST be set to `false`.
	EnableExpress pulumi.BoolPtrInput
	// 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.
	//
	// > **NOTE:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. For premium namespace, partitioning is available at namespace creation, and all queues and topics in the partitioned namespace will be partitioned, for the premium namespace that has `premiumMessagingPartitions` sets to `1`, the namespace is not partitioned.
	EnablePartitioning pulumi.BoolPtrInput
	// The name of a Queue or Topic to automatically forward dead lettered messages to.
	ForwardDeadLetteredMessagesTo pulumi.StringPtrInput
	// The name of a Queue or Topic to automatically forward messages to. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding) for more information.
	ForwardTo pulumi.StringPtrInput
	// 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`).
	LockDuration pulumi.StringPtrInput
	// Integer value which controls when a message is automatically dead lettered. Defaults to `10`.
	MaxDeliveryCount pulumi.IntPtrInput
	// Integer value which controls the maximum size of a message allowed on the queue for Premium SKU. For supported values see the "Large messages support" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview).
	MaxMessageSizeInKilobytes pulumi.IntPtrInput
	// Integer value which controls the size of memory allocated for the queue. For supported values see the "Queue or topic size" section of [Service Bus Quotas](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). Defaults to `1024`.
	MaxSizeInMegabytes pulumi.IntPtrInput
	// Specifies the name of the ServiceBus Queue resource. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.
	NamespaceId   pulumi.StringPtrInput
	NamespaceName pulumi.StringPtrInput
	// Boolean flag which controls whether the Queue requires duplicate detection. Changing this forces a new resource to be created. Defaults to `false`.
	RequiresDuplicateDetection pulumi.BoolPtrInput
	// 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`.
	RequiresSession   pulumi.BoolPtrInput
	ResourceGroupName pulumi.StringPtrInput
	// The status of the Queue. Possible values are `Active`, `Creating`, `Deleting`, `Disabled`, `ReceiveDisabled`, `Renaming`, `SendDisabled`, `Unknown`. Note that `Restoring` is not accepted. Defaults to `Active`.
	Status pulumi.StringPtrInput
}

func (QueueState) ElementType

func (QueueState) ElementType() reflect.Type

type Subscription

type Subscription struct {
	pulumi.CustomResourceState

	// The idle interval after which the topic is automatically deleted as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `5` minutes or `PT5M`.
	AutoDeleteOnIdle pulumi.StringOutput `pulumi:"autoDeleteOnIdle"`
	// A `clientScopedSubscription` block as defined below.
	ClientScopedSubscription SubscriptionClientScopedSubscriptionPtrOutput `pulumi:"clientScopedSubscription"`
	// whether the subscription is scoped to a client id. Defaults to `false`.
	//
	// > **NOTE:** Client Scoped Subscription can only be used for JMS subscription (Java Message Service).
	ClientScopedSubscriptionEnabled pulumi.BoolPtrOutput `pulumi:"clientScopedSubscriptionEnabled"`
	// Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to `true`.
	DeadLetteringOnFilterEvaluationError pulumi.BoolPtrOutput `pulumi:"deadLetteringOnFilterEvaluationError"`
	// Boolean flag which controls whether the Subscription has dead letter support when a message expires.
	DeadLetteringOnMessageExpiration pulumi.BoolPtrOutput `pulumi:"deadLetteringOnMessageExpiration"`
	// The Default message timespan to live as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). 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.
	DefaultMessageTtl pulumi.StringOutput `pulumi:"defaultMessageTtl"`
	// Boolean flag which controls whether the Subscription supports batched operations.
	EnableBatchedOperations pulumi.BoolPtrOutput `pulumi:"enableBatchedOperations"`
	// The name of a Queue or Topic to automatically forward Dead Letter messages to.
	ForwardDeadLetteredMessagesTo pulumi.StringPtrOutput `pulumi:"forwardDeadLetteredMessagesTo"`
	// The name of a Queue or Topic to automatically forward messages to.
	ForwardTo pulumi.StringPtrOutput `pulumi:"forwardTo"`
	// The lock duration for the subscription as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The default value is `1` minute or `P0DT0H1M0S` . The maximum value is `5` minutes or `P0DT0H5M0S` .
	LockDuration pulumi.StringOutput `pulumi:"lockDuration"`
	// The maximum number of deliveries.
	MaxDeliveryCount pulumi.IntOutput `pulumi:"maxDeliveryCount"`
	// Specifies the name of the ServiceBus Subscription resource. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Boolean flag which controls whether this Subscription supports the concept of a session. Changing this forces a new resource to be created.
	RequiresSession pulumi.BoolPtrOutput `pulumi:"requiresSession"`
	// The status of the Subscription. Possible values are `Active`,`ReceiveDisabled`, or `Disabled`. Defaults to `Active`.
	Status pulumi.StringPtrOutput `pulumi:"status"`
	// The ID of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.
	TopicId pulumi.StringOutput `pulumi:"topicId"`
}

Manages a ServiceBus Subscription.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-servicebus-subscription"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleNamespace, err := servicebus.NewNamespace(ctx, "example", &servicebus.NamespaceArgs{
			Name:              pulumi.String("tfex-servicebus-namespace"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
			Tags: pulumi.StringMap{
				"source": pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		exampleTopic, err := servicebus.NewTopic(ctx, "example", &servicebus.TopicArgs{
			Name:               pulumi.String("tfex_servicebus_topic"),
			NamespaceId:        exampleNamespace.ID(),
			EnablePartitioning: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = servicebus.NewSubscription(ctx, "example", &servicebus.SubscriptionArgs{
			Name:             pulumi.String("tfex_servicebus_subscription"),
			TopicId:          exampleTopic.ID(),
			MaxDeliveryCount: pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Service Bus Subscriptions can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:servicebus/subscription:Subscription example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1/topics/sntopic1/subscriptions/sbsub1 ```

func GetSubscription

func GetSubscription(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubscriptionState, opts ...pulumi.ResourceOption) (*Subscription, error)

GetSubscription gets an existing Subscription resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSubscription

func NewSubscription(ctx *pulumi.Context,
	name string, args *SubscriptionArgs, opts ...pulumi.ResourceOption) (*Subscription, error)

NewSubscription registers a new resource with the given unique name, arguments, and options.

func (*Subscription) ElementType

func (*Subscription) ElementType() reflect.Type

func (*Subscription) ToSubscriptionOutput

func (i *Subscription) ToSubscriptionOutput() SubscriptionOutput

func (*Subscription) ToSubscriptionOutputWithContext

func (i *Subscription) ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput

type SubscriptionArgs

type SubscriptionArgs struct {
	// The idle interval after which the topic is automatically deleted as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `5` minutes or `PT5M`.
	AutoDeleteOnIdle pulumi.StringPtrInput
	// A `clientScopedSubscription` block as defined below.
	ClientScopedSubscription SubscriptionClientScopedSubscriptionPtrInput
	// whether the subscription is scoped to a client id. Defaults to `false`.
	//
	// > **NOTE:** Client Scoped Subscription can only be used for JMS subscription (Java Message Service).
	ClientScopedSubscriptionEnabled pulumi.BoolPtrInput
	// Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to `true`.
	DeadLetteringOnFilterEvaluationError pulumi.BoolPtrInput
	// Boolean flag which controls whether the Subscription has dead letter support when a message expires.
	DeadLetteringOnMessageExpiration pulumi.BoolPtrInput
	// The Default message timespan to live as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). 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.
	DefaultMessageTtl pulumi.StringPtrInput
	// Boolean flag which controls whether the Subscription supports batched operations.
	EnableBatchedOperations pulumi.BoolPtrInput
	// The name of a Queue or Topic to automatically forward Dead Letter messages to.
	ForwardDeadLetteredMessagesTo pulumi.StringPtrInput
	// The name of a Queue or Topic to automatically forward messages to.
	ForwardTo pulumi.StringPtrInput
	// The lock duration for the subscription as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The default value is `1` minute or `P0DT0H1M0S` . The maximum value is `5` minutes or `P0DT0H5M0S` .
	LockDuration pulumi.StringPtrInput
	// The maximum number of deliveries.
	MaxDeliveryCount pulumi.IntInput
	// Specifies the name of the ServiceBus Subscription resource. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Boolean flag which controls whether this Subscription supports the concept of a session. Changing this forces a new resource to be created.
	RequiresSession pulumi.BoolPtrInput
	// The status of the Subscription. Possible values are `Active`,`ReceiveDisabled`, or `Disabled`. Defaults to `Active`.
	Status pulumi.StringPtrInput
	// The ID of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.
	TopicId pulumi.StringInput
}

The set of arguments for constructing a Subscription resource.

func (SubscriptionArgs) ElementType

func (SubscriptionArgs) ElementType() reflect.Type

type SubscriptionArray

type SubscriptionArray []SubscriptionInput

func (SubscriptionArray) ElementType

func (SubscriptionArray) ElementType() reflect.Type

func (SubscriptionArray) ToSubscriptionArrayOutput

func (i SubscriptionArray) ToSubscriptionArrayOutput() SubscriptionArrayOutput

func (SubscriptionArray) ToSubscriptionArrayOutputWithContext

func (i SubscriptionArray) ToSubscriptionArrayOutputWithContext(ctx context.Context) SubscriptionArrayOutput

type SubscriptionArrayInput

type SubscriptionArrayInput interface {
	pulumi.Input

	ToSubscriptionArrayOutput() SubscriptionArrayOutput
	ToSubscriptionArrayOutputWithContext(context.Context) SubscriptionArrayOutput
}

SubscriptionArrayInput is an input type that accepts SubscriptionArray and SubscriptionArrayOutput values. You can construct a concrete instance of `SubscriptionArrayInput` via:

SubscriptionArray{ SubscriptionArgs{...} }

type SubscriptionArrayOutput

type SubscriptionArrayOutput struct{ *pulumi.OutputState }

func (SubscriptionArrayOutput) ElementType

func (SubscriptionArrayOutput) ElementType() reflect.Type

func (SubscriptionArrayOutput) Index

func (SubscriptionArrayOutput) ToSubscriptionArrayOutput

func (o SubscriptionArrayOutput) ToSubscriptionArrayOutput() SubscriptionArrayOutput

func (SubscriptionArrayOutput) ToSubscriptionArrayOutputWithContext

func (o SubscriptionArrayOutput) ToSubscriptionArrayOutputWithContext(ctx context.Context) SubscriptionArrayOutput

type SubscriptionClientScopedSubscription added in v5.15.0

type SubscriptionClientScopedSubscription struct {
	// Specifies the Client ID of the application that created the client-scoped subscription. Changing this forces a new resource to be created.
	//
	// > **NOTE:** Client ID can be null or empty, but it must match the client ID set on the JMS client application. From the Azure Service Bus perspective, a null client ID and an empty client id have the same behavior. If the client ID is set to null or empty, it is only accessible to client applications whose client ID is also set to null or empty.
	ClientId *string `pulumi:"clientId"`
	// Whether the client scoped subscription is durable. This property can only be controlled from the application side.
	IsClientScopedSubscriptionDurable *bool `pulumi:"isClientScopedSubscriptionDurable"`
	// Whether the client scoped subscription is shareable. Defaults to `true` Changing this forces a new resource to be created.
	IsClientScopedSubscriptionShareable *bool `pulumi:"isClientScopedSubscriptionShareable"`
}

type SubscriptionClientScopedSubscriptionArgs added in v5.15.0

type SubscriptionClientScopedSubscriptionArgs struct {
	// Specifies the Client ID of the application that created the client-scoped subscription. Changing this forces a new resource to be created.
	//
	// > **NOTE:** Client ID can be null or empty, but it must match the client ID set on the JMS client application. From the Azure Service Bus perspective, a null client ID and an empty client id have the same behavior. If the client ID is set to null or empty, it is only accessible to client applications whose client ID is also set to null or empty.
	ClientId pulumi.StringPtrInput `pulumi:"clientId"`
	// Whether the client scoped subscription is durable. This property can only be controlled from the application side.
	IsClientScopedSubscriptionDurable pulumi.BoolPtrInput `pulumi:"isClientScopedSubscriptionDurable"`
	// Whether the client scoped subscription is shareable. Defaults to `true` Changing this forces a new resource to be created.
	IsClientScopedSubscriptionShareable pulumi.BoolPtrInput `pulumi:"isClientScopedSubscriptionShareable"`
}

func (SubscriptionClientScopedSubscriptionArgs) ElementType added in v5.15.0

func (SubscriptionClientScopedSubscriptionArgs) ToSubscriptionClientScopedSubscriptionOutput added in v5.15.0

func (i SubscriptionClientScopedSubscriptionArgs) ToSubscriptionClientScopedSubscriptionOutput() SubscriptionClientScopedSubscriptionOutput

func (SubscriptionClientScopedSubscriptionArgs) ToSubscriptionClientScopedSubscriptionOutputWithContext added in v5.15.0

func (i SubscriptionClientScopedSubscriptionArgs) ToSubscriptionClientScopedSubscriptionOutputWithContext(ctx context.Context) SubscriptionClientScopedSubscriptionOutput

func (SubscriptionClientScopedSubscriptionArgs) ToSubscriptionClientScopedSubscriptionPtrOutput added in v5.15.0

func (i SubscriptionClientScopedSubscriptionArgs) ToSubscriptionClientScopedSubscriptionPtrOutput() SubscriptionClientScopedSubscriptionPtrOutput

func (SubscriptionClientScopedSubscriptionArgs) ToSubscriptionClientScopedSubscriptionPtrOutputWithContext added in v5.15.0

func (i SubscriptionClientScopedSubscriptionArgs) ToSubscriptionClientScopedSubscriptionPtrOutputWithContext(ctx context.Context) SubscriptionClientScopedSubscriptionPtrOutput

type SubscriptionClientScopedSubscriptionInput added in v5.15.0

type SubscriptionClientScopedSubscriptionInput interface {
	pulumi.Input

	ToSubscriptionClientScopedSubscriptionOutput() SubscriptionClientScopedSubscriptionOutput
	ToSubscriptionClientScopedSubscriptionOutputWithContext(context.Context) SubscriptionClientScopedSubscriptionOutput
}

SubscriptionClientScopedSubscriptionInput is an input type that accepts SubscriptionClientScopedSubscriptionArgs and SubscriptionClientScopedSubscriptionOutput values. You can construct a concrete instance of `SubscriptionClientScopedSubscriptionInput` via:

SubscriptionClientScopedSubscriptionArgs{...}

type SubscriptionClientScopedSubscriptionOutput added in v5.15.0

type SubscriptionClientScopedSubscriptionOutput struct{ *pulumi.OutputState }

func (SubscriptionClientScopedSubscriptionOutput) ClientId added in v5.15.0

Specifies the Client ID of the application that created the client-scoped subscription. Changing this forces a new resource to be created.

> **NOTE:** Client ID can be null or empty, but it must match the client ID set on the JMS client application. From the Azure Service Bus perspective, a null client ID and an empty client id have the same behavior. If the client ID is set to null or empty, it is only accessible to client applications whose client ID is also set to null or empty.

func (SubscriptionClientScopedSubscriptionOutput) ElementType added in v5.15.0

func (SubscriptionClientScopedSubscriptionOutput) IsClientScopedSubscriptionDurable added in v5.15.0

func (o SubscriptionClientScopedSubscriptionOutput) IsClientScopedSubscriptionDurable() pulumi.BoolPtrOutput

Whether the client scoped subscription is durable. This property can only be controlled from the application side.

func (SubscriptionClientScopedSubscriptionOutput) IsClientScopedSubscriptionShareable added in v5.15.0

func (o SubscriptionClientScopedSubscriptionOutput) IsClientScopedSubscriptionShareable() pulumi.BoolPtrOutput

Whether the client scoped subscription is shareable. Defaults to `true` Changing this forces a new resource to be created.

func (SubscriptionClientScopedSubscriptionOutput) ToSubscriptionClientScopedSubscriptionOutput added in v5.15.0

func (o SubscriptionClientScopedSubscriptionOutput) ToSubscriptionClientScopedSubscriptionOutput() SubscriptionClientScopedSubscriptionOutput

func (SubscriptionClientScopedSubscriptionOutput) ToSubscriptionClientScopedSubscriptionOutputWithContext added in v5.15.0

func (o SubscriptionClientScopedSubscriptionOutput) ToSubscriptionClientScopedSubscriptionOutputWithContext(ctx context.Context) SubscriptionClientScopedSubscriptionOutput

func (SubscriptionClientScopedSubscriptionOutput) ToSubscriptionClientScopedSubscriptionPtrOutput added in v5.15.0

func (o SubscriptionClientScopedSubscriptionOutput) ToSubscriptionClientScopedSubscriptionPtrOutput() SubscriptionClientScopedSubscriptionPtrOutput

func (SubscriptionClientScopedSubscriptionOutput) ToSubscriptionClientScopedSubscriptionPtrOutputWithContext added in v5.15.0

func (o SubscriptionClientScopedSubscriptionOutput) ToSubscriptionClientScopedSubscriptionPtrOutputWithContext(ctx context.Context) SubscriptionClientScopedSubscriptionPtrOutput

type SubscriptionClientScopedSubscriptionPtrInput added in v5.15.0

type SubscriptionClientScopedSubscriptionPtrInput interface {
	pulumi.Input

	ToSubscriptionClientScopedSubscriptionPtrOutput() SubscriptionClientScopedSubscriptionPtrOutput
	ToSubscriptionClientScopedSubscriptionPtrOutputWithContext(context.Context) SubscriptionClientScopedSubscriptionPtrOutput
}

SubscriptionClientScopedSubscriptionPtrInput is an input type that accepts SubscriptionClientScopedSubscriptionArgs, SubscriptionClientScopedSubscriptionPtr and SubscriptionClientScopedSubscriptionPtrOutput values. You can construct a concrete instance of `SubscriptionClientScopedSubscriptionPtrInput` via:

        SubscriptionClientScopedSubscriptionArgs{...}

or:

        nil

type SubscriptionClientScopedSubscriptionPtrOutput added in v5.15.0

type SubscriptionClientScopedSubscriptionPtrOutput struct{ *pulumi.OutputState }

func (SubscriptionClientScopedSubscriptionPtrOutput) ClientId added in v5.15.0

Specifies the Client ID of the application that created the client-scoped subscription. Changing this forces a new resource to be created.

> **NOTE:** Client ID can be null or empty, but it must match the client ID set on the JMS client application. From the Azure Service Bus perspective, a null client ID and an empty client id have the same behavior. If the client ID is set to null or empty, it is only accessible to client applications whose client ID is also set to null or empty.

func (SubscriptionClientScopedSubscriptionPtrOutput) Elem added in v5.15.0

func (SubscriptionClientScopedSubscriptionPtrOutput) ElementType added in v5.15.0

func (SubscriptionClientScopedSubscriptionPtrOutput) IsClientScopedSubscriptionDurable added in v5.15.0

func (o SubscriptionClientScopedSubscriptionPtrOutput) IsClientScopedSubscriptionDurable() pulumi.BoolPtrOutput

Whether the client scoped subscription is durable. This property can only be controlled from the application side.

func (SubscriptionClientScopedSubscriptionPtrOutput) IsClientScopedSubscriptionShareable added in v5.15.0

func (o SubscriptionClientScopedSubscriptionPtrOutput) IsClientScopedSubscriptionShareable() pulumi.BoolPtrOutput

Whether the client scoped subscription is shareable. Defaults to `true` Changing this forces a new resource to be created.

func (SubscriptionClientScopedSubscriptionPtrOutput) ToSubscriptionClientScopedSubscriptionPtrOutput added in v5.15.0

func (o SubscriptionClientScopedSubscriptionPtrOutput) ToSubscriptionClientScopedSubscriptionPtrOutput() SubscriptionClientScopedSubscriptionPtrOutput

func (SubscriptionClientScopedSubscriptionPtrOutput) ToSubscriptionClientScopedSubscriptionPtrOutputWithContext added in v5.15.0

func (o SubscriptionClientScopedSubscriptionPtrOutput) ToSubscriptionClientScopedSubscriptionPtrOutputWithContext(ctx context.Context) SubscriptionClientScopedSubscriptionPtrOutput

type SubscriptionInput

type SubscriptionInput interface {
	pulumi.Input

	ToSubscriptionOutput() SubscriptionOutput
	ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput
}

type SubscriptionMap

type SubscriptionMap map[string]SubscriptionInput

func (SubscriptionMap) ElementType

func (SubscriptionMap) ElementType() reflect.Type

func (SubscriptionMap) ToSubscriptionMapOutput

func (i SubscriptionMap) ToSubscriptionMapOutput() SubscriptionMapOutput

func (SubscriptionMap) ToSubscriptionMapOutputWithContext

func (i SubscriptionMap) ToSubscriptionMapOutputWithContext(ctx context.Context) SubscriptionMapOutput

type SubscriptionMapInput

type SubscriptionMapInput interface {
	pulumi.Input

	ToSubscriptionMapOutput() SubscriptionMapOutput
	ToSubscriptionMapOutputWithContext(context.Context) SubscriptionMapOutput
}

SubscriptionMapInput is an input type that accepts SubscriptionMap and SubscriptionMapOutput values. You can construct a concrete instance of `SubscriptionMapInput` via:

SubscriptionMap{ "key": SubscriptionArgs{...} }

type SubscriptionMapOutput

type SubscriptionMapOutput struct{ *pulumi.OutputState }

func (SubscriptionMapOutput) ElementType

func (SubscriptionMapOutput) ElementType() reflect.Type

func (SubscriptionMapOutput) MapIndex

func (SubscriptionMapOutput) ToSubscriptionMapOutput

func (o SubscriptionMapOutput) ToSubscriptionMapOutput() SubscriptionMapOutput

func (SubscriptionMapOutput) ToSubscriptionMapOutputWithContext

func (o SubscriptionMapOutput) ToSubscriptionMapOutputWithContext(ctx context.Context) SubscriptionMapOutput

type SubscriptionOutput

type SubscriptionOutput struct{ *pulumi.OutputState }

func (SubscriptionOutput) AutoDeleteOnIdle added in v5.5.0

func (o SubscriptionOutput) AutoDeleteOnIdle() pulumi.StringOutput

The idle interval after which the topic is automatically deleted as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `5` minutes or `PT5M`.

func (SubscriptionOutput) ClientScopedSubscription added in v5.15.0

A `clientScopedSubscription` block as defined below.

func (SubscriptionOutput) ClientScopedSubscriptionEnabled added in v5.15.0

func (o SubscriptionOutput) ClientScopedSubscriptionEnabled() pulumi.BoolPtrOutput

whether the subscription is scoped to a client id. Defaults to `false`.

> **NOTE:** Client Scoped Subscription can only be used for JMS subscription (Java Message Service).

func (SubscriptionOutput) DeadLetteringOnFilterEvaluationError added in v5.5.0

func (o SubscriptionOutput) DeadLetteringOnFilterEvaluationError() pulumi.BoolPtrOutput

Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to `true`.

func (SubscriptionOutput) DeadLetteringOnMessageExpiration added in v5.5.0

func (o SubscriptionOutput) DeadLetteringOnMessageExpiration() pulumi.BoolPtrOutput

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

func (SubscriptionOutput) DefaultMessageTtl added in v5.5.0

func (o SubscriptionOutput) DefaultMessageTtl() pulumi.StringOutput

The Default message timespan to live as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). 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.

func (SubscriptionOutput) ElementType

func (SubscriptionOutput) ElementType() reflect.Type

func (SubscriptionOutput) EnableBatchedOperations added in v5.5.0

func (o SubscriptionOutput) EnableBatchedOperations() pulumi.BoolPtrOutput

Boolean flag which controls whether the Subscription supports batched operations.

func (SubscriptionOutput) ForwardDeadLetteredMessagesTo added in v5.5.0

func (o SubscriptionOutput) ForwardDeadLetteredMessagesTo() pulumi.StringPtrOutput

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

func (SubscriptionOutput) ForwardTo added in v5.5.0

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

func (SubscriptionOutput) LockDuration added in v5.5.0

func (o SubscriptionOutput) LockDuration() pulumi.StringOutput

The lock duration for the subscription as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The default value is `1` minute or `P0DT0H1M0S` . The maximum value is `5` minutes or `P0DT0H5M0S` .

func (SubscriptionOutput) MaxDeliveryCount added in v5.5.0

func (o SubscriptionOutput) MaxDeliveryCount() pulumi.IntOutput

The maximum number of deliveries.

func (SubscriptionOutput) Name added in v5.5.0

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

func (SubscriptionOutput) RequiresSession added in v5.5.0

func (o SubscriptionOutput) RequiresSession() pulumi.BoolPtrOutput

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

func (SubscriptionOutput) Status added in v5.5.0

The status of the Subscription. Possible values are `Active`,`ReceiveDisabled`, or `Disabled`. Defaults to `Active`.

func (SubscriptionOutput) ToSubscriptionOutput

func (o SubscriptionOutput) ToSubscriptionOutput() SubscriptionOutput

func (SubscriptionOutput) ToSubscriptionOutputWithContext

func (o SubscriptionOutput) ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput

func (SubscriptionOutput) TopicId added in v5.5.0

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

type SubscriptionRule

type SubscriptionRule struct {
	pulumi.CustomResourceState

	// Represents set of actions written in SQL language-based syntax that is performed against a BrokeredMessage.
	Action pulumi.StringPtrOutput `pulumi:"action"`
	// A `correlationFilter` block as documented below to be evaluated against a BrokeredMessage. Required when `filterType` is set to `CorrelationFilter`.
	CorrelationFilter SubscriptionRuleCorrelationFilterPtrOutput `pulumi:"correlationFilter"`
	// Type of filter to be applied to a BrokeredMessage. Possible values are `SqlFilter` and `CorrelationFilter`.
	FilterType pulumi.StringOutput `pulumi:"filterType"`
	// Specifies the name of the ServiceBus Subscription Rule. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Represents a filter written in SQL language-based syntax that to be evaluated against a BrokeredMessage. Required when `filterType` is set to `SqlFilter`.
	SqlFilter                   pulumi.StringPtrOutput `pulumi:"sqlFilter"`
	SqlFilterCompatibilityLevel pulumi.IntOutput       `pulumi:"sqlFilterCompatibilityLevel"`
	// The ID of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.
	SubscriptionId pulumi.StringOutput `pulumi:"subscriptionId"`
}

Manages a ServiceBus Subscription Rule.

## Example Usage

### SQL Filter)

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-servicebus-subscription-rule-sql"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleNamespace, err := servicebus.NewNamespace(ctx, "example", &servicebus.NamespaceArgs{
			Name:              pulumi.String("tfex-servicebus-namespace"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
			Tags: pulumi.StringMap{
				"source": pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		exampleTopic, err := servicebus.NewTopic(ctx, "example", &servicebus.TopicArgs{
			Name:               pulumi.String("tfex_servicebus_topic"),
			NamespaceId:        exampleNamespace.ID(),
			EnablePartitioning: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		exampleSubscription, err := servicebus.NewSubscription(ctx, "example", &servicebus.SubscriptionArgs{
			Name:             pulumi.String("tfex_servicebus_subscription"),
			TopicId:          exampleTopic.ID(),
			MaxDeliveryCount: pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		_, err = servicebus.NewSubscriptionRule(ctx, "example", &servicebus.SubscriptionRuleArgs{
			Name:           pulumi.String("tfex_servicebus_rule"),
			SubscriptionId: exampleSubscription.ID(),
			FilterType:     pulumi.String("SqlFilter"),
			SqlFilter:      pulumi.String("colour = 'red'"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Correlation Filter)

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-servicebus-subscription-rule-cor"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleNamespace, err := servicebus.NewNamespace(ctx, "example", &servicebus.NamespaceArgs{
			Name:              pulumi.String("tfex-servicebus-namespace"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
			Tags: pulumi.StringMap{
				"source": pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		exampleTopic, err := servicebus.NewTopic(ctx, "example", &servicebus.TopicArgs{
			Name:               pulumi.String("tfex_servicebus_topic"),
			NamespaceId:        exampleNamespace.ID(),
			EnablePartitioning: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		exampleSubscription, err := servicebus.NewSubscription(ctx, "example", &servicebus.SubscriptionArgs{
			Name:             pulumi.String("tfex_servicebus_subscription"),
			TopicId:          exampleTopic.ID(),
			MaxDeliveryCount: pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		_, err = servicebus.NewSubscriptionRule(ctx, "example", &servicebus.SubscriptionRuleArgs{
			Name:           pulumi.String("tfex_servicebus_rule"),
			SubscriptionId: exampleSubscription.ID(),
			FilterType:     pulumi.String("CorrelationFilter"),
			CorrelationFilter: &servicebus.SubscriptionRuleCorrelationFilterArgs{
				CorrelationId: pulumi.String("high"),
				Label:         pulumi.String("red"),
				Properties: pulumi.StringMap{
					"customProperty": pulumi.String("value"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

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

func GetSubscriptionRule

func GetSubscriptionRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubscriptionRuleState, opts ...pulumi.ResourceOption) (*SubscriptionRule, error)

GetSubscriptionRule gets an existing SubscriptionRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSubscriptionRule

func NewSubscriptionRule(ctx *pulumi.Context,
	name string, args *SubscriptionRuleArgs, opts ...pulumi.ResourceOption) (*SubscriptionRule, error)

NewSubscriptionRule registers a new resource with the given unique name, arguments, and options.

func (*SubscriptionRule) ElementType

func (*SubscriptionRule) ElementType() reflect.Type

func (*SubscriptionRule) ToSubscriptionRuleOutput

func (i *SubscriptionRule) ToSubscriptionRuleOutput() SubscriptionRuleOutput

func (*SubscriptionRule) ToSubscriptionRuleOutputWithContext

func (i *SubscriptionRule) ToSubscriptionRuleOutputWithContext(ctx context.Context) SubscriptionRuleOutput

type SubscriptionRuleArgs

type SubscriptionRuleArgs struct {
	// Represents set of actions written in SQL language-based syntax that is performed against a BrokeredMessage.
	Action pulumi.StringPtrInput
	// A `correlationFilter` block as documented below to be evaluated against a BrokeredMessage. Required when `filterType` is set to `CorrelationFilter`.
	CorrelationFilter SubscriptionRuleCorrelationFilterPtrInput
	// Type of filter to be applied to a BrokeredMessage. Possible values are `SqlFilter` and `CorrelationFilter`.
	FilterType pulumi.StringInput
	// Specifies the name of the ServiceBus Subscription Rule. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Represents a filter written in SQL language-based syntax that to be evaluated against a BrokeredMessage. Required when `filterType` is set to `SqlFilter`.
	SqlFilter pulumi.StringPtrInput
	// The ID of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.
	SubscriptionId pulumi.StringInput
}

The set of arguments for constructing a SubscriptionRule resource.

func (SubscriptionRuleArgs) ElementType

func (SubscriptionRuleArgs) ElementType() reflect.Type

type SubscriptionRuleArray

type SubscriptionRuleArray []SubscriptionRuleInput

func (SubscriptionRuleArray) ElementType

func (SubscriptionRuleArray) ElementType() reflect.Type

func (SubscriptionRuleArray) ToSubscriptionRuleArrayOutput

func (i SubscriptionRuleArray) ToSubscriptionRuleArrayOutput() SubscriptionRuleArrayOutput

func (SubscriptionRuleArray) ToSubscriptionRuleArrayOutputWithContext

func (i SubscriptionRuleArray) ToSubscriptionRuleArrayOutputWithContext(ctx context.Context) SubscriptionRuleArrayOutput

type SubscriptionRuleArrayInput

type SubscriptionRuleArrayInput interface {
	pulumi.Input

	ToSubscriptionRuleArrayOutput() SubscriptionRuleArrayOutput
	ToSubscriptionRuleArrayOutputWithContext(context.Context) SubscriptionRuleArrayOutput
}

SubscriptionRuleArrayInput is an input type that accepts SubscriptionRuleArray and SubscriptionRuleArrayOutput values. You can construct a concrete instance of `SubscriptionRuleArrayInput` via:

SubscriptionRuleArray{ SubscriptionRuleArgs{...} }

type SubscriptionRuleArrayOutput

type SubscriptionRuleArrayOutput struct{ *pulumi.OutputState }

func (SubscriptionRuleArrayOutput) ElementType

func (SubscriptionRuleArrayOutput) Index

func (SubscriptionRuleArrayOutput) ToSubscriptionRuleArrayOutput

func (o SubscriptionRuleArrayOutput) ToSubscriptionRuleArrayOutput() SubscriptionRuleArrayOutput

func (SubscriptionRuleArrayOutput) ToSubscriptionRuleArrayOutputWithContext

func (o SubscriptionRuleArrayOutput) ToSubscriptionRuleArrayOutputWithContext(ctx context.Context) SubscriptionRuleArrayOutput

type SubscriptionRuleCorrelationFilter

type SubscriptionRuleCorrelationFilter struct {
	// Content type of the message.
	ContentType *string `pulumi:"contentType"`
	// Identifier of the correlation.
	CorrelationId *string `pulumi:"correlationId"`
	// Application specific label.
	Label *string `pulumi:"label"`
	// Identifier of the message.
	MessageId *string `pulumi:"messageId"`
	// A list of user defined properties to be included in the filter. Specified as a map of name/value pairs.
	//
	// > **NOTE:** When creating a subscription rule of type `CorrelationFilter` at least one property must be set in the `correlationFilter` block.
	Properties map[string]string `pulumi:"properties"`
	// Address of the queue to reply to.
	ReplyTo *string `pulumi:"replyTo"`
	// Session identifier to reply to.
	ReplyToSessionId *string `pulumi:"replyToSessionId"`
	// Session identifier.
	SessionId *string `pulumi:"sessionId"`
	// Address to send to.
	To *string `pulumi:"to"`
}

type SubscriptionRuleCorrelationFilterArgs

type SubscriptionRuleCorrelationFilterArgs struct {
	// Content type of the message.
	ContentType pulumi.StringPtrInput `pulumi:"contentType"`
	// Identifier of the correlation.
	CorrelationId pulumi.StringPtrInput `pulumi:"correlationId"`
	// Application specific label.
	Label pulumi.StringPtrInput `pulumi:"label"`
	// Identifier of the message.
	MessageId pulumi.StringPtrInput `pulumi:"messageId"`
	// A list of user defined properties to be included in the filter. Specified as a map of name/value pairs.
	//
	// > **NOTE:** When creating a subscription rule of type `CorrelationFilter` at least one property must be set in the `correlationFilter` block.
	Properties pulumi.StringMapInput `pulumi:"properties"`
	// Address of the queue to reply to.
	ReplyTo pulumi.StringPtrInput `pulumi:"replyTo"`
	// Session identifier to reply to.
	ReplyToSessionId pulumi.StringPtrInput `pulumi:"replyToSessionId"`
	// Session identifier.
	SessionId pulumi.StringPtrInput `pulumi:"sessionId"`
	// Address to send to.
	To pulumi.StringPtrInput `pulumi:"to"`
}

func (SubscriptionRuleCorrelationFilterArgs) ElementType

func (SubscriptionRuleCorrelationFilterArgs) ToSubscriptionRuleCorrelationFilterOutput

func (i SubscriptionRuleCorrelationFilterArgs) ToSubscriptionRuleCorrelationFilterOutput() SubscriptionRuleCorrelationFilterOutput

func (SubscriptionRuleCorrelationFilterArgs) ToSubscriptionRuleCorrelationFilterOutputWithContext

func (i SubscriptionRuleCorrelationFilterArgs) ToSubscriptionRuleCorrelationFilterOutputWithContext(ctx context.Context) SubscriptionRuleCorrelationFilterOutput

func (SubscriptionRuleCorrelationFilterArgs) ToSubscriptionRuleCorrelationFilterPtrOutput

func (i SubscriptionRuleCorrelationFilterArgs) ToSubscriptionRuleCorrelationFilterPtrOutput() SubscriptionRuleCorrelationFilterPtrOutput

func (SubscriptionRuleCorrelationFilterArgs) ToSubscriptionRuleCorrelationFilterPtrOutputWithContext

func (i SubscriptionRuleCorrelationFilterArgs) ToSubscriptionRuleCorrelationFilterPtrOutputWithContext(ctx context.Context) SubscriptionRuleCorrelationFilterPtrOutput

type SubscriptionRuleCorrelationFilterInput

type SubscriptionRuleCorrelationFilterInput interface {
	pulumi.Input

	ToSubscriptionRuleCorrelationFilterOutput() SubscriptionRuleCorrelationFilterOutput
	ToSubscriptionRuleCorrelationFilterOutputWithContext(context.Context) SubscriptionRuleCorrelationFilterOutput
}

SubscriptionRuleCorrelationFilterInput is an input type that accepts SubscriptionRuleCorrelationFilterArgs and SubscriptionRuleCorrelationFilterOutput values. You can construct a concrete instance of `SubscriptionRuleCorrelationFilterInput` via:

SubscriptionRuleCorrelationFilterArgs{...}

type SubscriptionRuleCorrelationFilterOutput

type SubscriptionRuleCorrelationFilterOutput struct{ *pulumi.OutputState }

func (SubscriptionRuleCorrelationFilterOutput) ContentType

Content type of the message.

func (SubscriptionRuleCorrelationFilterOutput) CorrelationId

Identifier of the correlation.

func (SubscriptionRuleCorrelationFilterOutput) ElementType

func (SubscriptionRuleCorrelationFilterOutput) Label

Application specific label.

func (SubscriptionRuleCorrelationFilterOutput) MessageId

Identifier of the message.

func (SubscriptionRuleCorrelationFilterOutput) Properties

A list of user defined properties to be included in the filter. Specified as a map of name/value pairs.

> **NOTE:** When creating a subscription rule of type `CorrelationFilter` at least one property must be set in the `correlationFilter` block.

func (SubscriptionRuleCorrelationFilterOutput) ReplyTo

Address of the queue to reply to.

func (SubscriptionRuleCorrelationFilterOutput) ReplyToSessionId

Session identifier to reply to.

func (SubscriptionRuleCorrelationFilterOutput) SessionId

Session identifier.

func (SubscriptionRuleCorrelationFilterOutput) To

Address to send to.

func (SubscriptionRuleCorrelationFilterOutput) ToSubscriptionRuleCorrelationFilterOutput

func (o SubscriptionRuleCorrelationFilterOutput) ToSubscriptionRuleCorrelationFilterOutput() SubscriptionRuleCorrelationFilterOutput

func (SubscriptionRuleCorrelationFilterOutput) ToSubscriptionRuleCorrelationFilterOutputWithContext

func (o SubscriptionRuleCorrelationFilterOutput) ToSubscriptionRuleCorrelationFilterOutputWithContext(ctx context.Context) SubscriptionRuleCorrelationFilterOutput

func (SubscriptionRuleCorrelationFilterOutput) ToSubscriptionRuleCorrelationFilterPtrOutput

func (o SubscriptionRuleCorrelationFilterOutput) ToSubscriptionRuleCorrelationFilterPtrOutput() SubscriptionRuleCorrelationFilterPtrOutput

func (SubscriptionRuleCorrelationFilterOutput) ToSubscriptionRuleCorrelationFilterPtrOutputWithContext

func (o SubscriptionRuleCorrelationFilterOutput) ToSubscriptionRuleCorrelationFilterPtrOutputWithContext(ctx context.Context) SubscriptionRuleCorrelationFilterPtrOutput

type SubscriptionRuleCorrelationFilterPtrInput

type SubscriptionRuleCorrelationFilterPtrInput interface {
	pulumi.Input

	ToSubscriptionRuleCorrelationFilterPtrOutput() SubscriptionRuleCorrelationFilterPtrOutput
	ToSubscriptionRuleCorrelationFilterPtrOutputWithContext(context.Context) SubscriptionRuleCorrelationFilterPtrOutput
}

SubscriptionRuleCorrelationFilterPtrInput is an input type that accepts SubscriptionRuleCorrelationFilterArgs, SubscriptionRuleCorrelationFilterPtr and SubscriptionRuleCorrelationFilterPtrOutput values. You can construct a concrete instance of `SubscriptionRuleCorrelationFilterPtrInput` via:

        SubscriptionRuleCorrelationFilterArgs{...}

or:

        nil

type SubscriptionRuleCorrelationFilterPtrOutput

type SubscriptionRuleCorrelationFilterPtrOutput struct{ *pulumi.OutputState }

func (SubscriptionRuleCorrelationFilterPtrOutput) ContentType

Content type of the message.

func (SubscriptionRuleCorrelationFilterPtrOutput) CorrelationId

Identifier of the correlation.

func (SubscriptionRuleCorrelationFilterPtrOutput) Elem

func (SubscriptionRuleCorrelationFilterPtrOutput) ElementType

func (SubscriptionRuleCorrelationFilterPtrOutput) Label

Application specific label.

func (SubscriptionRuleCorrelationFilterPtrOutput) MessageId

Identifier of the message.

func (SubscriptionRuleCorrelationFilterPtrOutput) Properties

A list of user defined properties to be included in the filter. Specified as a map of name/value pairs.

> **NOTE:** When creating a subscription rule of type `CorrelationFilter` at least one property must be set in the `correlationFilter` block.

func (SubscriptionRuleCorrelationFilterPtrOutput) ReplyTo

Address of the queue to reply to.

func (SubscriptionRuleCorrelationFilterPtrOutput) ReplyToSessionId

Session identifier to reply to.

func (SubscriptionRuleCorrelationFilterPtrOutput) SessionId

Session identifier.

func (SubscriptionRuleCorrelationFilterPtrOutput) To

Address to send to.

func (SubscriptionRuleCorrelationFilterPtrOutput) ToSubscriptionRuleCorrelationFilterPtrOutput

func (o SubscriptionRuleCorrelationFilterPtrOutput) ToSubscriptionRuleCorrelationFilterPtrOutput() SubscriptionRuleCorrelationFilterPtrOutput

func (SubscriptionRuleCorrelationFilterPtrOutput) ToSubscriptionRuleCorrelationFilterPtrOutputWithContext

func (o SubscriptionRuleCorrelationFilterPtrOutput) ToSubscriptionRuleCorrelationFilterPtrOutputWithContext(ctx context.Context) SubscriptionRuleCorrelationFilterPtrOutput

type SubscriptionRuleInput

type SubscriptionRuleInput interface {
	pulumi.Input

	ToSubscriptionRuleOutput() SubscriptionRuleOutput
	ToSubscriptionRuleOutputWithContext(ctx context.Context) SubscriptionRuleOutput
}

type SubscriptionRuleMap

type SubscriptionRuleMap map[string]SubscriptionRuleInput

func (SubscriptionRuleMap) ElementType

func (SubscriptionRuleMap) ElementType() reflect.Type

func (SubscriptionRuleMap) ToSubscriptionRuleMapOutput

func (i SubscriptionRuleMap) ToSubscriptionRuleMapOutput() SubscriptionRuleMapOutput

func (SubscriptionRuleMap) ToSubscriptionRuleMapOutputWithContext

func (i SubscriptionRuleMap) ToSubscriptionRuleMapOutputWithContext(ctx context.Context) SubscriptionRuleMapOutput

type SubscriptionRuleMapInput

type SubscriptionRuleMapInput interface {
	pulumi.Input

	ToSubscriptionRuleMapOutput() SubscriptionRuleMapOutput
	ToSubscriptionRuleMapOutputWithContext(context.Context) SubscriptionRuleMapOutput
}

SubscriptionRuleMapInput is an input type that accepts SubscriptionRuleMap and SubscriptionRuleMapOutput values. You can construct a concrete instance of `SubscriptionRuleMapInput` via:

SubscriptionRuleMap{ "key": SubscriptionRuleArgs{...} }

type SubscriptionRuleMapOutput

type SubscriptionRuleMapOutput struct{ *pulumi.OutputState }

func (SubscriptionRuleMapOutput) ElementType

func (SubscriptionRuleMapOutput) ElementType() reflect.Type

func (SubscriptionRuleMapOutput) MapIndex

func (SubscriptionRuleMapOutput) ToSubscriptionRuleMapOutput

func (o SubscriptionRuleMapOutput) ToSubscriptionRuleMapOutput() SubscriptionRuleMapOutput

func (SubscriptionRuleMapOutput) ToSubscriptionRuleMapOutputWithContext

func (o SubscriptionRuleMapOutput) ToSubscriptionRuleMapOutputWithContext(ctx context.Context) SubscriptionRuleMapOutput

type SubscriptionRuleOutput

type SubscriptionRuleOutput struct{ *pulumi.OutputState }

func (SubscriptionRuleOutput) Action added in v5.5.0

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

func (SubscriptionRuleOutput) CorrelationFilter added in v5.5.0

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

func (SubscriptionRuleOutput) ElementType

func (SubscriptionRuleOutput) ElementType() reflect.Type

func (SubscriptionRuleOutput) FilterType added in v5.5.0

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

func (SubscriptionRuleOutput) Name added in v5.5.0

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

func (SubscriptionRuleOutput) SqlFilter added in v5.5.0

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

func (SubscriptionRuleOutput) SqlFilterCompatibilityLevel added in v5.15.0

func (o SubscriptionRuleOutput) SqlFilterCompatibilityLevel() pulumi.IntOutput

func (SubscriptionRuleOutput) SubscriptionId added in v5.5.0

func (o SubscriptionRuleOutput) SubscriptionId() pulumi.StringOutput

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

func (SubscriptionRuleOutput) ToSubscriptionRuleOutput

func (o SubscriptionRuleOutput) ToSubscriptionRuleOutput() SubscriptionRuleOutput

func (SubscriptionRuleOutput) ToSubscriptionRuleOutputWithContext

func (o SubscriptionRuleOutput) ToSubscriptionRuleOutputWithContext(ctx context.Context) SubscriptionRuleOutput

type SubscriptionRuleState

type SubscriptionRuleState struct {
	// Represents set of actions written in SQL language-based syntax that is performed against a BrokeredMessage.
	Action pulumi.StringPtrInput
	// A `correlationFilter` block as documented below to be evaluated against a BrokeredMessage. Required when `filterType` is set to `CorrelationFilter`.
	CorrelationFilter SubscriptionRuleCorrelationFilterPtrInput
	// Type of filter to be applied to a BrokeredMessage. Possible values are `SqlFilter` and `CorrelationFilter`.
	FilterType pulumi.StringPtrInput
	// Specifies the name of the ServiceBus Subscription Rule. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Represents a filter written in SQL language-based syntax that to be evaluated against a BrokeredMessage. Required when `filterType` is set to `SqlFilter`.
	SqlFilter                   pulumi.StringPtrInput
	SqlFilterCompatibilityLevel pulumi.IntPtrInput
	// The ID of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.
	SubscriptionId pulumi.StringPtrInput
}

func (SubscriptionRuleState) ElementType

func (SubscriptionRuleState) ElementType() reflect.Type

type SubscriptionState

type SubscriptionState struct {
	// The idle interval after which the topic is automatically deleted as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `5` minutes or `PT5M`.
	AutoDeleteOnIdle pulumi.StringPtrInput
	// A `clientScopedSubscription` block as defined below.
	ClientScopedSubscription SubscriptionClientScopedSubscriptionPtrInput
	// whether the subscription is scoped to a client id. Defaults to `false`.
	//
	// > **NOTE:** Client Scoped Subscription can only be used for JMS subscription (Java Message Service).
	ClientScopedSubscriptionEnabled pulumi.BoolPtrInput
	// Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to `true`.
	DeadLetteringOnFilterEvaluationError pulumi.BoolPtrInput
	// Boolean flag which controls whether the Subscription has dead letter support when a message expires.
	DeadLetteringOnMessageExpiration pulumi.BoolPtrInput
	// The Default message timespan to live as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). 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.
	DefaultMessageTtl pulumi.StringPtrInput
	// Boolean flag which controls whether the Subscription supports batched operations.
	EnableBatchedOperations pulumi.BoolPtrInput
	// The name of a Queue or Topic to automatically forward Dead Letter messages to.
	ForwardDeadLetteredMessagesTo pulumi.StringPtrInput
	// The name of a Queue or Topic to automatically forward messages to.
	ForwardTo pulumi.StringPtrInput
	// The lock duration for the subscription as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The default value is `1` minute or `P0DT0H1M0S` . The maximum value is `5` minutes or `P0DT0H5M0S` .
	LockDuration pulumi.StringPtrInput
	// The maximum number of deliveries.
	MaxDeliveryCount pulumi.IntPtrInput
	// Specifies the name of the ServiceBus Subscription resource. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Boolean flag which controls whether this Subscription supports the concept of a session. Changing this forces a new resource to be created.
	RequiresSession pulumi.BoolPtrInput
	// The status of the Subscription. Possible values are `Active`,`ReceiveDisabled`, or `Disabled`. Defaults to `Active`.
	Status pulumi.StringPtrInput
	// The ID of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.
	TopicId pulumi.StringPtrInput
}

func (SubscriptionState) ElementType

func (SubscriptionState) ElementType() reflect.Type

type Topic

type Topic struct {
	pulumi.CustomResourceState

	// The ISO 8601 timespan duration of the idle interval after which the Topic is automatically deleted, minimum of 5 minutes.
	AutoDeleteOnIdle pulumi.StringOutput `pulumi:"autoDeleteOnIdle"`
	// The ISO 8601 timespan duration of TTL of messages sent to this topic if no TTL value is set on the message itself.
	DefaultMessageTtl pulumi.StringOutput `pulumi:"defaultMessageTtl"`
	// The ISO 8601 timespan duration during which duplicates can be detected. Defaults to 10 minutes. (`PT10M`)
	DuplicateDetectionHistoryTimeWindow pulumi.StringOutput `pulumi:"duplicateDetectionHistoryTimeWindow"`
	// Boolean flag which controls if server-side batched operations are enabled.
	EnableBatchedOperations pulumi.BoolPtrOutput `pulumi:"enableBatchedOperations"`
	// Boolean flag which controls whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage.
	EnableExpress pulumi.BoolPtrOutput `pulumi:"enableExpress"`
	// Boolean flag which controls whether to enable the topic to be partitioned across multiple message brokers. Changing this forces a new resource to be created.
	//
	// > **NOTE:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. It is not available for the Premium messaging SKU, but any previously existing partitioned entities in Premium namespaces continue to work as expected. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-partitioning) for more information.
	EnablePartitioning pulumi.BoolPtrOutput `pulumi:"enablePartitioning"`
	// Integer value which controls the maximum size of a message allowed on the topic for Premium SKU. For supported values see the "Large messages support" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview).
	MaxMessageSizeInKilobytes pulumi.IntOutput `pulumi:"maxMessageSizeInKilobytes"`
	// Integer value which controls the size of memory allocated for the topic. For supported values see the "Queue/topic size" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).
	MaxSizeInMegabytes pulumi.IntOutput `pulumi:"maxSizeInMegabytes"`
	// Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created.
	NamespaceId   pulumi.StringOutput `pulumi:"namespaceId"`
	NamespaceName pulumi.StringOutput `pulumi:"namespaceName"`
	// Boolean flag which controls whether the Topic requires duplicate detection. Defaults to `false`. Changing this forces a new resource to be created.
	RequiresDuplicateDetection pulumi.BoolPtrOutput `pulumi:"requiresDuplicateDetection"`
	ResourceGroupName          pulumi.StringOutput  `pulumi:"resourceGroupName"`
	// The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`.
	Status pulumi.StringPtrOutput `pulumi:"status"`
	// Boolean flag which controls whether the Topic supports ordering.
	SupportOrdering pulumi.BoolPtrOutput `pulumi:"supportOrdering"`
}

Manages a ServiceBus Topic.

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-servicebus-topic"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleNamespace, err := servicebus.NewNamespace(ctx, "example", &servicebus.NamespaceArgs{
			Name:              pulumi.String("tfex-servicebus-namespace"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
			Tags: pulumi.StringMap{
				"source": pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		_, err = servicebus.NewTopic(ctx, "example", &servicebus.TopicArgs{
			Name:               pulumi.String("tfex_servicebus_topic"),
			NamespaceId:        exampleNamespace.ID(),
			EnablePartitioning: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Service Bus Topics can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:servicebus/topic:Topic example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.ServiceBus/namespaces/sbns1/topics/sntopic1 ```

func GetTopic

func GetTopic(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TopicState, opts ...pulumi.ResourceOption) (*Topic, error)

GetTopic gets an existing Topic resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTopic

func NewTopic(ctx *pulumi.Context,
	name string, args *TopicArgs, opts ...pulumi.ResourceOption) (*Topic, error)

NewTopic registers a new resource with the given unique name, arguments, and options.

func (*Topic) ElementType

func (*Topic) ElementType() reflect.Type

func (*Topic) ToTopicOutput

func (i *Topic) ToTopicOutput() TopicOutput

func (*Topic) ToTopicOutputWithContext

func (i *Topic) ToTopicOutputWithContext(ctx context.Context) TopicOutput

type TopicArgs

type TopicArgs struct {
	// The ISO 8601 timespan duration of the idle interval after which the Topic is automatically deleted, minimum of 5 minutes.
	AutoDeleteOnIdle pulumi.StringPtrInput
	// The ISO 8601 timespan duration of TTL of messages sent to this topic if no TTL value is set on the message itself.
	DefaultMessageTtl pulumi.StringPtrInput
	// The ISO 8601 timespan duration during which duplicates can be detected. Defaults to 10 minutes. (`PT10M`)
	DuplicateDetectionHistoryTimeWindow pulumi.StringPtrInput
	// Boolean flag which controls if server-side batched operations are enabled.
	EnableBatchedOperations pulumi.BoolPtrInput
	// Boolean flag which controls whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage.
	EnableExpress pulumi.BoolPtrInput
	// Boolean flag which controls whether to enable the topic to be partitioned across multiple message brokers. Changing this forces a new resource to be created.
	//
	// > **NOTE:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. It is not available for the Premium messaging SKU, but any previously existing partitioned entities in Premium namespaces continue to work as expected. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-partitioning) for more information.
	EnablePartitioning pulumi.BoolPtrInput
	// Integer value which controls the maximum size of a message allowed on the topic for Premium SKU. For supported values see the "Large messages support" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview).
	MaxMessageSizeInKilobytes pulumi.IntPtrInput
	// Integer value which controls the size of memory allocated for the topic. For supported values see the "Queue/topic size" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).
	MaxSizeInMegabytes pulumi.IntPtrInput
	// Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created.
	NamespaceId pulumi.StringInput
	// Boolean flag which controls whether the Topic requires duplicate detection. Defaults to `false`. Changing this forces a new resource to be created.
	RequiresDuplicateDetection pulumi.BoolPtrInput
	// The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`.
	Status pulumi.StringPtrInput
	// Boolean flag which controls whether the Topic supports ordering.
	SupportOrdering pulumi.BoolPtrInput
}

The set of arguments for constructing a Topic resource.

func (TopicArgs) ElementType

func (TopicArgs) ElementType() reflect.Type

type TopicArray

type TopicArray []TopicInput

func (TopicArray) ElementType

func (TopicArray) ElementType() reflect.Type

func (TopicArray) ToTopicArrayOutput

func (i TopicArray) ToTopicArrayOutput() TopicArrayOutput

func (TopicArray) ToTopicArrayOutputWithContext

func (i TopicArray) ToTopicArrayOutputWithContext(ctx context.Context) TopicArrayOutput

type TopicArrayInput

type TopicArrayInput interface {
	pulumi.Input

	ToTopicArrayOutput() TopicArrayOutput
	ToTopicArrayOutputWithContext(context.Context) TopicArrayOutput
}

TopicArrayInput is an input type that accepts TopicArray and TopicArrayOutput values. You can construct a concrete instance of `TopicArrayInput` via:

TopicArray{ TopicArgs{...} }

type TopicArrayOutput

type TopicArrayOutput struct{ *pulumi.OutputState }

func (TopicArrayOutput) ElementType

func (TopicArrayOutput) ElementType() reflect.Type

func (TopicArrayOutput) Index

func (TopicArrayOutput) ToTopicArrayOutput

func (o TopicArrayOutput) ToTopicArrayOutput() TopicArrayOutput

func (TopicArrayOutput) ToTopicArrayOutputWithContext

func (o TopicArrayOutput) ToTopicArrayOutputWithContext(ctx context.Context) TopicArrayOutput

type TopicAuthorizationRule

type TopicAuthorizationRule struct {
	pulumi.CustomResourceState

	// Grants listen access to this this Authorization Rule. Defaults to `false`.
	Listen pulumi.BoolPtrOutput `pulumi:"listen"`
	// Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.
	Manage pulumi.BoolPtrOutput `pulumi:"manage"`
	// Specifies the name of the ServiceBus Topic Authorization Rule resource. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The Primary Connection String for the ServiceBus Topic authorization Rule.
	PrimaryConnectionString pulumi.StringOutput `pulumi:"primaryConnectionString"`
	// The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.
	PrimaryConnectionStringAlias pulumi.StringOutput `pulumi:"primaryConnectionStringAlias"`
	// The Primary Key for the ServiceBus Topic authorization Rule.
	PrimaryKey pulumi.StringOutput `pulumi:"primaryKey"`
	// The Secondary Connection String for the ServiceBus Topic authorization Rule.
	SecondaryConnectionString pulumi.StringOutput `pulumi:"secondaryConnectionString"`
	// The alias Secondary Connection String for the ServiceBus Namespace
	SecondaryConnectionStringAlias pulumi.StringOutput `pulumi:"secondaryConnectionStringAlias"`
	// The Secondary Key for the ServiceBus Topic authorization Rule.
	SecondaryKey pulumi.StringOutput `pulumi:"secondaryKey"`
	// Grants send access to this this Authorization Rule. Defaults to `false`.
	Send pulumi.BoolPtrOutput `pulumi:"send"`
	// Specifies the ID of the ServiceBus Topic. Changing this forces a new resource to be created.
	//
	// > **NOTE** At least one of the 3 permissions below needs to be set.
	TopicId pulumi.StringOutput `pulumi:"topicId"`
}

Manages a ServiceBus Topic authorization Rule within a ServiceBus Topic.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/servicebus"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-servicebus"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleNamespace, err := servicebus.NewNamespace(ctx, "example", &servicebus.NamespaceArgs{
			Name:              pulumi.String("tfex-servicebus-namespace"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
			Tags: pulumi.StringMap{
				"source": pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		exampleTopic, err := servicebus.NewTopic(ctx, "example", &servicebus.TopicArgs{
			Name:        pulumi.String("tfex_servicebus_topic"),
			NamespaceId: exampleNamespace.ID(),
		})
		if err != nil {
			return err
		}
		_, err = servicebus.NewTopicAuthorizationRule(ctx, "example", &servicebus.TopicAuthorizationRuleArgs{
			Name:    pulumi.String("tfex_servicebus_topic_sasPolicy"),
			TopicId: exampleTopic.ID(),
			Listen:  pulumi.Bool(true),
			Send:    pulumi.Bool(false),
			Manage:  pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ServiceBus Topic authorization rules can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:servicebus/topicAuthorizationRule:TopicAuthorizationRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ServiceBus/namespaces/namespace1/topics/topic1/authorizationRules/rule1 ```

func GetTopicAuthorizationRule

func GetTopicAuthorizationRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TopicAuthorizationRuleState, opts ...pulumi.ResourceOption) (*TopicAuthorizationRule, error)

GetTopicAuthorizationRule gets an existing TopicAuthorizationRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTopicAuthorizationRule

func NewTopicAuthorizationRule(ctx *pulumi.Context,
	name string, args *TopicAuthorizationRuleArgs, opts ...pulumi.ResourceOption) (*TopicAuthorizationRule, error)

NewTopicAuthorizationRule registers a new resource with the given unique name, arguments, and options.

func (*TopicAuthorizationRule) ElementType

func (*TopicAuthorizationRule) ElementType() reflect.Type

func (*TopicAuthorizationRule) ToTopicAuthorizationRuleOutput

func (i *TopicAuthorizationRule) ToTopicAuthorizationRuleOutput() TopicAuthorizationRuleOutput

func (*TopicAuthorizationRule) ToTopicAuthorizationRuleOutputWithContext

func (i *TopicAuthorizationRule) ToTopicAuthorizationRuleOutputWithContext(ctx context.Context) TopicAuthorizationRuleOutput

type TopicAuthorizationRuleArgs

type TopicAuthorizationRuleArgs struct {
	// Grants listen access to this this Authorization Rule. Defaults to `false`.
	Listen pulumi.BoolPtrInput
	// Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.
	Manage pulumi.BoolPtrInput
	// Specifies the name of the ServiceBus Topic Authorization Rule resource. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Grants send access to this this Authorization Rule. Defaults to `false`.
	Send pulumi.BoolPtrInput
	// Specifies the ID of the ServiceBus Topic. Changing this forces a new resource to be created.
	//
	// > **NOTE** At least one of the 3 permissions below needs to be set.
	TopicId pulumi.StringInput
}

The set of arguments for constructing a TopicAuthorizationRule resource.

func (TopicAuthorizationRuleArgs) ElementType

func (TopicAuthorizationRuleArgs) ElementType() reflect.Type

type TopicAuthorizationRuleArray

type TopicAuthorizationRuleArray []TopicAuthorizationRuleInput

func (TopicAuthorizationRuleArray) ElementType

func (TopicAuthorizationRuleArray) ToTopicAuthorizationRuleArrayOutput

func (i TopicAuthorizationRuleArray) ToTopicAuthorizationRuleArrayOutput() TopicAuthorizationRuleArrayOutput

func (TopicAuthorizationRuleArray) ToTopicAuthorizationRuleArrayOutputWithContext

func (i TopicAuthorizationRuleArray) ToTopicAuthorizationRuleArrayOutputWithContext(ctx context.Context) TopicAuthorizationRuleArrayOutput

type TopicAuthorizationRuleArrayInput

type TopicAuthorizationRuleArrayInput interface {
	pulumi.Input

	ToTopicAuthorizationRuleArrayOutput() TopicAuthorizationRuleArrayOutput
	ToTopicAuthorizationRuleArrayOutputWithContext(context.Context) TopicAuthorizationRuleArrayOutput
}

TopicAuthorizationRuleArrayInput is an input type that accepts TopicAuthorizationRuleArray and TopicAuthorizationRuleArrayOutput values. You can construct a concrete instance of `TopicAuthorizationRuleArrayInput` via:

TopicAuthorizationRuleArray{ TopicAuthorizationRuleArgs{...} }

type TopicAuthorizationRuleArrayOutput

type TopicAuthorizationRuleArrayOutput struct{ *pulumi.OutputState }

func (TopicAuthorizationRuleArrayOutput) ElementType

func (TopicAuthorizationRuleArrayOutput) Index

func (TopicAuthorizationRuleArrayOutput) ToTopicAuthorizationRuleArrayOutput

func (o TopicAuthorizationRuleArrayOutput) ToTopicAuthorizationRuleArrayOutput() TopicAuthorizationRuleArrayOutput

func (TopicAuthorizationRuleArrayOutput) ToTopicAuthorizationRuleArrayOutputWithContext

func (o TopicAuthorizationRuleArrayOutput) ToTopicAuthorizationRuleArrayOutputWithContext(ctx context.Context) TopicAuthorizationRuleArrayOutput

type TopicAuthorizationRuleInput

type TopicAuthorizationRuleInput interface {
	pulumi.Input

	ToTopicAuthorizationRuleOutput() TopicAuthorizationRuleOutput
	ToTopicAuthorizationRuleOutputWithContext(ctx context.Context) TopicAuthorizationRuleOutput
}

type TopicAuthorizationRuleMap

type TopicAuthorizationRuleMap map[string]TopicAuthorizationRuleInput

func (TopicAuthorizationRuleMap) ElementType

func (TopicAuthorizationRuleMap) ElementType() reflect.Type

func (TopicAuthorizationRuleMap) ToTopicAuthorizationRuleMapOutput

func (i TopicAuthorizationRuleMap) ToTopicAuthorizationRuleMapOutput() TopicAuthorizationRuleMapOutput

func (TopicAuthorizationRuleMap) ToTopicAuthorizationRuleMapOutputWithContext

func (i TopicAuthorizationRuleMap) ToTopicAuthorizationRuleMapOutputWithContext(ctx context.Context) TopicAuthorizationRuleMapOutput

type TopicAuthorizationRuleMapInput

type TopicAuthorizationRuleMapInput interface {
	pulumi.Input

	ToTopicAuthorizationRuleMapOutput() TopicAuthorizationRuleMapOutput
	ToTopicAuthorizationRuleMapOutputWithContext(context.Context) TopicAuthorizationRuleMapOutput
}

TopicAuthorizationRuleMapInput is an input type that accepts TopicAuthorizationRuleMap and TopicAuthorizationRuleMapOutput values. You can construct a concrete instance of `TopicAuthorizationRuleMapInput` via:

TopicAuthorizationRuleMap{ "key": TopicAuthorizationRuleArgs{...} }

type TopicAuthorizationRuleMapOutput

type TopicAuthorizationRuleMapOutput struct{ *pulumi.OutputState }

func (TopicAuthorizationRuleMapOutput) ElementType

func (TopicAuthorizationRuleMapOutput) MapIndex

func (TopicAuthorizationRuleMapOutput) ToTopicAuthorizationRuleMapOutput

func (o TopicAuthorizationRuleMapOutput) ToTopicAuthorizationRuleMapOutput() TopicAuthorizationRuleMapOutput

func (TopicAuthorizationRuleMapOutput) ToTopicAuthorizationRuleMapOutputWithContext

func (o TopicAuthorizationRuleMapOutput) ToTopicAuthorizationRuleMapOutputWithContext(ctx context.Context) TopicAuthorizationRuleMapOutput

type TopicAuthorizationRuleOutput

type TopicAuthorizationRuleOutput struct{ *pulumi.OutputState }

func (TopicAuthorizationRuleOutput) ElementType

func (TopicAuthorizationRuleOutput) Listen added in v5.5.0

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

func (TopicAuthorizationRuleOutput) Manage added in v5.5.0

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

func (TopicAuthorizationRuleOutput) Name added in v5.5.0

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

func (TopicAuthorizationRuleOutput) PrimaryConnectionString added in v5.5.0

func (o TopicAuthorizationRuleOutput) PrimaryConnectionString() pulumi.StringOutput

The Primary Connection String for the ServiceBus Topic authorization Rule.

func (TopicAuthorizationRuleOutput) PrimaryConnectionStringAlias added in v5.5.0

func (o TopicAuthorizationRuleOutput) PrimaryConnectionStringAlias() pulumi.StringOutput

The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.

func (TopicAuthorizationRuleOutput) PrimaryKey added in v5.5.0

The Primary Key for the ServiceBus Topic authorization Rule.

func (TopicAuthorizationRuleOutput) SecondaryConnectionString added in v5.5.0

func (o TopicAuthorizationRuleOutput) SecondaryConnectionString() pulumi.StringOutput

The Secondary Connection String for the ServiceBus Topic authorization Rule.

func (TopicAuthorizationRuleOutput) SecondaryConnectionStringAlias added in v5.5.0

func (o TopicAuthorizationRuleOutput) SecondaryConnectionStringAlias() pulumi.StringOutput

The alias Secondary Connection String for the ServiceBus Namespace

func (TopicAuthorizationRuleOutput) SecondaryKey added in v5.5.0

The Secondary Key for the ServiceBus Topic authorization Rule.

func (TopicAuthorizationRuleOutput) Send added in v5.5.0

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

func (TopicAuthorizationRuleOutput) ToTopicAuthorizationRuleOutput

func (o TopicAuthorizationRuleOutput) ToTopicAuthorizationRuleOutput() TopicAuthorizationRuleOutput

func (TopicAuthorizationRuleOutput) ToTopicAuthorizationRuleOutputWithContext

func (o TopicAuthorizationRuleOutput) ToTopicAuthorizationRuleOutputWithContext(ctx context.Context) TopicAuthorizationRuleOutput

func (TopicAuthorizationRuleOutput) TopicId added in v5.5.0

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

> **NOTE** At least one of the 3 permissions below needs to be set.

type TopicAuthorizationRuleState

type TopicAuthorizationRuleState struct {
	// Grants listen access to this this Authorization Rule. Defaults to `false`.
	Listen pulumi.BoolPtrInput
	// Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.
	Manage pulumi.BoolPtrInput
	// Specifies the name of the ServiceBus Topic Authorization Rule resource. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The Primary Connection String for the ServiceBus Topic authorization Rule.
	PrimaryConnectionString pulumi.StringPtrInput
	// The alias Primary Connection String for the ServiceBus Namespace, if the namespace is Geo DR paired.
	PrimaryConnectionStringAlias pulumi.StringPtrInput
	// The Primary Key for the ServiceBus Topic authorization Rule.
	PrimaryKey pulumi.StringPtrInput
	// The Secondary Connection String for the ServiceBus Topic authorization Rule.
	SecondaryConnectionString pulumi.StringPtrInput
	// The alias Secondary Connection String for the ServiceBus Namespace
	SecondaryConnectionStringAlias pulumi.StringPtrInput
	// The Secondary Key for the ServiceBus Topic authorization Rule.
	SecondaryKey pulumi.StringPtrInput
	// Grants send access to this this Authorization Rule. Defaults to `false`.
	Send pulumi.BoolPtrInput
	// Specifies the ID of the ServiceBus Topic. Changing this forces a new resource to be created.
	//
	// > **NOTE** At least one of the 3 permissions below needs to be set.
	TopicId pulumi.StringPtrInput
}

func (TopicAuthorizationRuleState) ElementType

type TopicInput

type TopicInput interface {
	pulumi.Input

	ToTopicOutput() TopicOutput
	ToTopicOutputWithContext(ctx context.Context) TopicOutput
}

type TopicMap

type TopicMap map[string]TopicInput

func (TopicMap) ElementType

func (TopicMap) ElementType() reflect.Type

func (TopicMap) ToTopicMapOutput

func (i TopicMap) ToTopicMapOutput() TopicMapOutput

func (TopicMap) ToTopicMapOutputWithContext

func (i TopicMap) ToTopicMapOutputWithContext(ctx context.Context) TopicMapOutput

type TopicMapInput

type TopicMapInput interface {
	pulumi.Input

	ToTopicMapOutput() TopicMapOutput
	ToTopicMapOutputWithContext(context.Context) TopicMapOutput
}

TopicMapInput is an input type that accepts TopicMap and TopicMapOutput values. You can construct a concrete instance of `TopicMapInput` via:

TopicMap{ "key": TopicArgs{...} }

type TopicMapOutput

type TopicMapOutput struct{ *pulumi.OutputState }

func (TopicMapOutput) ElementType

func (TopicMapOutput) ElementType() reflect.Type

func (TopicMapOutput) MapIndex

func (TopicMapOutput) ToTopicMapOutput

func (o TopicMapOutput) ToTopicMapOutput() TopicMapOutput

func (TopicMapOutput) ToTopicMapOutputWithContext

func (o TopicMapOutput) ToTopicMapOutputWithContext(ctx context.Context) TopicMapOutput

type TopicOutput

type TopicOutput struct{ *pulumi.OutputState }

func (TopicOutput) AutoDeleteOnIdle added in v5.5.0

func (o TopicOutput) AutoDeleteOnIdle() pulumi.StringOutput

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

func (TopicOutput) DefaultMessageTtl added in v5.5.0

func (o TopicOutput) DefaultMessageTtl() pulumi.StringOutput

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

func (TopicOutput) DuplicateDetectionHistoryTimeWindow added in v5.5.0

func (o TopicOutput) DuplicateDetectionHistoryTimeWindow() pulumi.StringOutput

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

func (TopicOutput) ElementType

func (TopicOutput) ElementType() reflect.Type

func (TopicOutput) EnableBatchedOperations added in v5.5.0

func (o TopicOutput) EnableBatchedOperations() pulumi.BoolPtrOutput

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

func (TopicOutput) EnableExpress added in v5.5.0

func (o TopicOutput) EnableExpress() pulumi.BoolPtrOutput

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

func (TopicOutput) EnablePartitioning added in v5.5.0

func (o TopicOutput) EnablePartitioning() pulumi.BoolPtrOutput

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

> **NOTE:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. It is not available for the Premium messaging SKU, but any previously existing partitioned entities in Premium namespaces continue to work as expected. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-partitioning) for more information.

func (TopicOutput) MaxMessageSizeInKilobytes added in v5.5.0

func (o TopicOutput) MaxMessageSizeInKilobytes() pulumi.IntOutput

Integer value which controls the maximum size of a message allowed on the topic for Premium SKU. For supported values see the "Large messages support" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview).

func (TopicOutput) MaxSizeInMegabytes added in v5.5.0

func (o TopicOutput) MaxSizeInMegabytes() pulumi.IntOutput

Integer value which controls the size of memory allocated for the topic. For supported values see the "Queue/topic size" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).

func (TopicOutput) Name added in v5.5.0

func (o TopicOutput) Name() pulumi.StringOutput

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

func (TopicOutput) NamespaceId added in v5.5.0

func (o TopicOutput) NamespaceId() pulumi.StringOutput

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

func (TopicOutput) NamespaceName added in v5.5.0

func (o TopicOutput) NamespaceName() pulumi.StringOutput

func (TopicOutput) RequiresDuplicateDetection added in v5.5.0

func (o TopicOutput) RequiresDuplicateDetection() pulumi.BoolPtrOutput

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

func (TopicOutput) ResourceGroupName added in v5.5.0

func (o TopicOutput) ResourceGroupName() pulumi.StringOutput

func (TopicOutput) Status added in v5.5.0

func (o TopicOutput) Status() pulumi.StringPtrOutput

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

func (TopicOutput) SupportOrdering added in v5.5.0

func (o TopicOutput) SupportOrdering() pulumi.BoolPtrOutput

Boolean flag which controls whether the Topic supports ordering.

func (TopicOutput) ToTopicOutput

func (o TopicOutput) ToTopicOutput() TopicOutput

func (TopicOutput) ToTopicOutputWithContext

func (o TopicOutput) ToTopicOutputWithContext(ctx context.Context) TopicOutput

type TopicState

type TopicState struct {
	// The ISO 8601 timespan duration of the idle interval after which the Topic is automatically deleted, minimum of 5 minutes.
	AutoDeleteOnIdle pulumi.StringPtrInput
	// The ISO 8601 timespan duration of TTL of messages sent to this topic if no TTL value is set on the message itself.
	DefaultMessageTtl pulumi.StringPtrInput
	// The ISO 8601 timespan duration during which duplicates can be detected. Defaults to 10 minutes. (`PT10M`)
	DuplicateDetectionHistoryTimeWindow pulumi.StringPtrInput
	// Boolean flag which controls if server-side batched operations are enabled.
	EnableBatchedOperations pulumi.BoolPtrInput
	// Boolean flag which controls whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage.
	EnableExpress pulumi.BoolPtrInput
	// Boolean flag which controls whether to enable the topic to be partitioned across multiple message brokers. Changing this forces a new resource to be created.
	//
	// > **NOTE:** Partitioning is available at entity creation for all queues and topics in Basic or Standard SKUs. It is not available for the Premium messaging SKU, but any previously existing partitioned entities in Premium namespaces continue to work as expected. Please [see the documentation](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-partitioning) for more information.
	EnablePartitioning pulumi.BoolPtrInput
	// Integer value which controls the maximum size of a message allowed on the topic for Premium SKU. For supported values see the "Large messages support" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview).
	MaxMessageSizeInKilobytes pulumi.IntPtrInput
	// Integer value which controls the size of memory allocated for the topic. For supported values see the "Queue/topic size" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas).
	MaxSizeInMegabytes pulumi.IntPtrInput
	// Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created.
	NamespaceId   pulumi.StringPtrInput
	NamespaceName pulumi.StringPtrInput
	// Boolean flag which controls whether the Topic requires duplicate detection. Defaults to `false`. Changing this forces a new resource to be created.
	RequiresDuplicateDetection pulumi.BoolPtrInput
	ResourceGroupName          pulumi.StringPtrInput
	// The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`.
	Status pulumi.StringPtrInput
	// Boolean flag which controls whether the Topic supports ordering.
	SupportOrdering pulumi.BoolPtrInput
}

func (TopicState) ElementType

func (TopicState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL