diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/CheckNameAvailability.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..b42f33c038d8 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/CheckNameAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-12-08-preview", + "subscriptionId": "subscription-id", + "parameters": { + "name": "MyBot", + "type": "string" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "message": "" + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/GetOperations.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/GetOperations.json new file mode 100644 index 000000000000..80cc8124627b --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/GetOperations.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-12-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.HealthBot/healthbot/botName/read", + "display": { + "provider": "Microsoft Healthcare Bot", + "resource": "Microsoft Healthcare Bot name availability", + "operation": "Check bot name availability", + "description": "Check bot name availability" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ListBotsByResourceGroup.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ListBotsByResourceGroup.json new file mode 100644 index 000000000000..105b30bf9fc0 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ListBotsByResourceGroup.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-12-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + ] + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ListBotsBySubscription.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ListBotsBySubscription.json new file mode 100644 index 000000000000..105b30bf9fc0 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ListBotsBySubscription.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-12-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + ] + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceCreationPut.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceCreationPut.json new file mode 100644 index 000000000000..16d3f2951401 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceCreationPut.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2020-12-08-preview", + "subscriptionId": "subid", + "botName": "samplebotname", + "parameters": { + "location": "East US", + "sku": { + "name": "F0" + } + } + }, + "responses": { + "200": { + "body": { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + }, + "201": { + "body": { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage", + "provisioningState": "Provisioning" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceDeletionDelete.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceDeletionDelete.json new file mode 100644 index 000000000000..55ab192b98c7 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceDeletionDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2020-12-08-preview", + "subscriptionId": "subid", + "botName": "samplebotname" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceInfoGet.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceInfoGet.json new file mode 100644 index 000000000000..14ba7b0d404a --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceInfoGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2020-12-08-preview", + "subscriptionId": "subid", + "botName": "samplebotname" + }, + "responses": { + "200": { + "body": { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceUpdatePatch.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceUpdatePatch.json new file mode 100644 index 000000000000..03fdd5025a2b --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/examples/ResourceUpdatePatch.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2020-12-08-preview", + "subscriptionId": "subid", + "botName": "samplebotname", + "parameters": { + "sku": { + "name": "F0" + } + } + }, + "responses": { + "200": { + "body": { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + }, + "201": { + "body": { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/healthbot.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/healthbot.json new file mode 100644 index 000000000000..18ec15a66f31 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/preview/2020-12-08-preview/healthbot.json @@ -0,0 +1,818 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-12-08-preview", + "title": "healthbot", + "description": "Microsoft Healthcare Bot is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs.", + "x-ms-code-generation-settings": { + "name": "healthbotClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "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}/providers/Microsoft.HealthBot/checkNameAvailability": { + "post": { + "description": "Check whether a bot name is available.", + "operationId": "Bots_CheckNameAvailability", + "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/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.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResponseBody" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthBot/healthBots/{botName}": { + "put": { + "operationId": "Bots_Create", + "x-ms-examples": { + "BotCreate": { + "$ref": "./examples/ResourceCreationPut.json" + } + }, + "description": "Create a new Healthcare Bot.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HealthBot" + }, + "description": "The parameters to provide for the created bot." + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "If resource is updated successfully, the service should return 200.", + "schema": { + "$ref": "#/definitions/HealthBot" + } + }, + "201": { + "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/HealthBot" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "operationId": "Bots_Get", + "x-ms-examples": { + "ResourceInfoGet": { + "$ref": "./examples/ResourceInfoGet.json" + } + }, + "description": "Get a Healthcare Bot.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "If resource is got successfully, the service should return 200.", + "schema": { + "$ref": "#/definitions/HealthBot" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "Bots_Update", + "x-ms-examples": { + "BotUpdate": { + "$ref": "./examples/ResourceUpdatePatch.json" + } + }, + "description": "Patch a Healthcare Bot.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HealthBotUpdateParameters" + }, + "description": "The parameters to provide for the required bot." + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "If resource is patched successfully, the service should return 200.", + "schema": { + "$ref": "#/definitions/HealthBot" + } + }, + "201": { + "description": "If resource is received update request successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/HealthBot" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "Bots_Delete", + "x-ms-examples": { + "BotDelete": { + "$ref": "./examples/ResourceDeletionDelete.json" + } + }, + "description": "Delete a Healthcare Bot.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "If resource is deleted successfully, the service should return 200." + }, + "202": { + "description": "Accepted - Delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthBot/healthBots": { + "get": { + "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.HealthBot/healthBots": { + "get": { + "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/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. 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" + } + } + }, + "/providers/Microsoft.HealthBot/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all the available HealthBot operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "Get Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/AvailableOperations" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Sku": { + "description": "The resource model definition representing SKU", + "properties": { + "name": { + "type": "string", + "description": "The name of the HealthBot SKU", + "enum": [ + "F0", + "S1", + "C0" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + }, + "tier": { + "type": "string", + "enum": [ + "Free", + "Standard" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": false + }, + "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT." + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "family": { + "type": "string", + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted." + } + }, + "required": [ + "name" + ] + }, + "CheckNameAvailabilityRequestBody": { + "description": "The request body for a request to 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" + } + }, + "required": [ + "name", + "type" + ] + }, + "CheckNameAvailabilityResponseBody": { + "description": "The response body returned for a request to check availability of a bot name.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "indicates if the bot name is valid and available.", + "type": "boolean" + }, + "reason": { + "description": "Reason for the result", + "type": "string" + }, + "message": { + "description": "additional message from server", + "type": "string" + } + } + }, + "Resource": { + "description": "The resource model definition for a ARM tracked top level resource", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "Fully qualified resource Id for the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource" + } + } + }, + "TrackedResource": { + "description": "The resource model definition for a ARM tracked top level resource", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + } + }, + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "HealthBot": { + "type": "object", + "description": "HealthBot resource definition", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU of the HealthBot." + }, + "properties": { + "$ref": "#/definitions/HealthBotProperties", + "description": "The set of properties specific to healthcare bot resource." + } + } + }, + "HealthBotProperties": { + "title": "HealthBotProperties", + "description": "The properties of a HealthBot. The Health Bot Service is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs.", + "properties": { + "provisioningState": { + "type": "string", + "description": "The provisioning state of the Healthcare bot resource.", + "readOnly": true + }, + "botManagementPortalLink": { + "type": "string", + "description": "The link.", + "readOnly": true + } + } + }, + "HealthBotUpdateParameters": { + "type": "object", + "description": "Parameters for updating a HealthBot.", + "properties": { + "tags": { + "type": "object", + "description": "Tags for a HealthBot.", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ] + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU of the HealthBot." + } + } + }, + "SystemData": { + "description": "Read only system data", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "$ref": "#/definitions/IdentityType", + "description": "The type of identity that created the resource" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)" + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "$ref": "#/definitions/IdentityType", + "description": "The type of identity that last modified the resource" + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + "IdentityType": { + "description": "The type of identity that creates/modifies resources", + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "ValidationResult": { + "title": "ValidationResult", + "description": "The response returned from validation process", + "properties": { + "status": { + "type": "string", + "description": "The status code of the response validation." + } + } + }, + "Error": { + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Error" + }, + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + } + } + }, + "description": "The resource management error response." + }, + "ErrorAdditionalInfo": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The additional info type." + }, + "info": { + "readOnly": true, + "type": "object", + "description": "The additional info." + } + }, + "description": "The resource management error additional info." + }, + "AvailableOperations": { + "description": "Available operations of the service", + "type": "object", + "properties": { + "value": { + "description": "Collection of available operation details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationDetail" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "OperationDetail": { + "description": "Operation detail payload", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Display of the operation" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + }, + "properties": { + "description": "Additional properties.", + "type": "object" + } + } + }, + "OperationDisplay": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "type": "string" + }, + "resource": { + "description": "Resource of the operation", + "type": "string" + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string" + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string" + } + } + }, + "BotResponseList": { + "properties": { + "nextLink": { + "readOnly": true, + "description": "The link used to get the next page of bot service resources.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/HealthBot" + }, + "description": "Gets the list of healthcare bot results and their properties." + } + }, + "description": "The list of healthcare bot operation response." + } + }, + "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": "botName", + "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." + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/CheckNameAvailability.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..f14501e01a0f --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/CheckNameAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-12-08", + "subscriptionId": "subscription-id", + "parameters": { + "name": "MyBot", + "type": "string" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "message": "" + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/GetOperations.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/GetOperations.json new file mode 100644 index 000000000000..01f453b57330 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/GetOperations.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-12-08" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.HealthBot/healthbot/botName/read", + "display": { + "provider": "Microsoft Healthcare Bot", + "resource": "Microsoft Healthcare Bot name availability", + "operation": "Check bot name availability", + "description": "Check bot name availability" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ListBotsByResourceGroup.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ListBotsByResourceGroup.json new file mode 100644 index 000000000000..393493f179d6 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ListBotsByResourceGroup.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-12-08" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + ] + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ListBotsBySubscription.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ListBotsBySubscription.json new file mode 100644 index 000000000000..393493f179d6 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ListBotsBySubscription.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-12-08" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + ] + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceCreationPut.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceCreationPut.json new file mode 100644 index 000000000000..1077058598f3 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceCreationPut.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2020-12-08", + "subscriptionId": "subid", + "botName": "samplebotname", + "parameters": { + "location": "East US", + "sku": { + "name": "F0" + } + } + }, + "responses": { + "200": { + "body": { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + }, + "201": { + "body": { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage", + "provisioningState": "Provisioning" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceDeletionDelete.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceDeletionDelete.json new file mode 100644 index 000000000000..521997c1eb90 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceDeletionDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2020-12-08", + "subscriptionId": "subid", + "botName": "samplebotname" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceInfoGet.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceInfoGet.json new file mode 100644 index 000000000000..76f5d35bd34b --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceInfoGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2020-12-08", + "subscriptionId": "subid", + "botName": "samplebotname" + }, + "responses": { + "200": { + "body": { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceUpdatePatch.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceUpdatePatch.json new file mode 100644 index 000000000000..3778a66d33a9 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/examples/ResourceUpdatePatch.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2020-12-08", + "subscriptionId": "subid", + "botName": "samplebotname", + "parameters": { + "sku": { + "name": "F0" + } + } + }, + "responses": { + "200": { + "body": { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + }, + "201": { + "body": { + "location": "East US", + "name": "samplebotname", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname", + "sku": { + "name": "F0" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso/scenarios/manage" + }, + "systemData": { + "createdBy": "jack@outlook.com", + "createdByType": "User", + "createdAt": "2020-05-05T17:18:19.1234567Z", + "lastModifiedBy": "ryan@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-06T17:18:19.1234567Z" + } + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/healthbot.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/healthbot.json new file mode 100644 index 000000000000..514141fb7603 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2020-12-08/healthbot.json @@ -0,0 +1,818 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-12-08", + "title": "healthbot", + "description": "Microsoft Healthcare Bot is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs.", + "x-ms-code-generation-settings": { + "name": "healthbotClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "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}/providers/Microsoft.HealthBot/checkNameAvailability": { + "post": { + "description": "Check whether a bot name is available.", + "operationId": "Bots_CheckNameAvailability", + "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/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.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResponseBody" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthBot/healthBots/{botName}": { + "put": { + "operationId": "Bots_Create", + "x-ms-examples": { + "BotCreate": { + "$ref": "./examples/ResourceCreationPut.json" + } + }, + "description": "Create a new Healthcare Bot.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HealthBot" + }, + "description": "The parameters to provide for the created bot." + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "If resource is updated successfully, the service should return 200.", + "schema": { + "$ref": "#/definitions/HealthBot" + } + }, + "201": { + "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/HealthBot" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "operationId": "Bots_Get", + "x-ms-examples": { + "ResourceInfoGet": { + "$ref": "./examples/ResourceInfoGet.json" + } + }, + "description": "Get a Healthcare Bot.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "If resource is got successfully, the service should return 200.", + "schema": { + "$ref": "#/definitions/HealthBot" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "Bots_Update", + "x-ms-examples": { + "BotUpdate": { + "$ref": "./examples/ResourceUpdatePatch.json" + } + }, + "description": "Patch a Healthcare Bot.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HealthBotUpdateParameters" + }, + "description": "The parameters to provide for the required bot." + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "If resource is patched successfully, the service should return 200.", + "schema": { + "$ref": "#/definitions/HealthBot" + } + }, + "201": { + "description": "If resource is received update request successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/HealthBot" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "Bots_Delete", + "x-ms-examples": { + "BotDelete": { + "$ref": "./examples/ResourceDeletionDelete.json" + } + }, + "description": "Delete a Healthcare Bot.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "If resource is deleted successfully, the service should return 200." + }, + "202": { + "description": "Accepted - Delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthBot/healthBots": { + "get": { + "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.HealthBot/healthBots": { + "get": { + "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/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. 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" + } + } + }, + "/providers/Microsoft.HealthBot/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all the available HealthBot operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "Get Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/AvailableOperations" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Sku": { + "description": "The resource model definition representing SKU", + "properties": { + "name": { + "type": "string", + "description": "The name of the HealthBot SKU", + "enum": [ + "F0", + "S1", + "C0" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + }, + "tier": { + "type": "string", + "enum": [ + "Free", + "Standard" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": false + }, + "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT." + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "family": { + "type": "string", + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted." + } + }, + "required": [ + "name" + ] + }, + "CheckNameAvailabilityRequestBody": { + "description": "The request body for a request to 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" + } + }, + "required": [ + "name", + "type" + ] + }, + "CheckNameAvailabilityResponseBody": { + "description": "The response body returned for a request to check availability of a bot name.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "indicates if the bot name is valid and available.", + "type": "boolean" + }, + "reason": { + "description": "Reason for the result", + "type": "string" + }, + "message": { + "description": "additional message from server", + "type": "string" + } + } + }, + "Resource": { + "description": "The resource model definition for a ARM tracked top level resource", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "Fully qualified resource Id for the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource" + } + } + }, + "TrackedResource": { + "description": "The resource model definition for a ARM tracked top level resource", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + } + }, + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "HealthBot": { + "type": "object", + "description": "HealthBot resource definition", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU of the HealthBot." + }, + "properties": { + "$ref": "#/definitions/HealthBotProperties", + "description": "The set of properties specific to healthcare bot resource." + } + } + }, + "HealthBotProperties": { + "title": "HealthBotProperties", + "description": "The properties of a HealthBot. The Health Bot Service is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs.", + "properties": { + "provisioningState": { + "type": "string", + "description": "The provisioning state of the Healthcare bot resource.", + "readOnly": true + }, + "botManagementPortalLink": { + "type": "string", + "description": "The link.", + "readOnly": true + } + } + }, + "HealthBotUpdateParameters": { + "type": "object", + "description": "Parameters for updating a HealthBot.", + "properties": { + "tags": { + "type": "object", + "description": "Tags for a HealthBot.", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ] + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU of the HealthBot." + } + } + }, + "SystemData": { + "description": "Read only system data", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "$ref": "#/definitions/IdentityType", + "description": "The type of identity that created the resource" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)" + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "$ref": "#/definitions/IdentityType", + "description": "The type of identity that last modified the resource" + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + "IdentityType": { + "description": "The type of identity that creates/modifies resources", + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "ValidationResult": { + "title": "ValidationResult", + "description": "The response returned from validation process", + "properties": { + "status": { + "type": "string", + "description": "The status code of the response validation." + } + } + }, + "Error": { + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Error" + }, + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + } + } + }, + "description": "The resource management error response." + }, + "ErrorAdditionalInfo": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The additional info type." + }, + "info": { + "readOnly": true, + "type": "object", + "description": "The additional info." + } + }, + "description": "The resource management error additional info." + }, + "AvailableOperations": { + "description": "Available operations of the service", + "type": "object", + "properties": { + "value": { + "description": "Collection of available operation details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationDetail" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "OperationDetail": { + "description": "Operation detail payload", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Display of the operation" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + }, + "properties": { + "description": "Additional properties.", + "type": "object" + } + } + }, + "OperationDisplay": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "type": "string" + }, + "resource": { + "description": "Resource of the operation", + "type": "string" + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string" + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string" + } + } + }, + "BotResponseList": { + "properties": { + "nextLink": { + "readOnly": true, + "description": "The link used to get the next page of bot service resources.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/HealthBot" + }, + "description": "Gets the list of healthcare bot results and their properties." + } + }, + "description": "The list of healthcare bot operation response." + } + }, + "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": "botName", + "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." + } + } +} diff --git a/specification/healthbot/resource-manager/readme.az.md b/specification/healthbot/resource-manager/readme.az.md new file mode 100644 index 000000000000..c9d3b5ca5a94 --- /dev/null +++ b/specification/healthbot/resource-manager/readme.az.md @@ -0,0 +1,12 @@ +# AZ HealthBot + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: healthbot + namespace: azure.mgmt.healthbot + package-name: azure-mgmt-healthbot +az-output-folder: $(azure-cli-extension-folder)/src/healthbot +python-sdk-output-folder: "$(az-output-folder)/azext_healthbot/vendored_sdks/healthbot" +``` diff --git a/specification/healthbot/resource-manager/readme.cli.md b/specification/healthbot/resource-manager/readme.cli.md new file mode 100644 index 000000000000..c8997ac28a0a --- /dev/null +++ b/specification/healthbot/resource-manager/readme.cli.md @@ -0,0 +1 @@ +## CLI common settings for all command line tools \ No newline at end of file diff --git a/specification/healthbot/resource-manager/readme.md b/specification/healthbot/resource-manager/readme.md index 6ed83a9f4af9..1b3c77397058 100644 --- a/specification/healthbot/resource-manager/readme.md +++ b/specification/healthbot/resource-manager/readme.md @@ -27,7 +27,7 @@ These are the global settings for the healthbot. ```yaml openapi-type: arm openapi-subtype: rpaas -tag: package-2020-10-20-preview +tag: package-2020-12-08 ``` @@ -53,6 +53,28 @@ input-file: --- +### Tag3: package-2020-12-08-preview + +These settings apply only when `--tag=package-2020-12-08-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-12-08-preview' +input-file: + - Microsoft.HealthBot/preview/2020-12-08-preview/healthbot.json +``` + +--- + +### Tag3: package-2020-12-08 + +These settings apply only when `--tag=package-2020-12-08` is specified on the command line. + +```yaml $(tag) == 'package-2020-12-08' +input-file: + - Microsoft.HealthBot/stable/2020-12-08/healthbot.json +``` + +--- + # Code Generation ## Swagger to SDK @@ -68,6 +90,7 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_healthbot'] + - repo: azure-cli-extensions ``` ## Python