diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/Operations_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..ec3a741ea0b0 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/Operations_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.SignalRService/SignalR/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.SignalRService", + "resource": "SignalR", + "operation": "Manage SignalR (read-only)", + "description": "View the resource settings and configurations in the management portal or through API" + }, + "properties": {} + } + ], + "nextLink": "providers/Microsoft.SignalRService?$skipToken={opaqueString}" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRPrivateEndpointConnections_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRPrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..39620e1f840d --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRPrivateEndpointConnections_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "privateEndpointConnectionName": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRPrivateEndpointConnections_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRPrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..fa90b1db509e --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRPrivateEndpointConnections_Get.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "privateEndpointConnectionName": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "responses": { + "200": { + "body": { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRPrivateEndpointConnections_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRPrivateEndpointConnections_List.json new file mode 100644 index 000000000000..1c61ebda7c57 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRPrivateEndpointConnections_List.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRPrivateEndpointConnections_Update.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRPrivateEndpointConnections_Update.json new file mode 100644 index 000000000000..0bc9bb609289 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRPrivateEndpointConnections_Update.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "parameters": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + }, + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "privateEndpointConnectionName": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "responses": { + "200": { + "body": { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRPrivateLinkResources_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRPrivateLinkResources_List.json new file mode 100644 index 000000000000..418d181a9d9e --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRPrivateLinkResources_List.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "signalr", + "requiredMembers": [ + "signalr" + ], + "requiredZoneNames": [ + "privatelink.service.signalr.net" + ], + "shareablePrivateLinkResourceTypes": [ + { + "name": "site", + "properties": { + "description": "Azure App Service can be used as an upstream", + "groupId": "sites", + "type": "Microsoft.Web/sites" + } + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateLinkResources/myPrivateLink", + "name": "myPrivateLink", + "type": "privateLinkResources" + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToMoreResults..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json new file mode 100644 index 000000000000..2020bbae55d4 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "parameters": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "requestMessage": "Please approve" + } + }, + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + }, + "201": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRSharedPrivateLinkResources_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRSharedPrivateLinkResources_Delete.json new file mode 100644 index 000000000000..a5bc4d4bbc6d --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRSharedPrivateLinkResources_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRSharedPrivateLinkResources_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRSharedPrivateLinkResources_Get.json new file mode 100644 index 000000000000..e014a42b09b8 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRSharedPrivateLinkResources_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRSharedPrivateLinkResources_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRSharedPrivateLinkResources_List.json new file mode 100644 index 000000000000..f8924396dd6e --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalRSharedPrivateLinkResources_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_CheckNameAvailability.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_CheckNameAvailability.json new file mode 100644 index 000000000000..5b7d079030ae --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "location": "eastus", + "parameters": { + "type": "Microsoft.SignalRService/SignalR", + "name": "mySignalRService" + }, + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "The name is already taken. Please try a different name." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_CreateOrUpdate.json new file mode 100644 index 000000000000..f8465201b7bb --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_CreateOrUpdate.json @@ -0,0 +1,336 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "capacity": 1 + }, + "properties": { + "tls": { + "clientCertEnabled": false + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "hubPattern": "*", + "eventPattern": "connect,disconnect", + "categoryPattern": "*", + "urlTemplate": "https://example.com/chat/api/connect", + "auth": { + "type": "ManagedIdentity", + "managedIdentity": { + "resource": "api://example" + } + } + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + } + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + } + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + } + }, + "201": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + } + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_Delete.json new file mode 100644 index 000000000000..596b7062ad73 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_Get.json new file mode 100644 index 000000000000..244e2f921fe3 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_Get.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + } + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_ListByResourceGroup.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_ListByResourceGroup.json new file mode 100644 index 000000000000..a2583a9e5df1 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_ListByResourceGroup.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + } + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_ListBySubscription.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_ListBySubscription.json new file mode 100644 index 000000000000..6c1a2282131a --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_ListBySubscription.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + } + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_ListKeys.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_ListKeys.json new file mode 100644 index 000000000000..560e82caaa42 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_ListKeys.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_RegenerateKey.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_RegenerateKey.json new file mode 100644 index 000000000000..178a745fcb9a --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_RegenerateKey.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "parameters": { + "keyType": "Primary" + }, + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "202": { + "body": {}, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_Restart.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_Restart.json new file mode 100644 index 000000000000..5e0ffc783510 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_Restart.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_Update.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_Update.json new file mode 100644 index 000000000000..a0be57c3231e --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/SignalR_Update.json @@ -0,0 +1,214 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "capacity": 1 + }, + "properties": { + "tls": { + "clientCertEnabled": false + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "hubPattern": "*", + "eventPattern": "connect,disconnect", + "categoryPattern": "*", + "urlTemplate": "https://example.com/chat/api/connect", + "auth": { + "type": "ManagedIdentity", + "managedIdentity": { + "resource": "api://example" + } + } + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + } + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + } + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/Usages_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/Usages_List.json new file mode 100644 index 000000000000..f037659b666a --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/examples/Usages_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "location": "eastus", + "api-version": "2021-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.SignalRService/locations/eastus/usages/Usage1", + "currentValue": 0, + "limit": 100, + "name": { + "value": "Usage1", + "localizedValue": "Usage1" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.SignalRService/locations/eastus/usages/Usage2", + "currentValue": 0, + "limit": 100, + "name": { + "value": "Usage2", + "localizedValue": "Usage2" + }, + "unit": "Count" + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToMoreResults..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/signalr.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/signalr.json new file mode 100644 index 000000000000..f0a04bb52784 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2021-04-01-preview/signalr.json @@ -0,0 +1,2228 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-04-01-preview", + "title": "SignalRManagementClient", + "description": "REST API for Azure SignalR Service" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.SignalRService/operations": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Lists all of the available REST API operations of the Microsoft.SignalRService provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Checks that the resource name is valid and is not already in use.", + "operationId": "SignalR_CheckNameAvailability", + "parameters": [ + { + "name": "location", + "in": "path", + "description": "the region", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Parameters supplied to the operation.", + "required": true, + "schema": { + "$ref": "#/definitions/NameAvailabilityParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the name availability.", + "schema": { + "$ref": "#/definitions/NameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_CheckNameAvailability": { + "$ref": "./examples/SignalR_CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/usages": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List resource usage quotas by location.", + "operationId": "Usages_List", + "parameters": [ + { + "name": "location", + "in": "path", + "description": "the location like \"eastus\"", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the usage quotas of a subscription in specified region.", + "schema": { + "$ref": "#/definitions/SignalRUsageList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Usages_List": { + "$ref": "./examples/Usages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/signalR": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Handles requests to list all resources in a subscription.", + "operationId": "SignalR_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of resources in the subscription.", + "schema": { + "$ref": "#/definitions/SignalRResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SignalR_ListBySubscription": { + "$ref": "./examples/SignalR_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Handles requests to list all resources in a resource group.", + "operationId": "SignalR_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of resources in a resourceGroup.", + "schema": { + "$ref": "#/definitions/SignalRResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SignalR_ListByResourceGroup": { + "$ref": "./examples/SignalR_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the resource and its properties.", + "operationId": "SignalR_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding resource.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_Get": { + "$ref": "./examples/SignalR_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Create or update a resource.", + "operationId": "SignalR_CreateOrUpdate", + "parameters": [ + { + "name": "parameters", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a resource.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "201": { + "description": "Created. The response describes the new resource and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting resource is now updating and contains a Location header to query the operation result.." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalR_CreateOrUpdate": { + "$ref": "./examples/SignalR_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Operation to delete a resource.", + "operationId": "SignalR_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is already deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the resource is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalR_Delete": { + "$ref": "./examples/SignalR_Delete.json" + } + } + }, + "patch": { + "tags": [ + "SignalR" + ], + "description": "Operation to update an exiting resource.", + "operationId": "SignalR_Update", + "parameters": [ + { + "name": "parameters", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a resource.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting resource is now updating and contains a Location header to query the operation result.." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalR_Update": { + "$ref": "./examples/SignalR_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/listKeys": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Get the access keys of the resource.", + "operationId": "SignalR_ListKeys", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes access keys of the resource.", + "schema": { + "$ref": "#/definitions/SignalRKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_ListKeys": { + "$ref": "./examples/SignalR_ListKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List private endpoint connections", + "operationId": "SignalRPrivateEndpointConnections_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SignalRPrivateEndpointConnections_List": { + "$ref": "./examples/SignalRPrivateEndpointConnections_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the specified private endpoint connection", + "operationId": "SignalRPrivateEndpointConnections_Get", + "parameters": [ + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRPrivateEndpointConnections_Get": { + "$ref": "./examples/SignalRPrivateEndpointConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Update the state of specified private endpoint connection", + "operationId": "SignalRPrivateEndpointConnections_Update", + "parameters": [ + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The resource of private endpoint and its properties", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "OK. The response indicates the private endpoint connection is updated successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRPrivateEndpointConnections_Update": { + "$ref": "./examples/SignalRPrivateEndpointConnections_Update.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Delete the specified private endpoint connection", + "operationId": "SignalRPrivateEndpointConnections_Delete", + "parameters": [ + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is already deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the private endpoint connection is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalRPrivateEndpointConnections_Delete": { + "$ref": "./examples/SignalRPrivateEndpointConnections_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the private link resources that need to be created for a resource.", + "operationId": "SignalRPrivateLinkResources_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SignalRPrivateLinkResources_List": { + "$ref": "./examples/SignalRPrivateLinkResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/regenerateKey": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Regenerate the access key for the resource. PrimaryKey and SecondaryKey cannot be regenerated at the same time.", + "operationId": "SignalR_RegenerateKey", + "parameters": [ + { + "name": "parameters", + "in": "body", + "description": "Parameter that describes the Regenerate Key Operation.", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateKeyParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "202": { + "description": "Accepted and an async operation is executing in background to make the new key to take effect. The response contains new access keys and a Location header to query the async operation result.", + "schema": { + "$ref": "#/definitions/SignalRKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "SignalR_RegenerateKey": { + "$ref": "./examples/SignalR_RegenerateKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/restart": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Operation to restart a resource.", + "operationId": "SignalR_Restart", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the restart operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the operation is successful and no content will be returned." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "SignalR_Restart": { + "$ref": "./examples/SignalR_Restart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/sharedPrivateLinkResources": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List shared private link resources", + "operationId": "SignalRSharedPrivateLinkResources_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of shared private link resources.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SignalRSharedPrivateLinkResources_List": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the specified shared private link resource", + "operationId": "SignalRSharedPrivateLinkResources_Get", + "parameters": [ + { + "name": "sharedPrivateLinkResourceName", + "in": "path", + "description": "The name of the shared private link resource", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a shared private link resource.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRSharedPrivateLinkResources_Get": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Create or update a shared private link resource", + "operationId": "SignalRSharedPrivateLinkResources_CreateOrUpdate", + "parameters": [ + { + "name": "sharedPrivateLinkResourceName", + "in": "path", + "description": "The name of the shared private link resource", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The shared private link resource", + "required": true, + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "OK. The response indicates the shared private link resource is updated.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "201": { + "description": "Created. The response indicates the shared private link resource is created.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalRSharedPrivateLinkResources_CreateOrUpdate": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Delete the specified shared private link resource", + "operationId": "SignalRSharedPrivateLinkResources_Delete", + "parameters": [ + { + "name": "sharedPrivateLinkResourceName", + "in": "path", + "description": "The name of the shared private link resource", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is already deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the private endpoint connection is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalRSharedPrivateLinkResources_Delete": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_Delete.json" + } + } + } + } + }, + "definitions": { + "ACLAction": { + "description": "Default action when no other rule matches", + "enum": [ + "Allow", + "Deny" + ], + "type": "string", + "x-ms-enum": { + "name": "ACLAction", + "modelAsString": true + } + }, + "Dimension": { + "description": "Specifications of the Dimension of metrics.", + "type": "object", + "properties": { + "name": { + "description": "The public facing name of the dimension.", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the dimension.", + "type": "string" + }, + "internalName": { + "description": "Name of the dimension as it appears in MDM.", + "type": "string" + }, + "toBeExportedForShoebox": { + "description": "A Boolean flag indicating whether this dimension should be included for the shoebox export scenario.", + "type": "boolean" + } + } + }, + "FeatureFlags": { + "description": "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.", + "enum": [ + "ServiceMode", + "EnableConnectivityLogs", + "EnableMessagingLogs", + "EnableLiveTrace" + ], + "type": "string", + "x-ms-enum": { + "name": "FeatureFlags", + "modelAsString": true + } + }, + "KeyType": { + "description": "The keyType to regenerate. Must be either 'primary' or 'secondary'(case-insensitive).", + "enum": [ + "Primary", + "Secondary" + ], + "type": "string", + "x-ms-enum": { + "name": "KeyType", + "modelAsString": true + } + }, + "LogSpecification": { + "description": "Specifications of the Logs for Azure Monitoring.", + "type": "object", + "properties": { + "name": { + "description": "Name of the log.", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the log.", + "type": "string" + } + } + }, + "ManagedIdentity": { + "description": "A class represent managed identities used for request and response", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/ManagedIdentityType", + "description": "Represent the identity type: systemAssigned, userAssigned, None" + }, + "userAssignedIdentities": { + "description": "Get or set the user assigned identities", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentityProperty" + } + }, + "principalId": { + "description": "Get the principal id for the system assigned identity.\r\nOnly be used in response.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Get the tenant id for the system assigned identity.\r\nOnly be used in response", + "type": "string", + "readOnly": true + } + } + }, + "ManagedIdentitySettings": { + "description": "Managed identity settings for upstream.", + "type": "object", + "properties": { + "resource": { + "description": "The Resource indicating the App ID URI of the target resource.\r\nIt also appears in the aud (audience) claim of the issued token.", + "type": "string" + } + } + }, + "ManagedIdentityType": { + "description": "Represent the identity type: systemAssigned, userAssigned, None", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": true + } + }, + "MetricSpecification": { + "description": "Specifications of the Metrics for Azure Monitoring.", + "type": "object", + "properties": { + "name": { + "description": "Name of the metric.", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the metric.", + "type": "string" + }, + "displayDescription": { + "description": "Localized friendly description of the metric.", + "type": "string" + }, + "unit": { + "description": "The unit that makes sense for the metric.", + "type": "string" + }, + "aggregationType": { + "description": "Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.", + "type": "string" + }, + "fillGapWithZero": { + "description": "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.", + "type": "string" + }, + "category": { + "description": "The name of the metric category that the metric belongs to. A metric can only belong to a single category.", + "type": "string" + }, + "dimensions": { + "description": "The dimensions of the metrics.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + } + } + }, + "NameAvailability": { + "description": "Result of the request to check name availability. It contains a flag and possible reason of failure.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "Indicates whether the name is available or not.", + "type": "boolean" + }, + "reason": { + "description": "The reason of the availability. Required if name is not available.", + "type": "string" + }, + "message": { + "description": "The message of the operation.", + "type": "string" + } + } + }, + "NameAvailabilityParameters": { + "description": "Data POST-ed to the nameAvailability action", + "required": [ + "type", + "name" + ], + "type": "object", + "properties": { + "type": { + "description": "The resource type. Can be \"Microsoft.SignalRService/SignalR\" or \"Microsoft.SignalRService/webPubSub\"", + "type": "string" + }, + "name": { + "description": "The resource name to validate. e.g.\"my-resource-name\"", + "type": "string" + } + } + }, + "NetworkACL": { + "description": "Network ACL", + "type": "object", + "properties": { + "allow": { + "description": "Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRRequestType" + } + }, + "deny": { + "description": "Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRRequestType" + } + } + } + }, + "Operation": { + "description": "REST API operation supported by resource provider.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation with format: {provider}/{resource}/{operation}", + "type": "string" + }, + "isDataAction": { + "description": "If the operation is a data action. (for data plane rbac)", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "The object that describes the operation." + }, + "origin": { + "description": "Optional. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Extra properties for the operation.", + "x-ms-client-flatten": false + } + } + }, + "OperationDisplay": { + "description": "The object that describes a operation.", + "type": "object", + "properties": { + "provider": { + "description": "Friendly name of the resource provider", + "type": "string" + }, + "resource": { + "description": "Resource type on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "The localized friendly name for the operation.", + "type": "string" + }, + "description": { + "description": "The localized friendly description for the operation", + "type": "string" + } + } + }, + "OperationList": { + "description": "Result of the request to list REST API operations. It contains a list of operations.", + "type": "object", + "properties": { + "value": { + "description": "List of operations supported by the resource provider.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "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.", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Extra Operation properties.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "The service specifications." + } + } + }, + "PrivateEndpoint": { + "description": "Private endpoint", + "type": "object", + "properties": { + "id": { + "description": "Full qualified Id of the private endpoint", + "type": "string" + } + } + }, + "PrivateEndpointACL": { + "description": "ACL for a private endpoint", + "required": [ + "name" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkACL" + } + ], + "properties": { + "name": { + "description": "Name of the private endpoint connection", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection to an azure resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the private endpoint connection", + "x-ms-client-flatten": true + } + } + }, + "PrivateEndpointConnectionList": { + "description": "A list of private endpoint connections", + "type": "object", + "properties": { + "value": { + "description": "The list of the private endpoint connections", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "description": "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.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "Private endpoint connection properties", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the private endpoint connection", + "readOnly": true + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "Private endpoint associated with the private endpoint connection" + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "Connection state" + } + } + }, + "PrivateLinkResource": { + "description": "Private link resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Properties of a private link resource", + "x-ms-client-flatten": true + } + } + }, + "PrivateLinkResourceList": { + "description": "Contains a list of PrivateLinkResource and a possible link to query more results", + "type": "object", + "properties": { + "value": { + "description": "List of PrivateLinkResource", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "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.", + "type": "string" + } + } + }, + "PrivateLinkResourceProperties": { + "description": "Private link resource properties", + "type": "object", + "properties": { + "groupId": { + "description": "Group Id of the private link resource", + "type": "string" + }, + "requiredMembers": { + "description": "Required members of the private link resource", + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "Required private DNS zone names", + "type": "array", + "items": { + "type": "string" + } + }, + "shareablePrivateLinkResourceTypes": { + "description": "The list of resources that are onboarded to private link service", + "type": "array", + "items": { + "$ref": "#/definitions/ShareablePrivateLinkResourceType" + } + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "Connection state of the private endpoint connection", + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "description": { + "description": "The reason for approval/rejection of the connection.", + "type": "string" + }, + "actionsRequired": { + "description": "A message indicating if changes on the service provider require any updates on the consumer.", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionStatus": { + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": true + } + }, + "ProvisioningState": { + "description": "Provisioning state of the resource.", + "enum": [ + "Unknown", + "Succeeded", + "Failed", + "Canceled", + "Running", + "Creating", + "Updating", + "Deleting", + "Moving" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "ProxyResource": { + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "RegenerateKeyParameters": { + "description": "Parameters describes the request to regenerate access keys", + "type": "object", + "properties": { + "keyType": { + "$ref": "#/definitions/KeyType", + "description": "The keyType to regenerate. Must be either 'primary' or 'secondary'(case-insensitive)." + } + } + }, + "Resource": { + "description": "The core properties of ARM resources.", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified resource Id for the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource - e.g. \"Microsoft.SignalRService/SignalR\"", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ResourceSku": { + "description": "The billing information of the resource.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1", + "type": "string" + }, + "tier": { + "$ref": "#/definitions/SignalRSkuTier", + "description": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead." + }, + "size": { + "description": "Not used. Retained for future use.", + "type": "string", + "readOnly": true + }, + "family": { + "description": "Not used. Retained for future use.", + "type": "string", + "readOnly": true + }, + "capacity": { + "format": "int32", + "description": "Optional, integer. The unit count of the resource. 1 by default.\r\n\r\nIf present, following values are allowed:\r\n Free: 1\r\n Standard: 1,2,5,10,20,50,100", + "type": "integer" + } + } + }, + "ServerlessUpstreamSettings": { + "description": "The settings for the Upstream when the service is in server-less mode.", + "type": "object", + "properties": { + "templates": { + "description": "Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.", + "type": "array", + "items": { + "$ref": "#/definitions/UpstreamTemplate" + } + } + } + }, + "ServiceKind": { + "description": "The kind of the service - e.g. \"SignalR\" for \"Microsoft.SignalRService/SignalR\"", + "enum": [ + "SignalR", + "RawWebSockets" + ], + "type": "string", + "x-ms-enum": { + "name": "ServiceKind", + "modelAsString": true + } + }, + "ServiceSpecification": { + "description": "An object that describes a specification.", + "type": "object", + "properties": { + "metricSpecifications": { + "description": "Specifications of the Metrics for Azure Monitoring.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + }, + "logSpecifications": { + "description": "Specifications of the Logs for Azure Monitoring.", + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + } + } + } + }, + "ShareablePrivateLinkResourceProperties": { + "description": "Describes the properties of a resource type that has been onboarded to private link service", + "type": "object", + "properties": { + "description": { + "description": "The description of the resource type that has been onboarded to private link service", + "type": "string" + }, + "groupId": { + "description": "The resource provider group id for the resource that has been onboarded to private link service", + "type": "string" + }, + "type": { + "description": "The resource provider type for the resource that has been onboarded to private link service", + "type": "string" + } + } + }, + "ShareablePrivateLinkResourceType": { + "description": "Describes a resource type that has been onboarded to private link service", + "type": "object", + "properties": { + "name": { + "description": "The name of the resource type that has been onboarded to private link service", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ShareablePrivateLinkResourceProperties", + "description": "Describes the properties of a resource type that has been onboarded to private link service" + } + } + }, + "SharedPrivateLinkResource": { + "description": "Describes a Shared Private Link Resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/SharedPrivateLinkResourceProperties", + "description": "Describes the properties of a Shared Private Link Resource", + "x-ms-client-flatten": true + } + } + }, + "SharedPrivateLinkResourceList": { + "description": "A list of shared private link resources", + "type": "object", + "properties": { + "value": { + "description": "The list of the shared private link resources", + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "nextLink": { + "description": "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.", + "type": "string" + } + } + }, + "SharedPrivateLinkResourceProperties": { + "description": "Describes the properties of an existing Shared Private Link Resource", + "required": [ + "groupId", + "privateLinkResourceId" + ], + "type": "object", + "properties": { + "groupId": { + "description": "The group id from the provider of resource the shared private link resource is for", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The resource id of the resource the shared private link resource is for", + "type": "string" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the shared private link resource", + "readOnly": true + }, + "requestMessage": { + "description": "The request message for requesting approval of the shared private link resource", + "type": "string" + }, + "status": { + "$ref": "#/definitions/SharedPrivateLinkResourceStatus", + "description": "Status of the shared private link resource", + "readOnly": true + } + } + }, + "SharedPrivateLinkResourceStatus": { + "description": "Status of the shared private link resource", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "type": "string", + "x-ms-enum": { + "name": "SharedPrivateLinkResourceStatus", + "modelAsString": true + } + }, + "SignalRCorsSettings": { + "description": "Cross-Origin Resource Sharing (CORS) settings.", + "type": "object", + "properties": { + "allowedOrigins": { + "description": "Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). Use \"*\" to allow all. If omitted, allow all by default.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SignalRFeature": { + "description": "Feature of a SignalR resource, which controls the SignalR runtime behavior.", + "required": [ + "flag", + "value" + ], + "type": "object", + "properties": { + "flag": { + "$ref": "#/definitions/FeatureFlags", + "description": "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." + }, + "value": { + "description": "Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for allowed values.", + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "properties": { + "description": "Optional properties related to this feature.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SignalRKeys": { + "description": "A class represents the access keys of the resource.", + "type": "object", + "properties": { + "primaryKey": { + "description": "The primary access key.", + "type": "string", + "x-ms-secret": true + }, + "secondaryKey": { + "description": "The secondary access key.", + "type": "string", + "x-ms-secret": true + }, + "primaryConnectionString": { + "description": "Connection string constructed via the primaryKey", + "type": "string", + "x-ms-secret": true + }, + "secondaryConnectionString": { + "description": "Connection string constructed via the secondaryKey", + "type": "string", + "x-ms-secret": true + } + } + }, + "SignalRNetworkACLs": { + "description": "Network ACLs for the resource", + "type": "object", + "properties": { + "defaultAction": { + "$ref": "#/definitions/ACLAction", + "description": "Default action when no other rule matches", + "default": "Deny" + }, + "publicNetwork": { + "$ref": "#/definitions/NetworkACL", + "description": "ACL for requests from public network" + }, + "privateEndpoints": { + "description": "ACLs for requests from private endpoints", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointACL" + } + } + } + }, + "SignalRProperties": { + "description": "A class that describes the properties of the resource", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the resource.", + "readOnly": true + }, + "externalIP": { + "description": "The publicly accessible IP of the resource.", + "type": "string", + "readOnly": true + }, + "hostName": { + "description": "FQDN of the service instance.", + "type": "string", + "readOnly": true + }, + "publicPort": { + "format": "int32", + "description": "The publicly accessible port of the resource which is designed for browser/client side usage.", + "type": "integer", + "readOnly": true + }, + "serverPort": { + "format": "int32", + "description": "The publicly accessible port of the resource which is designed for customer server side usage.", + "type": "integer", + "readOnly": true + }, + "version": { + "description": "Version of the resource. Probably you need the same or higher version of client SDKs.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnections": { + "description": "Private endpoint connections to the resource.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "sharedPrivateLinkResources": { + "description": "The list of shared private link resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "readOnly": true + }, + "tls": { + "$ref": "#/definitions/SignalRTlsSettings", + "description": "TLS settings." + }, + "features": { + "description": "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.", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRFeature" + } + }, + "cors": { + "$ref": "#/definitions/SignalRCorsSettings", + "description": "Cross-Origin Resource Sharing (CORS) settings." + }, + "upstream": { + "$ref": "#/definitions/ServerlessUpstreamSettings", + "description": "Upstream settings when the service is in server-less mode." + }, + "networkACLs": { + "$ref": "#/definitions/SignalRNetworkACLs", + "description": "Network ACLs" + } + } + }, + "SignalRRequestType": { + "description": "Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.", + "enum": [ + "ClientConnection", + "ServerConnection", + "RESTAPI", + "Trace" + ], + "type": "string", + "x-ms-enum": { + "name": "SignalRRequestType", + "modelAsString": true + } + }, + "SignalRResource": { + "description": "A class represent a resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/ResourceSku", + "description": "The billing information of the resource.(e.g. Free, Standard)" + }, + "properties": { + "$ref": "#/definitions/SignalRProperties", + "description": "Settings used to provision or configure the resource", + "x-ms-client-flatten": true + }, + "kind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of the service - e.g. \"SignalR\" for \"Microsoft.SignalRService/SignalR\"", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "identity": { + "$ref": "#/definitions/ManagedIdentity", + "description": "The managed identity response" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + } + }, + "SignalRResourceList": { + "description": "Object that includes an array of resources and a possible link for next set.", + "type": "object", + "properties": { + "value": { + "description": "List of the resources", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRResource" + } + }, + "nextLink": { + "description": "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.", + "type": "string" + } + } + }, + "SignalRSkuTier": { + "description": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead.", + "enum": [ + "Free", + "Basic", + "Standard", + "Premium" + ], + "type": "string", + "x-ms-enum": { + "name": "SignalRSkuTier", + "modelAsString": true + } + }, + "SignalRTlsSettings": { + "description": "TLS settings for the resource", + "type": "object", + "properties": { + "clientCertEnabled": { + "description": "Request client certificate during TLS handshake if enabled", + "type": "boolean" + } + } + }, + "SignalRUsage": { + "description": "Object that describes a specific usage of the resources.", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified ARM resource id", + "type": "string" + }, + "currentValue": { + "format": "int64", + "description": "Current value for the usage quota.", + "type": "integer" + }, + "limit": { + "format": "int64", + "description": "The maximum permitted value for the usage quota. If there is no limit, this value will be -1.", + "type": "integer" + }, + "name": { + "$ref": "#/definitions/SignalRUsageName", + "description": "Localizable String object containing the name and a localized value." + }, + "unit": { + "description": "Representing the units of the usage quota. Possible values are: Count, Bytes, Seconds, Percent, CountPerSecond, BytesPerSecond.", + "type": "string" + } + } + }, + "SignalRUsageList": { + "description": "Object that includes an array of the resource usages and a possible link for next set.", + "type": "object", + "properties": { + "value": { + "description": "List of the resource usages", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRUsage" + } + }, + "nextLink": { + "description": "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.", + "type": "string" + } + } + }, + "SignalRUsageName": { + "description": "Localizable String object containing the name and a localized value.", + "type": "object", + "properties": { + "value": { + "description": "The identifier of the usage.", + "type": "string" + }, + "localizedValue": { + "description": "Localized name of the usage.", + "type": "string" + } + } + }, + "TrackedResource": { + "description": "The resource model definition for a ARM tracked top level resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "The GEO location of the resource. e.g. West US | East US | North Central US | South Central US.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "Tags of the service which is a list of key value pairs that describe the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "UpstreamAuthSettings": { + "description": "Upstream auth settings.", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/UpstreamAuthType", + "description": "Gets or sets the type of auth. None or ManagedIdentity is supported now." + }, + "managedIdentity": { + "$ref": "#/definitions/ManagedIdentitySettings", + "description": "Gets or sets the managed identity settings. It's required if the auth type is set to ManagedIdentity." + } + } + }, + "UpstreamAuthType": { + "description": "Gets or sets the type of auth. None or ManagedIdentity is supported now.", + "enum": [ + "None", + "ManagedIdentity" + ], + "type": "string", + "x-ms-enum": { + "name": "UpstreamAuthType", + "modelAsString": true + } + }, + "UpstreamTemplate": { + "description": "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.", + "required": [ + "urlTemplate" + ], + "type": "object", + "properties": { + "hubPattern": { + "description": "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\"", + "type": "string" + }, + "eventPattern": { + "description": "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\"", + "type": "string" + }, + "categoryPattern": { + "description": "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\"", + "type": "string" + }, + "urlTemplate": { + "description": "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`.", + "type": "string" + }, + "auth": { + "$ref": "#/definitions/UpstreamAuthSettings", + "description": "Gets or sets the auth settings for an upstream. If not set, no auth is used for upstream messages." + } + } + }, + "UserAssignedIdentityProperty": { + "description": "Properties of user assigned identity.", + "type": "object", + "properties": { + "principalId": { + "description": "Get the principal id for the user assigned identity", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "Get the client id for the user assigned identity", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Gets subscription Id which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "required": true, + "type": "string" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/signalr/resource-manager/readme.azureresourceschema.md b/specification/signalr/resource-manager/readme.azureresourceschema.md index 30a00dfcb8df..8dec1ba1caf6 100644 --- a/specification/signalr/resource-manager/readme.azureresourceschema.md +++ b/specification/signalr/resource-manager/readme.azureresourceschema.md @@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma ``` yaml $(azureresourceschema) && $(multiapi) batch: + - tag: schema-signalrservice-2021-04-01-preview - tag: schema-signalrservice-2020-07-01-preview - tag: schema-signalrservice-2020-05-01 - tag: schema-signalrservice-2018-10-01 @@ -15,6 +16,17 @@ batch: Please also specify `--azureresourceschema-folder=`. +### Tag: schema-signalrservice-2021-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-signalrservice-2021-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SignalRService/preview/2021-04-01-preview/signalr.json + +``` + ### Tag: schema-signalrservice-2020-07-01-preview and azureresourceschema ``` yaml $(tag) == 'schema-signalrservice-2020-07-01-preview' && $(azureresourceschema) diff --git a/specification/signalr/resource-manager/readme.go.md b/specification/signalr/resource-manager/readme.go.md index 99af62cf41d4..4701d412da55 100644 --- a/specification/signalr/resource-manager/readme.go.md +++ b/specification/signalr/resource-manager/readme.go.md @@ -17,6 +17,7 @@ batch: - tag: package-2018-10-01 - tag: package-2020-05-01 - tag: package-2020-07-01-preview + - tag: package-2021-04-01-preview ``` ### Tag: package-2018-03-01-preview and go @@ -54,3 +55,12 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-04-01-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-04-01-preview/$(namespace) +``` diff --git a/specification/signalr/resource-manager/readme.java.md b/specification/signalr/resource-manager/readme.java.md index 783271a172f2..7416fe504997 100644 --- a/specification/signalr/resource-manager/readme.java.md +++ b/specification/signalr/resource-manager/readme.java.md @@ -20,6 +20,20 @@ batch: - tag: package-2018-10-01 - tag: package-2020-05-01 - tag: package-2020-07-01-preview + - tag: package-2021-04-01-preview +``` + +### Tag: package-2021-04-01-preview and java + +These settings apply only when `--tag=package-2021-04-01-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2021-04-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.signalr.v2021_04_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/signalr/mgmt-v2021_04_01_preview +regenerate-manager: true +generate-interface: true ``` ### Tag: package-2020-07-01-preview and java diff --git a/specification/signalr/resource-manager/readme.md b/specification/signalr/resource-manager/readme.md index 84ebb834c4d1..011a83e2aedc 100644 --- a/specification/signalr/resource-manager/readme.md +++ b/specification/signalr/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the SignalR API. ``` yaml openapi-type: arm -tag: package-2020-07-01-preview +tag: package-2021-04-01-preview ``` ### Suppression @@ -35,16 +35,12 @@ tag: package-2020-07-01-preview directive: - suppress: EnumInsteadOfBoolean from: signalr.json - where: $.definitions.NameAvailability.properties.nameAvailable - reason: The boolean properties 'nameAvailable' is actually boolean value defined by Azure API spec - - suppress: EnumInsteadOfBoolean - from: signalr.json - where: $.definitions.Dimension.properties.toBeExportedForShoebox - reason: The boolean properties 'toBeExportedForShoebox' is defined by Geneva metrics. - - suppress: EnumInsteadOfBoolean - from: signalr.json - where: $.definitions.Operation.properties.isDataAction - reason: The boolean properties 'isDataAction' is a standard property for Azure Operations. + where: + - $.definitions.NameAvailability.properties.nameAvailable + - $.definitions.Dimension.properties.toBeExportedForShoebox + - $.definitions.Operation.properties.isDataAction + - $.definitions.SignalRTlsSettings.properties.clientCertEnabled + reason: The boolean properties 'nameAvailable' and 'isDataAction' is standard property defined by Azure API spec. 'toBeExportedForShoebox' by Geneva metrics team. Keep 'clientCertEnabled' bool to be consistent with SignalR and not break existing customers. - suppress: TrackedResourceListByImmediateParent reason: Another list APIs naming approach is used over the specs - suppress: AvoidNestedProperties @@ -52,7 +48,21 @@ directive: where: - $.definitions.SignalRFeature.properties.properties - $.definitions.PrivateEndpointConnection.properties.properties + - $.definitions.ShareablePrivateLinkResourceType.properties.properties reason: The 'properties' is a user-defined dictionary, cannot be flattened. + - suppress: PutInOperationName + where: + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}"].put.operationId + reason: It's indeed an UPDATE operation, but PUT is required per NRP requirement. +``` + +### Tag: package-2021-04-01-preview + +These settings apply only when `--tag=package-2021-04-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2021-04-01-preview' +input-file: +- Microsoft.SignalRService/preview/2021-04-01-preview/signalr.json ``` ### Tag: package-2020-07-01-preview diff --git a/specification/signalr/resource-manager/readme.ruby.md b/specification/signalr/resource-manager/readme.ruby.md index 9688e52abf65..7cd18969089b 100644 --- a/specification/signalr/resource-manager/readme.ruby.md +++ b/specification/signalr/resource-manager/readme.ruby.md @@ -16,6 +16,17 @@ batch: - tag: package-2018-10-01 - tag: package-2020-05-01 - tag: package-2020-07-01-preview + - tag: package-2021-04-01-preview +``` + +### Tag: package-2021-04-01-preview and ruby + +These settings apply only when `--tag=package-2021-04-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-04-01-preview' && $(ruby) +namespace: "Azure::Signalr::Mgmt::V2021_04_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_signalr/lib ``` ### Tag: package-2020-07-01-preview and ruby