Microsoft.SignalRService (preview:2025-01-01)

2025/08/22 • 28 updated methods

Operations_List (updated)
Description List the operations for the provider
Reference Link ¶

⚶ Changes

{
  "#id": "Operations_List",
  "Description": {
    "new": "List the operations for the provider",
    "old": "Lists all of the available REST API operations of the Microsoft.SignalRService provider."
  },
  "$responses": {
    "200": {
      "Description": {
        "new": "A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results.",
        "old": "Result of the request to list REST API operations. It contains a list of operations."
      },
      "$properties": [
        {
          "#name": "value",
          "Description": {
            "new": "The Operation items on this page",
            "old": "List of operations supported by the resource provider."
          },
          "Required": {
            "new": true,
            "old": false
          },
          "$items": {
            "$properties": {
              "properties": [
                {
                  "serviceSpecification": [
                    {
                      "metricSpecifications": {
                        "$properties": [
                          {
                            "#name": "fillGapWithZero",
                            "Description": {
                              "new": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published.\nEx. a metric that returns the number of times a particular error code was emitted. The error code may not appear\noften, instead of the RP publishing 0, Shoebox can auto fill in 0s for time periods where nothing was emitted.",
                              "old": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published. \r\nEx. a metric that returns the number of times a particular error code was emitted. The error code may not appear \r\noften, instead of the RP publishing 0, Shoebox can auto fill in 0s for time periods where nothing was emitted."
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              ]
            }
          }
        },
        {
          "#name": "nextLink",
          "Description": {
            "new": "The link to the next page of items",
            "old": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use."
          }
        }
      ]
    }
  }
}

⚼ Request

GET:  /providers/Microsoft.SignalRService/operations
{
api-version: string ,
}

⚐ Response (200)

{
value:
[
{
name: string ,
isDataAction: boolean ,
display:
{
provider: string ,
resource: string ,
operation: string ,
description: string ,
}
,
origin: string ,
properties:
{
serviceSpecification:
{
metricSpecifications:
[
{
name: string ,
displayName: string ,
displayDescription: string ,
unit: string ,
aggregationType: string ,
fillGapWithZero: string ,
category: string ,
dimensions:
[
{
name: string ,
displayName: string ,
internalName: string ,
toBeExportedForShoebox: boolean ,
}
,
]
,
}
,
]
,
logSpecifications:
[
{
name: string ,
displayName: string ,
}
,
]
,
}
,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalR_CheckNameAvailability (updated)
Description Checks that the resource name is valid and is not already in use.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalR_CheckNameAvailability",
  "$parameters": [
    {
      "#name": "location",
      "Description": {
        "new": "The name of the Azure region.",
        "old": "The region"
      }
    },
    {
      "#name": "parameters",
      "Description": {
        "new": "The request body",
        "old": "Parameters supplied to the operation."
      }
    }
  ]
}

⚼ Request

POST:  /subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability
{
api-version: string ,
subscriptionId: string ,
location: string ,
parameters:
{
type: string ,
name: string ,
}
,
}

⚐ Response (200)

{
nameAvailable: boolean ,
reason: string ,
message: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
Usages_List (updated)
Description List resource usage quotas by location.
Reference Link ¶

⚶ Changes

{
  "#id": "Usages_List",
  "$parameters": [
    {
      "#name": "location",
      "Description": {
        "new": "The name of the Azure region.",
        "old": "the location like \"eastus\""
      }
    }
  ],
  "$responses": {
    "200": {
      "$properties": [
        {
          "#name": "value",
          "Description": {
            "new": "The SignalRUsage items on this page",
            "old": "List of the resource usages"
          },
          "Required": {
            "new": true,
            "old": false
          }
        },
        {
          "#name": "nextLink",
          "Description": {
            "new": "The link to the next page of items",
            "old": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use."
          }
        }
      ]
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/usages
{
api-version: string ,
subscriptionId: string ,
location: string ,
}

⚐ Response (200)

{
value:
[
{
id: string ,
currentValue: integer ,
limit: integer ,
name:
{
value: string ,
localizedValue: string ,
}
,
unit: string ,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalR_ListBySubscription (updated)
Description Handles requests to list all resources in a subscription.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalR_ListBySubscription",
  "$responses": {
    "200": {
      "$properties": [
        {
          "#name": "value",
          "Description": {
            "new": "The SignalRResource items on this page",
            "old": "List of the resources"
          },
          "Required": {
            "new": true,
            "old": false
          },
          "$items": {
            "Description": {
              "new": "A class representing a resource.",
              "old": "A class represent a resource."
            },
            "$properties": {
              "properties": [
                {
                  "#name": "features",
                  "Description": {
                    "new": "List of the featureFlags.\n\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\nAnd the response will only include featureFlags that are explicitly set.\nWhen a featureFlag is not explicitly set, its globally default value will be used\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags.",
                    "old": "List of the featureFlags.\r\n\r\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\r\nAnd the response will only include featureFlags that are explicitly set. \r\nWhen a featureFlag is not explicitly set, its globally default value will be used\r\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags."
                  },
                  "$items": {
                    "$properties": [
                      {
                        "#name": "flag",
                        "Description": {
                          "new": "FeatureFlags is the supported features of Azure SignalR service.\n- 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.\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature.",
                          "old": "FeatureFlags is the supported features of Azure SignalR service.\r\n- 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.\r\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature."
                        }
                      }
                    ]
                  }
                },
                {
                  "liveTraceConfiguration": [
                    {
                      "#name": "enabled",
                      "Description": {
                        "new": "Indicates whether or not enable live trace.\nWhen it's set to true, live trace client can connect to the service.\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\nAvailable values: true, false.\nCase insensitive.",
                        "old": "Indicates whether or not enable live trace.\r\nWhen it's set to true, live trace client can connect to the service.\r\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\r\nAvailable values: true, false.\r\nCase insensitive."
                      }
                    },
                    {
                      "categories": {
                        "$properties": [
                          {
                            "#name": "name",
                            "Description": {
                              "new": "Gets or sets the live trace category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                              "old": "Gets or sets the live trace category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                            }
                          },
                          {
                            "#name": "enabled",
                            "Description": {
                              "new": "Indicates whether or the live trace category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                              "old": "Indicates whether or the live trace category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                            }
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "resourceLogConfiguration": [
                    {
                      "categories": {
                        "$properties": [
                          {
                            "#name": "name",
                            "Description": {
                              "new": "Gets or sets the resource log category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                              "old": "Gets or sets the resource log category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                            }
                          },
                          {
                            "#name": "enabled",
                            "Description": {
                              "new": "Indicates whether or the resource log category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                              "old": "Indicates whether or the resource log category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                            }
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "serverless": [
                    {
                      "#name": "connectionTimeoutInSeconds",
                      "Description": {
                        "new": "Gets or sets Client Connection Timeout. Optional to be set.\nValue in seconds.\nDefault value is 30 seconds.\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\nand want the client to disconnect more quickly after the last message is sent.\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\nand they want to keep the same client connection alive during this session.\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval.",
                        "old": "Gets or sets Client Connection Timeout. Optional to be set.\r\nValue in seconds.\r\nDefault value is 30 seconds.\r\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\r\nand want the client to disconnect more quickly after the last message is sent.\r\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\r\nand they want to keep the same client connection alive during this session.\r\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval."
                      }
                    },
                    {
                      "#name": "keepAliveIntervalInSeconds",
                      "Description": {
                        "new": "Gets or sets the Keep-Alive Interval. Optional to set.\nValue is in seconds.\nThe default value is 15 seconds.\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently,\nensuring timely checks of the connection status.\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently,\nreducing network traffic, but note that it may take longer to detect a disconnection.\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client.",
                        "old": "Gets or sets the Keep-Alive Interval. Optional to set.\r\nValue is in seconds.\r\nThe default value is 15 seconds.\r\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently, \r\nensuring timely checks of the connection status.\r\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently, \r\nreducing network traffic, but note that it may take longer to detect a disconnection.\r\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client."
                      }
                    }
                  ]
                },
                {
                  "upstream": [
                    {
                      "templates": {
                        "Description": {
                          "new": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template.",
                          "old": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\r\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template."
                        },
                        "$properties": [
                          {
                            "#name": "hubPattern",
                            "Description": {
                              "new": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any hub name.\n2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\n3. The single hub name, for example, \"hub1\", it matches \"hub1\".",
                              "old": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any hub name.\r\n    2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\r\n    3. The single hub name, for example, \"hub1\", it matches \"hub1\"."
                            }
                          },
                          {
                            "#name": "eventPattern",
                            "Description": {
                              "new": "Gets or sets the matching pattern for event names. If not set, it matches any event.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any event name.\n2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\n3. The single event name, for example, \"connect\", it matches \"connect\".",
                              "old": "Gets or sets the matching pattern for event names. If not set, it matches any event.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any event name.\r\n    2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\r\n    3. The single event name, for example, \"connect\", it matches \"connect\"."
                            }
                          },
                          {
                            "#name": "categoryPattern",
                            "Description": {
                              "new": "Gets or sets the matching pattern for category names. If not set, it matches any category.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any category name.\n2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\n3. The single category name, for example, \"connections\", it matches the category \"connections\".",
                              "old": "Gets or sets the matching pattern for category names. If not set, it matches any category.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any category name.\r\n    2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\r\n    3. The single category name, for example, \"connections\", it matches the category \"connections\"."
                            }
                          },
                          {
                            "#name": "urlTemplate",
                            "Description": {
                              "new": "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.\nFor 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`.",
                              "old": "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.\r\nFor 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`."
                            }
                          },
                          {
                            "auth": [
                              {
                                "managedIdentity": [
                                  {
                                    "#name": "resource",
                                    "Description": {
                                      "new": "The Resource indicating the App ID URI of the target resource.\nIt also appears in the aud (audience) claim of the issued token.",
                                      "old": "The Resource indicating the App ID URI of the target resource.\r\nIt also appears in the aud (audience) claim of the issued token."
                                    }
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "#name": "publicNetworkAccess",
                  "Description": {
                    "new": "Enable or disable public network access. Default to \"Enabled\".\nWhen it's Enabled, network ACLs still apply.\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs.",
                    "old": "Enable or disable public network access. Default to \"Enabled\".\r\nWhen it's Enabled, network ACLs still apply.\r\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs."
                  }
                },
                {
                  "#name": "disableLocalAuth",
                  "Description": {
                    "new": "DisableLocalAuth\nEnable or disable local auth with AccessKey\nWhen set as true, connection with AccessKey=xxx won't work.",
                    "old": "DisableLocalAuth\r\nEnable or disable local auth with AccessKey\r\nWhen set as true, connection with AccessKey=xxx won't work."
                  }
                },
                {
                  "#name": "disableAadAuth",
                  "Description": {
                    "new": "DisableLocalAuth\nEnable or disable aad auth\nWhen set as true, connection with AuthType=aad won't work.",
                    "old": "DisableLocalAuth\r\nEnable or disable aad auth\r\nWhen set as true, connection with AuthType=aad won't work."
                  }
                },
                {
                  "#name": "regionEndpointEnabled",
                  "Description": {
                    "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\nThis property is replica specific. Disable the regional endpoint without replica is not allowed.",
                    "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\r\nThis property is replica specific. Disable the regional endpoint without replica is not allowed."
                  }
                },
                {
                  "#name": "resourceStopped",
                  "Description": {
                    "new": "Stop or start the resource.  Default to \"False\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
                    "old": "Stop or start the resource.  Default to \"False\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
                  }
                },
                {
                  "routeSettings": [
                    {
                      "#name": "serverBalanceWeight",
                      "Description": {
                        "new": "Gets or sets the server balance weight.\nA higher value means a greater balance of client connections across different app server instances.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for multiple app servers in same size.",
                        "old": "Gets or sets the server balance weight.\r\nA higher value means a greater balance of client connections across different app server instances.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for multiple app servers in same size."
                      }
                    },
                    {
                      "#name": "connectionBalanceWeight",
                      "Description": {
                        "new": "Gets or sets the connection balance weight.\nA higher value means a greater balance of client connections across different server connections.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for all of the cases.",
                        "old": "Gets or sets the connection balance weight.\r\nA higher value means a greater balance of client connections across different server connections.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for all of the cases."
                      }
                    },
                    {
                      "#name": "latencyWeight",
                      "Description": {
                        "new": "Gets or sets the weight for latency-based routing.\nA higher value increases the influence of latency-based routing.\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\nThe default value is 0.\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery.",
                        "old": "Gets or sets the weight for latency-based routing.\r\nA higher value increases the influence of latency-based routing.\r\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\r\nThe default value is 0.\r\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery."
                      }
                    }
                  ]
                }
              ],
              "sku": [
                {
                  "#name": "name",
                  "Description": {
                    "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
                    "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
                  }
                },
                {
                  "#name": "tier",
                  "Description": {
                    "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
                    "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
                  }
                },
                {
                  "#name": "capacity",
                  "Description": {
                    "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
                    "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
                  }
                }
              ],
              "identity": [
                {
                  "#name": "principalId",
                  "Description": {
                    "new": "Get the principal id for the system assigned identity.\nOnly be used in response.",
                    "old": "Get the principal id for the system assigned identity.\r\nOnly be used in response."
                  }
                },
                {
                  "#name": "tenantId",
                  "Description": {
                    "new": "Get the tenant id for the system assigned identity.\nOnly be used in response",
                    "old": "Get the tenant id for the system assigned identity.\r\nOnly be used in response"
                  }
                }
              ]
            }
          }
        },
        {
          "#name": "nextLink",
          "Description": {
            "new": "The link to the next page of items",
            "old": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use."
          }
        }
      ]
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/signalR
{
api-version: string ,
subscriptionId: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
provisioningState: enum ,
externalIP: string ,
hostName: string ,
publicPort: integer ,
serverPort: integer ,
version: string ,
privateEndpointConnections:
[
{
properties:
{
provisioningState: enum ,
privateEndpoint:
{
id: string ,
}
,
groupIds:
[
string ,
]
,
privateLinkServiceConnectionState:
{
status: enum ,
description: string ,
actionsRequired: string ,
}
,
}
,
}
,
]
,
sharedPrivateLinkResources:
[
{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}
,
]
,
tls:
{
clientCertEnabled: boolean ,
}
,
hostNamePrefix: string ,
features:
[
{
flag: enum ,
value: string ,
properties: object ,
}
,
]
,
liveTraceConfiguration:
{
enabled: string ,
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
resourceLogConfiguration:
{
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
cors:
{
allowedOrigins:
[
string ,
]
,
}
,
serverless:
{
connectionTimeoutInSeconds: integer ,
keepAliveIntervalInSeconds: integer ,
}
,
upstream:
{
templates:
[
{
hubPattern: string ,
eventPattern: string ,
categoryPattern: string ,
urlTemplate: string ,
auth:
{
type: enum ,
managedIdentity:
{
resource: string ,
}
,
}
,
}
,
]
,
}
,
networkACLs:
{
defaultAction: enum ,
publicNetwork:
{
allow:
[
string ,
]
,
deny:
[
string ,
]
,
}
,
privateEndpoints:
[
{
name: string ,
}
,
]
,
ipRules:
[
{
value: string ,
action: enum ,
}
,
]
,
}
,
applicationFirewall:
{
clientConnectionCountRules:
[
{
type: enum ,
}
,
]
,
clientTrafficControlRules:
[
{
type: enum ,
}
,
]
,
maxClientConnectionLifetimeInSeconds: integer ,
}
,
publicNetworkAccess: string ,
disableLocalAuth: boolean ,
disableAadAuth: boolean ,
regionEndpointEnabled: string ,
resourceStopped: string ,
routeSettings:
{
serverBalanceWeight: integer ,
connectionBalanceWeight: integer ,
latencyWeight: integer ,
}
,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
kind: enum ,
identity:
{
type: enum ,
userAssignedIdentities: object ,
principalId: string ,
tenantId: string ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalR_ListByResourceGroup (updated)
Description Handles requests to list all resources in a resource group.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalR_ListByResourceGroup",
  "$responses": {
    "200": {
      "$properties": [
        {
          "#name": "value",
          "Description": {
            "new": "The SignalRResource items on this page",
            "old": "List of the resources"
          },
          "Required": {
            "new": true,
            "old": false
          },
          "$items": {
            "Description": {
              "new": "A class representing a resource.",
              "old": "A class represent a resource."
            },
            "$properties": {
              "properties": [
                {
                  "#name": "features",
                  "Description": {
                    "new": "List of the featureFlags.\n\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\nAnd the response will only include featureFlags that are explicitly set.\nWhen a featureFlag is not explicitly set, its globally default value will be used\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags.",
                    "old": "List of the featureFlags.\r\n\r\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\r\nAnd the response will only include featureFlags that are explicitly set. \r\nWhen a featureFlag is not explicitly set, its globally default value will be used\r\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags."
                  },
                  "$items": {
                    "$properties": [
                      {
                        "#name": "flag",
                        "Description": {
                          "new": "FeatureFlags is the supported features of Azure SignalR service.\n- 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.\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature.",
                          "old": "FeatureFlags is the supported features of Azure SignalR service.\r\n- 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.\r\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature."
                        }
                      }
                    ]
                  }
                },
                {
                  "liveTraceConfiguration": [
                    {
                      "#name": "enabled",
                      "Description": {
                        "new": "Indicates whether or not enable live trace.\nWhen it's set to true, live trace client can connect to the service.\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\nAvailable values: true, false.\nCase insensitive.",
                        "old": "Indicates whether or not enable live trace.\r\nWhen it's set to true, live trace client can connect to the service.\r\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\r\nAvailable values: true, false.\r\nCase insensitive."
                      }
                    },
                    {
                      "categories": {
                        "$properties": [
                          {
                            "#name": "name",
                            "Description": {
                              "new": "Gets or sets the live trace category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                              "old": "Gets or sets the live trace category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                            }
                          },
                          {
                            "#name": "enabled",
                            "Description": {
                              "new": "Indicates whether or the live trace category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                              "old": "Indicates whether or the live trace category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                            }
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "resourceLogConfiguration": [
                    {
                      "categories": {
                        "$properties": [
                          {
                            "#name": "name",
                            "Description": {
                              "new": "Gets or sets the resource log category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                              "old": "Gets or sets the resource log category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                            }
                          },
                          {
                            "#name": "enabled",
                            "Description": {
                              "new": "Indicates whether or the resource log category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                              "old": "Indicates whether or the resource log category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                            }
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "serverless": [
                    {
                      "#name": "connectionTimeoutInSeconds",
                      "Description": {
                        "new": "Gets or sets Client Connection Timeout. Optional to be set.\nValue in seconds.\nDefault value is 30 seconds.\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\nand want the client to disconnect more quickly after the last message is sent.\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\nand they want to keep the same client connection alive during this session.\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval.",
                        "old": "Gets or sets Client Connection Timeout. Optional to be set.\r\nValue in seconds.\r\nDefault value is 30 seconds.\r\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\r\nand want the client to disconnect more quickly after the last message is sent.\r\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\r\nand they want to keep the same client connection alive during this session.\r\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval."
                      }
                    },
                    {
                      "#name": "keepAliveIntervalInSeconds",
                      "Description": {
                        "new": "Gets or sets the Keep-Alive Interval. Optional to set.\nValue is in seconds.\nThe default value is 15 seconds.\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently,\nensuring timely checks of the connection status.\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently,\nreducing network traffic, but note that it may take longer to detect a disconnection.\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client.",
                        "old": "Gets or sets the Keep-Alive Interval. Optional to set.\r\nValue is in seconds.\r\nThe default value is 15 seconds.\r\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently, \r\nensuring timely checks of the connection status.\r\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently, \r\nreducing network traffic, but note that it may take longer to detect a disconnection.\r\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client."
                      }
                    }
                  ]
                },
                {
                  "upstream": [
                    {
                      "templates": {
                        "Description": {
                          "new": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template.",
                          "old": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\r\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template."
                        },
                        "$properties": [
                          {
                            "#name": "hubPattern",
                            "Description": {
                              "new": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any hub name.\n2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\n3. The single hub name, for example, \"hub1\", it matches \"hub1\".",
                              "old": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any hub name.\r\n    2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\r\n    3. The single hub name, for example, \"hub1\", it matches \"hub1\"."
                            }
                          },
                          {
                            "#name": "eventPattern",
                            "Description": {
                              "new": "Gets or sets the matching pattern for event names. If not set, it matches any event.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any event name.\n2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\n3. The single event name, for example, \"connect\", it matches \"connect\".",
                              "old": "Gets or sets the matching pattern for event names. If not set, it matches any event.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any event name.\r\n    2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\r\n    3. The single event name, for example, \"connect\", it matches \"connect\"."
                            }
                          },
                          {
                            "#name": "categoryPattern",
                            "Description": {
                              "new": "Gets or sets the matching pattern for category names. If not set, it matches any category.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any category name.\n2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\n3. The single category name, for example, \"connections\", it matches the category \"connections\".",
                              "old": "Gets or sets the matching pattern for category names. If not set, it matches any category.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any category name.\r\n    2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\r\n    3. The single category name, for example, \"connections\", it matches the category \"connections\"."
                            }
                          },
                          {
                            "#name": "urlTemplate",
                            "Description": {
                              "new": "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.\nFor 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`.",
                              "old": "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.\r\nFor 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`."
                            }
                          },
                          {
                            "auth": [
                              {
                                "managedIdentity": [
                                  {
                                    "#name": "resource",
                                    "Description": {
                                      "new": "The Resource indicating the App ID URI of the target resource.\nIt also appears in the aud (audience) claim of the issued token.",
                                      "old": "The Resource indicating the App ID URI of the target resource.\r\nIt also appears in the aud (audience) claim of the issued token."
                                    }
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "#name": "publicNetworkAccess",
                  "Description": {
                    "new": "Enable or disable public network access. Default to \"Enabled\".\nWhen it's Enabled, network ACLs still apply.\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs.",
                    "old": "Enable or disable public network access. Default to \"Enabled\".\r\nWhen it's Enabled, network ACLs still apply.\r\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs."
                  }
                },
                {
                  "#name": "disableLocalAuth",
                  "Description": {
                    "new": "DisableLocalAuth\nEnable or disable local auth with AccessKey\nWhen set as true, connection with AccessKey=xxx won't work.",
                    "old": "DisableLocalAuth\r\nEnable or disable local auth with AccessKey\r\nWhen set as true, connection with AccessKey=xxx won't work."
                  }
                },
                {
                  "#name": "disableAadAuth",
                  "Description": {
                    "new": "DisableLocalAuth\nEnable or disable aad auth\nWhen set as true, connection with AuthType=aad won't work.",
                    "old": "DisableLocalAuth\r\nEnable or disable aad auth\r\nWhen set as true, connection with AuthType=aad won't work."
                  }
                },
                {
                  "#name": "regionEndpointEnabled",
                  "Description": {
                    "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\nThis property is replica specific. Disable the regional endpoint without replica is not allowed.",
                    "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\r\nThis property is replica specific. Disable the regional endpoint without replica is not allowed."
                  }
                },
                {
                  "#name": "resourceStopped",
                  "Description": {
                    "new": "Stop or start the resource.  Default to \"False\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
                    "old": "Stop or start the resource.  Default to \"False\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
                  }
                },
                {
                  "routeSettings": [
                    {
                      "#name": "serverBalanceWeight",
                      "Description": {
                        "new": "Gets or sets the server balance weight.\nA higher value means a greater balance of client connections across different app server instances.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for multiple app servers in same size.",
                        "old": "Gets or sets the server balance weight.\r\nA higher value means a greater balance of client connections across different app server instances.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for multiple app servers in same size."
                      }
                    },
                    {
                      "#name": "connectionBalanceWeight",
                      "Description": {
                        "new": "Gets or sets the connection balance weight.\nA higher value means a greater balance of client connections across different server connections.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for all of the cases.",
                        "old": "Gets or sets the connection balance weight.\r\nA higher value means a greater balance of client connections across different server connections.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for all of the cases."
                      }
                    },
                    {
                      "#name": "latencyWeight",
                      "Description": {
                        "new": "Gets or sets the weight for latency-based routing.\nA higher value increases the influence of latency-based routing.\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\nThe default value is 0.\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery.",
                        "old": "Gets or sets the weight for latency-based routing.\r\nA higher value increases the influence of latency-based routing.\r\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\r\nThe default value is 0.\r\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery."
                      }
                    }
                  ]
                }
              ],
              "sku": [
                {
                  "#name": "name",
                  "Description": {
                    "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
                    "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
                  }
                },
                {
                  "#name": "tier",
                  "Description": {
                    "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
                    "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
                  }
                },
                {
                  "#name": "capacity",
                  "Description": {
                    "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
                    "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
                  }
                }
              ],
              "identity": [
                {
                  "#name": "principalId",
                  "Description": {
                    "new": "Get the principal id for the system assigned identity.\nOnly be used in response.",
                    "old": "Get the principal id for the system assigned identity.\r\nOnly be used in response."
                  }
                },
                {
                  "#name": "tenantId",
                  "Description": {
                    "new": "Get the tenant id for the system assigned identity.\nOnly be used in response",
                    "old": "Get the tenant id for the system assigned identity.\r\nOnly be used in response"
                  }
                }
              ]
            }
          }
        },
        {
          "#name": "nextLink",
          "Description": {
            "new": "The link to the next page of items",
            "old": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use."
          }
        }
      ]
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
provisioningState: enum ,
externalIP: string ,
hostName: string ,
publicPort: integer ,
serverPort: integer ,
version: string ,
privateEndpointConnections:
[
{
properties:
{
provisioningState: enum ,
privateEndpoint:
{
id: string ,
}
,
groupIds:
[
string ,
]
,
privateLinkServiceConnectionState:
{
status: enum ,
description: string ,
actionsRequired: string ,
}
,
}
,
}
,
]
,
sharedPrivateLinkResources:
[
{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}
,
]
,
tls:
{
clientCertEnabled: boolean ,
}
,
hostNamePrefix: string ,
features:
[
{
flag: enum ,
value: string ,
properties: object ,
}
,
]
,
liveTraceConfiguration:
{
enabled: string ,
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
resourceLogConfiguration:
{
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
cors:
{
allowedOrigins:
[
string ,
]
,
}
,
serverless:
{
connectionTimeoutInSeconds: integer ,
keepAliveIntervalInSeconds: integer ,
}
,
upstream:
{
templates:
[
{
hubPattern: string ,
eventPattern: string ,
categoryPattern: string ,
urlTemplate: string ,
auth:
{
type: enum ,
managedIdentity:
{
resource: string ,
}
,
}
,
}
,
]
,
}
,
networkACLs:
{
defaultAction: enum ,
publicNetwork:
{
allow:
[
string ,
]
,
deny:
[
string ,
]
,
}
,
privateEndpoints:
[
{
name: string ,
}
,
]
,
ipRules:
[
{
value: string ,
action: enum ,
}
,
]
,
}
,
applicationFirewall:
{
clientConnectionCountRules:
[
{
type: enum ,
}
,
]
,
clientTrafficControlRules:
[
{
type: enum ,
}
,
]
,
maxClientConnectionLifetimeInSeconds: integer ,
}
,
publicNetworkAccess: string ,
disableLocalAuth: boolean ,
disableAadAuth: boolean ,
regionEndpointEnabled: string ,
resourceStopped: string ,
routeSettings:
{
serverBalanceWeight: integer ,
connectionBalanceWeight: integer ,
latencyWeight: integer ,
}
,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
kind: enum ,
identity:
{
type: enum ,
userAssignedIdentities: object ,
principalId: string ,
tenantId: string ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalR_Get (updated)
Description Get the resource and its properties.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalR_Get",
  "$responses": {
    "200": {
      "Description": {
        "new": "A class representing a resource.",
        "old": "A class represent a resource."
      },
      "$properties": {
        "properties": [
          {
            "#name": "features",
            "Description": {
              "new": "List of the featureFlags.\n\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\nAnd the response will only include featureFlags that are explicitly set.\nWhen a featureFlag is not explicitly set, its globally default value will be used\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags.",
              "old": "List of the featureFlags.\r\n\r\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\r\nAnd the response will only include featureFlags that are explicitly set. \r\nWhen a featureFlag is not explicitly set, its globally default value will be used\r\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags."
            },
            "$items": {
              "$properties": [
                {
                  "#name": "flag",
                  "Description": {
                    "new": "FeatureFlags is the supported features of Azure SignalR service.\n- 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.\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature.",
                    "old": "FeatureFlags is the supported features of Azure SignalR service.\r\n- 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.\r\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature."
                  }
                }
              ]
            }
          },
          {
            "liveTraceConfiguration": [
              {
                "#name": "enabled",
                "Description": {
                  "new": "Indicates whether or not enable live trace.\nWhen it's set to true, live trace client can connect to the service.\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\nAvailable values: true, false.\nCase insensitive.",
                  "old": "Indicates whether or not enable live trace.\r\nWhen it's set to true, live trace client can connect to the service.\r\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\r\nAvailable values: true, false.\r\nCase insensitive."
                }
              },
              {
                "categories": {
                  "$properties": [
                    {
                      "#name": "name",
                      "Description": {
                        "new": "Gets or sets the live trace category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                        "old": "Gets or sets the live trace category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                      }
                    },
                    {
                      "#name": "enabled",
                      "Description": {
                        "new": "Indicates whether or the live trace category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                        "old": "Indicates whether or the live trace category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                      }
                    }
                  ]
                }
              }
            ]
          },
          {
            "resourceLogConfiguration": [
              {
                "categories": {
                  "$properties": [
                    {
                      "#name": "name",
                      "Description": {
                        "new": "Gets or sets the resource log category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                        "old": "Gets or sets the resource log category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                      }
                    },
                    {
                      "#name": "enabled",
                      "Description": {
                        "new": "Indicates whether or the resource log category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                        "old": "Indicates whether or the resource log category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                      }
                    }
                  ]
                }
              }
            ]
          },
          {
            "serverless": [
              {
                "#name": "connectionTimeoutInSeconds",
                "Description": {
                  "new": "Gets or sets Client Connection Timeout. Optional to be set.\nValue in seconds.\nDefault value is 30 seconds.\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\nand want the client to disconnect more quickly after the last message is sent.\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\nand they want to keep the same client connection alive during this session.\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval.",
                  "old": "Gets or sets Client Connection Timeout. Optional to be set.\r\nValue in seconds.\r\nDefault value is 30 seconds.\r\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\r\nand want the client to disconnect more quickly after the last message is sent.\r\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\r\nand they want to keep the same client connection alive during this session.\r\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval."
                }
              },
              {
                "#name": "keepAliveIntervalInSeconds",
                "Description": {
                  "new": "Gets or sets the Keep-Alive Interval. Optional to set.\nValue is in seconds.\nThe default value is 15 seconds.\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently,\nensuring timely checks of the connection status.\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently,\nreducing network traffic, but note that it may take longer to detect a disconnection.\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client.",
                  "old": "Gets or sets the Keep-Alive Interval. Optional to set.\r\nValue is in seconds.\r\nThe default value is 15 seconds.\r\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently, \r\nensuring timely checks of the connection status.\r\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently, \r\nreducing network traffic, but note that it may take longer to detect a disconnection.\r\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client."
                }
              }
            ]
          },
          {
            "upstream": [
              {
                "templates": {
                  "Description": {
                    "new": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template.",
                    "old": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\r\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template."
                  },
                  "$properties": [
                    {
                      "#name": "hubPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any hub name.\n2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\n3. The single hub name, for example, \"hub1\", it matches \"hub1\".",
                        "old": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any hub name.\r\n    2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\r\n    3. The single hub name, for example, \"hub1\", it matches \"hub1\"."
                      }
                    },
                    {
                      "#name": "eventPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for event names. If not set, it matches any event.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any event name.\n2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\n3. The single event name, for example, \"connect\", it matches \"connect\".",
                        "old": "Gets or sets the matching pattern for event names. If not set, it matches any event.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any event name.\r\n    2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\r\n    3. The single event name, for example, \"connect\", it matches \"connect\"."
                      }
                    },
                    {
                      "#name": "categoryPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for category names. If not set, it matches any category.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any category name.\n2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\n3. The single category name, for example, \"connections\", it matches the category \"connections\".",
                        "old": "Gets or sets the matching pattern for category names. If not set, it matches any category.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any category name.\r\n    2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\r\n    3. The single category name, for example, \"connections\", it matches the category \"connections\"."
                      }
                    },
                    {
                      "#name": "urlTemplate",
                      "Description": {
                        "new": "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.\nFor 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`.",
                        "old": "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.\r\nFor 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`."
                      }
                    },
                    {
                      "auth": [
                        {
                          "managedIdentity": [
                            {
                              "#name": "resource",
                              "Description": {
                                "new": "The Resource indicating the App ID URI of the target resource.\nIt also appears in the aud (audience) claim of the issued token.",
                                "old": "The Resource indicating the App ID URI of the target resource.\r\nIt also appears in the aud (audience) claim of the issued token."
                              }
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            ]
          },
          {
            "#name": "publicNetworkAccess",
            "Description": {
              "new": "Enable or disable public network access. Default to \"Enabled\".\nWhen it's Enabled, network ACLs still apply.\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs.",
              "old": "Enable or disable public network access. Default to \"Enabled\".\r\nWhen it's Enabled, network ACLs still apply.\r\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs."
            }
          },
          {
            "#name": "disableLocalAuth",
            "Description": {
              "new": "DisableLocalAuth\nEnable or disable local auth with AccessKey\nWhen set as true, connection with AccessKey=xxx won't work.",
              "old": "DisableLocalAuth\r\nEnable or disable local auth with AccessKey\r\nWhen set as true, connection with AccessKey=xxx won't work."
            }
          },
          {
            "#name": "disableAadAuth",
            "Description": {
              "new": "DisableLocalAuth\nEnable or disable aad auth\nWhen set as true, connection with AuthType=aad won't work.",
              "old": "DisableLocalAuth\r\nEnable or disable aad auth\r\nWhen set as true, connection with AuthType=aad won't work."
            }
          },
          {
            "#name": "regionEndpointEnabled",
            "Description": {
              "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\nThis property is replica specific. Disable the regional endpoint without replica is not allowed.",
              "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\r\nThis property is replica specific. Disable the regional endpoint without replica is not allowed."
            }
          },
          {
            "#name": "resourceStopped",
            "Description": {
              "new": "Stop or start the resource.  Default to \"False\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
              "old": "Stop or start the resource.  Default to \"False\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
            }
          },
          {
            "routeSettings": [
              {
                "#name": "serverBalanceWeight",
                "Description": {
                  "new": "Gets or sets the server balance weight.\nA higher value means a greater balance of client connections across different app server instances.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for multiple app servers in same size.",
                  "old": "Gets or sets the server balance weight.\r\nA higher value means a greater balance of client connections across different app server instances.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for multiple app servers in same size."
                }
              },
              {
                "#name": "connectionBalanceWeight",
                "Description": {
                  "new": "Gets or sets the connection balance weight.\nA higher value means a greater balance of client connections across different server connections.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for all of the cases.",
                  "old": "Gets or sets the connection balance weight.\r\nA higher value means a greater balance of client connections across different server connections.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for all of the cases."
                }
              },
              {
                "#name": "latencyWeight",
                "Description": {
                  "new": "Gets or sets the weight for latency-based routing.\nA higher value increases the influence of latency-based routing.\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\nThe default value is 0.\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery.",
                  "old": "Gets or sets the weight for latency-based routing.\r\nA higher value increases the influence of latency-based routing.\r\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\r\nThe default value is 0.\r\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery."
                }
              }
            ]
          }
        ],
        "sku": [
          {
            "#name": "name",
            "Description": {
              "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
              "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
            }
          },
          {
            "#name": "tier",
            "Description": {
              "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
              "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
            }
          },
          {
            "#name": "capacity",
            "Description": {
              "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
              "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
            }
          }
        ],
        "identity": [
          {
            "#name": "principalId",
            "Description": {
              "new": "Get the principal id for the system assigned identity.\nOnly be used in response.",
              "old": "Get the principal id for the system assigned identity.\r\nOnly be used in response."
            }
          },
          {
            "#name": "tenantId",
            "Description": {
              "new": "Get the tenant id for the system assigned identity.\nOnly be used in response",
              "old": "Get the tenant id for the system assigned identity.\r\nOnly be used in response"
            }
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
}

⚐ Response (200)

{
properties:
{
provisioningState: enum ,
externalIP: string ,
hostName: string ,
publicPort: integer ,
serverPort: integer ,
version: string ,
privateEndpointConnections:
[
{
properties:
{
provisioningState: enum ,
privateEndpoint:
{
id: string ,
}
,
groupIds:
[
string ,
]
,
privateLinkServiceConnectionState:
{
status: enum ,
description: string ,
actionsRequired: string ,
}
,
}
,
}
,
]
,
sharedPrivateLinkResources:
[
{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}
,
]
,
tls:
{
clientCertEnabled: boolean ,
}
,
hostNamePrefix: string ,
features:
[
{
flag: enum ,
value: string ,
properties: object ,
}
,
]
,
liveTraceConfiguration:
{
enabled: string ,
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
resourceLogConfiguration:
{
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
cors:
{
allowedOrigins:
[
string ,
]
,
}
,
serverless:
{
connectionTimeoutInSeconds: integer ,
keepAliveIntervalInSeconds: integer ,
}
,
upstream:
{
templates:
[
{
hubPattern: string ,
eventPattern: string ,
categoryPattern: string ,
urlTemplate: string ,
auth:
{
type: enum ,
managedIdentity:
{
resource: string ,
}
,
}
,
}
,
]
,
}
,
networkACLs:
{
defaultAction: enum ,
publicNetwork:
{
allow:
[
string ,
]
,
deny:
[
string ,
]
,
}
,
privateEndpoints:
[
{
name: string ,
}
,
]
,
ipRules:
[
{
value: string ,
action: enum ,
}
,
]
,
}
,
applicationFirewall:
{
clientConnectionCountRules:
[
{
type: enum ,
}
,
]
,
clientTrafficControlRules:
[
{
type: enum ,
}
,
]
,
maxClientConnectionLifetimeInSeconds: integer ,
}
,
publicNetworkAccess: string ,
disableLocalAuth: boolean ,
disableAadAuth: boolean ,
regionEndpointEnabled: string ,
resourceStopped: string ,
routeSettings:
{
serverBalanceWeight: integer ,
connectionBalanceWeight: integer ,
latencyWeight: integer ,
}
,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
kind: enum ,
identity:
{
type: enum ,
userAssignedIdentities: object ,
principalId: string ,
tenantId: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalR_CreateOrUpdate (updated)
Description Create or update a resource.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalR_CreateOrUpdate",
  "$parameters": {
    "parameters": {
      "Description": {
        "new": "A class representing a resource.",
        "old": "A class represent a resource."
      },
      "$properties": {
        "properties": [
          {
            "#name": "features",
            "Description": {
              "new": "List of the featureFlags.\n\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\nAnd the response will only include featureFlags that are explicitly set.\nWhen a featureFlag is not explicitly set, its globally default value will be used\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags.",
              "old": "List of the featureFlags.\r\n\r\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\r\nAnd the response will only include featureFlags that are explicitly set. \r\nWhen a featureFlag is not explicitly set, its globally default value will be used\r\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags."
            },
            "$items": {
              "$properties": [
                {
                  "#name": "flag",
                  "Description": {
                    "new": "FeatureFlags is the supported features of Azure SignalR service.\n- 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.\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature.",
                    "old": "FeatureFlags is the supported features of Azure SignalR service.\r\n- 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.\r\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature."
                  }
                }
              ]
            }
          },
          {
            "liveTraceConfiguration": [
              {
                "#name": "enabled",
                "Description": {
                  "new": "Indicates whether or not enable live trace.\nWhen it's set to true, live trace client can connect to the service.\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\nAvailable values: true, false.\nCase insensitive.",
                  "old": "Indicates whether or not enable live trace.\r\nWhen it's set to true, live trace client can connect to the service.\r\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\r\nAvailable values: true, false.\r\nCase insensitive."
                }
              },
              {
                "categories": {
                  "$properties": [
                    {
                      "#name": "name",
                      "Description": {
                        "new": "Gets or sets the live trace category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                        "old": "Gets or sets the live trace category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                      }
                    },
                    {
                      "#name": "enabled",
                      "Description": {
                        "new": "Indicates whether or the live trace category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                        "old": "Indicates whether or the live trace category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                      }
                    }
                  ]
                }
              }
            ]
          },
          {
            "resourceLogConfiguration": [
              {
                "categories": {
                  "$properties": [
                    {
                      "#name": "name",
                      "Description": {
                        "new": "Gets or sets the resource log category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                        "old": "Gets or sets the resource log category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                      }
                    },
                    {
                      "#name": "enabled",
                      "Description": {
                        "new": "Indicates whether or the resource log category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                        "old": "Indicates whether or the resource log category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                      }
                    }
                  ]
                }
              }
            ]
          },
          {
            "serverless": [
              {
                "#name": "connectionTimeoutInSeconds",
                "Description": {
                  "new": "Gets or sets Client Connection Timeout. Optional to be set.\nValue in seconds.\nDefault value is 30 seconds.\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\nand want the client to disconnect more quickly after the last message is sent.\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\nand they want to keep the same client connection alive during this session.\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval.",
                  "old": "Gets or sets Client Connection Timeout. Optional to be set.\r\nValue in seconds.\r\nDefault value is 30 seconds.\r\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\r\nand want the client to disconnect more quickly after the last message is sent.\r\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\r\nand they want to keep the same client connection alive during this session.\r\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval."
                }
              },
              {
                "#name": "keepAliveIntervalInSeconds",
                "Description": {
                  "new": "Gets or sets the Keep-Alive Interval. Optional to set.\nValue is in seconds.\nThe default value is 15 seconds.\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently,\nensuring timely checks of the connection status.\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently,\nreducing network traffic, but note that it may take longer to detect a disconnection.\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client.",
                  "old": "Gets or sets the Keep-Alive Interval. Optional to set.\r\nValue is in seconds.\r\nThe default value is 15 seconds.\r\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently, \r\nensuring timely checks of the connection status.\r\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently, \r\nreducing network traffic, but note that it may take longer to detect a disconnection.\r\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client."
                }
              }
            ]
          },
          {
            "upstream": [
              {
                "templates": {
                  "Description": {
                    "new": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template.",
                    "old": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\r\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template."
                  },
                  "$properties": [
                    {
                      "#name": "hubPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any hub name.\n2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\n3. The single hub name, for example, \"hub1\", it matches \"hub1\".",
                        "old": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any hub name.\r\n    2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\r\n    3. The single hub name, for example, \"hub1\", it matches \"hub1\"."
                      }
                    },
                    {
                      "#name": "eventPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for event names. If not set, it matches any event.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any event name.\n2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\n3. The single event name, for example, \"connect\", it matches \"connect\".",
                        "old": "Gets or sets the matching pattern for event names. If not set, it matches any event.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any event name.\r\n    2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\r\n    3. The single event name, for example, \"connect\", it matches \"connect\"."
                      }
                    },
                    {
                      "#name": "categoryPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for category names. If not set, it matches any category.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any category name.\n2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\n3. The single category name, for example, \"connections\", it matches the category \"connections\".",
                        "old": "Gets or sets the matching pattern for category names. If not set, it matches any category.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any category name.\r\n    2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\r\n    3. The single category name, for example, \"connections\", it matches the category \"connections\"."
                      }
                    },
                    {
                      "#name": "urlTemplate",
                      "Description": {
                        "new": "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.\nFor 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`.",
                        "old": "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.\r\nFor 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`."
                      }
                    },
                    {
                      "auth": [
                        {
                          "managedIdentity": [
                            {
                              "#name": "resource",
                              "Description": {
                                "new": "The Resource indicating the App ID URI of the target resource.\nIt also appears in the aud (audience) claim of the issued token.",
                                "old": "The Resource indicating the App ID URI of the target resource.\r\nIt also appears in the aud (audience) claim of the issued token."
                              }
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            ]
          },
          {
            "#name": "publicNetworkAccess",
            "Description": {
              "new": "Enable or disable public network access. Default to \"Enabled\".\nWhen it's Enabled, network ACLs still apply.\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs.",
              "old": "Enable or disable public network access. Default to \"Enabled\".\r\nWhen it's Enabled, network ACLs still apply.\r\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs."
            }
          },
          {
            "#name": "disableLocalAuth",
            "Description": {
              "new": "DisableLocalAuth\nEnable or disable local auth with AccessKey\nWhen set as true, connection with AccessKey=xxx won't work.",
              "old": "DisableLocalAuth\r\nEnable or disable local auth with AccessKey\r\nWhen set as true, connection with AccessKey=xxx won't work."
            }
          },
          {
            "#name": "disableAadAuth",
            "Description": {
              "new": "DisableLocalAuth\nEnable or disable aad auth\nWhen set as true, connection with AuthType=aad won't work.",
              "old": "DisableLocalAuth\r\nEnable or disable aad auth\r\nWhen set as true, connection with AuthType=aad won't work."
            }
          },
          {
            "#name": "regionEndpointEnabled",
            "Description": {
              "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\nThis property is replica specific. Disable the regional endpoint without replica is not allowed.",
              "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\r\nThis property is replica specific. Disable the regional endpoint without replica is not allowed."
            }
          },
          {
            "#name": "resourceStopped",
            "Description": {
              "new": "Stop or start the resource.  Default to \"False\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
              "old": "Stop or start the resource.  Default to \"False\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
            }
          },
          {
            "routeSettings": [
              {
                "#name": "serverBalanceWeight",
                "Description": {
                  "new": "Gets or sets the server balance weight.\nA higher value means a greater balance of client connections across different app server instances.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for multiple app servers in same size.",
                  "old": "Gets or sets the server balance weight.\r\nA higher value means a greater balance of client connections across different app server instances.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for multiple app servers in same size."
                }
              },
              {
                "#name": "connectionBalanceWeight",
                "Description": {
                  "new": "Gets or sets the connection balance weight.\nA higher value means a greater balance of client connections across different server connections.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for all of the cases.",
                  "old": "Gets or sets the connection balance weight.\r\nA higher value means a greater balance of client connections across different server connections.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for all of the cases."
                }
              },
              {
                "#name": "latencyWeight",
                "Description": {
                  "new": "Gets or sets the weight for latency-based routing.\nA higher value increases the influence of latency-based routing.\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\nThe default value is 0.\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery.",
                  "old": "Gets or sets the weight for latency-based routing.\r\nA higher value increases the influence of latency-based routing.\r\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\r\nThe default value is 0.\r\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery."
                }
              }
            ]
          }
        ],
        "sku": [
          {
            "#name": "name",
            "Description": {
              "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
              "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
            }
          },
          {
            "#name": "tier",
            "Description": {
              "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
              "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
            }
          },
          {
            "#name": "capacity",
            "Description": {
              "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
              "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
            }
          }
        ],
        "identity": [
          {
            "#name": "principalId",
            "Description": {
              "new": "Get the principal id for the system assigned identity.\nOnly be used in response.",
              "old": "Get the principal id for the system assigned identity.\r\nOnly be used in response."
            }
          },
          {
            "#name": "tenantId",
            "Description": {
              "new": "Get the tenant id for the system assigned identity.\nOnly be used in response",
              "old": "Get the tenant id for the system assigned identity.\r\nOnly be used in response"
            }
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "Description": {
        "new": "A class representing a resource.",
        "old": "A class represent a resource."
      },
      "$properties": {
        "properties": [
          {
            "#name": "features",
            "Description": {
              "new": "List of the featureFlags.\n\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\nAnd the response will only include featureFlags that are explicitly set.\nWhen a featureFlag is not explicitly set, its globally default value will be used\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags.",
              "old": "List of the featureFlags.\r\n\r\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\r\nAnd the response will only include featureFlags that are explicitly set. \r\nWhen a featureFlag is not explicitly set, its globally default value will be used\r\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags."
            },
            "$items": {
              "$properties": [
                {
                  "#name": "flag",
                  "Description": {
                    "new": "FeatureFlags is the supported features of Azure SignalR service.\n- 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.\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature.",
                    "old": "FeatureFlags is the supported features of Azure SignalR service.\r\n- 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.\r\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature."
                  }
                }
              ]
            }
          },
          {
            "liveTraceConfiguration": [
              {
                "#name": "enabled",
                "Description": {
                  "new": "Indicates whether or not enable live trace.\nWhen it's set to true, live trace client can connect to the service.\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\nAvailable values: true, false.\nCase insensitive.",
                  "old": "Indicates whether or not enable live trace.\r\nWhen it's set to true, live trace client can connect to the service.\r\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\r\nAvailable values: true, false.\r\nCase insensitive."
                }
              },
              {
                "categories": {
                  "$properties": [
                    {
                      "#name": "name",
                      "Description": {
                        "new": "Gets or sets the live trace category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                        "old": "Gets or sets the live trace category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                      }
                    },
                    {
                      "#name": "enabled",
                      "Description": {
                        "new": "Indicates whether or the live trace category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                        "old": "Indicates whether or the live trace category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                      }
                    }
                  ]
                }
              }
            ]
          },
          {
            "resourceLogConfiguration": [
              {
                "categories": {
                  "$properties": [
                    {
                      "#name": "name",
                      "Description": {
                        "new": "Gets or sets the resource log category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                        "old": "Gets or sets the resource log category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                      }
                    },
                    {
                      "#name": "enabled",
                      "Description": {
                        "new": "Indicates whether or the resource log category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                        "old": "Indicates whether or the resource log category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                      }
                    }
                  ]
                }
              }
            ]
          },
          {
            "serverless": [
              {
                "#name": "connectionTimeoutInSeconds",
                "Description": {
                  "new": "Gets or sets Client Connection Timeout. Optional to be set.\nValue in seconds.\nDefault value is 30 seconds.\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\nand want the client to disconnect more quickly after the last message is sent.\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\nand they want to keep the same client connection alive during this session.\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval.",
                  "old": "Gets or sets Client Connection Timeout. Optional to be set.\r\nValue in seconds.\r\nDefault value is 30 seconds.\r\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\r\nand want the client to disconnect more quickly after the last message is sent.\r\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\r\nand they want to keep the same client connection alive during this session.\r\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval."
                }
              },
              {
                "#name": "keepAliveIntervalInSeconds",
                "Description": {
                  "new": "Gets or sets the Keep-Alive Interval. Optional to set.\nValue is in seconds.\nThe default value is 15 seconds.\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently,\nensuring timely checks of the connection status.\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently,\nreducing network traffic, but note that it may take longer to detect a disconnection.\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client.",
                  "old": "Gets or sets the Keep-Alive Interval. Optional to set.\r\nValue is in seconds.\r\nThe default value is 15 seconds.\r\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently, \r\nensuring timely checks of the connection status.\r\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently, \r\nreducing network traffic, but note that it may take longer to detect a disconnection.\r\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client."
                }
              }
            ]
          },
          {
            "upstream": [
              {
                "templates": {
                  "Description": {
                    "new": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template.",
                    "old": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\r\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template."
                  },
                  "$properties": [
                    {
                      "#name": "hubPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any hub name.\n2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\n3. The single hub name, for example, \"hub1\", it matches \"hub1\".",
                        "old": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any hub name.\r\n    2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\r\n    3. The single hub name, for example, \"hub1\", it matches \"hub1\"."
                      }
                    },
                    {
                      "#name": "eventPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for event names. If not set, it matches any event.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any event name.\n2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\n3. The single event name, for example, \"connect\", it matches \"connect\".",
                        "old": "Gets or sets the matching pattern for event names. If not set, it matches any event.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any event name.\r\n    2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\r\n    3. The single event name, for example, \"connect\", it matches \"connect\"."
                      }
                    },
                    {
                      "#name": "categoryPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for category names. If not set, it matches any category.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any category name.\n2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\n3. The single category name, for example, \"connections\", it matches the category \"connections\".",
                        "old": "Gets or sets the matching pattern for category names. If not set, it matches any category.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any category name.\r\n    2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\r\n    3. The single category name, for example, \"connections\", it matches the category \"connections\"."
                      }
                    },
                    {
                      "#name": "urlTemplate",
                      "Description": {
                        "new": "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.\nFor 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`.",
                        "old": "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.\r\nFor 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`."
                      }
                    },
                    {
                      "auth": [
                        {
                          "managedIdentity": [
                            {
                              "#name": "resource",
                              "Description": {
                                "new": "The Resource indicating the App ID URI of the target resource.\nIt also appears in the aud (audience) claim of the issued token.",
                                "old": "The Resource indicating the App ID URI of the target resource.\r\nIt also appears in the aud (audience) claim of the issued token."
                              }
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            ]
          },
          {
            "#name": "publicNetworkAccess",
            "Description": {
              "new": "Enable or disable public network access. Default to \"Enabled\".\nWhen it's Enabled, network ACLs still apply.\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs.",
              "old": "Enable or disable public network access. Default to \"Enabled\".\r\nWhen it's Enabled, network ACLs still apply.\r\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs."
            }
          },
          {
            "#name": "disableLocalAuth",
            "Description": {
              "new": "DisableLocalAuth\nEnable or disable local auth with AccessKey\nWhen set as true, connection with AccessKey=xxx won't work.",
              "old": "DisableLocalAuth\r\nEnable or disable local auth with AccessKey\r\nWhen set as true, connection with AccessKey=xxx won't work."
            }
          },
          {
            "#name": "disableAadAuth",
            "Description": {
              "new": "DisableLocalAuth\nEnable or disable aad auth\nWhen set as true, connection with AuthType=aad won't work.",
              "old": "DisableLocalAuth\r\nEnable or disable aad auth\r\nWhen set as true, connection with AuthType=aad won't work."
            }
          },
          {
            "#name": "regionEndpointEnabled",
            "Description": {
              "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\nThis property is replica specific. Disable the regional endpoint without replica is not allowed.",
              "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\r\nThis property is replica specific. Disable the regional endpoint without replica is not allowed."
            }
          },
          {
            "#name": "resourceStopped",
            "Description": {
              "new": "Stop or start the resource.  Default to \"False\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
              "old": "Stop or start the resource.  Default to \"False\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
            }
          },
          {
            "routeSettings": [
              {
                "#name": "serverBalanceWeight",
                "Description": {
                  "new": "Gets or sets the server balance weight.\nA higher value means a greater balance of client connections across different app server instances.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for multiple app servers in same size.",
                  "old": "Gets or sets the server balance weight.\r\nA higher value means a greater balance of client connections across different app server instances.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for multiple app servers in same size."
                }
              },
              {
                "#name": "connectionBalanceWeight",
                "Description": {
                  "new": "Gets or sets the connection balance weight.\nA higher value means a greater balance of client connections across different server connections.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for all of the cases.",
                  "old": "Gets or sets the connection balance weight.\r\nA higher value means a greater balance of client connections across different server connections.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for all of the cases."
                }
              },
              {
                "#name": "latencyWeight",
                "Description": {
                  "new": "Gets or sets the weight for latency-based routing.\nA higher value increases the influence of latency-based routing.\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\nThe default value is 0.\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery.",
                  "old": "Gets or sets the weight for latency-based routing.\r\nA higher value increases the influence of latency-based routing.\r\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\r\nThe default value is 0.\r\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery."
                }
              }
            ]
          }
        ],
        "sku": [
          {
            "#name": "name",
            "Description": {
              "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
              "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
            }
          },
          {
            "#name": "tier",
            "Description": {
              "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
              "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
            }
          },
          {
            "#name": "capacity",
            "Description": {
              "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
              "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
            }
          }
        ],
        "identity": [
          {
            "#name": "principalId",
            "Description": {
              "new": "Get the principal id for the system assigned identity.\nOnly be used in response.",
              "old": "Get the principal id for the system assigned identity.\r\nOnly be used in response."
            }
          },
          {
            "#name": "tenantId",
            "Description": {
              "new": "Get the tenant id for the system assigned identity.\nOnly be used in response",
              "old": "Get the tenant id for the system assigned identity.\r\nOnly be used in response"
            }
          }
        ]
      }
    },
    "201": {
      "Description": {
        "new": "A class representing a resource.",
        "old": "A class represent a resource."
      },
      "$properties": {
        "properties": [
          {
            "#name": "features",
            "Description": {
              "new": "List of the featureFlags.\n\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\nAnd the response will only include featureFlags that are explicitly set.\nWhen a featureFlag is not explicitly set, its globally default value will be used\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags.",
              "old": "List of the featureFlags.\r\n\r\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\r\nAnd the response will only include featureFlags that are explicitly set. \r\nWhen a featureFlag is not explicitly set, its globally default value will be used\r\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags."
            },
            "$items": {
              "$properties": [
                {
                  "#name": "flag",
                  "Description": {
                    "new": "FeatureFlags is the supported features of Azure SignalR service.\n- 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.\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature.",
                    "old": "FeatureFlags is the supported features of Azure SignalR service.\r\n- 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.\r\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature."
                  }
                }
              ]
            }
          },
          {
            "liveTraceConfiguration": [
              {
                "#name": "enabled",
                "Description": {
                  "new": "Indicates whether or not enable live trace.\nWhen it's set to true, live trace client can connect to the service.\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\nAvailable values: true, false.\nCase insensitive.",
                  "old": "Indicates whether or not enable live trace.\r\nWhen it's set to true, live trace client can connect to the service.\r\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\r\nAvailable values: true, false.\r\nCase insensitive."
                }
              },
              {
                "categories": {
                  "$properties": [
                    {
                      "#name": "name",
                      "Description": {
                        "new": "Gets or sets the live trace category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                        "old": "Gets or sets the live trace category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                      }
                    },
                    {
                      "#name": "enabled",
                      "Description": {
                        "new": "Indicates whether or the live trace category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                        "old": "Indicates whether or the live trace category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                      }
                    }
                  ]
                }
              }
            ]
          },
          {
            "resourceLogConfiguration": [
              {
                "categories": {
                  "$properties": [
                    {
                      "#name": "name",
                      "Description": {
                        "new": "Gets or sets the resource log category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                        "old": "Gets or sets the resource log category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                      }
                    },
                    {
                      "#name": "enabled",
                      "Description": {
                        "new": "Indicates whether or the resource log category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                        "old": "Indicates whether or the resource log category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                      }
                    }
                  ]
                }
              }
            ]
          },
          {
            "serverless": [
              {
                "#name": "connectionTimeoutInSeconds",
                "Description": {
                  "new": "Gets or sets Client Connection Timeout. Optional to be set.\nValue in seconds.\nDefault value is 30 seconds.\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\nand want the client to disconnect more quickly after the last message is sent.\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\nand they want to keep the same client connection alive during this session.\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval.",
                  "old": "Gets or sets Client Connection Timeout. Optional to be set.\r\nValue in seconds.\r\nDefault value is 30 seconds.\r\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\r\nand want the client to disconnect more quickly after the last message is sent.\r\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\r\nand they want to keep the same client connection alive during this session.\r\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval."
                }
              },
              {
                "#name": "keepAliveIntervalInSeconds",
                "Description": {
                  "new": "Gets or sets the Keep-Alive Interval. Optional to set.\nValue is in seconds.\nThe default value is 15 seconds.\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently,\nensuring timely checks of the connection status.\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently,\nreducing network traffic, but note that it may take longer to detect a disconnection.\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client.",
                  "old": "Gets or sets the Keep-Alive Interval. Optional to set.\r\nValue is in seconds.\r\nThe default value is 15 seconds.\r\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently, \r\nensuring timely checks of the connection status.\r\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently, \r\nreducing network traffic, but note that it may take longer to detect a disconnection.\r\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client."
                }
              }
            ]
          },
          {
            "upstream": [
              {
                "templates": {
                  "Description": {
                    "new": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template.",
                    "old": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\r\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template."
                  },
                  "$properties": [
                    {
                      "#name": "hubPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any hub name.\n2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\n3. The single hub name, for example, \"hub1\", it matches \"hub1\".",
                        "old": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any hub name.\r\n    2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\r\n    3. The single hub name, for example, \"hub1\", it matches \"hub1\"."
                      }
                    },
                    {
                      "#name": "eventPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for event names. If not set, it matches any event.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any event name.\n2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\n3. The single event name, for example, \"connect\", it matches \"connect\".",
                        "old": "Gets or sets the matching pattern for event names. If not set, it matches any event.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any event name.\r\n    2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\r\n    3. The single event name, for example, \"connect\", it matches \"connect\"."
                      }
                    },
                    {
                      "#name": "categoryPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for category names. If not set, it matches any category.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any category name.\n2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\n3. The single category name, for example, \"connections\", it matches the category \"connections\".",
                        "old": "Gets or sets the matching pattern for category names. If not set, it matches any category.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any category name.\r\n    2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\r\n    3. The single category name, for example, \"connections\", it matches the category \"connections\"."
                      }
                    },
                    {
                      "#name": "urlTemplate",
                      "Description": {
                        "new": "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.\nFor 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`.",
                        "old": "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.\r\nFor 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`."
                      }
                    },
                    {
                      "auth": [
                        {
                          "managedIdentity": [
                            {
                              "#name": "resource",
                              "Description": {
                                "new": "The Resource indicating the App ID URI of the target resource.\nIt also appears in the aud (audience) claim of the issued token.",
                                "old": "The Resource indicating the App ID URI of the target resource.\r\nIt also appears in the aud (audience) claim of the issued token."
                              }
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            ]
          },
          {
            "#name": "publicNetworkAccess",
            "Description": {
              "new": "Enable or disable public network access. Default to \"Enabled\".\nWhen it's Enabled, network ACLs still apply.\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs.",
              "old": "Enable or disable public network access. Default to \"Enabled\".\r\nWhen it's Enabled, network ACLs still apply.\r\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs."
            }
          },
          {
            "#name": "disableLocalAuth",
            "Description": {
              "new": "DisableLocalAuth\nEnable or disable local auth with AccessKey\nWhen set as true, connection with AccessKey=xxx won't work.",
              "old": "DisableLocalAuth\r\nEnable or disable local auth with AccessKey\r\nWhen set as true, connection with AccessKey=xxx won't work."
            }
          },
          {
            "#name": "disableAadAuth",
            "Description": {
              "new": "DisableLocalAuth\nEnable or disable aad auth\nWhen set as true, connection with AuthType=aad won't work.",
              "old": "DisableLocalAuth\r\nEnable or disable aad auth\r\nWhen set as true, connection with AuthType=aad won't work."
            }
          },
          {
            "#name": "regionEndpointEnabled",
            "Description": {
              "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\nThis property is replica specific. Disable the regional endpoint without replica is not allowed.",
              "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\r\nThis property is replica specific. Disable the regional endpoint without replica is not allowed."
            }
          },
          {
            "#name": "resourceStopped",
            "Description": {
              "new": "Stop or start the resource.  Default to \"False\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
              "old": "Stop or start the resource.  Default to \"False\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
            }
          },
          {
            "routeSettings": [
              {
                "#name": "serverBalanceWeight",
                "Description": {
                  "new": "Gets or sets the server balance weight.\nA higher value means a greater balance of client connections across different app server instances.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for multiple app servers in same size.",
                  "old": "Gets or sets the server balance weight.\r\nA higher value means a greater balance of client connections across different app server instances.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for multiple app servers in same size."
                }
              },
              {
                "#name": "connectionBalanceWeight",
                "Description": {
                  "new": "Gets or sets the connection balance weight.\nA higher value means a greater balance of client connections across different server connections.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for all of the cases.",
                  "old": "Gets or sets the connection balance weight.\r\nA higher value means a greater balance of client connections across different server connections.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for all of the cases."
                }
              },
              {
                "#name": "latencyWeight",
                "Description": {
                  "new": "Gets or sets the weight for latency-based routing.\nA higher value increases the influence of latency-based routing.\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\nThe default value is 0.\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery.",
                  "old": "Gets or sets the weight for latency-based routing.\r\nA higher value increases the influence of latency-based routing.\r\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\r\nThe default value is 0.\r\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery."
                }
              }
            ]
          }
        ],
        "sku": [
          {
            "#name": "name",
            "Description": {
              "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
              "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
            }
          },
          {
            "#name": "tier",
            "Description": {
              "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
              "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
            }
          },
          {
            "#name": "capacity",
            "Description": {
              "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
              "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
            }
          }
        ],
        "identity": [
          {
            "#name": "principalId",
            "Description": {
              "new": "Get the principal id for the system assigned identity.\nOnly be used in response.",
              "old": "Get the principal id for the system assigned identity.\r\nOnly be used in response."
            }
          },
          {
            "#name": "tenantId",
            "Description": {
              "new": "Get the tenant id for the system assigned identity.\nOnly be used in response",
              "old": "Get the tenant id for the system assigned identity.\r\nOnly be used in response"
            }
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
parameters:
{
properties:
{
provisioningState: enum ,
externalIP: string ,
hostName: string ,
publicPort: integer ,
serverPort: integer ,
version: string ,
privateEndpointConnections:
[
{
properties:
{
provisioningState: enum ,
privateEndpoint:
{
id: string ,
}
,
groupIds:
[
string ,
]
,
privateLinkServiceConnectionState:
{
status: enum ,
description: string ,
actionsRequired: string ,
}
,
}
,
}
,
]
,
sharedPrivateLinkResources:
[
{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}
,
]
,
tls:
{
clientCertEnabled: boolean ,
}
,
hostNamePrefix: string ,
features:
[
{
flag: enum ,
value: string ,
properties: object ,
}
,
]
,
liveTraceConfiguration:
{
enabled: string ,
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
resourceLogConfiguration:
{
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
cors:
{
allowedOrigins:
[
string ,
]
,
}
,
serverless:
{
connectionTimeoutInSeconds: integer ,
keepAliveIntervalInSeconds: integer ,
}
,
upstream:
{
templates:
[
{
hubPattern: string ,
eventPattern: string ,
categoryPattern: string ,
urlTemplate: string ,
auth:
{
type: enum ,
managedIdentity:
{
resource: string ,
}
,
}
,
}
,
]
,
}
,
networkACLs:
{
defaultAction: enum ,
publicNetwork:
{
allow:
[
string ,
]
,
deny:
[
string ,
]
,
}
,
privateEndpoints:
[
{
name: string ,
}
,
]
,
ipRules:
[
{
value: string ,
action: enum ,
}
,
]
,
}
,
applicationFirewall:
{
clientConnectionCountRules:
[
{
type: enum ,
}
,
]
,
clientTrafficControlRules:
[
{
type: enum ,
}
,
]
,
maxClientConnectionLifetimeInSeconds: integer ,
}
,
publicNetworkAccess: string ,
disableLocalAuth: boolean ,
disableAadAuth: boolean ,
regionEndpointEnabled: string ,
resourceStopped: string ,
routeSettings:
{
serverBalanceWeight: integer ,
connectionBalanceWeight: integer ,
latencyWeight: integer ,
}
,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
kind: enum ,
identity:
{
type: enum ,
userAssignedIdentities: object ,
principalId: string ,
tenantId: string ,
}
,
}
,
}

⚐ Response (200)

{
properties:
{
provisioningState: enum ,
externalIP: string ,
hostName: string ,
publicPort: integer ,
serverPort: integer ,
version: string ,
privateEndpointConnections:
[
{
properties:
{
provisioningState: enum ,
privateEndpoint:
{
id: string ,
}
,
groupIds:
[
string ,
]
,
privateLinkServiceConnectionState:
{
status: enum ,
description: string ,
actionsRequired: string ,
}
,
}
,
}
,
]
,
sharedPrivateLinkResources:
[
{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}
,
]
,
tls:
{
clientCertEnabled: boolean ,
}
,
hostNamePrefix: string ,
features:
[
{
flag: enum ,
value: string ,
properties: object ,
}
,
]
,
liveTraceConfiguration:
{
enabled: string ,
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
resourceLogConfiguration:
{
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
cors:
{
allowedOrigins:
[
string ,
]
,
}
,
serverless:
{
connectionTimeoutInSeconds: integer ,
keepAliveIntervalInSeconds: integer ,
}
,
upstream:
{
templates:
[
{
hubPattern: string ,
eventPattern: string ,
categoryPattern: string ,
urlTemplate: string ,
auth:
{
type: enum ,
managedIdentity:
{
resource: string ,
}
,
}
,
}
,
]
,
}
,
networkACLs:
{
defaultAction: enum ,
publicNetwork:
{
allow:
[
string ,
]
,
deny:
[
string ,
]
,
}
,
privateEndpoints:
[
{
name: string ,
}
,
]
,
ipRules:
[
{
value: string ,
action: enum ,
}
,
]
,
}
,
applicationFirewall:
{
clientConnectionCountRules:
[
{
type: enum ,
}
,
]
,
clientTrafficControlRules:
[
{
type: enum ,
}
,
]
,
maxClientConnectionLifetimeInSeconds: integer ,
}
,
publicNetworkAccess: string ,
disableLocalAuth: boolean ,
disableAadAuth: boolean ,
regionEndpointEnabled: string ,
resourceStopped: string ,
routeSettings:
{
serverBalanceWeight: integer ,
connectionBalanceWeight: integer ,
latencyWeight: integer ,
}
,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
kind: enum ,
identity:
{
type: enum ,
userAssignedIdentities: object ,
principalId: string ,
tenantId: string ,
}
,
}

⚐ Response (201)

{
$headers:
{
retry-after: integer ,
}
,
$schema:
{
properties:
{
provisioningState: enum ,
externalIP: string ,
hostName: string ,
publicPort: integer ,
serverPort: integer ,
version: string ,
privateEndpointConnections:
[
{
properties:
{
provisioningState: enum ,
privateEndpoint:
{
id: string ,
}
,
groupIds:
[
string ,
]
,
privateLinkServiceConnectionState:
{
status: enum ,
description: string ,
actionsRequired: string ,
}
,
}
,
}
,
]
,
sharedPrivateLinkResources:
[
{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}
,
]
,
tls:
{
clientCertEnabled: boolean ,
}
,
hostNamePrefix: string ,
features:
[
{
flag: enum ,
value: string ,
properties: object ,
}
,
]
,
liveTraceConfiguration:
{
enabled: string ,
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
resourceLogConfiguration:
{
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
cors:
{
allowedOrigins:
[
string ,
]
,
}
,
serverless:
{
connectionTimeoutInSeconds: integer ,
keepAliveIntervalInSeconds: integer ,
}
,
upstream:
{
templates:
[
{
hubPattern: string ,
eventPattern: string ,
categoryPattern: string ,
urlTemplate: string ,
auth:
{
type: enum ,
managedIdentity:
{
resource: string ,
}
,
}
,
}
,
]
,
}
,
networkACLs:
{
defaultAction: enum ,
publicNetwork:
{
allow:
[
string ,
]
,
deny:
[
string ,
]
,
}
,
privateEndpoints:
[
{
name: string ,
}
,
]
,
ipRules:
[
{
value: string ,
action: enum ,
}
,
]
,
}
,
applicationFirewall:
{
clientConnectionCountRules:
[
{
type: enum ,
}
,
]
,
clientTrafficControlRules:
[
{
type: enum ,
}
,
]
,
maxClientConnectionLifetimeInSeconds: integer ,
}
,
publicNetworkAccess: string ,
disableLocalAuth: boolean ,
disableAadAuth: boolean ,
regionEndpointEnabled: string ,
resourceStopped: string ,
routeSettings:
{
serverBalanceWeight: integer ,
connectionBalanceWeight: integer ,
latencyWeight: integer ,
}
,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
kind: enum ,
identity:
{
type: enum ,
userAssignedIdentities: object ,
principalId: string ,
tenantId: string ,
}
,
}
,
}

⚐ Response (202)

{
location: string ,
retry-after: integer ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalR_Update (updated)
Description Operation to update an exiting resource.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalR_Update",
  "$parameters": {
    "parameters": {
      "Description": {
        "new": "A class representing a resource.",
        "old": "A class represent a resource."
      },
      "$properties": {
        "properties": [
          {
            "#name": "features",
            "Description": {
              "new": "List of the featureFlags.\n\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\nAnd the response will only include featureFlags that are explicitly set.\nWhen a featureFlag is not explicitly set, its globally default value will be used\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags.",
              "old": "List of the featureFlags.\r\n\r\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\r\nAnd the response will only include featureFlags that are explicitly set. \r\nWhen a featureFlag is not explicitly set, its globally default value will be used\r\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags."
            },
            "$items": {
              "$properties": [
                {
                  "#name": "flag",
                  "Description": {
                    "new": "FeatureFlags is the supported features of Azure SignalR service.\n- 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.\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature.",
                    "old": "FeatureFlags is the supported features of Azure SignalR service.\r\n- 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.\r\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature."
                  }
                }
              ]
            }
          },
          {
            "liveTraceConfiguration": [
              {
                "#name": "enabled",
                "Description": {
                  "new": "Indicates whether or not enable live trace.\nWhen it's set to true, live trace client can connect to the service.\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\nAvailable values: true, false.\nCase insensitive.",
                  "old": "Indicates whether or not enable live trace.\r\nWhen it's set to true, live trace client can connect to the service.\r\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\r\nAvailable values: true, false.\r\nCase insensitive."
                }
              },
              {
                "categories": {
                  "$properties": [
                    {
                      "#name": "name",
                      "Description": {
                        "new": "Gets or sets the live trace category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                        "old": "Gets or sets the live trace category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                      }
                    },
                    {
                      "#name": "enabled",
                      "Description": {
                        "new": "Indicates whether or the live trace category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                        "old": "Indicates whether or the live trace category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                      }
                    }
                  ]
                }
              }
            ]
          },
          {
            "resourceLogConfiguration": [
              {
                "categories": {
                  "$properties": [
                    {
                      "#name": "name",
                      "Description": {
                        "new": "Gets or sets the resource log category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                        "old": "Gets or sets the resource log category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                      }
                    },
                    {
                      "#name": "enabled",
                      "Description": {
                        "new": "Indicates whether or the resource log category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                        "old": "Indicates whether or the resource log category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                      }
                    }
                  ]
                }
              }
            ]
          },
          {
            "serverless": [
              {
                "#name": "connectionTimeoutInSeconds",
                "Description": {
                  "new": "Gets or sets Client Connection Timeout. Optional to be set.\nValue in seconds.\nDefault value is 30 seconds.\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\nand want the client to disconnect more quickly after the last message is sent.\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\nand they want to keep the same client connection alive during this session.\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval.",
                  "old": "Gets or sets Client Connection Timeout. Optional to be set.\r\nValue in seconds.\r\nDefault value is 30 seconds.\r\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\r\nand want the client to disconnect more quickly after the last message is sent.\r\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\r\nand they want to keep the same client connection alive during this session.\r\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval."
                }
              },
              {
                "#name": "keepAliveIntervalInSeconds",
                "Description": {
                  "new": "Gets or sets the Keep-Alive Interval. Optional to set.\nValue is in seconds.\nThe default value is 15 seconds.\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently,\nensuring timely checks of the connection status.\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently,\nreducing network traffic, but note that it may take longer to detect a disconnection.\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client.",
                  "old": "Gets or sets the Keep-Alive Interval. Optional to set.\r\nValue is in seconds.\r\nThe default value is 15 seconds.\r\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently, \r\nensuring timely checks of the connection status.\r\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently, \r\nreducing network traffic, but note that it may take longer to detect a disconnection.\r\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client."
                }
              }
            ]
          },
          {
            "upstream": [
              {
                "templates": {
                  "Description": {
                    "new": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template.",
                    "old": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\r\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template."
                  },
                  "$properties": [
                    {
                      "#name": "hubPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any hub name.\n2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\n3. The single hub name, for example, \"hub1\", it matches \"hub1\".",
                        "old": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any hub name.\r\n    2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\r\n    3. The single hub name, for example, \"hub1\", it matches \"hub1\"."
                      }
                    },
                    {
                      "#name": "eventPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for event names. If not set, it matches any event.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any event name.\n2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\n3. The single event name, for example, \"connect\", it matches \"connect\".",
                        "old": "Gets or sets the matching pattern for event names. If not set, it matches any event.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any event name.\r\n    2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\r\n    3. The single event name, for example, \"connect\", it matches \"connect\"."
                      }
                    },
                    {
                      "#name": "categoryPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for category names. If not set, it matches any category.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any category name.\n2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\n3. The single category name, for example, \"connections\", it matches the category \"connections\".",
                        "old": "Gets or sets the matching pattern for category names. If not set, it matches any category.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any category name.\r\n    2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\r\n    3. The single category name, for example, \"connections\", it matches the category \"connections\"."
                      }
                    },
                    {
                      "#name": "urlTemplate",
                      "Description": {
                        "new": "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.\nFor 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`.",
                        "old": "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.\r\nFor 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`."
                      }
                    },
                    {
                      "auth": [
                        {
                          "managedIdentity": [
                            {
                              "#name": "resource",
                              "Description": {
                                "new": "The Resource indicating the App ID URI of the target resource.\nIt also appears in the aud (audience) claim of the issued token.",
                                "old": "The Resource indicating the App ID URI of the target resource.\r\nIt also appears in the aud (audience) claim of the issued token."
                              }
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            ]
          },
          {
            "#name": "publicNetworkAccess",
            "Description": {
              "new": "Enable or disable public network access. Default to \"Enabled\".\nWhen it's Enabled, network ACLs still apply.\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs.",
              "old": "Enable or disable public network access. Default to \"Enabled\".\r\nWhen it's Enabled, network ACLs still apply.\r\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs."
            }
          },
          {
            "#name": "disableLocalAuth",
            "Description": {
              "new": "DisableLocalAuth\nEnable or disable local auth with AccessKey\nWhen set as true, connection with AccessKey=xxx won't work.",
              "old": "DisableLocalAuth\r\nEnable or disable local auth with AccessKey\r\nWhen set as true, connection with AccessKey=xxx won't work."
            }
          },
          {
            "#name": "disableAadAuth",
            "Description": {
              "new": "DisableLocalAuth\nEnable or disable aad auth\nWhen set as true, connection with AuthType=aad won't work.",
              "old": "DisableLocalAuth\r\nEnable or disable aad auth\r\nWhen set as true, connection with AuthType=aad won't work."
            }
          },
          {
            "#name": "regionEndpointEnabled",
            "Description": {
              "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\nThis property is replica specific. Disable the regional endpoint without replica is not allowed.",
              "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\r\nThis property is replica specific. Disable the regional endpoint without replica is not allowed."
            }
          },
          {
            "#name": "resourceStopped",
            "Description": {
              "new": "Stop or start the resource.  Default to \"False\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
              "old": "Stop or start the resource.  Default to \"False\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
            }
          },
          {
            "routeSettings": [
              {
                "#name": "serverBalanceWeight",
                "Description": {
                  "new": "Gets or sets the server balance weight.\nA higher value means a greater balance of client connections across different app server instances.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for multiple app servers in same size.",
                  "old": "Gets or sets the server balance weight.\r\nA higher value means a greater balance of client connections across different app server instances.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for multiple app servers in same size."
                }
              },
              {
                "#name": "connectionBalanceWeight",
                "Description": {
                  "new": "Gets or sets the connection balance weight.\nA higher value means a greater balance of client connections across different server connections.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for all of the cases.",
                  "old": "Gets or sets the connection balance weight.\r\nA higher value means a greater balance of client connections across different server connections.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for all of the cases."
                }
              },
              {
                "#name": "latencyWeight",
                "Description": {
                  "new": "Gets or sets the weight for latency-based routing.\nA higher value increases the influence of latency-based routing.\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\nThe default value is 0.\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery.",
                  "old": "Gets or sets the weight for latency-based routing.\r\nA higher value increases the influence of latency-based routing.\r\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\r\nThe default value is 0.\r\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery."
                }
              }
            ]
          }
        ],
        "sku": [
          {
            "#name": "name",
            "Description": {
              "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
              "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
            }
          },
          {
            "#name": "tier",
            "Description": {
              "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
              "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
            }
          },
          {
            "#name": "capacity",
            "Description": {
              "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
              "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
            }
          }
        ],
        "identity": [
          {
            "#name": "principalId",
            "Description": {
              "new": "Get the principal id for the system assigned identity.\nOnly be used in response.",
              "old": "Get the principal id for the system assigned identity.\r\nOnly be used in response."
            }
          },
          {
            "#name": "tenantId",
            "Description": {
              "new": "Get the tenant id for the system assigned identity.\nOnly be used in response",
              "old": "Get the tenant id for the system assigned identity.\r\nOnly be used in response"
            }
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "Description": {
        "new": "A class representing a resource.",
        "old": "A class represent a resource."
      },
      "$properties": {
        "properties": [
          {
            "#name": "features",
            "Description": {
              "new": "List of the featureFlags.\n\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\nAnd the response will only include featureFlags that are explicitly set.\nWhen a featureFlag is not explicitly set, its globally default value will be used\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags.",
              "old": "List of the featureFlags.\r\n\r\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\r\nAnd the response will only include featureFlags that are explicitly set. \r\nWhen a featureFlag is not explicitly set, its globally default value will be used\r\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags."
            },
            "$items": {
              "$properties": [
                {
                  "#name": "flag",
                  "Description": {
                    "new": "FeatureFlags is the supported features of Azure SignalR service.\n- 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.\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature.",
                    "old": "FeatureFlags is the supported features of Azure SignalR service.\r\n- 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.\r\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature."
                  }
                }
              ]
            }
          },
          {
            "liveTraceConfiguration": [
              {
                "#name": "enabled",
                "Description": {
                  "new": "Indicates whether or not enable live trace.\nWhen it's set to true, live trace client can connect to the service.\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\nAvailable values: true, false.\nCase insensitive.",
                  "old": "Indicates whether or not enable live trace.\r\nWhen it's set to true, live trace client can connect to the service.\r\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\r\nAvailable values: true, false.\r\nCase insensitive."
                }
              },
              {
                "categories": {
                  "$properties": [
                    {
                      "#name": "name",
                      "Description": {
                        "new": "Gets or sets the live trace category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                        "old": "Gets or sets the live trace category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                      }
                    },
                    {
                      "#name": "enabled",
                      "Description": {
                        "new": "Indicates whether or the live trace category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                        "old": "Indicates whether or the live trace category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                      }
                    }
                  ]
                }
              }
            ]
          },
          {
            "resourceLogConfiguration": [
              {
                "categories": {
                  "$properties": [
                    {
                      "#name": "name",
                      "Description": {
                        "new": "Gets or sets the resource log category's name.\nAvailable values: ConnectivityLogs, MessagingLogs.\nCase insensitive.",
                        "old": "Gets or sets the resource log category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive."
                      }
                    },
                    {
                      "#name": "enabled",
                      "Description": {
                        "new": "Indicates whether or the resource log category is enabled.\nAvailable values: true, false.\nCase insensitive.",
                        "old": "Indicates whether or the resource log category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive."
                      }
                    }
                  ]
                }
              }
            ]
          },
          {
            "serverless": [
              {
                "#name": "connectionTimeoutInSeconds",
                "Description": {
                  "new": "Gets or sets Client Connection Timeout. Optional to be set.\nValue in seconds.\nDefault value is 30 seconds.\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\nand want the client to disconnect more quickly after the last message is sent.\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\nand they want to keep the same client connection alive during this session.\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval.",
                  "old": "Gets or sets Client Connection Timeout. Optional to be set.\r\nValue in seconds.\r\nDefault value is 30 seconds.\r\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\r\nand want the client to disconnect more quickly after the last message is sent.\r\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\r\nand they want to keep the same client connection alive during this session.\r\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval."
                }
              },
              {
                "#name": "keepAliveIntervalInSeconds",
                "Description": {
                  "new": "Gets or sets the Keep-Alive Interval. Optional to set.\nValue is in seconds.\nThe default value is 15 seconds.\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently,\nensuring timely checks of the connection status.\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently,\nreducing network traffic, but note that it may take longer to detect a disconnection.\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client.",
                  "old": "Gets or sets the Keep-Alive Interval. Optional to set.\r\nValue is in seconds.\r\nThe default value is 15 seconds.\r\nCustomers should set this value to a shorter period if they want the service to send keep-alive messages more frequently, \r\nensuring timely checks of the connection status.\r\nConversely, customers can set this value to a longer period if they want the service to send keep-alive messages less frequently, \r\nreducing network traffic, but note that it may take longer to detect a disconnection.\r\nThis interval ensures that the connection is maintained by sending periodic keep-alive messages to the client."
                }
              }
            ]
          },
          {
            "upstream": [
              {
                "templates": {
                  "Description": {
                    "new": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template.",
                    "old": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\r\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template."
                  },
                  "$properties": [
                    {
                      "#name": "hubPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any hub name.\n2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\n3. The single hub name, for example, \"hub1\", it matches \"hub1\".",
                        "old": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any hub name.\r\n    2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\r\n    3. The single hub name, for example, \"hub1\", it matches \"hub1\"."
                      }
                    },
                    {
                      "#name": "eventPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for event names. If not set, it matches any event.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any event name.\n2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\n3. The single event name, for example, \"connect\", it matches \"connect\".",
                        "old": "Gets or sets the matching pattern for event names. If not set, it matches any event.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any event name.\r\n    2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\r\n    3. The single event name, for example, \"connect\", it matches \"connect\"."
                      }
                    },
                    {
                      "#name": "categoryPattern",
                      "Description": {
                        "new": "Gets or sets the matching pattern for category names. If not set, it matches any category.\nThere are 3 kind of patterns supported:\n1. \"*\", it to matches any category name.\n2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\n3. The single category name, for example, \"connections\", it matches the category \"connections\".",
                        "old": "Gets or sets the matching pattern for category names. If not set, it matches any category.\r\nThere are 3 kind of patterns supported:\r\n    1. \"*\", it to matches any category name.\r\n    2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\r\n    3. The single category name, for example, \"connections\", it matches the category \"connections\"."
                      }
                    },
                    {
                      "#name": "urlTemplate",
                      "Description": {
                        "new": "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.\nFor 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`.",
                        "old": "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.\r\nFor 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`."
                      }
                    },
                    {
                      "auth": [
                        {
                          "managedIdentity": [
                            {
                              "#name": "resource",
                              "Description": {
                                "new": "The Resource indicating the App ID URI of the target resource.\nIt also appears in the aud (audience) claim of the issued token.",
                                "old": "The Resource indicating the App ID URI of the target resource.\r\nIt also appears in the aud (audience) claim of the issued token."
                              }
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            ]
          },
          {
            "#name": "publicNetworkAccess",
            "Description": {
              "new": "Enable or disable public network access. Default to \"Enabled\".\nWhen it's Enabled, network ACLs still apply.\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs.",
              "old": "Enable or disable public network access. Default to \"Enabled\".\r\nWhen it's Enabled, network ACLs still apply.\r\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs."
            }
          },
          {
            "#name": "disableLocalAuth",
            "Description": {
              "new": "DisableLocalAuth\nEnable or disable local auth with AccessKey\nWhen set as true, connection with AccessKey=xxx won't work.",
              "old": "DisableLocalAuth\r\nEnable or disable local auth with AccessKey\r\nWhen set as true, connection with AccessKey=xxx won't work."
            }
          },
          {
            "#name": "disableAadAuth",
            "Description": {
              "new": "DisableLocalAuth\nEnable or disable aad auth\nWhen set as true, connection with AuthType=aad won't work.",
              "old": "DisableLocalAuth\r\nEnable or disable aad auth\r\nWhen set as true, connection with AuthType=aad won't work."
            }
          },
          {
            "#name": "regionEndpointEnabled",
            "Description": {
              "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\nThis property is replica specific. Disable the regional endpoint without replica is not allowed.",
              "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\r\nThis property is replica specific. Disable the regional endpoint without replica is not allowed."
            }
          },
          {
            "#name": "resourceStopped",
            "Description": {
              "new": "Stop or start the resource.  Default to \"False\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
              "old": "Stop or start the resource.  Default to \"False\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
            }
          },
          {
            "routeSettings": [
              {
                "#name": "serverBalanceWeight",
                "Description": {
                  "new": "Gets or sets the server balance weight.\nA higher value means a greater balance of client connections across different app server instances.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for multiple app servers in same size.",
                  "old": "Gets or sets the server balance weight.\r\nA higher value means a greater balance of client connections across different app server instances.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for multiple app servers in same size."
                }
              },
              {
                "#name": "connectionBalanceWeight",
                "Description": {
                  "new": "Gets or sets the connection balance weight.\nA higher value means a greater balance of client connections across different server connections.\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\nThe default value is 255.\nRecommended ```255``` for all of the cases.",
                  "old": "Gets or sets the connection balance weight.\r\nA higher value means a greater balance of client connections across different server connections.\r\nA value of 0 distributes connections randomly, while a value of 255 ensures maximum balancing.\r\nThe default value is 255.\r\nRecommended ```255``` for all of the cases."
                }
              },
              {
                "#name": "latencyWeight",
                "Description": {
                  "new": "Gets or sets the weight for latency-based routing.\nA higher value increases the influence of latency-based routing.\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\nThe default value is 0.\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery.",
                  "old": "Gets or sets the weight for latency-based routing.\r\nA higher value increases the influence of latency-based routing.\r\nA value of 0 disables latency-based routing entirely, while a value of 255 enables it fully.\r\nThe default value is 0.\r\nRecommended ```255``` for replicas or app servers in different regions for disaster recovery."
                }
              }
            ]
          }
        ],
        "sku": [
          {
            "#name": "name",
            "Description": {
              "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
              "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
            }
          },
          {
            "#name": "tier",
            "Description": {
              "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
              "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
            }
          },
          {
            "#name": "capacity",
            "Description": {
              "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
              "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
            }
          }
        ],
        "identity": [
          {
            "#name": "principalId",
            "Description": {
              "new": "Get the principal id for the system assigned identity.\nOnly be used in response.",
              "old": "Get the principal id for the system assigned identity.\r\nOnly be used in response."
            }
          },
          {
            "#name": "tenantId",
            "Description": {
              "new": "Get the tenant id for the system assigned identity.\nOnly be used in response",
              "old": "Get the tenant id for the system assigned identity.\r\nOnly be used in response"
            }
          }
        ]
      }
    },
    "202": [
      {
        "@added_f8d46805ca86413a864a67113e290d99": {
          "#name": "retry-after",
          "Description": "The Retry-After header can indicate how long the client should wait before polling the operation status.",
          "Type": "integer"
        }
      }
    ]
  }
}

⚼ Request

PATCH:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
parameters:
{
properties:
{
provisioningState: enum ,
externalIP: string ,
hostName: string ,
publicPort: integer ,
serverPort: integer ,
version: string ,
privateEndpointConnections:
[
{
properties:
{
provisioningState: enum ,
privateEndpoint:
{
id: string ,
}
,
groupIds:
[
string ,
]
,
privateLinkServiceConnectionState:
{
status: enum ,
description: string ,
actionsRequired: string ,
}
,
}
,
}
,
]
,
sharedPrivateLinkResources:
[
{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}
,
]
,
tls:
{
clientCertEnabled: boolean ,
}
,
hostNamePrefix: string ,
features:
[
{
flag: enum ,
value: string ,
properties: object ,
}
,
]
,
liveTraceConfiguration:
{
enabled: string ,
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
resourceLogConfiguration:
{
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
cors:
{
allowedOrigins:
[
string ,
]
,
}
,
serverless:
{
connectionTimeoutInSeconds: integer ,
keepAliveIntervalInSeconds: integer ,
}
,
upstream:
{
templates:
[
{
hubPattern: string ,
eventPattern: string ,
categoryPattern: string ,
urlTemplate: string ,
auth:
{
type: enum ,
managedIdentity:
{
resource: string ,
}
,
}
,
}
,
]
,
}
,
networkACLs:
{
defaultAction: enum ,
publicNetwork:
{
allow:
[
string ,
]
,
deny:
[
string ,
]
,
}
,
privateEndpoints:
[
{
name: string ,
}
,
]
,
ipRules:
[
{
value: string ,
action: enum ,
}
,
]
,
}
,
applicationFirewall:
{
clientConnectionCountRules:
[
{
type: enum ,
}
,
]
,
clientTrafficControlRules:
[
{
type: enum ,
}
,
]
,
maxClientConnectionLifetimeInSeconds: integer ,
}
,
publicNetworkAccess: string ,
disableLocalAuth: boolean ,
disableAadAuth: boolean ,
regionEndpointEnabled: string ,
resourceStopped: string ,
routeSettings:
{
serverBalanceWeight: integer ,
connectionBalanceWeight: integer ,
latencyWeight: integer ,
}
,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
kind: enum ,
identity:
{
type: enum ,
userAssignedIdentities: object ,
principalId: string ,
tenantId: string ,
}
,
}
,
}

⚐ Response (200)

{
properties:
{
provisioningState: enum ,
externalIP: string ,
hostName: string ,
publicPort: integer ,
serverPort: integer ,
version: string ,
privateEndpointConnections:
[
{
properties:
{
provisioningState: enum ,
privateEndpoint:
{
id: string ,
}
,
groupIds:
[
string ,
]
,
privateLinkServiceConnectionState:
{
status: enum ,
description: string ,
actionsRequired: string ,
}
,
}
,
}
,
]
,
sharedPrivateLinkResources:
[
{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}
,
]
,
tls:
{
clientCertEnabled: boolean ,
}
,
hostNamePrefix: string ,
features:
[
{
flag: enum ,
value: string ,
properties: object ,
}
,
]
,
liveTraceConfiguration:
{
enabled: string ,
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
resourceLogConfiguration:
{
categories:
[
{
name: string ,
enabled: string ,
}
,
]
,
}
,
cors:
{
allowedOrigins:
[
string ,
]
,
}
,
serverless:
{
connectionTimeoutInSeconds: integer ,
keepAliveIntervalInSeconds: integer ,
}
,
upstream:
{
templates:
[
{
hubPattern: string ,
eventPattern: string ,
categoryPattern: string ,
urlTemplate: string ,
auth:
{
type: enum ,
managedIdentity:
{
resource: string ,
}
,
}
,
}
,
]
,
}
,
networkACLs:
{
defaultAction: enum ,
publicNetwork:
{
allow:
[
string ,
]
,
deny:
[
string ,
]
,
}
,
privateEndpoints:
[
{
name: string ,
}
,
]
,
ipRules:
[
{
value: string ,
action: enum ,
}
,
]
,
}
,
applicationFirewall:
{
clientConnectionCountRules:
[
{
type: enum ,
}
,
]
,
clientTrafficControlRules:
[
{
type: enum ,
}
,
]
,
maxClientConnectionLifetimeInSeconds: integer ,
}
,
publicNetworkAccess: string ,
disableLocalAuth: boolean ,
disableAadAuth: boolean ,
regionEndpointEnabled: string ,
resourceStopped: string ,
routeSettings:
{
serverBalanceWeight: integer ,
connectionBalanceWeight: integer ,
latencyWeight: integer ,
}
,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
kind: enum ,
identity:
{
type: enum ,
userAssignedIdentities: object ,
principalId: string ,
tenantId: string ,
}
,
}

⚐ Response (202)

{
location: string ,
retry-after: integer ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRCustomCertificates_List (updated)
Description List all custom certificates.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRCustomCertificates_List",
  "$responses": {
    "200": {
      "$properties": [
        {
          "#name": "value",
          "Description": {
            "new": "The CustomCertificate items on this page",
            "old": "List of custom certificates of this resource."
          },
          "Required": {
            "new": true,
            "old": false
          }
        },
        {
          "#name": "nextLink",
          "Description": {
            "new": "The link to the next page of items",
            "old": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use."
          }
        }
      ]
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customCertificates
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
provisioningState: enum ,
keyVaultBaseUri: string ,
keyVaultSecretName: string ,
keyVaultSecretVersion: string ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRCustomDomains_List (updated)
Description List all custom domains.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRCustomDomains_List",
  "$responses": {
    "200": {
      "$properties": [
        {
          "#name": "value",
          "Description": {
            "new": "The CustomDomain items on this page",
            "old": "List of custom domains that bind to this resource."
          },
          "Required": {
            "new": true,
            "old": false
          }
        },
        {
          "#name": "nextLink",
          "Description": {
            "new": "The link to the next page of items",
            "old": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use."
          }
        }
      ]
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customDomains
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
provisioningState: enum ,
domainName: string ,
customCertificate:
{
id: string ,
}
,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRPrivateEndpointConnections_List (updated)
Description List private endpoint connections
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRPrivateEndpointConnections_List",
  "$responses": {
    "200": {
      "$properties": [
        {
          "#name": "value",
          "Description": {
            "new": "The PrivateEndpointConnection items on this page",
            "old": "The list of the private endpoint connections"
          },
          "Required": {
            "new": true,
            "old": false
          }
        },
        {
          "#name": "nextLink",
          "Description": {
            "new": "The link to the next page of items",
            "old": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size."
          }
        }
      ]
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateEndpointConnections
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
provisioningState: enum ,
privateEndpoint:
{
id: string ,
}
,
groupIds:
[
string ,
]
,
privateLinkServiceConnectionState:
{
status: enum ,
description: string ,
actionsRequired: string ,
}
,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRPrivateLinkResources_List (updated)
Description Get the private link resources that need to be created for a resource.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRPrivateLinkResources_List",
  "$responses": {
    "200": {
      "$properties": [
        {
          "#name": "value",
          "Description": {
            "new": "The PrivateLinkResource items on this page",
            "old": "List of PrivateLinkResource"
          },
          "Required": {
            "new": true,
            "old": false
          }
        },
        {
          "#name": "nextLink",
          "Description": {
            "new": "The link to the next page of items",
            "old": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use."
          }
        }
      ]
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateLinkResources
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
groupId: string ,
requiredMembers:
[
string ,
]
,
requiredZoneNames:
[
string ,
]
,
shareablePrivateLinkResourceTypes:
[
{
name: string ,
properties:
{
description: string ,
groupId: string ,
type: string ,
}
,
}
,
]
,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalR_RegenerateKey (updated)
Description Regenerate the access key for the resource. PrimaryKey and SecondaryKey cannot be regenerated at the same time.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalR_RegenerateKey",
  "$responses": {
    "202": [
      {
        "@added_4f4e2267a36948ff9ccf7d53e18a57fd": {
          "#name": "retry-after",
          "Description": "The Retry-After header can indicate how long the client should wait before polling the operation status.",
          "Type": "integer"
        }
      }
    ]
  }
}

⚼ Request

POST:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/regenerateKey
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
parameters:
{
keyType: enum ,
}
,
}

⚐ Response (200)

{
primaryKey: string ,
secondaryKey: string ,
primaryConnectionString: string ,
secondaryConnectionString: string ,
}

⚐ Response (202)

{
$headers:
{
location: string ,
retry-after: integer ,
}
,
$schema:
{
primaryKey: string ,
secondaryKey: string ,
primaryConnectionString: string ,
secondaryConnectionString: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRReplicas_List (updated)
Description List all replicas belong to this resource
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRReplicas_List",
  "$responses": {
    "200": {
      "$properties": [
        {
          "#name": "value",
          "Description": {
            "new": "The Replica items on this page",
            "old": "List of the replica"
          },
          "Required": {
            "new": true,
            "old": false
          },
          "$items": {
            "$properties": {
              "properties": [
                {
                  "#name": "regionEndpointEnabled",
                  "Description": {
                    "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.",
                    "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected."
                  }
                },
                {
                  "#name": "resourceStopped",
                  "Description": {
                    "new": "Stop or start the resource.  Default to \"false\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
                    "old": "Stop or start the resource.  Default to \"false\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
                  }
                }
              ],
              "sku": [
                {
                  "#name": "name",
                  "Description": {
                    "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
                    "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
                  }
                },
                {
                  "#name": "tier",
                  "Description": {
                    "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
                    "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
                  }
                },
                {
                  "#name": "capacity",
                  "Description": {
                    "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
                    "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
                  }
                }
              ]
            }
          }
        },
        {
          "#name": "nextLink",
          "Description": {
            "new": "The link to the next page of items",
            "old": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use."
          }
        }
      ]
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
provisioningState: enum ,
regionEndpointEnabled: string ,
resourceStopped: string ,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRReplicas_Get (updated)
Description Get the replica and its properties.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRReplicas_Get",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "#name": "regionEndpointEnabled",
            "Description": {
              "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.",
              "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected."
            }
          },
          {
            "#name": "resourceStopped",
            "Description": {
              "new": "Stop or start the resource.  Default to \"false\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
              "old": "Stop or start the resource.  Default to \"false\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
            }
          }
        ],
        "sku": [
          {
            "#name": "name",
            "Description": {
              "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
              "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
            }
          },
          {
            "#name": "tier",
            "Description": {
              "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
              "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
            }
          },
          {
            "#name": "capacity",
            "Description": {
              "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
              "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
            }
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
replicaName: string ,
}

⚐ Response (200)

{
properties:
{
provisioningState: enum ,
regionEndpointEnabled: string ,
resourceStopped: string ,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRReplicas_CreateOrUpdate (updated)
Description Create or update a replica.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRReplicas_CreateOrUpdate",
  "$parameters": {
    "parameters": {
      "$properties": {
        "properties": [
          {
            "#name": "regionEndpointEnabled",
            "Description": {
              "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.",
              "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected."
            }
          },
          {
            "#name": "resourceStopped",
            "Description": {
              "new": "Stop or start the resource.  Default to \"false\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
              "old": "Stop or start the resource.  Default to \"false\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
            }
          }
        ],
        "sku": [
          {
            "#name": "name",
            "Description": {
              "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
              "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
            }
          },
          {
            "#name": "tier",
            "Description": {
              "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
              "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
            }
          },
          {
            "#name": "capacity",
            "Description": {
              "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
              "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
            }
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "#name": "regionEndpointEnabled",
            "Description": {
              "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.",
              "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected."
            }
          },
          {
            "#name": "resourceStopped",
            "Description": {
              "new": "Stop or start the resource.  Default to \"false\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
              "old": "Stop or start the resource.  Default to \"false\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
            }
          }
        ],
        "sku": [
          {
            "#name": "name",
            "Description": {
              "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
              "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
            }
          },
          {
            "#name": "tier",
            "Description": {
              "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
              "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
            }
          },
          {
            "#name": "capacity",
            "Description": {
              "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
              "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
            }
          }
        ]
      }
    },
    "201": {
      "$properties": {
        "properties": [
          {
            "#name": "regionEndpointEnabled",
            "Description": {
              "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.",
              "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected."
            }
          },
          {
            "#name": "resourceStopped",
            "Description": {
              "new": "Stop or start the resource.  Default to \"false\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
              "old": "Stop or start the resource.  Default to \"false\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
            }
          }
        ],
        "sku": [
          {
            "#name": "name",
            "Description": {
              "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
              "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
            }
          },
          {
            "#name": "tier",
            "Description": {
              "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
              "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
            }
          },
          {
            "#name": "capacity",
            "Description": {
              "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
              "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
            }
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
replicaName: string ,
parameters:
{
properties:
{
provisioningState: enum ,
regionEndpointEnabled: string ,
resourceStopped: string ,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
}
,
}

⚐ Response (200)

{
properties:
{
provisioningState: enum ,
regionEndpointEnabled: string ,
resourceStopped: string ,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
}

⚐ Response (201)

{
$headers:
{
azure-asyncoperation: string ,
retry-after: integer ,
}
,
$schema:
{
properties:
{
provisioningState: enum ,
regionEndpointEnabled: string ,
resourceStopped: string ,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRReplicas_Update (updated)
Description Operation to update an exiting replica.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRReplicas_Update",
  "$parameters": {
    "parameters": {
      "$properties": {
        "properties": [
          {
            "#name": "regionEndpointEnabled",
            "Description": {
              "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.",
              "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected."
            }
          },
          {
            "#name": "resourceStopped",
            "Description": {
              "new": "Stop or start the resource.  Default to \"false\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
              "old": "Stop or start the resource.  Default to \"false\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
            }
          }
        ],
        "sku": [
          {
            "#name": "name",
            "Description": {
              "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
              "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
            }
          },
          {
            "#name": "tier",
            "Description": {
              "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
              "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
            }
          },
          {
            "#name": "capacity",
            "Description": {
              "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
              "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
            }
          }
        ]
      }
    }
  },
  "$responses": [
    {
      "200": {
        "$properties": {
          "properties": [
            {
              "#name": "regionEndpointEnabled",
              "Description": {
                "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.",
                "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected."
              }
            },
            {
              "#name": "resourceStopped",
              "Description": {
                "new": "Stop or start the resource.  Default to \"false\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
                "old": "Stop or start the resource.  Default to \"false\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
              }
            }
          ],
          "sku": [
            {
              "#name": "name",
              "Description": {
                "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
                "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
              }
            },
            {
              "#name": "tier",
              "Description": {
                "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
                "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
              }
            },
            {
              "#name": "capacity",
              "Description": {
                "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
                "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
              }
            }
          ]
        }
      }
    },
    {
      "#status": "202",
      "$headers": {
        "@added_2c940b95153848aca8446272d7a76a1d": {
          "#name": "retry-after",
          "Description": "The Retry-After header can indicate how long the client should wait before polling the operation status.",
          "Type": "integer"
        }
      },
      "$schema": {
        "$properties": {
          "properties": [
            {
              "#name": "regionEndpointEnabled",
              "Description": {
                "new": "Enable or disable the regional endpoint. Default to \"Enabled\".\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.",
                "old": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected."
              }
            },
            {
              "#name": "resourceStopped",
              "Description": {
                "new": "Stop or start the resource.  Default to \"false\".\nWhen it's true, the data plane of the resource is shutdown.\nWhen it's false, the data plane of the resource is started.",
                "old": "Stop or start the resource.  Default to \"false\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started."
              }
            }
          ],
          "sku": [
            {
              "#name": "name",
              "Description": {
                "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
                "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
              }
            },
            {
              "#name": "tier",
              "Description": {
                "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
                "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
              }
            },
            {
              "#name": "capacity",
              "Description": {
                "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
                "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
              }
            }
          ]
        }
      }
    }
  ]
}

⚼ Request

PATCH:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
replicaName: string ,
parameters:
{
properties:
{
provisioningState: enum ,
regionEndpointEnabled: string ,
resourceStopped: string ,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
}
,
}

⚐ Response (200)

{
properties:
{
provisioningState: enum ,
regionEndpointEnabled: string ,
resourceStopped: string ,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
}

⚐ Response (202)

{
$headers:
{
location: string ,
retry-after: integer ,
}
,
$schema:
{
properties:
{
provisioningState: enum ,
regionEndpointEnabled: string ,
resourceStopped: string ,
}
,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRReplicas_Restart (updated)
Description Operation to restart a replica.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRReplicas_Restart",
  "$responses": {
    "202": [
      {
        "@added_bbf7f2bf3dcf413b982cc5239e8e8354": {
          "#name": "retry-after",
          "Description": "The Retry-After header can indicate how long the client should wait before polling the operation status.",
          "Type": "integer"
        }
      }
    ]
  }
}

⚼ Request

POST:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName}/restart
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
replicaName: string ,
}

⚐ Response (202)

{
location: string ,
retry-after: integer ,
}

⚐ Response (204)

{}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRReplicaSharedPrivateLinkResources_List (updated)
Description List shared private link resources
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRReplicaSharedPrivateLinkResources_List",
  "$parameters": [
    {
      "#name": "resourceName",
      "Description": {
        "new": "The name of the SignalRResource",
        "old": "The name of the resource."
      }
    },
    {
      "#name": "replicaName",
      "Description": {
        "new": "The name of the Replica",
        "old": "The name of the replica."
      }
    }
  ],
  "$responses": {
    "200": {
      "$properties": [
        {
          "#name": "value",
          "Description": {
            "new": "The SharedPrivateLinkResource items on this page",
            "old": "The list of the shared private link resources"
          },
          "Required": {
            "new": true,
            "old": false
          }
        },
        {
          "#name": "nextLink",
          "Description": {
            "new": "The link to the next page of items",
            "old": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size."
          }
        }
      ]
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName}/sharedPrivateLinkResources
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
replicaName: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRReplicaSharedPrivateLinkResources_Get (updated)
Description Get the specified shared private link resource
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRReplicaSharedPrivateLinkResources_Get",
  "$parameters": [
    {
      "#name": "resourceName",
      "Description": {
        "new": "The name of the SignalRResource",
        "old": "The name of the resource."
      }
    },
    {
      "#name": "replicaName",
      "Description": {
        "new": "The name of the Replica",
        "old": "The name of the replica."
      }
    },
    {
      "#name": "sharedPrivateLinkResourceName",
      "Description": {
        "new": "The name of the SharedPrivateLinkResource",
        "old": "The name of the shared private link resource."
      }
    }
  ]
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
replicaName: string ,
sharedPrivateLinkResourceName: string ,
}

⚐ Response (200)

{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRReplicaSharedPrivateLinkResources_CreateOrUpdate (updated)
Description Create or update a shared private link resource
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRReplicaSharedPrivateLinkResources_CreateOrUpdate",
  "$parameters": [
    {
      "#name": "resourceName",
      "Description": {
        "new": "The name of the SignalRResource",
        "old": "The name of the resource."
      }
    },
    {
      "#name": "replicaName",
      "Description": {
        "new": "The name of the Replica",
        "old": "The name of the replica."
      }
    },
    {
      "#name": "sharedPrivateLinkResourceName",
      "Description": {
        "new": "The name of the SharedPrivateLinkResource",
        "old": "The name of the shared private link resource."
      }
    }
  ]
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
replicaName: string ,
sharedPrivateLinkResourceName: string ,
parameters:
{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}
,
}

⚐ Response (200)

{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}

⚐ Response (201)

{
$headers:
{
azure-asyncoperation: string ,
retry-after: integer ,
}
,
$schema:
{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalR_ListReplicaSkus (updated)
Description List all available skus of the replica resource.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalR_ListReplicaSkus",
  "$responses": {
    "200": {
      "$properties": [
        {
          "value": {
            "$properties": {
              "sku": [
                {
                  "#name": "name",
                  "Description": {
                    "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
                    "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
                  }
                },
                {
                  "#name": "tier",
                  "Description": {
                    "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
                    "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
                  }
                },
                {
                  "#name": "capacity",
                  "Description": {
                    "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
                    "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
                  }
                }
              ]
            }
          }
        },
        {
          "#name": "nextLink",
          "Description": {
            "new": "The URL the client should use to fetch the next page (per server side paging).\nIt's null for now, added for future use.",
            "old": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use."
          }
        }
      ]
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName}/skus
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
replicaName: string ,
}

⚐ Response (200)

{
value:
[
{
resourceType: string ,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
capacity:
{
minimum: integer ,
maximum: integer ,
default: integer ,
allowedValues:
[
integer ,
]
,
scaleType: enum ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalR_Restart (updated)
Description Operation to restart a resource.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalR_Restart",
  "$responses": {
    "202": [
      {
        "@added_511b29b3d20f469bb05819e675a1f03c": {
          "#name": "retry-after",
          "Description": "The Retry-After header can indicate how long the client should wait before polling the operation status.",
          "Type": "integer"
        }
      }
    ]
  }
}

⚼ Request

POST:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/restart
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
}

⚐ Response (202)

{
location: string ,
retry-after: integer ,
}

⚐ Response (204)

{}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRSharedPrivateLinkResources_List (updated)
Description List shared private link resources
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRSharedPrivateLinkResources_List",
  "$parameters": [
    {
      "#name": "resourceName",
      "Description": {
        "new": "The name of the SignalRResource",
        "old": "The name of the resource."
      }
    }
  ],
  "$responses": {
    "200": {
      "$properties": [
        {
          "#name": "value",
          "Description": {
            "new": "The SharedPrivateLinkResource items on this page",
            "old": "The list of the shared private link resources"
          },
          "Required": {
            "new": true,
            "old": false
          }
        },
        {
          "#name": "nextLink",
          "Description": {
            "new": "The link to the next page of items",
            "old": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size."
          }
        }
      ]
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/sharedPrivateLinkResources
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRSharedPrivateLinkResources_Get (updated)
Description Get the specified shared private link resource
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRSharedPrivateLinkResources_Get",
  "$parameters": [
    {
      "#name": "resourceName",
      "Description": {
        "new": "The name of the SignalRResource",
        "old": "The name of the resource."
      }
    },
    {
      "#name": "sharedPrivateLinkResourceName",
      "Description": {
        "new": "The name of the SharedPrivateLinkResource",
        "old": "The name of the shared private link resource."
      }
    }
  ]
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
sharedPrivateLinkResourceName: string ,
}

⚐ Response (200)

{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRSharedPrivateLinkResources_CreateOrUpdate (updated)
Description Create or update a shared private link resource
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRSharedPrivateLinkResources_CreateOrUpdate",
  "$parameters": [
    {
      "#name": "resourceName",
      "Description": {
        "new": "The name of the SignalRResource",
        "old": "The name of the resource."
      }
    },
    {
      "#name": "sharedPrivateLinkResourceName",
      "Description": {
        "new": "The name of the SharedPrivateLinkResource",
        "old": "The name of the shared private link resource."
      }
    }
  ]
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
sharedPrivateLinkResourceName: string ,
parameters:
{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}
,
}

⚐ Response (200)

{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}

⚐ Response (201)

{
$headers:
{
azure-asyncoperation: string ,
retry-after: integer ,
}
,
$schema:
{
properties:
{
groupId: string ,
privateLinkResourceId: string ,
provisioningState: enum ,
requestMessage: string ,
fqdns:
[
string ,
]
,
status: enum ,
}
,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalRSharedPrivateLinkResources_Delete (updated)
Description Delete the specified shared private link resource
Reference Link ¶

⚶ Changes

{
  "#id": "SignalRSharedPrivateLinkResources_Delete",
  "$parameters": [
    {
      "#name": "resourceName",
      "Description": {
        "new": "The name of the SignalRResource",
        "old": "The name of the resource."
      }
    },
    {
      "#name": "sharedPrivateLinkResourceName",
      "Description": {
        "new": "The name of the SharedPrivateLinkResource",
        "old": "The name of the shared private link resource."
      }
    }
  ]
}

⚼ Request

DELETE:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
sharedPrivateLinkResourceName: string ,
}

⚐ Response (200)

{}

⚐ Response (202)

{
location: string ,
retry-after: integer ,
}

⚐ Response (204)

{}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}
SignalR_ListSkus (updated)
Description List all available skus of the resource.
Reference Link ¶

⚶ Changes

{
  "#id": "SignalR_ListSkus",
  "$responses": {
    "200": {
      "$properties": [
        {
          "value": {
            "$properties": {
              "sku": [
                {
                  "#name": "name",
                  "Description": {
                    "new": "The name of the SKU. Required.\n\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2",
                    "old": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2"
                  }
                },
                {
                  "#name": "tier",
                  "Description": {
                    "new": "Optional tier of this particular SKU. 'Standard' or 'Free'.\n\n`Basic` is deprecated, use `Standard` instead.",
                    "old": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead."
                  }
                },
                {
                  "#name": "capacity",
                  "Description": {
                    "new": "Optional, integer. The unit count of the resource.\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\n\nIf present, following values are allowed:\nFree_F1: 1;\nStandard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\nPremium_P2:  100,200,300,400,500,600,700,800,900,1000;",
                    "old": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n    Free_F1: 1;\r\n    Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P1:  1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n    Premium_P2:  100,200,300,400,500,600,700,800,900,1000;"
                  }
                }
              ]
            }
          }
        },
        {
          "#name": "nextLink",
          "Description": {
            "new": "The URL the client should use to fetch the next page (per server side paging).\nIt's null for now, added for future use.",
            "old": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use."
          }
        }
      ]
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/skus
{
api-version: string ,
subscriptionId: string ,
resourceGroupName: string ,
resourceName: string ,
}

⚐ Response (200)

{
value:
[
{
resourceType: string ,
sku:
{
name: string ,
tier: enum ,
size: string ,
family: string ,
capacity: integer ,
}
,
capacity:
{
minimum: integer ,
maximum: integer ,
default: integer ,
allowedValues:
[
integer ,
]
,
scaleType: enum ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
additionalInfo:
[
{
type: string ,
info: object ,
}
,
]
,
}
,
}