EndpointServicebusQueue

Manages an IotHub ServiceBus Queue Endpoint

NOTE: Endpoints can be defined either directly on the azure.iot.IoTHub resource, or using the azurerm_iothub_endpoint_* resources - but the two ways of defining the endpoints cannot be used together. If both are used against the same IoTHub, spurious changes will occur. Also, defining a azurerm_iothub_endpoint_* resource and another endpoint of a different type directly on the azure.iot.IoTHub resource is not supported.

Example Usage

using Pulumi;
using Azure = Pulumi.Azure;

class MyStack : Stack
{
    public MyStack()
    {
        var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
        {
            Location = "East US",
        });
        var exampleNamespace = new Azure.ServiceBus.Namespace("exampleNamespace", new Azure.ServiceBus.NamespaceArgs
        {
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            Sku = "Standard",
        });
        var exampleQueue = new Azure.ServiceBus.Queue("exampleQueue", new Azure.ServiceBus.QueueArgs
        {
            ResourceGroupName = exampleResourceGroup.Name,
            NamespaceName = exampleNamespace.Name,
            EnablePartitioning = true,
        });
        var exampleQueueAuthorizationRule = new Azure.ServiceBus.QueueAuthorizationRule("exampleQueueAuthorizationRule", new Azure.ServiceBus.QueueAuthorizationRuleArgs
        {
            NamespaceName = exampleNamespace.Name,
            QueueName = exampleQueue.Name,
            ResourceGroupName = exampleResourceGroup.Name,
            Listen = false,
            Send = true,
            Manage = false,
        });
        var exampleIoTHub = new Azure.Iot.IoTHub("exampleIoTHub", new Azure.Iot.IoTHubArgs
        {
            ResourceGroupName = exampleResourceGroup.Name,
            Location = exampleResourceGroup.Location,
            Sku = new Azure.Iot.Inputs.IoTHubSkuArgs
            {
                Name = "B1",
                Tier = "Basic",
                Capacity = 1,
            },
            Tags = 
            {
                { "purpose", "example" },
            },
        });
        var exampleEndpointServicebusQueue = new Azure.Iot.EndpointServicebusQueue("exampleEndpointServicebusQueue", new Azure.Iot.EndpointServicebusQueueArgs
        {
            ResourceGroupName = exampleResourceGroup.Name,
            IothubName = exampleIoTHub.Name,
            ConnectionString = exampleQueueAuthorizationRule.PrimaryConnectionString,
        });
    }

}
package main

