Azure Messaging Signalr Service

This page shows how to write Terraform and Azure Resource Manager for Messaging Signalr Service and write them securely.

azurerm_signalr_service (Terraform)

The Signalr Service in Messaging can be configured in Terraform with the resource name azurerm_signalr_service. The following sections describe 10 examples of how to use the resource and its parameters.

Example Usage from GitHub

signalr.tf#L2
resource "azurerm_signalr_service" "example" {
  name                = var.signalr_name
  location            = var.location
  resource_group_name = azurerm_resource_group.rg.name

  sku {
main.tf#L5
resource "azurerm_signalr_service" "vh" {
  name                = var.resource_prefix
  resource_group_name = data.azurerm_resource_group.vh-core-infra.name
  location            = "uksouth"

  sku {
main.tf#L5
resource "azurerm_signalr_service" "vh" {
  name                = var.resource_prefix
  resource_group_name = data.azurerm_resource_group.vh-core-infra.name
  location            = "uksouth"

  sku {
main.tf#L16
resource "azurerm_signalr_service" "serverless_signalr" {
    name                = "serverlesspoc-signalr"
    location            = azurerm_resource_group.serverless-group.location
    resource_group_name = azurerm_resource_group.serverless-group.name

    sku {
main.tf#L9
resource "azurerm_signalr_service" "signalr" {
  name                = var.name
  location            = var.location
  resource_group_name = var.resource_group

  sku {
signalr.tf#L1
resource "azurerm_signalr_service" "signalr" {
  location = var.location
  name = local.signalr_name
  resource_group_name = azurerm_resource_group.group.name

  sku {
main.tf#L10
resource "azurerm_signalr_service" "vh" {
  name                = var.resource_prefix
  resource_group_name = data.azurerm_resource_group.vh-infra-core.name
  location            = data.azurerm_resource_group.vh-infra-core.location

  sku {
r-signalr.tf#L1
resource "azurerm_signalr_service" "signalr" {
  location            = var.location
  name                = local.name
  resource_group_name = var.resource_group_name
  sku {
    capacity = var.sku.capacity
signalr.tf#L1
resource "azurerm_signalr_service" "signalr" {
  name                = var.signalr_name
  location            = azurerm_resource_group.rg.location
  resource_group_name = azurerm_resource_group.rg.name

  sku {
main.tf#L7
resource "azurerm_signalr_service" "this" {
  location            = var.location
  name                = var.name
  resource_group_name = var.resource_group_name
  tags                = var.tags

Review your Terraform file for Azure best practices

Shisho Cloud, our free checker to make sure your Terraform configuration follows best practices, is available (beta).

Parameters

Explanation in Terraform Registry

Manages an Azure SignalR service.

Microsoft.SignalRService/signalR (Azure Resource Manager)

The signalR in Microsoft.SignalRService can be configured in Azure Resource Manager with the resource name Microsoft.SignalRService/signalR. The following sections describe how to use the resource and its parameters.

Example Usage from GitHub

An example could not be found in GitHub.

Parameters

  • apiVersion required - string
  • identity optional
      • type optional - string
      • userAssignedIdentities optional - undefined

        Get or set the user assigned identities

  • kind optional - string
  • location optional - string

    The GEO location of the resource. e.g. West US | East US | North Central US | South Central US.

  • name required - string

    The name of the resource.

  • properties required
      • cors optional
          • allowedOrigins optional - array

            Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). Use "*" to allow all. If omitted, allow all by default.

      • disableAadAuth optional - boolean

        DisableLocalAuth Enable or disable aad auth When set as true, connection with AuthType=aad won't work.

      • disableLocalAuth optional - boolean

        DisableLocalAuth Enable or disable local auth with AccessKey When set as true, connection with AccessKey=xxx won't work.

      • features optional array
          • flag required - string
          • properties optional - string

            Optional properties related to this feature.

          • value required - string

            Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for allowed values.

      • networkACLs optional
          • defaultAction optional - string
          • privateEndpoints optional array
              • allow optional - array

                Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.

              • deny optional - array

                Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.

              • name required - string

                Name of the private endpoint connection

          • publicNetwork optional
              • allow optional - array

                Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.

              • deny optional - array

                Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.

      • publicNetworkAccess optional - string

        Enable or disable public network access. Default to "Enabled". When it's Enabled, network ACLs still apply. When it's Disabled, public network access is always disabled no matter what you set in network ACLs.

      • resourceLogConfiguration optional
          • categories optional array
              • enabled optional - string

                Indicates whether or the resource log category is enabled. Available values: true, false. Case insensitive.

              • name optional - string

                Gets or sets the resource log category's name. Available values: ConnectivityLogs, MessagingLogs. Case insensitive.

      • tls optional
          • clientCertEnabled optional - boolean

            Request client certificate during TLS handshake if enabled

      • upstream optional
          • templates optional array
              • auth optional
                  • managedIdentity optional
                      • resource optional - string

                        The Resource indicating the App ID URI of the target resource. It also appears in the aud (audience) claim of the issued token.

                  • type optional - string
              • categoryPattern optional - string

                Gets or sets the matching pattern for category names. If not set, it matches any category. There are 3 kind of patterns supported: 1. "*", it to matches any category name 2. Combine multiple categories with ",", for example "connections,messages", it matches category "connections" and "messages" 3. The single category name, for example, "connections", it matches the category "connections"

              • eventPattern optional - string

                Gets or sets the matching pattern for event names. If not set, it matches any event. There are 3 kind of patterns supported: 1. "*", it to matches any event name 2. Combine multiple events with ",", for example "connect,disconnect", it matches event "connect" and "disconnect" 3. The single event name, for example, "connect", it matches "connect"

              • hubPattern optional - string

                Gets or sets the matching pattern for hub names. If not set, it matches any hub. There are 3 kind of patterns supported: 1. "*", it to matches any hub name 2. Combine multiple hubs with ",", for example "hub1,hub2", it matches "hub1" and "hub2" 3. The single hub name, for example, "hub1", it matches "hub1"

              • urlTemplate required - string

                Gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in. For example, if the urlTemplate is http://example.com/{hub}/api/{event}, with a client request from hub chat connects, it will first POST to this URL: http://example.com/chat/api/connect.

  • sku optional
      • capacity optional - integer

        Optional, integer. The unit count of the resource. 1 by default.

        If present, following values are allowed: Free: 1 Standard: 1,2,5,10,20,50,100

      • name required - string

        The name of the SKU. Required.

        Allowed values: Standard_S1, Free_F1

      • tier optional - string
  • tags optional - string

    Tags of the service which is a list of key value pairs that describe the resource.

  • type required - string

Frequently asked questions

What is Azure Messaging Signalr Service?

Azure Messaging Signalr Service is a resource for Messaging of Microsoft Azure. Settings can be wrote in Terraform.

Where can I find the example code for the Azure Messaging Signalr Service?

For Terraform, the Manuss20/trackmverse, hmcts/vh-core-infra and hmcts/vh-core-infra-sds source code examples are useful. See the Terraform Example section for further details.