From def00e90e185986ed58b9d3ffb42fa886a8e2bc1 Mon Sep 17 00:00:00 2001 From: Arie Schwartzman Date: Fri, 26 Jul 2024 08:31:17 +0300 Subject: [PATCH] Add new SKU tier "C1" enum value for Copilot For Health. (#29884) * Copy files from stable/2023-05-01 Copied the files in a separate commit. This allows reviewers to easily diff subsequent changes against the previous spec. * Update version to stable/2024-02-01 Updated the API version from stable/2023-05-01 to stable/2024-02-01. * Added tag for 2024-02-01 in readme file * add C1 SKU name enum value * after Swagger PrettierCheck * after Swagger PrettierCheck * after Swagger PrettierCheck * add sdk-suppressions.yaml * Update sdk-suppressions.yaml --------- Co-authored-by: Arie Schwartzman Co-authored-by: Alancere <804873052@qq.com> Co-authored-by: kazrael2119 <98569699+kazrael2119@users.noreply.github.com> --- .../2024-02-01/examples/GetOperations.json | 43 + .../examples/ListBotsByResourceGroup.json | 64 ++ .../examples/ListBotsBySubscription.json | 44 + .../2024-02-01/examples/ListSecrets.json | 28 + .../examples/RegenerateApiJwtSecret.json | 16 + .../examples/ResourceCreationPut.json | 77 ++ .../examples/ResourceDeletionDelete.json | 25 + .../2024-02-01/examples/ResourceInfoGet.json | 41 + .../examples/ResourceUpdatePatch.json | 78 ++ .../stable/2024-02-01/healthbot.json | 951 ++++++++++++++++++ .../healthbot/resource-manager/readme.md | 11 +- .../resource-manager/sdk-suppressions.yaml | 9 + 12 files changed, 1386 insertions(+), 1 deletion(-) create mode 100644 specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/GetOperations.json create mode 100644 specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ListBotsByResourceGroup.json create mode 100644 specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ListBotsBySubscription.json create mode 100644 specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ListSecrets.json create mode 100644 specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/RegenerateApiJwtSecret.json create mode 100644 specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ResourceCreationPut.json create mode 100644 specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ResourceDeletionDelete.json create mode 100644 specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ResourceInfoGet.json create mode 100644 specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ResourceUpdatePatch.json create mode 100644 specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/healthbot.json create mode 100644 specification/healthbot/resource-manager/sdk-suppressions.yaml diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/GetOperations.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/GetOperations.json new file mode 100644 index 000000000000..2d9048db40e0 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/GetOperations.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Healthbot/healthbots/read", + "display": { + "provider": "Azure Health Bot", + "resource": "Azure Health Bot", + "operation": "Read Azure Health Bot", + "description": "Read Azure Health Bot" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Healthbot/healthbots/write", + "display": { + "provider": "Azure Health Bot", + "resource": "Azure Health Bot", + "operation": "Write Azure Health Bot", + "description": "Writes Azure Health Bot" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Healthbot/healthbots/delete", + "display": { + "provider": "Azure Health Bot", + "resource": "Azure Health Bot", + "operation": "Delete Azure Health Bot", + "description": "Deletes Azure Health Bot" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ListBotsByResourceGroup.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ListBotsByResourceGroup.json new file mode 100644 index 000000000000..d50d8756b0ce --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ListBotsByResourceGroup.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2024-02-01" + }, + "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/samplebotname-1yhd91k" + }, + "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" + } + }, + { + "location": "East US", + "name": "samplebotname2", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname2", + "sku": { + "name": "S1" + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {}, + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {} + }, + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned, UserAssigned" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/samplebotname2-hdi1osc" + }, + "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/2024-02-01/examples/ListBotsBySubscription.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ListBotsBySubscription.json new file mode 100644 index 000000000000..95944329ba26 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ListBotsBySubscription.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2024-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "East US", + "name": "samplebotname2", + "type": "Microsoft.HealthBot/healthBots", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname2", + "sku": { + "name": "S1" + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {}, + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {} + }, + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned, UserAssigned" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/samplebotname2-hdi1osc" + }, + "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/2024-02-01/examples/ListSecrets.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ListSecrets.json new file mode 100644 index 000000000000..30ee76cf82f3 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ListSecrets.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2024-02-01", + "subscriptionId": "subid", + "botName": "samplebotname" + }, + "responses": { + "200": { + "body": { + "secrets": [ + { + "keyName": "APP_SECRET", + "value": "XXXXX" + }, + { + "keyName": "WEBCHAT_SECRET", + "value": "XXXXX" + }, + { + "keyName": "API_JWT_SECRET", + "value": "XXXXX" + } + ] + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/RegenerateApiJwtSecret.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/RegenerateApiJwtSecret.json new file mode 100644 index 000000000000..7e3bcf2aea80 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/RegenerateApiJwtSecret.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2024-02-01", + "subscriptionId": "subid", + "botName": "samplebotname" + }, + "responses": { + "200": { + "body": { + "keyName": "API_JWT_SECRET", + "value": "XXXXX" + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ResourceCreationPut.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ResourceCreationPut.json new file mode 100644 index 000000000000..821502fee8ff --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ResourceCreationPut.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2024-02-01", + "subscriptionId": "subid", + "botName": "samplebotname", + "parameters": { + "location": "East US", + "sku": { + "name": "F0" + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {}, + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {} + }, + "type": "SystemAssigned, UserAssigned" + } + } + }, + "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" + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {}, + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {} + }, + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned, UserAssigned" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso" + }, + "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", + "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/2024-02-01/examples/ResourceDeletionDelete.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ResourceDeletionDelete.json new file mode 100644 index 000000000000..ec09128cb0b6 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ResourceDeletionDelete.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2024-02-01", + "subscriptionId": "subid", + "botName": "samplebotname" + }, + "responses": { + "200": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Healthbot/locations/eastus/operationResults/742bef43-608b-4b58-ba96-6f7a32ec5f0f?api-version=2022-08-08" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Healthbot/locations/eastus/operationResults/742bef43-608b-4b58-ba96-6f7a32ec5f0f?api-version=2022-08-08" + } + }, + "204": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Healthbot/locations/eastus/operationResults/742bef43-608b-4b58-ba96-6f7a32ec5f0f?api-version=2022-08-08" + } + } + } +} diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ResourceInfoGet.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ResourceInfoGet.json new file mode 100644 index 000000000000..a25870d25619 --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ResourceInfoGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2024-02-01", + "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" + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {}, + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {} + }, + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned, UserAssigned" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso" + }, + "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/2024-02-01/examples/ResourceUpdatePatch.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ResourceUpdatePatch.json new file mode 100644 index 000000000000..ec970410509f --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/examples/ResourceUpdatePatch.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "resourceGroupName": "healthbotClient", + "api-version": "2024-02-01", + "subscriptionId": "subid", + "botName": "samplebotname", + "identity": { + "userAssignedIdentities": { + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {}, + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {} + }, + "type": "SystemAssigned, UserAssigned" + }, + "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" + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {}, + "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {} + }, + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned, UserAssigned" + }, + "properties": { + "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso" + }, + "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": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Healthbot/locations/eastus/operationResults/742bef43-608b-4b58-ba96-6f7a32ec5f0f?api-version=2024-02-01" + }, + "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" + }, + "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/2024-02-01/healthbot.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/healthbot.json new file mode 100644 index 000000000000..e8230c04ca5e --- /dev/null +++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2024-02-01/healthbot.json @@ -0,0 +1,951 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-01", + "title": "Azure Health Bot", + "description": "Azure Health 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthBot/healthBots/{botName}": { + "put": { + "operationId": "Bots_Create", + "x-ms-examples": { + "BotCreate": { + "$ref": "./examples/ResourceCreationPut.json" + } + }, + "description": "Create a new Azure Health 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 Azure Health 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 HealthBot.", + "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 HealthBot.", + "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 Azure Health 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" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "Bots_Delete", + "x-ms-examples": { + "BotDelete": { + "$ref": "./examples/ResourceDeletionDelete.json" + } + }, + "description": "Delete a HealthBot.", + "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/{botName}/listSecrets": { + "post": { + "operationId": "Bots_ListSecrets", + "x-ms-examples": { + "Bot List Secrets": { + "$ref": "./examples/ListSecrets.json" + } + }, + "description": "List all secrets of a HealthBot.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "If secrets are retrieved successfully, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/HealthBotKeysResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthBot/healthBots/{botName}/regenerateApiJwtSecret": { + "post": { + "operationId": "Bots_RegenerateApiJwtSecret", + "x-ms-examples": { + "Bot Regenerate API JWT Secret": { + "$ref": "./examples/RegenerateApiJwtSecret.json" + } + }, + "description": "Regenerate the API JWT Secret of a HealthBot.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "If secret was regenerated successfully, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/HealthBotKey" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/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 Azure Health Bot 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": { + "Identity": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The identity type. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the Azure Health Bot", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedIdentityMap", + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form:\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.\n" + } + }, + "description": "Identity for the resource." + }, + "UserAssignedIdentityMap": { + "type": "object", + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form:\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.\n", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + }, + "UserAssignedIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client ID of user assigned identity." + } + }, + "type": "object", + "description": "The details of the user assigned managed identity used by the Video Analyzer resource." + }, + "KeyVaultProperties": { + "type": "object", + "description": "Properties of the key vault.", + "required": [ + "keyName", + "keyVaultUri" + ], + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key vault key.", + "x-ms-client-name": "KeyName" + }, + "keyVersion": { + "type": "string", + "description": "The version of the key vault key.", + "x-ms-client-name": "KeyVersion" + }, + "keyVaultUri": { + "type": "string", + "description": "The Uri of the key vault.", + "x-ms-client-name": "KeyVaultUri" + }, + "userIdentity": { + "type": "string", + "description": "The user assigned identity (ARM resource id) that has access to the key.", + "x-ms-client-name": "UserIdentity" + } + } + }, + "Sku": { + "type": "object", + "description": "The resource model definition representing SKU", + "properties": { + "name": { + "type": "string", + "description": "The name of the Azure Health Bot SKU", + "enum": [ + "F0", + "S1", + "C0", + "PES", + "C1" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + } + }, + "required": [ + "name" + ] + }, + "Resource": { + "type": "object", + "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": { + "type": "object", + "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": "Azure Health Bot resource definition", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU of the Azure Health Bot." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the Azure Health Bot." + }, + "properties": { + "$ref": "#/definitions/HealthBotProperties", + "description": "The set of properties specific to Azure Health Bot resource." + } + }, + "required": [ + "sku" + ] + }, + "HealthBotProperties": { + "type": "object", + "title": "HealthBotProperties", + "description": "The properties of a Azure Health Bot. 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 Azure Health Bot resource.", + "readOnly": true + }, + "botManagementPortalLink": { + "type": "string", + "description": "The link.", + "readOnly": true + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "KeyVault properties for the resource encryption." + } + } + }, + "HealthBotUpdateParameters": { + "type": "object", + "description": "Parameters for updating a Azure Health Bot.", + "properties": { + "properties": { + "$ref": "#/definitions/HealthBotProperties", + "description": "Properties of Azure Health Bot." + }, + "tags": { + "type": "object", + "description": "Tags for a Azure Health Bot.", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ] + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU of the Azure Health Bot." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the Azure Health Bot." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + } + } + }, + "HealthBotKey": { + "type": "object", + "description": "An entry of HealthBotKeysResponse", + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key." + }, + "value": { + "type": "string", + "x-ms-secret": true, + "description": "The value of the key." + } + } + }, + "HealthBotKeysResponse": { + "type": "object", + "description": "Health Bot Keys Response.", + "properties": { + "secrets": { + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/HealthBotKey" + }, + "description": "Array of Azure Health Bot Secrets.", + "minLength": 3, + "maxLength": 3 + } + } + }, + "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": { + "type": "object", + "title": "ValidationResult", + "description": "The response returned from validation process", + "properties": { + "status": { + "type": "string", + "description": "The status code of the response validation." + } + } + }, + "Error": { + "type": "object", + "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" + }, + "x-ms-identifiers": [], + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "x-ms-identifiers": [], + "description": "The error additional info." + } + } + } + }, + "description": "The resource management error response." + }, + "ErrorAdditionalInfo": { + "type": "object", + "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" + }, + "x-ms-identifiers": [] + }, + "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": { + "type": "object", + "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 Azure Health Bot results and their properties." + } + }, + "description": "The list of Azure Health 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.md b/specification/healthbot/resource-manager/readme.md index 7b0264f175e7..1ad2c4224470 100644 --- a/specification/healthbot/resource-manager/readme.md +++ b/specification/healthbot/resource-manager/readme.md @@ -28,7 +28,16 @@ These are the global settings for the healthbot. title: HealthbotClient openapi-type: arm openapi-subtype: rpaas -tag: package-2023-05-01 +tag: package-2024-02 +``` + +### Tag: package-2024-02 + +These settings apply only when `--tag=package-2024-02` is specified on the command line. + +```yaml $(tag) == 'package-2024-02' +input-file: + - Microsoft.HealthBot/stable/2024-02-01/healthbot.json ``` ### Tag: package-2023-05-01 diff --git a/specification/healthbot/resource-manager/sdk-suppressions.yaml b/specification/healthbot/resource-manager/sdk-suppressions.yaml new file mode 100644 index 000000000000..abda4290ba90 --- /dev/null +++ b/specification/healthbot/resource-manager/sdk-suppressions.yaml @@ -0,0 +1,9 @@ +suppressions: + azure-sdk-for-go: + - package: sdk/resourcemanager/healthbot/armhealthbot + breaking-changes: + - Operation `*BotsClient.Update` has been changed to LRO, use `*BotsClient.BeginUpdate` instead. + azure-sdk-for-js: + - package: "@azure/arm-healthbot" + breaking-changes: + - Removed operation Bots.update