import (
    "github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
    "github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot"
    "github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
            Location: pulumi.String("East US"),
        })
        if err != nil {
            return err
        }
        exampleNamespace, err := servicebus.NewNamespace(ctx, "exampleNamespace", &servicebus.NamespaceArgs{
            Location:          exampleResourceGroup.Location,
            ResourceGroupName: exampleResourceGroup.Name,
            Sku:               pulumi.String("Standard"),
        })
        if err != nil {
            return err
        }
        exampleQueue, err := servicebus.NewQueue(ctx, "exampleQueue", &servicebus.QueueArgs{
            ResourceGroupName:  exampleResourceGroup.Name,
            NamespaceName:      exampleNamespace.Name,
            EnablePartitioning: pulumi.Bool(true),
        })
        if err != nil {
            return err
        }
        exampleQueueAuthorizationRule, err := servicebus.NewQueueAuthorizationRule(ctx, "exampleQueueAuthorizationRule", &servicebus.QueueAuthorizationRuleArgs{
            NamespaceName:     exampleNamespace.Name,
            QueueName:         exampleQueue.Name,
            ResourceGroupName: exampleResourceGroup.Name,
            Listen:            pulumi.Bool(false),
            Send:              pulumi.Bool(true),
            Manage:            pulumi.Bool(false),
        })
        if err != nil {
            return err
        }
        exampleIoTHub, err := iot.NewIoTHub(ctx, "exampleIoTHub", &iot.IoTHubArgs{
            ResourceGroupName: exampleResourceGroup.Name,
            Location:          exampleResourceGroup.Location,
            Sku: &iot.IoTHubSkuArgs{
                Name:     pulumi.String("B1"),
                Tier:     pulumi.String("Basic"),
                Capacity: pulumi.Int(1),
            },
            Tags: pulumi.Map{
                "purpose": pulumi.String("example"),
            },
        })
        if err != nil {
            return err
        }
        _, err = iot.NewEndpointServicebusQueue(ctx, "exampleEndpointServicebusQueue", &iot.EndpointServicebusQueueArgs{
            ResourceGroupName: exampleResourceGroup.Name,
            IothubName:        exampleIoTHub.Name,
            ConnectionString:  exampleQueueAuthorizationRule.PrimaryConnectionString,
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_azure as azure

example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="East US")
example_namespace = azure.servicebus.Namespace("exampleNamespace",
    location=example_resource_group.location,
    resource_group_name=example_resource_group.name,
    sku="Standard")
example_queue = azure.servicebus.Queue("exampleQueue",
    resource_group_name=example_resource_group.name,
    namespace_name=example_namespace.name,
    enable_partitioning=True)
example_queue_authorization_rule = azure.servicebus.QueueAuthorizationRule("exampleQueueAuthorizationRule",
    namespace_name=example_namespace.name,
    queue_name=example_queue.name,
    resource_group_name=example_resource_group.name,
    listen=False,
    send=True,
    manage=False)
example_io_t_hub = azure.iot.IoTHub("exampleIoTHub",
    resource_group_name=example_resource_group.name,
    location=example_resource_group.location,
    sku={
        "name": "B1",
        "tier": "Basic",
        "capacity": "1",
    },
    tags={
        "purpose": "example",
    })
example_endpoint_servicebus_queue = azure.iot.EndpointServicebusQueue("exampleEndpointServicebusQueue",
    resource_group_name=example_resource_group.name,
    iothub_name=example_io_t_hub.name,
    connection_string=example_queue_authorization_rule.primary_connection_string)
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "East US"});
const exampleNamespace = new azure.servicebus.Namespace("exampleNamespace", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    sku: "Standard",
});
const exampleQueue = new azure.servicebus.Queue("exampleQueue", {
    resourceGroupName: exampleResourceGroup.name,
    namespaceName: exampleNamespace.name,
    enablePartitioning: true,
});
const exampleQueueAuthorizationRule = new azure.servicebus.QueueAuthorizationRule("exampleQueueAuthorizationRule", {
    namespaceName: exampleNamespace.name,
    queueName: exampleQueue.name,
    resourceGroupName: exampleResourceGroup.name,
    listen: false,
    send: true,
    manage: false,
});
const exampleIoTHub = new azure.iot.IoTHub("exampleIoTHub", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    sku: {
        name: "B1",
        tier: "Basic",
        capacity: "1",
    },
    tags: {
        purpose: "example",
    },
});
const exampleEndpointServicebusQueue = new azure.iot.EndpointServicebusQueue("exampleEndpointServicebusQueue", {
    resourceGroupName: exampleResourceGroup.name,
    iothubName: exampleIoTHub.name,
    connectionString: exampleQueueAuthorizationRule.primaryConnectionString,
});

Create a EndpointServicebusQueue Resource

def EndpointServicebusQueue(resource_name, opts=None, connection_string=None, iothub_name=None, name=None, resource_group_name=None, __props__=None);
name string
The unique name of the resource.
args EndpointServicebusQueueArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
opts ResourceOptions
A bag of options that control this resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args EndpointServicebusQueueArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args EndpointServicebusQueueArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

EndpointServicebusQueue Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The EndpointServicebusQueue resource accepts the following input properties:

ConnectionString string

The connection string for the endpoint.

IothubName string
ResourceGroupName string
Name string

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

ConnectionString string

The connection string for the endpoint.

IothubName string
ResourceGroupName string
Name string

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

connectionString string

The connection string for the endpoint.

iothubName string
resourceGroupName string
name string

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

connection_string str

The connection string for the endpoint.

iothub_name str
resource_group_name str
name str

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

Outputs

All input properties are implicitly available as output properties. Additionally, the EndpointServicebusQueue resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.

Look up an Existing EndpointServicebusQueue Resource

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

static get(resource_name, id, opts=None, connection_string=None, iothub_name=None, name=None, resource_group_name=None, __props__=None);
func GetEndpointServicebusQueue(ctx *Context, name string, id IDInput, state *EndpointServicebusQueueState, opts ...ResourceOption) (*EndpointServicebusQueue, error)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

ConnectionString string

The connection string for the endpoint.

IothubName string
Name string

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

ResourceGroupName string
ConnectionString string

The connection string for the endpoint.

IothubName string
Name string

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

ResourceGroupName string
connectionString string

The connection string for the endpoint.

iothubName string
name string

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

resourceGroupName string
connection_string str

The connection string for the endpoint.

iothub_name str
name str

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

resource_group_name str

Package Details

Repository
https://github.com/pulumi/pulumi-azure
License
Apache-2.0
Notes
This Pulumi package is based on the azurerm Terraform Provider.