From 5aa95679a6d8cfe7cc2dede7d03793fda2150973 Mon Sep 17 00:00:00 2001 From: Hai Liu Date: Wed, 31 Mar 2021 18:13:37 -0700 Subject: [PATCH] Hailiu/bot service web app settings (#12995) * add webAppBotSettings get operation * Revert "add webAppBotSettings get operation" This reverts commit 6fa8467a8e8634d5790ba97d31538da4a9093d69. * add api-version 2021-03-01 with webAppBotSettings * rename sub type from webAppBotSettings to hostSettings * add more descriptive descriptions to HostSettings * update api-version to 2021-03-01 for examples * add new bot kind * Update specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json Co-authored-by: Mark Cowlishaw * Update specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json Co-authored-by: Mark Cowlishaw * rename check name availability definition names * add azurebot as custom words * fix custom-words.txt file name * put custom words in the right place * rename HostSettings defintion to HostSettingsResponse * revert definition names so SDK back compat is not broken Co-authored-by: Mark Cowlishaw --- custom-words.txt | 1 + .../stable/2021-03-01/botservice.json | 2641 +++++++++++++++++ .../examples/CheckNameAvailability.json | 17 + .../stable/2021-03-01/examples/CreateBot.json | 111 + .../stable/2021-03-01/examples/DeleteBot.json | 12 + .../2021-03-01/examples/DeleteChannel.json | 13 + .../2021-03-01/examples/DeleteConnection.json | 13 + .../DeleteDirectLineSpeechChannel.json | 13 + .../examples/DirectlineRegenerateKeys.json | 36 + .../2021-03-01/examples/GetAlexaChannel.json | 25 + .../stable/2021-03-01/examples/GetBot.json | 47 + .../2021-03-01/examples/GetChannel.json | 24 + .../2021-03-01/examples/GetConnection.json | 36 + .../examples/GetDirectLineSpeechChannel.json | 26 + .../2021-03-01/examples/GetHostSettings.json | 20 + .../2021-03-01/examples/GetLineChannel.json | 30 + .../2021-03-01/examples/GetOperations.json | 53 + .../examples/ListBotsByResourceGroup.json | 50 + .../examples/ListBotsBySubscription.json | 49 + .../2021-03-01/examples/ListChannel.json | 27 + .../examples/ListChannelsByBotService.json | 46 + .../examples/ListConnectionsByBotService.json | 35 + .../examples/ListServiceProviders.json | 33 + .../2021-03-01/examples/PutAlexaChannel.json | 49 + .../2021-03-01/examples/PutChannel.json | 48 + .../2021-03-01/examples/PutConnection.json | 81 + .../examples/PutDirectLineSpeechChannel.json | 45 + .../2021-03-01/examples/PutLineChannel.json | 63 + .../examples/UpdateAlexaChannel.json | 49 + .../stable/2021-03-01/examples/UpdateBot.json | 113 + .../2021-03-01/examples/UpdateChannel.json | 48 + .../2021-03-01/examples/UpdateConnection.json | 81 + .../UpdateDirectLineSpeechChannel.json | 45 + .../examples/UpdateLineChannel.json | 63 + .../examples/WebChatRegenerateKeys.json | 35 + .../readme.azureresourceschema.md | 12 + .../botservice/resource-manager/readme.md | 21 +- 37 files changed, 4109 insertions(+), 2 deletions(-) create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CheckNameAvailability.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CreateBot.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteBot.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteChannel.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteConnection.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteDirectLineSpeechChannel.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DirectlineRegenerateKeys.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetAlexaChannel.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetBot.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetChannel.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetConnection.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetDirectLineSpeechChannel.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetHostSettings.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetLineChannel.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetOperations.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsByResourceGroup.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsBySubscription.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannel.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannelsByBotService.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListConnectionsByBotService.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListServiceProviders.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutAlexaChannel.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutChannel.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutConnection.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutDirectLineSpeechChannel.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutLineChannel.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateAlexaChannel.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateBot.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateChannel.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateConnection.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateDirectLineSpeechChannel.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateLineChannel.json create mode 100644 specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/WebChatRegenerateKeys.json diff --git a/custom-words.txt b/custom-words.txt index ab106744a25e..e2ff1419e63a 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -185,6 +185,7 @@ AzureAD azureADMetrics azureasyncoperations azureblob +azurebot azurecli azurecr azuredatabasemigrationservice diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json new file mode 100644 index 000000000000..51d8b32ac081 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json @@ -0,0 +1,2641 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Bot Service", + "description": "Azure Bot Service is a platform for creating smart conversational agents.", + "version": "2021-03-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}": { + "put": { + "tags": [ + "Bot" + ], + "description": "Creates a Bot Service. Bot Service is a resource group wide resource type.", + "operationId": "Bots_Create", + "x-ms-examples": { + "Create Bot": { + "$ref": "./examples/CreateBot.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Bot" + }, + "description": "The parameters to provide for the created bot." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is created successfully or already existed, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/Bot" + } + }, + "201": { + "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/Bot" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "tags": [ + "Bot" + ], + "description": "Updates a Bot Service", + "operationId": "Bots_Update", + "x-ms-examples": { + "Update Bot": { + "$ref": "./examples/UpdateBot.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/Bot" + }, + "description": "The parameters to provide for the created bot." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "schema": { + "$ref": "#/definitions/Bot" + } + }, + "201": { + "description": "If resource is updated successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/Bot" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "tags": [ + "Bot" + ], + "description": "Deletes a Bot Service from the resource group. ", + "operationId": "Bots_Delete", + "x-ms-examples": { + "Delete Bot": { + "$ref": "./examples/DeleteBot.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;" + }, + "204": { + "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "get": { + "tags": [ + "Bot" + ], + "description": "Returns a BotService specified by the parameters.", + "operationId": "Bots_Get", + "x-ms-examples": { + "Get Bot": { + "$ref": "./examples/GetBot.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "schema": { + "$ref": "#/definitions/Bot" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices": { + "get": { + "tags": [ + "Bot" + ], + "description": "Returns all the resources of a particular type belonging to a resource group", + "operationId": "Bots_ListByResourceGroup", + "x-ms-examples": { + "List Bots by Resource Group": { + "$ref": "./examples/ListBotsByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.", + "schema": { + "$ref": "#/definitions/BotResponseList" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/botServices": { + "get": { + "tags": [ + "Bot" + ], + "description": "Returns all the resources of a particular type belonging to a subscription.", + "operationId": "Bots_List", + "x-ms-examples": { + "List Bots by Subscription": { + "$ref": "./examples/ListBotsBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ", + "schema": { + "$ref": "#/definitions/BotResponseList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}": { + "put": { + "tags": [ + "Channel" + ], + "description": "Creates a Channel registration for a Bot Service", + "operationId": "Channels_Create", + "x-ms-examples": { + "Create Bot": { + "$ref": "./examples/PutChannel.json" + }, + "Create Alexa Bot": { + "$ref": "./examples/PutAlexaChannel.json" + }, + "Create Line Bot": { + "$ref": "./examples/PutLineChannel.json" + }, + "Create DirectLine Speech Bot": { + "$ref": "./examples/PutDirectLineSpeechChannel.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/channelNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BotChannel" + }, + "description": "The parameters to provide for the created bot." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is created successfully or already existed, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/BotChannel" + } + }, + "201": { + "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/BotChannel" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "tags": [ + "Channel" + ], + "description": "Updates a Channel registration for a Bot Service", + "operationId": "Channels_Update", + "x-ms-examples": { + "Update Bot": { + "$ref": "./examples/UpdateChannel.json" + }, + "Update Alexa": { + "$ref": "./examples/UpdateAlexaChannel.json" + }, + "Update Line": { + "$ref": "./examples/UpdateLineChannel.json" + }, + "Update DirectLine Speech": { + "$ref": "./examples/UpdateDirectLineSpeechChannel.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/channelNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/BotChannel" + }, + "description": "The parameters to provide for the created bot." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "schema": { + "$ref": "#/definitions/BotChannel" + } + }, + "201": { + "description": "If resource is updated successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/BotChannel" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "tags": [ + "Channel" + ], + "description": "Deletes a Channel registration from a Bot Service", + "operationId": "Channels_Delete", + "x-ms-examples": { + "Delete Bot": { + "$ref": "./examples/DeleteChannel.json" + }, + "Delete DirectLine Speech Bot": { + "$ref": "./examples/DeleteDirectLineSpeechChannel.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "name": "channelName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 2, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the Bot resource." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;" + }, + "204": { + "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "get": { + "tags": [ + "Channel" + ], + "description": "Returns a BotService Channel registration specified by the parameters.", + "operationId": "Channels_Get", + "x-ms-examples": { + "Get Bot": { + "$ref": "./examples/GetChannel.json" + }, + "Get Alexa Bot": { + "$ref": "./examples/GetAlexaChannel.json" + }, + "Get Line Bot": { + "$ref": "./examples/GetLineChannel.json" + }, + "Get DirectLine Speech Bot": { + "$ref": "./examples/GetDirectLineSpeechChannel.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "name": "channelName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 2, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the Bot resource." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "schema": { + "$ref": "#/definitions/BotChannel" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/listChannelWithKeys": { + "post": { + "tags": [ + "Channel" + ], + "description": "Lists a Channel registration for a Bot Service including secrets", + "operationId": "Channels_ListWithKeys", + "x-ms-examples": { + "List Channel": { + "$ref": "./examples/ListChannel.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/channelNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is retrieved successfully, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/BotChannel" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels": { + "get": { + "tags": [ + "Channel" + ], + "description": "Returns all the Channel registrations of a particular BotService resource", + "operationId": "Channels_ListByResourceGroup", + "x-ms-examples": { + "List Bots by Resource Group": { + "$ref": "./examples/ListChannelsByBotService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.", + "schema": { + "$ref": "#/definitions/ChannelResponseList" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/regeneratekeys": { + "post": { + "tags": [ + "Channel" + ], + "description": "Regenerates secret keys and returns them for the DirectLine Channel of a particular BotService resource", + "operationId": "DirectLine_RegenerateKeys", + "x-ms-examples": { + "Regenerate Keys for DirectLine Channel Site": { + "$ref": "./examples/DirectlineRegenerateKeys.json" + }, + "Regenerate Keys for WebChat Channel Site": { + "$ref": "./examples/WebChatRegenerateKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/regenerateKeyschannelNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SiteInfo" + }, + "description": "The parameters to provide for the created bot." + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.", + "schema": { + "$ref": "#/definitions/BotChannel" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.BotService/checkNameAvailability": { + "post": { + "tags": [ + "Bot" + ], + "description": "Check whether a bot name is available.", + "operationId": "Bots_GetCheckNameAvailability", + "x-ms-examples": { + "check Name Availability": { + "$ref": "./examples/CheckNameAvailability.json" + } + }, + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityRequestBody" + }, + "description": "The request body parameters to provide for the check name availability request" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResponseBody" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.BotService/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all the available BotService operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "Get Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/OperationEntityListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/listAuthServiceProviders": { + "post": { + "tags": [ + "ListServiceProviders" + ], + "description": "Lists the available Service Providers for creating Connection Settings", + "operationId": "BotConnection_ListServiceProviders", + "x-ms-examples": { + "List Auth Service Providers": { + "$ref": "./examples/ListServiceProviders.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is retrieved successfully, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/ServiceProviderResponseList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections/{connectionName}/listWithSecrets": { + "post": { + "tags": [ + "BotConnection" + ], + "x-ms-examples": { + "Update Connection Setting": { + "$ref": "./examples/GetConnection.json" + } + }, + "description": "Get a Connection Setting registration for a Bot Service", + "operationId": "BotConnection_ListWithSecrets", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "schema": { + "$ref": "#/definitions/ConnectionSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections/{connectionName}": { + "put": { + "tags": [ + "BotConnection" + ], + "description": "Register a new Auth Connection for a Bot Service", + "operationId": "BotConnection_Create", + "x-ms-examples": { + "Create Connection Setting": { + "$ref": "./examples/PutConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionSetting" + }, + "description": "The parameters to provide for creating the Connection Setting." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is created successfully or already existed, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/ConnectionSetting" + } + }, + "201": { + "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/ConnectionSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "tags": [ + "BotConnection" + ], + "description": "Updates a Connection Setting registration for a Bot Service", + "operationId": "BotConnection_Update", + "x-ms-examples": { + "Update Connection Setting": { + "$ref": "./examples/UpdateConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionSetting" + }, + "description": "The parameters to provide for updating the Connection Setting." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is created successfully or already existed, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/ConnectionSetting" + } + }, + "201": { + "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/ConnectionSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "get": { + "tags": [ + "BotConnection" + ], + "x-ms-examples": { + "Update Connection Setting": { + "$ref": "./examples/GetConnection.json" + } + }, + "description": "Get a Connection Setting registration for a Bot Service", + "operationId": "BotConnection_Get", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "schema": { + "$ref": "#/definitions/ConnectionSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "tags": [ + "BotConnection" + ], + "description": "Deletes a Connection Setting registration for a Bot Service", + "operationId": "BotConnection_Delete", + "x-ms-examples": { + "Update Connection Setting": { + "$ref": "./examples/DeleteConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;" + }, + "204": { + "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections": { + "get": { + "tags": [ + "BotConnection" + ], + "description": "Returns all the Connection Settings registered to a particular BotService resource", + "operationId": "BotConnection_ListByBotService", + "x-ms-examples": { + "List Connection Settings": { + "$ref": "./examples/ListConnectionsByBotService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.", + "schema": { + "$ref": "#/definitions/ConnectionSettingResponseList" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/hostSettings": { + "get": { + "tags": [ + "BotHostSettings" + ], + "description": "Get per subscription settings needed to host bot in compute resource such as Azure App Service", + "operationId": "HostSettings_Get", + "x-ms-examples": { + "Get Bot Host Settings": { + "$ref": "./examples/GetHostSettings.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is retrieved successfully, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/HostSettingsResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "Resource": { + "description": "Azure resource", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "Specifies the resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Specifies the name of the resource.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Specifies the location of the resource.", + "type": "string" + }, + "type": { + "description": "Specifies the type of the resource.", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "Contains resource tags defined as key/value pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Gets or sets the SKU of the resource." + }, + "kind": { + "$ref": "#/definitions/Kind", + "description": "Required. Gets or sets the Kind of the resource." + }, + "etag": { + "type": "string", + "description": "Entity Tag" + } + } + }, + "Sku": { + "properties": { + "name": { + "$ref": "#/definitions/SkuName", + "description": "The sku name" + }, + "tier": { + "readOnly": true, + "type": "string", + "description": "Gets the sku tier. This is based on the SKU name.", + "enum": [ + "Free", + "Standard" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + } + }, + "required": [ + "name" + ], + "description": "The SKU of the cognitive services account." + }, + "SkuName": { + "type": "string", + "description": "The name of SKU.", + "enum": [ + "F0", + "S1" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "Kind": { + "type": "string", + "description": "Indicates the type of bot service", + "enum": [ + "sdk", + "designer", + "bot", + "function", + "azurebot" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "Bot": { + "type": "object", + "description": "Bot resource definition", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BotProperties", + "description": "The set of properties specific to bot resource" + } + } + }, + "BotProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "The Name of the bot" + }, + "description": { + "type": "string", + "description": "The description of the bot" + }, + "iconUrl": { + "type": "string", + "description": "The Icon Url of the bot" + }, + "endpoint": { + "type": "string", + "description": "The bot's endpoint" + }, + "endpointVersion": { + "type": "string", + "readOnly": true, + "description": "The bot's endpoint version" + }, + "msaAppId": { + "type": "string", + "description": "Microsoft App Id for the bot" + }, + "configuredChannels": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Collection of channels for which the bot is configured" + }, + "enabledChannels": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Collection of channels for which the bot is enabled" + }, + "developerAppInsightKey": { + "type": "string", + "description": "The Application Insights key" + }, + "developerAppInsightsApiKey": { + "type": "string", + "description": "The Application Insights Api Key" + }, + "developerAppInsightsApplicationId": { + "type": "string", + "description": "The Application Insights App Id" + }, + "luisAppIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Collection of LUIS App Ids" + }, + "luisKey": { + "type": "string", + "description": "The LUIS Key" + }, + "isCmekEnabled": { + "type": "boolean", + "description": "Whether Cmek is enabled" + }, + "cmekKeyVaultUrl": { + "type": "string", + "description": "The CMK Url" + } + }, + "description": "The parameters to provide for the Bot.", + "required": [ + "displayName", + "endpoint", + "msaAppId" + ] + }, + "BotResponseList": { + "properties": { + "nextLink": { + "description": "The link used to get the next page of bot service resources.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Bot" + }, + "description": "Gets the list of bot service results and their properties." + } + }, + "description": "The list of bot service operation response." + }, + "BotChannel": { + "type": "object", + "description": "Bot channel resource definition", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/Channel", + "description": "The set of properties specific to bot channel resource" + } + } + }, + "Channel": { + "type": "object", + "description": "Channel definition", + "discriminator": "channelName", + "properties": { + "channelName": { + "type": "string", + "description": "The channel name" + } + }, + "required": [ + "channelName" + ] + }, + "AlexaChannel": { + "type": "object", + "x-ms-discriminator-value": "AlexaChannel", + "description": "Alexa channel definition", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AlexaChannelProperties", + "description": "The set of properties specific to Alexa channel resource" + } + } + }, + "AlexaChannelProperties": { + "properties": { + "alexaSkillId": { + "type": "string", + "description": "The Alexa skill Id" + }, + "urlFragment": { + "type": "string", + "readOnly": true, + "description": "Url fragment used in part of the Uri configured in Alexa" + }, + "serviceEndpointUri": { + "type": "string", + "readOnly": true, + "description": "Full Uri used to configured the skill in Alexa" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Alexa channel.", + "required": [ + "alexaSkillId", + "isEnabled" + ] + }, + "FacebookChannel": { + "type": "object", + "description": "Facebook channel definition", + "x-ms-discriminator-value": "FacebookChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/FacebookChannelProperties", + "description": "The set of properties specific to bot facebook channel" + } + } + }, + "FacebookChannelProperties": { + "properties": { + "verifyToken": { + "x-ms-secret": true, + "type": "string", + "readOnly": true, + "description": "Verify token. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "pages": { + "type": "array", + "items": { + "$ref": "#/definitions/FacebookPage" + }, + "description": "The list of Facebook pages" + }, + "appId": { + "type": "string", + "description": "Facebook application id" + }, + "appSecret": { + "x-ms-secret": true, + "type": "string", + "description": "Facebook application secret. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "callbackUrl": { + "type": "string", + "readOnly": true, + "description": "Callback Url" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Facebook channel.", + "required": [ + "appId", + "isEnabled" + ] + }, + "FacebookPage": { + "properties": { + "id": { + "type": "string", + "description": "Page id" + }, + "accessToken": { + "x-ms-secret": true, + "type": "string", + "description": "Facebook application access token. Value only returned through POST to the action Channel List API, otherwise empty." + } + }, + "description": "A Facebook page for Facebook channel registration", + "required": [ + "id" + ] + }, + "EmailChannel": { + "type": "object", + "description": "Email channel definition", + "x-ms-discriminator-value": "EmailChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EmailChannelProperties", + "description": "The set of properties specific to email channel resource" + } + } + }, + "EmailChannelProperties": { + "properties": { + "emailAddress": { + "type": "string", + "description": "The email address" + }, + "password": { + "type": "string", + "description": "The password for the email address. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Email channel.", + "required": [ + "emailAddress", + "isEnabled" + ] + }, + "MsTeamsChannel": { + "type": "object", + "x-ms-discriminator-value": "MsTeamsChannel", + "description": "Microsoft Teams channel definition", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MsTeamsChannelProperties", + "description": "The set of properties specific to Microsoft Teams channel resource" + } + } + }, + "MsTeamsChannelProperties": { + "properties": { + "enableCalling": { + "type": "boolean", + "description": "Enable calling for Microsoft Teams channel" + }, + "callingWebHook": { + "type": "string", + "description": "Webhook for Microsoft Teams channel calls" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Microsoft Teams channel.", + "required": [ + "isEnabled" + ] + }, + "SkypeChannel": { + "type": "object", + "description": "Skype channel definition", + "x-ms-discriminator-value": "SkypeChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SkypeChannelProperties", + "description": "The set of properties specific to Skype channel resource" + } + } + }, + "SkypeChannelProperties": { + "properties": { + "enableMessaging": { + "type": "boolean", + "description": "Enable messaging for Skype channel" + }, + "enableMediaCards": { + "type": "boolean", + "description": "Enable media cards for Skype channel" + }, + "enableVideo": { + "type": "boolean", + "description": "Enable video for Skype channel" + }, + "enableCalling": { + "type": "boolean", + "description": "Enable calling for Skype channel" + }, + "enableScreenSharing": { + "type": "boolean", + "description": "Enable screen sharing for Skype channel" + }, + "enableGroups": { + "type": "boolean", + "description": "Enable groups for Skype channel" + }, + "groupsMode": { + "type": "string", + "description": "Group mode for Skype channel" + }, + "callingWebHook": { + "type": "string", + "description": "Calling web hook for Skype channel" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Microsoft Teams channel.", + "required": [ + "isEnabled" + ] + }, + "KikChannel": { + "type": "object", + "x-ms-discriminator-value": "KikChannel", + "description": "Kik channel definition", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/KikChannelProperties", + "description": "The set of properties specific to Kik channel resource" + } + } + }, + "KikChannelProperties": { + "properties": { + "userName": { + "type": "string", + "description": "The Kik user name" + }, + "apiKey": { + "type": "string", + "description": "Kik API key. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "isValidated": { + "type": "boolean", + "description": "Whether this channel is validated for the bot" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Kik channel.", + "required": [ + "userName", + "isEnabled" + ] + }, + "WebChatChannel": { + "type": "object", + "x-ms-discriminator-value": "WebChatChannel", + "description": "Web Chat channel definition", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WebChatChannelProperties", + "description": "The set of properties specific to Web Chat channel resource" + } + } + }, + "WebChatChannelProperties": { + "properties": { + "webChatEmbedCode": { + "type": "string", + "x-ms-mutability": [ + "read" + ], + "readOnly": true, + "description": "Web chat control embed code" + }, + "sites": { + "type": "array", + "items": { + "$ref": "#/definitions/WebChatSite" + }, + "description": "The list of Web Chat sites" + } + }, + "description": "The parameters to provide for the Web Chat channel." + }, + "DirectLineChannel": { + "type": "object", + "x-ms-discriminator-value": "DirectLineChannel", + "description": "Direct Line channel definition", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DirectLineChannelProperties", + "description": "The set of properties specific to Direct Line channel resource" + } + } + }, + "DirectLineChannelProperties": { + "properties": { + "sites": { + "type": "array", + "items": { + "$ref": "#/definitions/DirectLineSite" + }, + "description": "The list of Direct Line sites" + } + }, + "description": "The parameters to provide for the Direct Line channel." + }, + "TelegramChannel": { + "type": "object", + "description": "Telegram channel definition", + "x-ms-discriminator-value": "TelegramChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TelegramChannelProperties", + "description": "The set of properties specific to Telegram channel resource" + } + } + }, + "TelegramChannelProperties": { + "properties": { + "accessToken": { + "x-ms-secret": true, + "type": "string", + "description": "The Telegram access token. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "isValidated": { + "type": "boolean", + "description": "Whether this channel is validated for the bot" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Telegram channel.", + "required": [ + "isEnabled" + ] + }, + "SmsChannel": { + "type": "object", + "description": "Sms channel definition", + "x-ms-discriminator-value": "SmsChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SmsChannelProperties", + "description": "The set of properties specific to Sms channel resource" + } + } + }, + "SmsChannelProperties": { + "properties": { + "phone": { + "type": "string", + "description": "The Sms phone" + }, + "accountSID": { + "type": "string", + "description": "The Sms account SID. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "authToken": { + "x-ms-secret": true, + "type": "string", + "description": "The Sms auth token. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "isValidated": { + "type": "boolean", + "description": "Whether this channel is validated for the bot" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Sms channel.", + "required": [ + "phone", + "accountSID", + "isEnabled" + ] + }, + "SlackChannel": { + "type": "object", + "description": "Slack channel definition", + "x-ms-discriminator-value": "SlackChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SlackChannelProperties", + "description": "The set of properties specific to Slack channel resource" + } + } + }, + "SlackChannelProperties": { + "properties": { + "clientId": { + "type": "string", + "description": "The Slack client id" + }, + "clientSecret": { + "x-ms-secret": true, + "type": "string", + "description": "The Slack client secret. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "verificationToken": { + "x-ms-secret": true, + "type": "string", + "description": "The Slack verification token. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "landingPageUrl": { + "type": "string", + "description": "The Slack landing page Url" + }, + "redirectAction": { + "type": "string", + "description": "The Slack redirect action", + "readOnly": true + }, + "lastSubmissionId": { + "type": "string", + "description": "The Sms auth token", + "readOnly": true + }, + "registerBeforeOAuthFlow": { + "type": "boolean", + "description": "Whether to register the settings before OAuth validation is performed. Recommended to True.", + "readOnly": true + }, + "isValidated": { + "type": "boolean", + "description": "Whether this channel is validated for the bot", + "readOnly": true + }, + "signingSecret": { + "x-ms-secret": true, + "type": "string", + "description": "The Slack signing secret." + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Slack channel.", + "required": [ + "isEnabled" + ] + }, + "LineChannel": { + "type": "object", + "description": "Line channel definition", + "x-ms-discriminator-value": "LineChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LineChannelProperties", + "description": "The set of properties specific to line channel resource" + } + } + }, + "LineChannelProperties": { + "properties": { + "lineRegistrations": { + "type": "array", + "description": "The list of line channel registrations", + "items": { + "$ref": "#/definitions/LineRegistration" + } + }, + "callbackUrl": { + "type": "string", + "description": "Callback Url to enter in line registration.", + "readOnly": true + }, + "isValidated": { + "type": "boolean", + "description": "Whether this channel is validated for the bot", + "readOnly": true + } + }, + "description": "The parameters to provide for the Line channel.", + "required": [ + "lineRegistrations" + ] + }, + "LineRegistration": { + "properties": { + "generatedId": { + "x-ms-mutability": [ + "read" + ], + "type": "string", + "description": "Id generated for the line channel registration", + "readOnly": true + }, + "channelSecret": { + "x-ms-secret": true, + "type": "string", + "description": "Secret for the line channel registration" + }, + "channelAccessToken": { + "x-ms-secret": true, + "type": "string", + "description": "Access token for the line channel registration" + } + }, + "description": "The properties corresponding to a line channel registration" + }, + "DirectLineSpeechChannel": { + "type": "object", + "description": "DirectLine Speech channel definition", + "x-ms-discriminator-value": "DirectLineSpeechChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DirectLineSpeechChannelProperties", + "description": "The set of properties specific to DirectLine Speech channel resource" + } + } + }, + "DirectLineSpeechChannelProperties": { + "properties": { + "cognitiveServicesSubscriptionId": { + "type": "string", + "description": "The cognitive service subscription ID to use with this channel registration." + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled or not." + }, + "customVoiceDeploymentId": { + "type": "string", + "description": "Custom speech model id (optional)." + }, + "customSpeechModelId": { + "type": "string", + "description": "Custom voice deployment id (optional)." + }, + "isDefaultBotForCogSvcAccount": { + "type": "boolean", + "description": "Make this a default bot for chosen cognitive service account." + } + }, + "description": "The parameters to provide for the DirectLine Speech channel.", + "required": [ + "cognitiveServicesSubscriptionId" + ] + }, + "ChannelResponseList": { + "properties": { + "nextLink": { + "description": "The link used to get the next page of bot service channel resources.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/BotChannel" + }, + "description": "Gets the list of bot service channel results and their properties." + } + }, + "description": "The list of bot service channel operation response." + }, + "WebChatSite": { + "properties": { + "siteId": { + "type": "string", + "description": "Site Id", + "x-ms-mutability": [ + "read" + ], + "readOnly": true + }, + "siteName": { + "type": "string", + "description": "Site name" + }, + "key": { + "type": "string", + "description": "Primary key. Value only returned through POST to the action Channel List API, otherwise empty.", + "x-ms-mutability": [ + "read" + ], + "readOnly": true + }, + "key2": { + "type": "string", + "description": "Secondary key. Value only returned through POST to the action Channel List API, otherwise empty.", + "x-ms-mutability": [ + "read" + ], + "readOnly": true + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this site is enabled for DirectLine channel" + }, + "enablePreview": { + "type": "boolean", + "description": "Whether this site is enabled for preview versions of Webchat" + } + }, + "required": [ + "siteName", + "isEnabled", + "enablePreview" + ], + "description": "A site for the Webchat channel" + }, + "DirectLineSite": { + "properties": { + "siteId": { + "x-ms-mutability": [ + "read" + ], + "type": "string", + "description": "Site Id", + "readOnly": true + }, + "siteName": { + "type": "string", + "description": "Site name" + }, + "key": { + "x-ms-mutability": [ + "read" + ], + "type": "string", + "description": "Primary key. Value only returned through POST to the action Channel List API, otherwise empty.", + "readOnly": true + }, + "key2": { + "x-ms-mutability": [ + "read" + ], + "type": "string", + "description": "Secondary key. Value only returned through POST to the action Channel List API, otherwise empty.", + "readOnly": true + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this site is enabled for DirectLine channel." + }, + "isV1Enabled": { + "type": "boolean", + "description": "Whether this site is enabled for Bot Framework V1 protocol." + }, + "isV3Enabled": { + "type": "boolean", + "description": "Whether this site is enabled for Bot Framework V1 protocol." + }, + "isSecureSiteEnabled": { + "type": "boolean", + "description": "Whether this site is enabled for authentication with Bot Framework." + }, + "trustedOrigins": { + "type": "array", + "description": "List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True.", + "items": { + "type": "string" + } + } + }, + "description": "A site for the Direct Line channel", + "required": [ + "isV1Enabled", + "isV3Enabled", + "isEnabled", + "siteName" + ] + }, + "SiteInfo": { + "properties": { + "siteName": { + "type": "string", + "description": "The site name" + }, + "key": { + "type": "string", + "description": "Determines which key is to be regenerated", + "enum": [ + "key1", + "key2" + ], + "x-ms-enum": { + "name": "key", + "modelAsString": false + } + } + }, + "description": "Site information for WebChat or DirectLine Channels to identify which site to regenerate keys for.", + "type": "object", + "required": [ + "siteName", + "key" + ] + }, + "ConnectionItemName": { + "properties": { + "name": { + "type": "string", + "description": "Connection Item name that has been added in the API", + "readOnly": true + } + }, + "description": "The display name of a connection Item Setting registered with the Bot" + }, + "ConnectionSettingParameter": { + "properties": { + "key": { + "type": "string", + "description": "Key for the Connection Setting Parameter." + }, + "value": { + "type": "string", + "description": "Value associated with the Connection Setting Parameter." + } + }, + "description": "Extra Parameter in a Connection Setting Properties to indicate service provider specific properties" + }, + "ConnectionSettingProperties": { + "properties": { + "clientId": { + "type": "string", + "description": "Client Id associated with the Connection Setting." + }, + "settingId": { + "type": "string", + "description": "Setting Id set by the service for the Connection Setting.", + "readOnly": true + }, + "clientSecret": { + "x-ms-secret": true, + "type": "string", + "description": "Client Secret associated with the Connection Setting" + }, + "scopes": { + "type": "string", + "description": "Scopes associated with the Connection Setting" + }, + "serviceProviderId": { + "type": "string", + "description": "Service Provider Id associated with the Connection Setting" + }, + "serviceProviderDisplayName": { + "type": "string", + "description": "Service Provider Display Name associated with the Connection Setting" + }, + "parameters": { + "type": "array", + "description": "Service Provider Parameters associated with the Connection Setting", + "items": { + "$ref": "#/definitions/ConnectionSettingParameter" + } + } + }, + "description": "Properties for a Connection Setting Item" + }, + "ConnectionSetting": { + "type": "object", + "description": "Bot channel resource definition", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ConnectionSettingProperties", + "description": "The set of properties specific to bot channel resource" + } + } + }, + "ConnectionSettingResponseList": { + "properties": { + "nextLink": { + "description": "The link used to get the next page of bot service connection setting resources.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionSetting" + }, + "description": "Gets the list of bot service connection settings and their properties." + } + }, + "description": "The list of bot service connection settings response." + }, + "ServiceProviderResponseList": { + "properties": { + "nextLink": { + "description": "The link used to get the next page of bot service providers.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ServiceProvider" + }, + "description": "Gets the list of bot service providers and their properties." + } + }, + "description": "The list of bot service providers response." + }, + "ServiceProviderParameter": { + "properties": { + "name": { + "type": "string", + "description": "Name of the Service Provider", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Type of the Service Provider", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "Display Name of the Service Provider", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the Service Provider", + "readOnly": true + }, + "helpUrl": { + "type": "string", + "description": "Help Url for the Service Provider", + "readOnly": true + }, + "default": { + "type": "string", + "description": "Default Name for the Service Provider", + "readOnly": true + } + }, + "description": "Extra Parameters specific to each Service Provider" + }, + "ServiceProviderProperties": { + "properties": { + "id": { + "type": "string", + "description": "Id for Service Provider", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "Display Name of the Service Provider", + "readOnly": true + }, + "serviceProviderName": { + "type": "string", + "description": "Display Name of the Service Provider", + "readOnly": true + }, + "devPortalUrl": { + "type": "string", + "description": "Display Name of the Service Provider", + "readOnly": true + }, + "iconUrl": { + "type": "string", + "description": "Display Name of the Service Provider", + "readOnly": true + }, + "parameters": { + "description": "The list of parameters for the Service Provider", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceProviderParameter" + } + } + }, + "description": "The Object used to describe a Service Provider supported by Bot Service" + }, + "ServiceProvider": { + "type": "object", + "description": "Service Provider Definition", + "properties": { + "properties": { + "$ref": "#/definitions/ServiceProviderProperties", + "description": "The Properties of a Service Provider Object" + } + } + }, + "Error": { + "properties": { + "error": { + "$ref": "#/definitions/ErrorBody", + "description": "The error body." + } + }, + "description": "Bot Service error object." + }, + "ErrorBody": { + "properties": { + "code": { + "type": "string", + "description": "error code" + }, + "message": { + "type": "string", + "description": "error message" + } + }, + "description": "Bot Service error body.", + "required": [ + "code", + "message" + ] + }, + "OperationEntityListResult": { + "description": "The list of bot service operation response.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationEntity" + } + } + } + }, + "OperationEntity": { + "description": "The operations supported by Bot Service Management.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplayInfo", + "description": "The operation supported by Bot Service Management." + }, + "origin": { + "description": "The origin of the operation.", + "type": "string" + }, + "properties": { + "description": "Additional properties.", + "type": "object" + } + } + }, + "OperationDisplayInfo": { + "description": "The operation supported by Bot Service Management.", + "type": "object", + "properties": { + "description": { + "description": "The description of the operation.", + "type": "string" + }, + "operation": { + "description": "The action that users can perform, based on their permission level.", + "type": "string" + }, + "provider": { + "description": "Service provider: Microsoft Bot Service.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + } + } + }, + "CheckNameAvailabilityRequestBody": { + "description": "The request body for a request to Bot Service Management to check availability of a bot name.", + "type": "object", + "properties": { + "name": { + "description": "the name of the bot for which availability needs to be checked.", + "type": "string" + }, + "type": { + "description": "the type of the bot for which availability needs to be checked", + "type": "string" + } + } + }, + "CheckNameAvailabilityResponseBody": { + "description": "The response body returned for a request to Bot Service Management to check availability of a bot name.", + "type": "object", + "properties": { + "valid": { + "description": "indicates if the bot name is valid.", + "type": "boolean" + }, + "message": { + "description": "additional message from the bot management api showing why a bot name is not available", + "type": "string" + } + } + }, + "HostSettingsResponse": { + "description": "The response body returned for a request to Bot Service Management to check per subscription hostSettings", + "type": "object", + "properties": { + "OAuthUrl": { + "description": "For in-conversation bot user authentication", + "type": "string" + }, + "ToBotFromChannelOpenIdMetadataUrl": { + "description": "For verifying incoming tokens from the channels", + "type": "string" + }, + "ToBotFromChannelTokenIssuer": { + "description": "For verifying incoming tokens from the channels", + "type": "string" + }, + "ToBotFromEmulatorOpenIdMetadataUrl": { + "description": "For verifying incoming tokens from bot emulator", + "type": "string" + }, + "ToChannelFromBotLoginUrl": { + "description": "For getting access token to channels from bot host", + "type": "string" + }, + "ToChannelFromBotOAuthScope": { + "description": "For getting access token to channels from bot host", + "type": "string" + }, + "ValidateAuthority": { + "description": "Per cloud OAuth setting on whether authority is validated", + "type": "boolean" + }, + "BotOpenIdMetadata": { + "description": "Same as ToBotFromChannelOpenIdMetadataUrl, used by SDK < v4.12", + "type": "string" + } + } + } + }, + "parameters": { + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 2, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the Bot resource group in the user subscription." + }, + "resourceNameParameter": { + "name": "resourceName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 2, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the Bot resource." + }, + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Azure Subscription ID.", + "required": true, + "type": "string" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request." + }, + "connectionNameParameter": { + "name": "connectionName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 2, + "pattern": "^[a-zA-Z0-9][\\sa-zA-Z0-9_.-]*$", + "description": "The name of the Bot Service Connection Setting resource." + }, + "channelNameParameter": { + "name": "channelName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "AlexaChannel", + "FacebookChannel", + "EmailChannel", + "KikChannel", + "TelegramChannel", + "SlackChannel", + "MsTeamsChannel", + "SkypeChannel", + "WebChatChannel", + "DirectLineChannel", + "SmsChannel", + "LineChannel", + "DirectLineSpeechChannel" + ], + "x-ms-enum": { + "name": "channelName", + "modelAsString": false, + "values": [ + { + "value": "AlexaChannel" + }, + { + "value": "FacebookChannel" + }, + { + "value": "EmailChannel" + }, + { + "value": "KikChannel" + }, + { + "value": "TelegramChannel" + }, + { + "value": "SlackChannel" + }, + { + "value": "MsTeamsChannel" + }, + { + "value": "SkypeChannel" + }, + { + "value": "WebChatChannel" + }, + { + "value": "DirectLineChannel" + }, + { + "value": "SmsChannel" + }, + { + "value": "LineChannel" + }, + { + "value": "DirectLineSpeechChannel" + } + ] + }, + "description": "The name of the Channel resource." + }, + "regenerateKeyschannelNameParameter": { + "name": "channelName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "WebChatChannel", + "DirectLineChannel" + ], + "x-ms-enum": { + "name": "regenerateKeysChannelName", + "modelAsString": false, + "values": [ + { + "value": "WebChatChannel" + }, + { + "value": "DirectLineChannel" + } + ] + }, + "description": "The name of the Channel resource for which keys are to be regenerated." + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CheckNameAvailability.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..a613c712ce16 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CheckNameAvailability.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-03-01", + "parameters": { + "name": "testbotname", + "type": "string" + } + }, + "responses": { + "200": { + "body": { + "valid": true, + "message": "custom message from server" + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CreateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CreateBot.json new file mode 100644 index 000000000000..14577919f168 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CreateBot.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "parameters": { + "location": "West US", + "sku": { + "name": "S1" + }, + "etag": "etag1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "kind": "sdk", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApiKey": "appinsightsapikey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "luisKey": "luiskey", + "msaAppId": "exampleappid", + "isCmekEnabled": true, + "cmekKeyVaultUrl": "https://myCmekKey" + } + } + }, + "responses": { + "200": { + "body": { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "kind": "sdk", + "etag": "etag1", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "configuredChannels": [ + "facebook", + "groupme" + ], + "enabledChannels": [ + "facebook" + ], + "isCmekEnabled": true, + "cmekKeyVaultUrl": "https://myCmekKey" + } + } + }, + "201": { + "body": { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "kind": "sdk", + "properties": { + "description": "The description of the bot", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "configuredChannels": [ + "facebook", + "groupme" + ], + "enabledChannels": [ + "facebook" + ], + "isCmekEnabled": true, + "cmekKeyVaultUrl": "https://myCmekKey" + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteBot.json new file mode 100644 index 000000000000..21195bf89105 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteBot.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteChannel.json new file mode 100644 index 000000000000..63b0388b76e4 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteChannel.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "EmailChannel" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteConnection.json new file mode 100644 index 000000000000..cf67b01e11fa --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteConnection.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "connectionName": "sampleConnection" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteDirectLineSpeechChannel.json new file mode 100644 index 000000000000..ff047c2ff355 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteDirectLineSpeechChannel.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "DirectLineSpeechChannel" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DirectlineRegenerateKeys.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DirectlineRegenerateKeys.json new file mode 100644 index 000000000000..50ef7e87500d --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DirectlineRegenerateKeys.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "DirectLineChannel", + "parameters": { + "siteName": "testSiteName", + "key": "key1" + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "DirectLineChannel", + "properties": { + "sites": [ + { + "siteId": "abcd", + "siteName": "Default Site", + "key": "key1", + "key2": "key2", + "isEnabled": true, + "isV1Enabled": true, + "isV3Enabled": true + } + ] + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetAlexaChannel.json new file mode 100644 index 000000000000..ce8e6dd0c0cc --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetAlexaChannel.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "AlexaChannel" + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "alexa skill id", + "urlFragment": "XUrlFragmentX", + "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetBot.json new file mode 100644 index 000000000000..e14747090f1f --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetBot.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname" + }, + "responses": { + "200": { + "body": { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "kind": "sdk", + "etag": "etag1", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "configuredChannels": [ + "facebook", + "groupme" + ], + "enabledChannels": [ + "facebook" + ], + "isCmekEnabled": true, + "cmekKeyVaultUrl": "https://myCmekKey" + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetChannel.json new file mode 100644 index 000000000000..b89f02010de6 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetChannel.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "EmailChannel" + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetConnection.json new file mode 100644 index 000000000000..b9c78ff824c4 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetConnection.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "connectionName": "sampleConnection" + }, + "responses": { + "200": { + "body": { + "location": "global", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "etag": "etag1", + "name": "sampleConnection", + "properties": { + "clientId": "sampleclientid", + "clientSecret": null, + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetDirectLineSpeechChannel.json new file mode 100644 index 000000000000..f4d15d88a187 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetDirectLineSpeechChannel.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "DirectLineSpeechChannel" + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServicesSubscriptionId": "Cognitive services subscription ID", + "customVoiceDeploymentId": "Custom voice deployment ID", + "customSpeechModelId": "Custom speech model ID", + "isDefaultBotForCogSvcAccount": true, + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetHostSettings.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetHostSettings.json new file mode 100644 index 000000000000..0eca7d306eac --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetHostSettings.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "api-version": "2021-03-01" + }, + "responses": { + "200": { + "body": { + "BotOpenIdMetadata": "https://login.botframework.com/v1/.well-known/openidconfiguration", + "OAuthUrl": "https://token.botframework.com/", + "ToBotFromChannelOpenIdMetadataUrl": "https://login.botframework.com/v1/.well-known/openidconfiguration", + "ToBotFromChannelTokenIssuer": "https://api.botframework.com", + "ToBotFromEmulatorOpenIdMetadataUrl": "https://login.microsoftonline.com/botframework.com/v2.0/.well-known/openid-configuration", + "ToChannelFromBotLoginUrl": "https://login.microsoftonline.com/botframework.com", + "ToChannelFromBotOAuthScope": "https://api.botframework.com", + "ValidateAuthority": true + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetLineChannel.json new file mode 100644 index 000000000000..8ea4e7ac3b97 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetLineChannel.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "LineChannel" + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "generatedId": "id", + "channelSecret": null, + "channelAccessToken": null + } + ], + "callbackUrl": "http://callbackUrl", + "isValidated": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetOperations.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetOperations.json new file mode 100644 index 000000000000..7ac86f5a9676 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetOperations.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2021-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.BotService/botService/read", + "display": { + "provider": "Microsoft Bot Service", + "resource": "Bot Service", + "operation": "Read Bot Service", + "description": "Read Bot Service" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BotService/botService/write", + "display": { + "provider": "Microsoft Bot Service", + "resource": "Bot Service", + "operation": "Write Bot Service", + "description": "Writes Bot Service" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BotService/botService/delete", + "display": { + "provider": "Microsoft Bot Service", + "resource": "Bot Service", + "operation": "Delete Bot Service", + "description": "Deletes Bot Service" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BotService/botService/botName/read", + "display": { + "provider": "Microsoft Bot Service", + "resource": "Bot Service name availability", + "operation": "Check bot name availability", + "description": "Check bot name availability" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsByResourceGroup.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsByResourceGroup.json new file mode 100644 index 000000000000..cacf7a61ed10 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsByResourceGroup.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices", + "etag": "etag1", + "kind": "sdk", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "configuredChannels": [ + "facebook", + "groupme" + ], + "enabledChannels": [ + "facebook" + ], + "isCmekEnabled": true, + "cmekKeyVaultUrl": "https://myCmekKey" + } + } + ] + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsBySubscription.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsBySubscription.json new file mode 100644 index 000000000000..bce0d79428fd --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsBySubscription.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "api-version": "2021-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "kind": "sdk", + "etag": "etag1", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "configuredChannels": [ + "facebook", + "groupme" + ], + "enabledChannels": [ + "facebook" + ], + "isCmekEnabled": true, + "cmekKeyVaultUrl": "https://myCmekKey" + } + } + ] + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannel.json new file mode 100644 index 000000000000..de952f0543e8 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannel.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "EmailChannel", + "parameters": { + "location": "global" + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannelsByBotService.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannelsByBotService.json new file mode 100644 index 000000000000..b18fbd8d15e8 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannelsByBotService.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "api-version": "2021-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + }, + { + "location": "global", + "properties": { + "channelName": "FacebookChannel", + "properties": { + "verifyToken": "othertoken", + "appId": "id", + "appSecret": null, + "callbackUrl": "appid", + "isEnabled": true, + "pages": [ + { + "accessToken": null, + "id": "id" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListConnectionsByBotService.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListConnectionsByBotService.json new file mode 100644 index 000000000000..24f10ec90b1a --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListConnectionsByBotService.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleConnection", + "properties": { + "clientId": "sampleclientid", + "clientSecret": null, + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListServiceProviders.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListServiceProviders.json new file mode 100644 index 000000000000..c05785b4fbe0 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListServiceProviders.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "api-version": "2021-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "id": "sampleServiceProviderId", + "displayName": "sample service provider display name", + "serviceProviderName": "sampleServiceProvider", + "devPortalUrl": "sampleDevPortalUrl", + "iconUrl": "sampleIconUrl", + "parameters": [ + { + "name": "sampleParameterName", + "type": "sampleParameterType", + "displayName": "sampleDisplayName", + "description": "sampleDescription", + "helpUrl": "sampleHelpUrl", + "default": "sampleDefaultValue" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutAlexaChannel.json new file mode 100644 index 000000000000..8bea9a75068f --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutAlexaChannel.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "AlexaChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "XAlexaSkillIdX", + "isEnabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "alexa skill id", + "urlFragment": "XUrlFragmentX", + "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", + "isEnabled": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "alexa skill id", + "urlFragment": "XUrlFragmentX", + "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutChannel.json new file mode 100644 index 000000000000..0db6722e455b --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutChannel.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "EmailChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutConnection.json new file mode 100644 index 000000000000..c755d979c945 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutConnection.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "connectionName": "sampleConnection", + "parameters": { + "location": "West US", + "etag": "etag1", + "properties": { + "clientId": "sampleclientid", + "clientSecret": "samplesecret", + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "etag": "etag1", + "name": "sampleConnection", + "properties": { + "clientId": "sampleclientid", + "clientSecret": null, + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + }, + "201": { + "body": { + "location": "global", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "etag": "etag1", + "name": "sampleConnection", + "properties": { + "clientId": "sampleclientid", + "clientSecret": null, + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutDirectLineSpeechChannel.json new file mode 100644 index 000000000000..f8bb8546de01 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutDirectLineSpeechChannel.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "DirectLineSpeechChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX", + "isEnabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX", + "isEnabled": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutLineChannel.json new file mode 100644 index 000000000000..33ba5d33aabd --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutLineChannel.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "LineChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "channelSecret": "channelSecret", + "channelAccessToken": "channelAccessToken" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "generatedId": "id", + "channelSecret": null, + "channelAccessToken": null + } + ], + "callbackUrl": "http://callbackUrl", + "isValidated": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "generatedId": "id", + "channelSecret": null, + "channelAccessToken": null + } + ], + "callbackUrl": "http://callbackUrl", + "isValidated": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateAlexaChannel.json new file mode 100644 index 000000000000..86267a4b33ad --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateAlexaChannel.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "AlexaChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "XAlexaSkillIdX", + "isEnabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "XAlexaSkillIdX", + "urlFragment": "XUrlFragmentX", + "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", + "isEnabled": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "XAlexaSkillIdX", + "urlFragment": "XUrlFragmentX", + "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateBot.json new file mode 100644 index 000000000000..910240b5bd1d --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateBot.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "parameters": { + "location": "West US", + "sku": { + "name": "S1" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "etag": "etag1", + "kind": "sdk", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApiKey": "appinsightsapikey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "luisKey": "luiskey", + "msaAppId": "msaappid", + "isCmekEnabled": true, + "cmekKeyVaultUrl": "https://myCmekKey" + } + } + }, + "responses": { + "200": { + "body": { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "etag": "etag1", + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "kind": "sdk", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "configuredChannels": [ + "facebook", + "groupme" + ], + "enabledChannels": [ + "facebook" + ], + "isCmekEnabled": true, + "cmekKeyVaultUrl": "https://myCmekKey" + } + } + }, + "201": { + "body": { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "kind": "sdk", + "etag": "etag1", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "configuredChannels": [ + "facebook", + "groupme" + ], + "enabledChannels": [ + "facebook" + ], + "isCmekEnabled": true, + "cmekKeyVaultUrl": "https://myCmekKey" + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateChannel.json new file mode 100644 index 000000000000..0db6722e455b --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateChannel.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "EmailChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateConnection.json new file mode 100644 index 000000000000..0120d612c32b --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateConnection.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "connectionName": "sampleConnection", + "parameters": { + "location": "global", + "etag": "etag1", + "properties": { + "clientId": "sampleclientid", + "clientSecret": "samplesecret", + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "name": "sampleConnection", + "properties": { + "clientId": "sampleclientid", + "clientSecret": null, + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + }, + "201": { + "body": { + "location": "global", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "name": "sampleConnection", + "properties": { + "clientId": "sampleclientid", + "clientSecret": null, + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateDirectLineSpeechChannel.json new file mode 100644 index 000000000000..f8bb8546de01 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateDirectLineSpeechChannel.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "DirectLineSpeechChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX", + "isEnabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX", + "isEnabled": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateLineChannel.json new file mode 100644 index 000000000000..33ba5d33aabd --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateLineChannel.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "LineChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "channelSecret": "channelSecret", + "channelAccessToken": "channelAccessToken" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "generatedId": "id", + "channelSecret": null, + "channelAccessToken": null + } + ], + "callbackUrl": "http://callbackUrl", + "isValidated": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "generatedId": "id", + "channelSecret": null, + "channelAccessToken": null + } + ], + "callbackUrl": "http://callbackUrl", + "isValidated": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/WebChatRegenerateKeys.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/WebChatRegenerateKeys.json new file mode 100644 index 000000000000..025386ece0ff --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/WebChatRegenerateKeys.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2021-03-01", + "resourceName": "samplebotname", + "channelName": "WebChatChannel", + "parameters": { + "siteName": "testSiteName", + "key": "key1" + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "WebChatChannel", + "properties": { + "sites": [ + { + "siteId": "abcd", + "siteName": "Default Site", + "key": "key1", + "key2": "key2", + "isEnabled": true, + "enablePreview": true + } + ] + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/readme.azureresourceschema.md b/specification/botservice/resource-manager/readme.azureresourceschema.md index 3e03a113a69a..347b87c0d93e 100644 --- a/specification/botservice/resource-manager/readme.azureresourceschema.md +++ b/specification/botservice/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-botservice-2021-03-01 - tag: schema-botservice-2020-06-02 - tag: schema-botservice-2018-07-12 - tag: schema-botservice-2017-12-01 @@ -14,6 +15,17 @@ batch: Please also specify `--azureresourceschema-folder=`. +### Tag: schema-botservice-2021-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-botservice-2021-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.BotService/stable/2021-03-01/botservice.json + +``` + ### Tag: schema-botservice-2020-06-02 and azureresourceschema ``` yaml $(tag) == 'schema-botservice-2020-06-02' && $(azureresourceschema) diff --git a/specification/botservice/resource-manager/readme.md b/specification/botservice/resource-manager/readme.md index 6e1824037d67..6b37cc5a4598 100644 --- a/specification/botservice/resource-manager/readme.md +++ b/specification/botservice/resource-manager/readme.md @@ -26,9 +26,27 @@ These are the global settings for the BotService API. ``` yaml openapi-type: arm -tag: package-2020-06-02 +tag: package-2021-03-01 ``` +### Tag: package-2021-03-01 + +These settings apply only when `--tag=package-2021-03-01` is specified on the command line. + +```yaml $(tag) == 'package-2021-03-01' +input-file: +- Microsoft.BotService/stable/2021-03-01/botservice.json +directive: + - suppress: R4009 + from: botservice.json + reason: We don not yet support systemdata + - suppress: R3016 + from: botservice.json + reason: app settings keys are case sensitive + - suppress: R3018 + from: botservice.json + reason: app settings for ValidateAuthority needs to be boolean +``` ### Tag: package-2020-06-02 @@ -148,4 +166,3 @@ See readme.python.md file. ## AzureResourceSchema See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -