Microsoft.SignalRService signalR 2020-05-01

Bicep resource definition

The signalR resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.SignalRService/signalR resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.SignalRService/signalR@2020-05-01' = {
  kind: 'string'
  location: 'string'
  name: 'string'
  properties: {
    cors: {
      allowedOrigins: [
        'string'
      ]
    }
    features: [
      {
        flag: 'string'
        properties: {
          {customized property}: 'string'
        }
        value: 'string'
      }
    ]
    networkACLs: {
      defaultAction: 'string'
      privateEndpoints: [
        {
          allow: [
            'string'
          ]
          deny: [
            'string'
          ]
          name: 'string'
        }
      ]
      publicNetwork: {
        allow: [
          'string'
        ]
        deny: [
          'string'
        ]
      }
    }
    upstream: {
      templates: [
        {
          categoryPattern: 'string'
          eventPattern: 'string'
          hubPattern: 'string'
          urlTemplate: 'string'
        }
      ]
    }
  }
  sku: {
    capacity: int
    name: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Property values

Microsoft.SignalRService/signalR

Name Description Value
kind The kind of the service - e.g. "SignalR", or "RawWebSockets" for "Microsoft.SignalRService/SignalR" 'RawWebSockets'
'SignalR'
location The GEO location of the SignalR service. e.g. West US East US North Central US South Central US. string
name The resource name string (required)
properties Settings used to provision or configure the resource SignalRProperties
sku The billing information of the resource.(e.g. Free, Standard) ResourceSku
tags Resource tags Dictionary of tag names and values. See Tags in templates

NetworkACL

Name Description Value
allow Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI. String array containing any of:
'ClientConnection'
'RESTAPI'
'ServerConnection'
'Trace'
deny Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI. String array containing any of:
'ClientConnection'
'RESTAPI'
'ServerConnection'
'Trace'

PrivateEndpointACL

Name Description Value
allow Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI. String array containing any of:
'ClientConnection'
'RESTAPI'
'ServerConnection'
'Trace'
deny Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI. String array containing any of:
'ClientConnection'
'RESTAPI'
'ServerConnection'
'Trace'
name Name of the private endpoint connection string (required)

ResourceSku

Name Description Value
capacity Optional, integer. The unit count of SignalR resource. 1 by default.

If present, following values are allowed:
Free: 1
Standard: 1,2,5,10,20,50,100
int
name The name of the SKU. Required.

Allowed values: Standard_S1, Free_F1
string (required)
tier Optional tier of this particular SKU. 'Standard' or 'Free'.

Basic is deprecated, use Standard instead.
'Basic'
'Free'
'Premium'
'Standard'

ServerlessUpstreamSettings

Name Description Value
templates Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects. UpstreamTemplate[]

SignalRCorsSettings

Name Description Value
allowedOrigins 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. string[]

SignalRFeature

Name Description Value
flag FeatureFlags is the supported features of Azure SignalR service.
- ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both Default and Serverless mode but not recommended; "PredefinedOnly": for future use.
- EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively.
'EnableConnectivityLogs'
'EnableMessagingLogs'
'ServiceMode' (required)
properties Optional properties related to this feature. SignalRFeatureProperties
value Value of the feature flag. See Azure SignalR service document /azure/azure-signalr/ for allowed values. string

Constraints:
Min length = 1
Max length = 1 (required)

SignalRFeatureProperties

Name Description Value

SignalRNetworkACLs

Name Description Value
defaultAction Default action when no other rule matches 'Allow'
'Deny'
privateEndpoints ACLs for requests from private endpoints PrivateEndpointACL[]
publicNetwork ACL for requests from public network NetworkACL

SignalRProperties

Name Description Value
cors Cross-Origin Resource Sharing (CORS) settings. SignalRCorsSettings
features List of SignalR featureFlags. e.g. ServiceMode.

FeatureFlags that are not included in the parameters for the update operation will not be modified.
And the response will only include featureFlags that are explicitly set.
When a featureFlag is not explicitly set, SignalR service will use its globally default value.
But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags.
SignalRFeature[]
networkACLs Network ACLs SignalRNetworkACLs
upstream Upstream settings when the Azure SignalR is in server-less mode. ServerlessUpstreamSettings

TrackedResourceTags

Name Description Value

UpstreamTemplate

Name Description Value
categoryPattern 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"
string
eventPattern 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"
string
hubPattern 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"
string
urlTemplate 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.
string (required)

Quickstart samples

The following quickstart samples deploy this resource type.

Bicep File Description
Deploy an Azure SignalR service This template creates an Azure SignalR Service using a template.

ARM template resource definition

The signalR resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.SignalRService/signalR resource, add the following JSON to your template.

{
  "type": "Microsoft.SignalRService/signalR",
  "apiVersion": "2020-05-01",
  "name": "string",
  "kind": "string",
  "location": "string",
  "properties": {
    "cors": {
      "allowedOrigins": [ "string" ]
    },
    "features": [
      {
        "flag": "string",
        "properties": {
          "{customized property}": "string"
        },
        "value": "string"
      }
    ],
    "networkACLs": {
      "defaultAction": "string",
      "privateEndpoints": [
        {
          "allow": [ "string" ],
          "deny": [ "string" ],
          "name": "string"
        }
      ],
      "publicNetwork": {
        "allow": [ "string" ],
        "deny": [ "string" ]
      }
    },
    "upstream": {
      "templates": [
        {
          "categoryPattern": "string",
          "eventPattern": "string",
          "hubPattern": "string",
          "urlTemplate": "string"
        }
      ]
    }
  },
  "sku": {
    "capacity": "int",
    "name": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property values

Microsoft.SignalRService/signalR

Name Description Value
apiVersion The api version '2020-05-01'
kind The kind of the service - e.g. "SignalR", or "RawWebSockets" for "Microsoft.SignalRService/SignalR" 'RawWebSockets'
'SignalR'
location The GEO location of the SignalR service. e.g. West US East US North Central US South Central US. string
name The resource name string (required)
properties Settings used to provision or configure the resource SignalRProperties
sku The billing information of the resource.(e.g. Free, Standard) ResourceSku
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.SignalRService/signalR'

NetworkACL

Name Description Value
allow Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI. String array containing any of:
'ClientConnection'
'RESTAPI'
'ServerConnection'
'Trace'
deny Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI. String array containing any of:
'ClientConnection'
'RESTAPI'
'ServerConnection'
'Trace'

PrivateEndpointACL

Name Description Value
allow Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI. String array containing any of:
'ClientConnection'
'RESTAPI'
'ServerConnection'
'Trace'
deny Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI. String array containing any of:
'ClientConnection'
'RESTAPI'
'ServerConnection'
'Trace'
name Name of the private endpoint connection string (required)

ResourceSku

Name Description Value
capacity Optional, integer. The unit count of SignalR resource. 1 by default.

If present, following values are allowed:
Free: 1
Standard: 1,2,5,10,20,50,100
int
name The name of the SKU. Required.

Allowed values: Standard_S1, Free_F1
string (required)
tier Optional tier of this particular SKU. 'Standard' or 'Free'.

Basic is deprecated, use Standard instead.
'Basic'
'Free'
'Premium'
'Standard'

ServerlessUpstreamSettings

Name Description Value
templates Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects. UpstreamTemplate[]

SignalRCorsSettings

Name Description Value
allowedOrigins 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. string[]

SignalRFeature

Name Description Value
flag FeatureFlags is the supported features of Azure SignalR service.
- ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both Default and Serverless mode but not recommended; "PredefinedOnly": for future use.
- EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively.
'EnableConnectivityLogs'
'EnableMessagingLogs'
'ServiceMode' (required)
properties Optional properties related to this feature. SignalRFeatureProperties
value Value of the feature flag. See Azure SignalR service document /azure/azure-signalr/ for allowed values. string

Constraints:
Min length = 1
Max length = 1 (required)

SignalRFeatureProperties

Name Description Value

SignalRNetworkACLs

Name Description Value
defaultAction Default action when no other rule matches 'Allow'
'Deny'
privateEndpoints ACLs for requests from private endpoints PrivateEndpointACL[]
publicNetwork ACL for requests from public network NetworkACL

SignalRProperties

Name Description Value
cors Cross-Origin Resource Sharing (CORS) settings. SignalRCorsSettings
features List of SignalR featureFlags. e.g. ServiceMode.

FeatureFlags that are not included in the parameters for the update operation will not be modified.
And the response will only include featureFlags that are explicitly set.
When a featureFlag is not explicitly set, SignalR service will use its globally default value.
But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags.
SignalRFeature[]
networkACLs Network ACLs SignalRNetworkACLs
upstream Upstream settings when the Azure SignalR is in server-less mode. ServerlessUpstreamSettings

TrackedResourceTags

Name Description Value

UpstreamTemplate

Name Description Value
categoryPattern 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"
string
eventPattern 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"
string
hubPattern 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"
string
urlTemplate 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.
string (required)

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Deploy an Azure SignalR service

Deploy to Azure
This template creates an Azure SignalR Service using a template.

Terraform (AzAPI provider) resource definition

The signalR resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.SignalRService/signalR resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.SignalRService/signalR@2020-05-01"
  name = "string"
  kind = "string"
  location = "string"
  body = jsonencode({
    properties = {
      cors = {
        allowedOrigins = [
          "string"
        ]
      }
      features = [
        {
          flag = "string"
          properties = {
            {customized property} = "string"
          }
          value = "string"
        }
      ]
      networkACLs = {
        defaultAction = "string"
        privateEndpoints = [
          {
            allow = [
              "string"
            ]
            deny = [
              "string"
            ]
            name = "string"
          }
        ]
        publicNetwork = {
          allow = [
            "string"
          ]
          deny = [
            "string"
          ]
        }
      }
      upstream = {
        templates = [
          {
            categoryPattern = "string"
            eventPattern = "string"
            hubPattern = "string"
            urlTemplate = "string"
          }
        ]
      }
    }
  })
  sku = {
    capacity = int
    name = "string"
    tier = "string"
  }
  tags = {
    {customized property} = "string"
  }
}

Property values

Microsoft.SignalRService/signalR

Name Description Value
kind The kind of the service - e.g. "SignalR", or "RawWebSockets" for "Microsoft.SignalRService/SignalR" 'RawWebSockets'
'SignalR'
location The GEO location of the SignalR service. e.g. West US East US North Central US South Central US. string
name The resource name string (required)
properties Settings used to provision or configure the resource SignalRProperties
sku The billing information of the resource.(e.g. Free, Standard) ResourceSku
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.SignalRService/signalR@2020-05-01"

NetworkACL

Name Description Value
allow Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI. String array containing any of:
'ClientConnection'
'RESTAPI'
'ServerConnection'
'Trace'
deny Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI. String array containing any of:
'ClientConnection'
'RESTAPI'
'ServerConnection'
'Trace'

PrivateEndpointACL

Name Description Value
allow Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI. String array containing any of:
'ClientConnection'
'RESTAPI'
'ServerConnection'
'Trace'
deny Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI. String array containing any of:
'ClientConnection'
'RESTAPI'
'ServerConnection'
'Trace'
name Name of the private endpoint connection string (required)

ResourceSku

Name Description Value
capacity Optional, integer. The unit count of SignalR resource. 1 by default.

If present, following values are allowed:
Free: 1
Standard: 1,2,5,10,20,50,100
int
name The name of the SKU. Required.

Allowed values: Standard_S1, Free_F1
string (required)
tier Optional tier of this particular SKU. 'Standard' or 'Free'.

Basic is deprecated, use Standard instead.
'Basic'
'Free'
'Premium'
'Standard'

ServerlessUpstreamSettings

Name Description Value
templates Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects. UpstreamTemplate[]

SignalRCorsSettings

Name Description Value
allowedOrigins 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. string[]

SignalRFeature

Name Description Value
flag FeatureFlags is the supported features of Azure SignalR service.
- ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both Default and Serverless mode but not recommended; "PredefinedOnly": for future use.
- EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively.
'EnableConnectivityLogs'
'EnableMessagingLogs'
'ServiceMode' (required)
properties Optional properties related to this feature. SignalRFeatureProperties
value Value of the feature flag. See Azure SignalR service document /azure/azure-signalr/ for allowed values. string

Constraints:
Min length = 1
Max length = 1 (required)

SignalRFeatureProperties

Name Description Value

SignalRNetworkACLs

Name Description Value
defaultAction Default action when no other rule matches 'Allow'
'Deny'
privateEndpoints ACLs for requests from private endpoints PrivateEndpointACL[]
publicNetwork ACL for requests from public network NetworkACL

SignalRProperties

Name Description Value
cors Cross-Origin Resource Sharing (CORS) settings. SignalRCorsSettings
features List of SignalR featureFlags. e.g. ServiceMode.

FeatureFlags that are not included in the parameters for the update operation will not be modified.
And the response will only include featureFlags that are explicitly set.
When a featureFlag is not explicitly set, SignalR service will use its globally default value.
But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags.
SignalRFeature[]
networkACLs Network ACLs SignalRNetworkACLs
upstream Upstream settings when the Azure SignalR is in server-less mode. ServerlessUpstreamSettings

TrackedResourceTags

Name Description Value

UpstreamTemplate

Name Description Value
categoryPattern 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"
string
eventPattern 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"
string
hubPattern 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"
string
urlTemplate 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.
string (required)