EndpointServicebusTopic

Manages an IotHub ServiceBus Topic 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 exampleTopic = new Azure.ServiceBus.Topic("exampleTopic", new Azure.ServiceBus.TopicArgs
        {
            ResourceGroupName = exampleResourceGroup.Name,
            NamespaceName = exampleNamespace.Name,
        });
        var exampleTopicAuthorizationRule = new Azure.ServiceBus.TopicAuthorizationRule("exampleTopicAuthorizationRule", new Azure.ServiceBus.TopicAuthorizationRuleArgs
        {
            NamespaceName = exampleNamespace.Name,
            TopicName = exampleTopic.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 exampleEndpointServicebusTopic = new Azure.Iot.EndpointServicebusTopic("exampleEndpointServicebusTopic", new Azure.Iot.EndpointServicebusTopicArgs
        {
            ResourceGroupName = exampleResourceGroup.Name,
            IothubName = exampleIoTHub.Name,
            ConnectionString = exampleTopicAuthorizationRule.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
        }
        exampleTopic, err := servicebus.NewTopic(ctx, "exampleTopic", &servicebus.TopicArgs{
            ResourceGroupName: exampleResourceGroup.Name,
            NamespaceName:     exampleNamespace.Name,
        })
        if err != nil {
            return err
        }
        exampleTopicAuthorizationRule, err := servicebus.NewTopicAuthorizationRule(ctx, "exampleTopicAuthorizationRule", &servicebus.TopicAuthorizationRuleArgs{
            NamespaceName:     exampleNamespace.Name,
            TopicName:         exampleTopic.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.NewEndpointServicebusTopic(ctx, "exampleEndpointServicebusTopic", &iot.EndpointServicebusTopicArgs{
            ResourceGroupName: exampleResourceGroup.Name,
            IothubName:        exampleIoTHub.Name,
            ConnectionString:  exampleTopicAuthorizationRule.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_topic = azure.servicebus.Topic("exampleTopic",
    resource_group_name=example_resource_group.name,
    namespace_name=example_namespace.name)
example_topic_authorization_rule = azure.servicebus.TopicAuthorizationRule("exampleTopicAuthorizationRule",
    namespace_name=example_namespace.name,
    topic_name=example_topic.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_topic = azure.iot.EndpointServicebusTopic("exampleEndpointServicebusTopic",
    resource_group_name=example_resource_group.name,
    iothub_name=example_io_t_hub.name,
    connection_string=example_topic_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 exampleTopic = new azure.servicebus.Topic("exampleTopic", {
    resourceGroupName: exampleResourceGroup.name,
    namespaceName: exampleNamespace.name,
});
const exampleTopicAuthorizationRule = new azure.servicebus.TopicAuthorizationRule("exampleTopicAuthorizationRule", {
    namespaceName: exampleNamespace.name,
    topicName: exampleTopic.name,
    resourceGroupName: exampleResourceGroup.name,
    listen: 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 exampleEndpointServicebusTopic = new azure.iot.EndpointServicebusTopic("exampleEndpointServicebusTopic", {
    resourceGroupName: exampleResourceGroup.name,
    iothubName: exampleIoTHub.name,
    connectionString: exampleTopicAuthorizationRule.primaryConnectionString,
});

Create a EndpointServicebusTopic Resource

def EndpointServicebusTopic(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 EndpointServicebusTopicArgs
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 EndpointServicebusTopicArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args EndpointServicebusTopicArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

EndpointServicebusTopic Resource Properties

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

Inputs

The EndpointServicebusTopic 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 EndpointServicebusTopic 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 EndpointServicebusTopic Resource

Get an existing EndpointServicebusTopic 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 GetEndpointServicebusTopic(ctx *Context, name string, id IDInput, state *EndpointServicebusTopicState, opts ...ResourceOption) (*EndpointServicebusTopic, 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.