diff --git a/specification/botservice/BotService.Management/Bot.tsp b/specification/botservice/BotService.Management/Bot.tsp new file mode 100644 index 000000000000..204ccc7c3aaa --- /dev/null +++ b/specification/botservice/BotService.Management/Bot.tsp @@ -0,0 +1,131 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.BotService; +/** + * Bot resource definition + */ +model Bot is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = Bot, + KeyName = "resourceName", + SegmentName = "botServices", + NamePattern = "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" + >; + + /** + * Gets or sets the SKU of the resource. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + sku?: Sku; + + /** + * Required. Gets or sets the Kind of the resource. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + kind?: Kind; + + /** + * Entity Tag. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + etag?: string; + + /** + * Entity zones + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + zones?: string[]; +} + +@armResourceOperations +interface Bots { + /** + * Returns a BotService specified by the parameters. + */ + get is ArmResourceRead; + + /** + * Creates a Bot Service. Bot Service is a resource group wide resource type. + */ + create is ArmResourceCreateOrReplaceSync; + + /** + * Updates a Bot Service + */ + @patch(#{ implicitOptionality: false }) + update is ArmCustomPatchSync< + Bot, + PatchModel = Bot, + Response = ArmResponse | ArmResourceCreatedSyncResponse, + Error = Error + >; + + /** + * Deletes a Bot Service from the resource group. + */ + delete is ArmResourceDeleteSync; + + /** + * Returns all the resources of a particular type belonging to a resource group + */ + listByResourceGroup is ArmResourceListByParent< + Bot, + Response = ArmResponse, + Error = Error + >; + + /** + * Returns all the resources of a particular type belonging to a subscription. + */ + list is ArmListBySubscription< + Bot, + Response = ArmResponse, + Error = Error + >; + + /** + * Creates an email channel sign in url for a Bot Service + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @action("createEmailSignInUrl") + createSignInUrl is ArmResourceActionSync< + Bot, + void, + ArmResponse, + Error = Error + >; + + /** + * Gets the private link resources that need to be created for a Bot. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @get + @action("privateLinkResources") + listByBotResource is ArmResourceActionSync< + Bot, + void, + ArmResponse, + Error = Error + >; +} + +@@maxLength(Bot.name, 64); +@@minLength(Bot.name, 2); +@@doc(Bot.name, "The name of the Bot resource."); +@@doc(Bot.properties, "The set of properties specific to bot resource"); +@@doc(Bots.create::parameters.resource, + "The parameters to provide for the created bot." +); +@@doc(Bots.update::parameters.properties, + "The parameters to provide for the created bot." +); diff --git a/specification/botservice/BotService.Management/BotChannel.tsp b/specification/botservice/BotService.Management/BotChannel.tsp new file mode 100644 index 000000000000..3d5751096f5e --- /dev/null +++ b/specification/botservice/BotService.Management/BotChannel.tsp @@ -0,0 +1,186 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; +import "./Bot.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.BotService; +/** + * Bot channel resource definition + */ +@parentResource(Bot) +model BotChannel is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = BotChannel, + KeyName = "channelName", + SegmentName = "channels", + NamePattern = "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" + >; + + /** + * Gets or sets the SKU of the resource. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + sku?: Sku; + + /** + * Required. Gets or sets the Kind of the resource. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + kind?: Kind; + + /** + * Entity Tag. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + etag?: string; + + /** + * Entity zones + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + zones?: string[]; +} + +@armResourceOperations +interface BotChannelOps + extends Azure.ResourceManager.Legacy.LegacyOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** + * The name of the Bot resource. + */ + @path + @segment("botServices") + @pattern("^[a-zA-Z0-9][a-zA-Z0-9_.-]*$") + @maxLength(64) + @minLength(2) + resourceName: string, + }, + { + /** + * The name of the Channel resource. + */ + @path + @segment("channels") + channelName: ChannelName, + }, + ErrorType = Error + > {} + +@armResourceOperations +interface BotChannelRegenerateKeysOps + extends Azure.ResourceManager.Legacy.LegacyOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** + * The name of the Bot resource. + */ + @path + @segment("botServices") + @pattern("^[a-zA-Z0-9][a-zA-Z0-9_.-]*$") + @maxLength(64) + @minLength(2) + resourceName: string, + }, + { + /** + * The name of the Channel resource for which keys are to be regenerated. + */ + @path + @segment("channels") + channelName: RegenerateKeysChannelName, + }, + ErrorType = Error + > {} + +@armResourceOperations +interface BotChannels { + /** + * Returns a BotService Channel registration specified by the parameters. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + get is ArmResourceRead; + + /** + * Creates a Channel registration for a Bot Service + */ + create is BotChannelOps.CreateOrUpdateSync; + + /** + * Updates a Channel registration for a Bot Service + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @patch(#{ implicitOptionality: false }) + update is BotChannelOps.CustomPatchSync< + BotChannel, + PatchModel = BotChannel, + Response = ArmResponse | ArmResourceCreatedSyncResponse + >; + + /** + * Deletes a Channel registration from a Bot Service + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + delete is ArmResourceDeleteSync; + + /** + * Returns all the Channel registrations of a particular BotService resource + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + listByResourceGroup is ArmResourceListByParent< + BotChannel, + Response = ArmResponse, + Error = Error + >; + + /** + * Lists a Channel registration for a Bot Service including secrets + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @action("listChannelWithKeys") + listWithKeys is BotChannelOps.ActionSync< + BotChannel, + void, + ArmResponse + >; + + /** + * Regenerates secret keys and returns them for the DirectLine Channel of a particular BotService resource + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @action("regeneratekeys") + regenerateKeys is BotChannelRegenerateKeysOps.ActionSync< + BotChannel, + SiteInfo, + ArmResponse + >; +} + +@@maxLength(BotChannel.name, 64); +@@minLength(BotChannel.name, 2); +@@doc(BotChannel.name, "The name of the Bot resource."); +@@doc(BotChannel.properties, + "The set of properties specific to bot channel resource" +); +@@doc(BotChannels.update::parameters.properties, + "The parameters to provide for the created bot." +); +@@doc(BotChannels.regenerateKeys::parameters.body, + "The parameters to provide for the created bot." +); diff --git a/specification/botservice/BotService.Management/ConnectionSetting.tsp b/specification/botservice/BotService.Management/ConnectionSetting.tsp new file mode 100644 index 000000000000..987948c7c5db --- /dev/null +++ b/specification/botservice/BotService.Management/ConnectionSetting.tsp @@ -0,0 +1,133 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; +import "./Bot.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.BotService; +/** + * Bot channel resource definition + */ +@parentResource(Bot) +model ConnectionSetting + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = ConnectionSetting, + KeyName = "connectionName", + SegmentName = "connections", + NamePattern = "^[a-zA-Z0-9][\\sa-zA-Z0-9_.-]*$" + >; + + /** + * Specifies the location of the resource. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + location?: string; + + /** + * Contains resource tags defined as key/value pairs. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + tags?: Record; + + /** + * Gets or sets the SKU of the resource. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + sku?: Sku; + + /** + * Required. Gets or sets the Kind of the resource. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + kind?: Kind; + + /** + * Entity Tag. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + etag?: string; + + /** + * Entity zones + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + zones?: string[]; +} + +@armResourceOperations +interface ConnectionSettings { + /** + * Get a Connection Setting registration for a Bot Service + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + get is ArmResourceRead; + + /** + * Register a new Auth Connection for a Bot Service + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + create is ArmResourceCreateOrReplaceSync; + + /** + * Updates a Connection Setting registration for a Bot Service + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @patch(#{ implicitOptionality: false }) + update is ArmCustomPatchSync< + ConnectionSetting, + PatchModel = ConnectionSetting, + Response = ArmResponse | ArmResourceCreatedSyncResponse, + Error = Error + >; + + /** + * Deletes a Connection Setting registration for a Bot Service + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + delete is ArmResourceDeleteSync; + + /** + * Returns all the Connection Settings registered to a particular BotService resource + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + listByBotService is ArmResourceListByParent< + ConnectionSetting, + Response = ArmResponse, + Error = Error + >; + + /** + * Get a Connection Setting registration for a Bot Service + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + listWithSecrets is ArmResourceActionSync< + ConnectionSetting, + void, + ArmResponse, + Error = Error + >; +} + +@@maxLength(ConnectionSetting.name, 64); +@@minLength(ConnectionSetting.name, 2); +@@doc(ConnectionSetting.name, + "The name of the Bot Service Connection Setting resource." +); +@@doc(ConnectionSetting.properties, + "The set of properties specific to bot channel resource" +); +@@doc(ConnectionSettings.create::parameters.resource, + "The parameters to provide for creating the Connection Setting." +); +@@doc(ConnectionSettings.update::parameters.properties, + "The parameters to provide for updating the Connection Setting." +); diff --git a/specification/botservice/BotService.Management/NetworkSecurityPerimeterConfiguration.tsp b/specification/botservice/BotService.Management/NetworkSecurityPerimeterConfiguration.tsp new file mode 100644 index 000000000000..50984142acda --- /dev/null +++ b/specification/botservice/BotService.Management/NetworkSecurityPerimeterConfiguration.tsp @@ -0,0 +1,59 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; +import "./Bot.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.BotService; +/** + * Network Security Perimeter configuration + */ +@parentResource(Bot) +model NetworkSecurityPerimeterConfiguration + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = NetworkSecurityPerimeterConfiguration, + KeyName = "networkSecurityPerimeterConfigurationName", + SegmentName = "networkSecurityPerimeterConfigurations", + NamePattern = ".*" + >; +} + +@armResourceOperations +interface NetworkSecurityPerimeterConfigurations { + /** + * Gets the specified Network Security Perimeter configuration associated with the Bot. + */ + get is ArmResourceRead; + + /** + * List Network Security Perimeter configurations associated with the Bot. + */ + list is ArmResourceListByParent< + NetworkSecurityPerimeterConfiguration, + Response = ArmResponse, + Error = Error + >; + + /** + * Reconcile the specified Network Security Perimeter configuration associated with the Bot. + */ + reconcile is ArmResourceActionAsync< + NetworkSecurityPerimeterConfiguration, + void, + NetworkSecurityPerimeterConfiguration + >; +} + +@@doc(NetworkSecurityPerimeterConfiguration.name, + "The resource association Name. Composed of parameter guid and association name." +); +@@doc(NetworkSecurityPerimeterConfiguration.properties, + "Properties of the Network Security Perimeter configuration" +); diff --git a/specification/botservice/BotService.Management/PrivateEndpointConnection.tsp b/specification/botservice/BotService.Management/PrivateEndpointConnection.tsp new file mode 100644 index 000000000000..11de075d915a --- /dev/null +++ b/specification/botservice/BotService.Management/PrivateEndpointConnection.tsp @@ -0,0 +1,66 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; +import "./Bot.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.BotService; +/** + * The Private Endpoint Connection resource. + */ +@parentResource(Bot) +model PrivateEndpointConnection + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = PrivateEndpointConnection, + KeyName = "privateEndpointConnectionName", + SegmentName = "privateEndpointConnections", + NamePattern = "" + >; +} + +@armResourceOperations +interface PrivateEndpointConnections { + /** + * Gets the specified private endpoint connection associated with the Bot. + */ + get is ArmResourceRead; + + /** + * Update the state of specified private endpoint connection associated with the Bot. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + create is ArmResourceCreateOrReplaceSync< + PrivateEndpointConnection, + Response = ArmResourceUpdatedResponse, + Error = Error + >; + + /** + * Deletes the specified private endpoint connection associated with the Bot. + */ + delete is ArmResourceDeleteSync; + + /** + * List all the private endpoint connections associated with the Bot. + */ + list is ArmResourceListByParent< + PrivateEndpointConnection, + Response = ArmResponse, + Error = Error + >; +} + +@@doc(PrivateEndpointConnection.name, + "The name of the private endpoint connection associated with the Azure resource" +); +@@doc(PrivateEndpointConnection.properties, "Resource properties."); +@@doc(PrivateEndpointConnections.create::parameters.resource, + "The private endpoint connection properties." +); diff --git a/specification/botservice/BotService.Management/back-compatible.tsp b/specification/botservice/BotService.Management/back-compatible.tsp new file mode 100644 index 000000000000..cff2c4d8f99d --- /dev/null +++ b/specification/botservice/BotService.Management/back-compatible.tsp @@ -0,0 +1,63 @@ +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; +using Microsoft.BotService; + +#suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@flattenProperty(PrivateLinkResource.properties); + +@@clientName(Bots.create::parameters.resource, "parameters"); +@@clientName(Bots.update::parameters.properties, "parameters"); + +@@clientName(PrivateEndpointConnections.create::parameters.resource, + "properties" +); +#suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@flattenProperty(PrivateEndpointConnection.properties); + +@@clientName(BotChannels.create::parameters.resource, "parameters"); +@@clientName(BotChannels.update::parameters.properties, "parameters"); +@@clientName(BotChannels.regenerateKeys::parameters.body, "parameters"); + +@@clientName(ConnectionSettings.create::parameters.resource, "parameters"); +@@clientName(ConnectionSettings.update::parameters.properties, "parameters"); + +@@clientName(BotsOperationGroup.getCheckNameAvailability::parameters.body, + "parameters" +); +@@clientName(QnAMakerEndpointKeysOperationGroup.get::parameters.body, + "parameters" +); + +// @@clientLocation decorators for @operationId operations +// Bots interface +@@clientLocation(Bots.createSignInUrl, "Email"); +@@clientLocation(Bots.listByBotResource, "PrivateLinkResources"); + +// BotChannels interface +@@clientLocation(BotChannels.get, "Channels"); +@@clientLocation(BotChannels.create, "Channels"); +@@clientLocation(BotChannels.update, "Channels"); +@@clientLocation(BotChannels.delete, "Channels"); +@@clientLocation(BotChannels.listByResourceGroup, "Channels"); +@@clientLocation(BotChannels.listWithKeys, "Channels"); +@@clientLocation(BotChannels.regenerateKeys, "DirectLine"); + +// ConnectionSettings interface +@@clientLocation(ConnectionSettings.get, "BotConnection"); +@@clientLocation(ConnectionSettings.create, "BotConnection"); +@@clientLocation(ConnectionSettings.update, "BotConnection"); +@@clientLocation(ConnectionSettings.delete, "BotConnection"); +@@clientLocation(ConnectionSettings.listByBotService, "BotConnection"); +@@clientLocation(ConnectionSettings.listWithSecrets, "BotConnection"); + +// OperationGroup interfaces from routes.tsp - use interface references to avoid conflicts +@@clientLocation(BotsOperationGroup.getCheckNameAvailability, Bots); +@@clientLocation(BotConnectionOperationGroup.listServiceProviders, + "BotConnection" +); +@@clientLocation(QnAMakerEndpointKeysOperationGroup.get, + "QnAMakerEndpointKeys" +); +@@clientLocation(HostSettingsOperationGroup.get, "HostSettings"); +@@clientLocation(OperationResultsOperationGroup.get, "OperationResults"); diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/CheckNameAvailability.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/CheckNameAvailability.json new file mode 100644 index 000000000000..c77c55835154 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/CheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "parameters": { + "name": "testbotname", + "type": "string" + } + }, + "responses": { + "200": { + "body": { + "message": "custom message from server", + "valid": true + } + } + }, + "operationId": "Bots_GetCheckNameAvailability", + "title": "check Name Availability" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/CreateBot.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/CreateBot.json new file mode 100644 index 000000000000..3a585c2fe8a5 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/CreateBot.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "parameters": { + "etag": "etag1", + "kind": "sdk", + "location": "West US", + "properties": { + "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApiKey": "appinsightsapikey", + "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "iconUrl": "http://myicon", + "isCmekEnabled": true, + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "luisKey": "luiskey", + "msaAppId": "exampleappid", + "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", + "msaAppTenantId": "exampleapptenantid", + "msaAppType": "UserAssignedMSI", + "publicNetworkAccess": "Enabled", + "schemaTransformationVersion": "1.0" + }, + "sku": { + "name": "S1" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "kind": "sdk", + "location": "West US", + "properties": { + "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "configuredChannels": [ + "facebook", + "groupme" + ], + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, + "displayName": "The Name of the bot", + "enabledChannels": [ + "facebook" + ], + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "isCmekEnabled": true, + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", + "publicNetworkAccess": "Enabled", + "schemaTransformationVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "201": { + "body": { + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "kind": "sdk", + "location": "West US", + "properties": { + "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "configuredChannels": [ + "facebook", + "groupme" + ], + "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, + "displayName": "The Name of the bot", + "enabledChannels": [ + "facebook" + ], + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "isCmekEnabled": true, + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", + "publicNetworkAccess": "Enabled", + "schemaTransformationVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + } + }, + "operationId": "Bots_Create", + "title": "Create Bot" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/CreateEmailSignInUrl.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/CreateEmailSignInUrl.json new file mode 100644 index 000000000000..53b1a1d46ade --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/CreateEmailSignInUrl.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "location": "global", + "properties": { + "url": "https://token.botframework.com/api/oauth/signin?signin=XXX" + } + } + } + }, + "operationId": "Email_CreateSignInUrl", + "title": "Create Url" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/DeleteBot.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/DeleteBot.json new file mode 100644 index 000000000000..9872dc9dea70 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/DeleteBot.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "Bots_Delete", + "title": "Delete Bot" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/DeleteChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/DeleteChannel.json new file mode 100644 index 000000000000..7d36804fa959 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/DeleteChannel.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "EmailChannel", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "Channels_Delete", + "title": "Delete Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/DeleteConnection.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/DeleteConnection.json new file mode 100644 index 000000000000..7952aef418bd --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/DeleteConnection.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "connectionName": "sampleConnection", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "BotConnection_Delete", + "title": "Delete Connection Setting" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/DeleteDirectLineSpeechChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/DeleteDirectLineSpeechChannel.json new file mode 100644 index 000000000000..c1c183935453 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/DeleteDirectLineSpeechChannel.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "DirectLineSpeechChannel", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "Channels_Delete", + "title": "Delete DirectLine Speech Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/DeletePrivateEndpointConnection.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/DeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..911e202085a0 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/DeletePrivateEndpointConnection.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "resourceGroupName": "res6977", + "resourceName": "sto2527", + "subscriptionId": "{subscription-id}" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "PrivateEndpointConnections_Delete", + "title": "Delete Private Endpoint Connection" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/DirectlineRegenerateKeys.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/DirectlineRegenerateKeys.json new file mode 100644 index 000000000000..fe66b5287425 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/DirectlineRegenerateKeys.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "DirectLineChannel", + "parameters": { + "key": "key1", + "siteName": "testSiteName" + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "DirectLineChannel", + "properties": { + "sites": [ + { + "isEnabled": true, + "isV1Enabled": true, + "isV3Enabled": true, + "key": "key1", + "key2": "key2", + "siteId": "abcd", + "siteName": "Default Site" + } + ] + } + } + } + } + }, + "operationId": "DirectLine_RegenerateKeys", + "title": "Regenerate Keys for DirectLine Channel Site" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetAlexaChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetAlexaChannel.json new file mode 100644 index 000000000000..04c6d76ed9ce --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetAlexaChannel.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "AlexaChannel", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "alexa skill id", + "isEnabled": true, + "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", + "urlFragment": "XUrlFragmentX" + } + } + } + } + }, + "operationId": "Channels_Get", + "title": "Get Alexa Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetBot.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetBot.json new file mode 100644 index 000000000000..9688bf83bee0 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetBot.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "kind": "sdk", + "location": "West US", + "properties": { + "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "configuredChannels": [ + "facebook", + "groupme" + ], + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, + "displayName": "The Name of the bot", + "enabledChannels": [ + "facebook" + ], + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "isCmekEnabled": true, + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", + "networkSecurityPerimeterConfigurations": [], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/privateEndpointConnections/privatelink", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.Network/privateEndpoints/privatelink" + }, + "privateLinkServiceConnectionState": { + "description": "Auto-Approved", + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + ], + "publicNetworkAccess": "Enabled", + "schemaTransformationVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + } + }, + "operationId": "Bots_Get", + "title": "Get Bot" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetChannel.json new file mode 100644 index 000000000000..96de313a9a80 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetChannel.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "EmailChannel", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "isEnabled": true, + "password": "pwd" + } + } + } + } + }, + "operationId": "Channels_Get", + "title": "Get Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetConnection.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetConnection.json new file mode 100644 index 000000000000..d01ca3090ccd --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetConnection.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "connectionName": "sampleConnection", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "name": "sampleConnection", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "location": "global", + "properties": { + "name": "sampleConnection", + "clientId": "sampleclientid", + "clientSecret": null, + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ], + "scopes": "samplescope", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "serviceProviderId": "serviceproviderid" + } + } + } + }, + "operationId": "BotConnection_Get", + "title": "Get Connection Setting" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetConnectionListWithSecrets.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetConnectionListWithSecrets.json new file mode 100644 index 000000000000..da6f8c8ac657 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetConnectionListWithSecrets.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "connectionName": "sampleConnection", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "name": "sampleConnection", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "location": "global", + "properties": { + "name": "sampleConnection", + "clientId": "sampleclientid", + "clientSecret": null, + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ], + "scopes": "samplescope", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "serviceProviderId": "serviceproviderid" + } + } + } + }, + "operationId": "BotConnection_ListWithSecrets", + "title": "List Connection Setting With Secrets" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetDirectLineSpeechChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetDirectLineSpeechChannel.json new file mode 100644 index 000000000000..69b21a07d3a6 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetDirectLineSpeechChannel.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "DirectLineSpeechChannel", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServiceRegion": "Cognitive service region", + "customSpeechModelId": "Custom speech model ID", + "customVoiceDeploymentId": "Custom voice deployment ID", + "isDefaultBotForCogSvcAccount": true, + "isEnabled": true + } + } + } + } + }, + "operationId": "Channels_Get", + "title": "Get DirectLine Speech Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetHostSettings.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetHostSettings.json new file mode 100644 index 000000000000..8b67cddb7385 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetHostSettings.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "BotOpenIdMetadata": "https://login.botframework.com/v1/.well-known/openidconfiguration", + "OAuthUrl": "https://token.botframework.com/", + "ToBotFromChannelOpenIdMetadataUrl": "https://login.botframework.com/v1/.well-known/openidconfiguration", + "ToBotFromChannelTokenIssuer": "https://api.botframework.com", + "ToBotFromEmulatorOpenIdMetadataUrl": "https://login.microsoftonline.com/botframework.com/v2.0/.well-known/openid-configuration", + "ToChannelFromBotLoginUrl": "https://login.microsoftonline.com/botframework.com", + "ToChannelFromBotOAuthScope": "https://api.botframework.com", + "ValidateAuthority": true + } + } + }, + "operationId": "HostSettings_Get", + "title": "Get Bot Host Settings" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetLineChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetLineChannel.json new file mode 100644 index 000000000000..b221c7a78a54 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetLineChannel.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "LineChannel", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "callbackUrl": "http://callbackUrl", + "isValidated": true, + "lineRegistrations": [ + { + "channelAccessToken": null, + "channelSecret": null, + "generatedId": "id" + } + ] + } + } + } + } + }, + "operationId": "Channels_Get", + "title": "Get Line Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetNetworkSecurityPerimeterConfiguration.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetNetworkSecurityPerimeterConfiguration.json new file mode 100644 index 000000000000..4ddecabdc4d1 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetNetworkSecurityPerimeterConfiguration.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "networkSecurityPerimeterConfigurationName": "00000000-0000-0000-0000-000000000000.associationName", + "resourceGroupName": "rgName", + "resourceName": "botId", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "name": "00000000-0000-0000-0000-000000000000.associationName", + "type": "Microsoft.BotService/botServices/networkSecurityPerimeterConfigurations", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.BotService/botServices/botId/networkSecurityPerimeterConfigurations/00000000-0000-0000-0000-000000000000.associationName", + "properties": { + "networkSecurityPerimeter": { + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Network/networkSecurityPerimeters/nspName", + "location": "westcentralus", + "perimeterGuid": "00000000-0000-0000-0000-000000000000" + }, + "profile": { + "name": "defaultProfile", + "accessRules": [ + { + "name": "Inbound1", + "properties": { + "addressPrefixes": [ + "10.0.0.0/16" + ], + "direction": "Inbound", + "emailAddresses": [], + "fullyQualifiedDomainNames": [], + "networkSecurityPerimeters": [], + "phoneNumbers": [], + "subscriptions": [] + } + }, + { + "name": "Outbound1", + "properties": { + "addressPrefixes": [], + "direction": "Outbound", + "emailAddresses": [], + "fullyQualifiedDomainNames": [ + "*" + ], + "networkSecurityPerimeters": [], + "phoneNumbers": [], + "subscriptions": [] + } + } + ], + "accessRulesVersion": 2, + "diagnosticSettingsVersion": 0, + "enabledLogCategories": [] + }, + "provisioningIssues": [], + "provisioningState": "Succeeded", + "resourceAssociation": { + "name": "associationName", + "accessMode": "Learning" + } + } + } + } + }, + "operationId": "NetworkSecurityPerimeterConfigurations_Get", + "title": "Get Network Security Perimeter Configuration" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetOperations.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetOperations.json new file mode 100644 index 000000000000..2782fe3dea3b --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetOperations.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.BotService/botService/read", + "display": { + "description": "Read Bot Service", + "operation": "Read Bot Service", + "provider": "Microsoft Bot Service", + "resource": "Bot Service" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BotService/botService/write", + "display": { + "description": "Writes Bot Service", + "operation": "Write Bot Service", + "provider": "Microsoft Bot Service", + "resource": "Bot Service" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BotService/botService/delete", + "display": { + "description": "Deletes Bot Service", + "operation": "Delete Bot Service", + "provider": "Microsoft Bot Service", + "resource": "Bot Service" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BotService/botService/botName/read", + "display": { + "description": "Check bot name availability", + "operation": "Check bot name availability", + "provider": "Microsoft Bot Service", + "resource": "Bot Service name availability" + }, + "origin": "user,system" + } + ] + } + } + }, + "operationId": "Operations_List", + "title": "Get Operations" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetPrivateEndpointConnection.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetPrivateEndpointConnection.json new file mode 100644 index 000000000000..d4665153e74c --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/GetPrivateEndpointConnection.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "resourceGroupName": "res6977", + "resourceName": "sto2527", + "subscriptionId": "{subscription-id}" + }, + "responses": { + "200": { + "body": { + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.BotService/botServices/privateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "description": "Auto-Approved", + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + } + }, + "operationId": "PrivateEndpointConnections_Get", + "title": "Get Private Endpoint Connection" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListBotsByResourceGroup.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListBotsByResourceGroup.json new file mode 100644 index 000000000000..53575ea24742 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListBotsByResourceGroup.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "resourceGroupName": "OneResourceGroupName", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices", + "kind": "sdk", + "location": "West US", + "properties": { + "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "configuredChannels": [ + "facebook", + "groupme" + ], + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, + "displayName": "The Name of the bot", + "enabledChannels": [ + "facebook" + ], + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "isCmekEnabled": true, + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", + "publicNetworkAccess": "Enabled", + "schemaTransformationVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + ] + } + } + }, + "operationId": "Bots_ListByResourceGroup", + "title": "List Bots by Resource Group" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListBotsBySubscription.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListBotsBySubscription.json new file mode 100644 index 000000000000..ccab44e99b61 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListBotsBySubscription.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "etag": "etag1", + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "kind": "sdk", + "location": "West US", + "properties": { + "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "configuredChannels": [ + "facebook", + "groupme" + ], + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, + "displayName": "The Name of the bot", + "enabledChannels": [ + "facebook" + ], + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "isCmekEnabled": true, + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", + "publicNetworkAccess": "Enabled", + "schemaTransformationVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + ] + } + } + }, + "operationId": "Bots_List", + "title": "List Bots by Subscription" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListChannel.json new file mode 100644 index 000000000000..fc06723368f8 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListChannel.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "EmailChannel", + "parameters": { + "location": "global" + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "isEnabled": true, + "password": "pwd" + } + }, + "resource": { + "channelName": "DirectLineChannel", + "etag": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "location": "aaaaaa", + "properties": { + "sites": [ + { + "isBlockUserUploadEnabled": false, + "isEnabled": true, + "isSecureSiteEnabled": false, + "isV1Enabled": true, + "isV3Enabled": true, + "key": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "key2": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "siteId": "aaaaaaaaaaa", + "siteName": "aaaaaaaaaaaa", + "trustedOrigins": [ + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + ] + } + ] + } + }, + "setting": { + "botIconUrl": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "botId": "aaaaaaaaaaaaaaaaaaaa", + "channelDisplayName": "aaaaaaaaaaa", + "channelId": "aaaaaaaaaa", + "disableLocalAuth": false, + "extensionKey1": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "extensionKey2": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "isEnabled": true, + "sites": [ + { + "eTag": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "isBlockUserUploadEnabled": false, + "isEnabled": true, + "isSecureSiteEnabled": false, + "isTokenEnabled": false, + "isV1Enabled": true, + "isV3Enabled": true, + "isWebchatPreviewEnabled": false, + "key": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "key2": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "siteId": "aaaaaaaaaaa", + "siteName": "aaaaaaaaaaaa", + "trustedOrigins": [ + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + ] + } + ] + } + } + } + }, + "operationId": "Channels_ListWithKeys", + "title": "List Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListChannelsByBotService.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListChannelsByBotService.json new file mode 100644 index 000000000000..191f27ea45e8 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListChannelsByBotService.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "isEnabled": true, + "password": "pwd" + } + } + }, + { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "FacebookChannel", + "properties": { + "appId": "id", + "callbackUrl": "appid", + "isEnabled": true, + "pages": [ + { + "accessToken": null, + "id": "id" + } + ] + } + } + } + ] + } + } + }, + "operationId": "Channels_ListByResourceGroup", + "title": "List Channels by Resource Group" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListConnectionsByBotService.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListConnectionsByBotService.json new file mode 100644 index 000000000000..e172d12c7f7f --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListConnectionsByBotService.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleConnection", + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "properties": { + "name": "sampleConnection", + "clientId": "sampleclientid", + "clientSecret": null, + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ], + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid" + } + } + ] + } + } + }, + "operationId": "BotConnection_ListByBotService", + "title": "List Connection Settings" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListNetworkSecurityPerimeterConfigurations.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListNetworkSecurityPerimeterConfigurations.json new file mode 100644 index 000000000000..9a684f4bd44f --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListNetworkSecurityPerimeterConfigurations.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "resourceGroupName": "rgName", + "resourceName": "botId", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "00000000-0000-0000-0000-000000000000.associationName", + "type": "Microsoft.BotService/botServices/networkSecurityPerimeterConfigurations", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.BotService/botServices/botId/networkSecurityPerimeterConfigurations/00000000-0000-0000-0000-000000000000.associationName", + "properties": { + "networkSecurityPerimeter": { + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Network/networkSecurityPerimeters/nspName", + "location": "westcentralus", + "perimeterGuid": "00000000-0000-0000-0000-000000000000" + }, + "profile": { + "name": "defaultProfile", + "accessRules": [ + { + "name": "Inbound1", + "properties": { + "addressPrefixes": [ + "10.0.0.0/16" + ], + "direction": "Inbound", + "emailAddresses": [], + "fullyQualifiedDomainNames": [], + "networkSecurityPerimeters": [], + "phoneNumbers": [], + "subscriptions": [] + } + }, + { + "name": "Outbound1", + "properties": { + "addressPrefixes": [], + "direction": "Outbound", + "emailAddresses": [], + "fullyQualifiedDomainNames": [ + "*" + ], + "networkSecurityPerimeters": [], + "phoneNumbers": [], + "subscriptions": [] + } + } + ], + "accessRulesVersion": 2, + "diagnosticSettingsVersion": 0, + "enabledLogCategories": [] + }, + "provisioningIssues": [], + "provisioningState": "Succeeded", + "resourceAssociation": { + "name": "associationName", + "accessMode": "Learning" + } + } + } + ] + } + } + }, + "operationId": "NetworkSecurityPerimeterConfigurations_List", + "title": "List Network Security Perimeter Configurations" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListPrivateEndpointConnections.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListPrivateEndpointConnections.json new file mode 100644 index 000000000000..8c3d0ff0987f --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListPrivateEndpointConnections.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "resourceGroupName": "res6977", + "resourceName": "sto2527", + "subscriptionId": "{subscription-id}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.BotService/botServices/privateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "description": "Auto-Approved", + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + }, + { + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.BotService/botServices/privateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest02" + }, + "privateLinkServiceConnectionState": { + "description": "Auto-Approved", + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + }, + "operationId": "PrivateEndpointConnections_List", + "title": "List Private Endpoint Connections" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListPrivateLinkResources.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListPrivateLinkResources.json new file mode 100644 index 000000000000..6f37518e4ab6 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListPrivateLinkResources.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "resourceGroupName": "res6977", + "resourceName": "sto2527", + "subscriptionId": "{subscription-id}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "resource1", + "type": "Microsoft.BotService/botServices/privateLinkResources", + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.BotService/botServices/sto2527/privateLinkResources/resource1", + "properties": { + "groupId": "bot", + "requiredMembers": [ + "bot" + ], + "requiredZoneNames": [ + "privatelink.botframework.com" + ] + } + } + ] + } + } + }, + "operationId": "PrivateLinkResources_ListByBotResource", + "title": "List Private Link Resources" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListQnAMakerEndpointKeys.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListQnAMakerEndpointKeys.json new file mode 100644 index 000000000000..601ff5a42ba1 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListQnAMakerEndpointKeys.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "parameters": { + "authkey": "testAuthKey", + "hostname": "https://xxx.cognitiveservices.azure.com/" + }, + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "installedVersion": "4.1.0", + "lastStableVersion": "4.2.0", + "primaryEndpointKey": "sample_primaryEndpointKey", + "secondaryEndpointKey": "sample_secondaryEndpointKey" + } + } + }, + "operationId": "QnAMakerEndpointKeys_Get", + "title": "List QnAMaker Endpoint Keys" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListServiceProviders.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListServiceProviders.json new file mode 100644 index 000000000000..3f5839b0e53a --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ListServiceProviders.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "devPortalUrl": "sampleDevPortalUrl", + "displayName": "sample service provider display name", + "iconUrl": "sampleIconUrl", + "id": "sampleServiceProviderId", + "parameters": [ + { + "name": "sampleParameterName", + "type": "sampleParameterType", + "description": "sampleDescription", + "default": "sampleDefaultValue", + "displayName": "sampleDisplayName", + "helpUrl": "sampleHelpUrl" + } + ], + "serviceProviderName": "sampleServiceProvider" + } + } + ] + } + } + }, + "operationId": "BotConnection_ListServiceProviders", + "title": "List Auth Service Providers" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/OperationResultsGet.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/OperationResultsGet.json new file mode 100644 index 000000000000..8a88cca06940 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/OperationResultsGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "operationResultId": "exampleid", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "servicename", + "id": "/subscriptions/subid/providers/Microsoft.BotService/locations/westus/operationresults/exampleid", + "startTime": "2019-01-21T06:03:30.2716301Z", + "status": "Requested" + } + }, + "202": {} + }, + "operationId": "OperationResults_Get", + "title": "Get operation result" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutAlexaChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutAlexaChannel.json new file mode 100644 index 000000000000..86a745d312b0 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutAlexaChannel.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "AlexaChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "XAlexaSkillIdX", + "isEnabled": true + } + } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "alexa skill id", + "isEnabled": true, + "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", + "urlFragment": "XUrlFragmentX" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "alexa skill id", + "isEnabled": true, + "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", + "urlFragment": "XUrlFragmentX" + } + } + } + } + }, + "operationId": "Channels_Create", + "title": "Create Alexa Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutChannel.json new file mode 100644 index 000000000000..ceb60dfaadef --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutChannel.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "EmailChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "isEnabled": true, + "password": "pwd" + } + } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "isEnabled": true, + "password": "pwd" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "isEnabled": true, + "password": "pwd" + } + } + } + } + }, + "operationId": "Channels_Create", + "title": "Create Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutConnection.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutConnection.json new file mode 100644 index 000000000000..a1abea783901 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutConnection.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "connectionName": "sampleConnection", + "parameters": { + "etag": "etag1", + "location": "West US", + "properties": { + "clientId": "sampleclientid", + "clientSecret": "samplesecret", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ], + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid" + } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "name": "sampleConnection", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "location": "global", + "properties": { + "name": "sampleConnection", + "clientId": "sampleclientid", + "clientSecret": null, + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ], + "scopes": "samplescope", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "serviceProviderId": "serviceproviderid" + } + } + }, + "201": { + "body": { + "name": "sampleConnection", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "location": "global", + "properties": { + "name": "sampleConnection", + "clientId": "sampleclientid", + "clientSecret": null, + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ], + "scopes": "samplescope", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "serviceProviderId": "serviceproviderid" + } + } + } + }, + "operationId": "BotConnection_Create", + "title": "Create Connection Setting" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutDirectLineSpeechChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutDirectLineSpeechChannel.json new file mode 100644 index 000000000000..0bec1804d235 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutDirectLineSpeechChannel.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "DirectLineSpeechChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServiceRegion": "XcognitiveServiceRegionX", + "cognitiveServiceSubscriptionKey": "XcognitiveServiceSubscriptionKeyX", + "isEnabled": true + } + } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServiceRegion": "XcognitiveServiceRegionX", + "isEnabled": true + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServiceRegion": "XcognitiveServiceRegionX", + "isEnabled": true + } + } + } + } + }, + "operationId": "Channels_Create", + "title": "Create DirectLine Speech Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutEmailChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutEmailChannel.json new file mode 100644 index 000000000000..891007c560e0 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutEmailChannel.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "EmailChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "authMethod": 1, + "emailAddress": "a@b.com", + "isEnabled": true, + "magicCode": "000000" + } + } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "authMethod": 1, + "emailAddress": "a@b.com", + "isEnabled": true + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "authMethod": 1, + "emailAddress": "a@b.com", + "isEnabled": true + } + } + } + } + }, + "operationId": "Channels_Create", + "title": "Create Email Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutLineChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutLineChannel.json new file mode 100644 index 000000000000..5d112b96b052 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutLineChannel.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "LineChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "channelAccessToken": "channelAccessToken", + "channelSecret": "channelSecret" + } + ] + } + } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "callbackUrl": "http://callbackUrl", + "isValidated": true, + "lineRegistrations": [ + { + "channelAccessToken": null, + "channelSecret": null, + "generatedId": "id" + } + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "callbackUrl": "http://callbackUrl", + "isValidated": true, + "lineRegistrations": [ + { + "channelAccessToken": null, + "channelSecret": null, + "generatedId": "id" + } + ] + } + } + } + } + }, + "operationId": "Channels_Create", + "title": "Create Line Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutPrivateEndpointConnection.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutPrivateEndpointConnection.json new file mode 100644 index 000000000000..11d7da7372e1 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/PutPrivateEndpointConnection.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "description": "Auto-Approved", + "status": "Approved" + } + } + }, + "resourceGroupName": "res7687", + "resourceName": "sto9699", + "subscriptionId": "{subscription-id}" + }, + "responses": { + "200": { + "body": { + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.BotService/botServices/privateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "description": "Auto-Approved", + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + } + }, + "operationId": "PrivateEndpointConnections_Create", + "title": "Put Private Endpoint Connection" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/ReconcileNetworkSecurityPerimeterConfiguration.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ReconcileNetworkSecurityPerimeterConfiguration.json new file mode 100644 index 000000000000..c48b4a9c206d --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/ReconcileNetworkSecurityPerimeterConfiguration.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "networkSecurityPerimeterConfigurationName": "00000000-0000-0000-0000-000000000000.associationName", + "resourceGroupName": "rgName", + "resourceName": "botId", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "name": "00000000-0000-0000-0000-000000000000.associationName", + "type": "Microsoft.BotService/botServices/networkSecurityPerimeterConfigurations", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.BotService/botServices/botId/networkSecurityPerimeterConfigurations/00000000-0000-0000-0000-000000000000.associationName", + "properties": { + "networkSecurityPerimeter": { + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Network/networkSecurityPerimeters/nspName", + "location": "westcentralus", + "perimeterGuid": "00000000-0000-0000-0000-000000000000" + }, + "profile": { + "name": "defaultProfile", + "accessRules": [ + { + "name": "Inbound1", + "properties": { + "addressPrefixes": [ + "10.0.0.0/16" + ], + "direction": "Inbound", + "emailAddresses": [], + "fullyQualifiedDomainNames": [], + "networkSecurityPerimeters": [], + "phoneNumbers": [], + "subscriptions": [] + } + }, + { + "name": "Outbound1", + "properties": { + "addressPrefixes": [], + "direction": "Outbound", + "emailAddresses": [], + "fullyQualifiedDomainNames": [ + "*" + ], + "networkSecurityPerimeters": [], + "phoneNumbers": [], + "subscriptions": [] + } + } + ], + "accessRulesVersion": 2, + "diagnosticSettingsVersion": 0, + "enabledLogCategories": [] + }, + "provisioningIssues": [], + "provisioningState": "Succeeded", + "resourceAssociation": { + "name": "associationName", + "accessMode": "Learning" + } + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.BotService/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000" + } + } + }, + "operationId": "NetworkSecurityPerimeterConfigurations_Reconcile", + "title": "Reconcile Network Security Perimeter Configuration" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateAlexaChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateAlexaChannel.json new file mode 100644 index 000000000000..450d4deb216f --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateAlexaChannel.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "AlexaChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "XAlexaSkillIdX", + "isEnabled": true + } + } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "XAlexaSkillIdX", + "isEnabled": true, + "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", + "urlFragment": "XUrlFragmentX" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "XAlexaSkillIdX", + "isEnabled": true, + "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", + "urlFragment": "XUrlFragmentX" + } + } + } + } + }, + "operationId": "Channels_Update", + "title": "Update Alexa Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateBot.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateBot.json new file mode 100644 index 000000000000..4f4f5af6d313 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateBot.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "parameters": { + "etag": "etag1", + "kind": "sdk", + "location": "West US", + "properties": { + "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApiKey": "appinsightsapikey", + "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "iconUrl": "http://myicon", + "isCmekEnabled": true, + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "luisKey": "luiskey", + "msaAppId": "msaappid", + "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", + "publicNetworkAccess": "Enabled", + "schemaTransformationVersion": "1.0" + }, + "sku": { + "name": "S1" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "kind": "sdk", + "location": "West US", + "properties": { + "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "configuredChannels": [ + "facebook", + "groupme" + ], + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, + "displayName": "The Name of the bot", + "enabledChannels": [ + "facebook" + ], + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "isCmekEnabled": true, + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", + "publicNetworkAccess": "Enabled", + "schemaTransformationVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "201": { + "body": { + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "kind": "sdk", + "location": "West US", + "properties": { + "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "configuredChannels": [ + "facebook", + "groupme" + ], + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, + "displayName": "The Name of the bot", + "enabledChannels": [ + "facebook" + ], + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "isCmekEnabled": true, + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", + "publicNetworkAccess": "Enabled", + "schemaTransformationVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + } + }, + "operationId": "Bots_Update", + "title": "Update Bot" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateChannel.json new file mode 100644 index 000000000000..a35459b3fd80 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateChannel.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "EmailChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "isEnabled": true, + "password": "pwd" + } + } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "isEnabled": true, + "password": "pwd" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "isEnabled": true, + "password": "pwd" + } + } + } + } + }, + "operationId": "Channels_Update", + "title": "Update Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateConnection.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateConnection.json new file mode 100644 index 000000000000..ef507fe2b162 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateConnection.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "connectionName": "sampleConnection", + "parameters": { + "etag": "etag1", + "location": "global", + "properties": { + "name": "sampleName", + "clientId": "sampleclientid", + "clientSecret": "samplesecret", + "id": "sampleId", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ], + "scopes": "samplescope", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "serviceProviderId": "serviceproviderid" + } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "name": "sampleConnection", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "location": "global", + "properties": { + "name": "sampleConnection", + "clientId": "sampleclientid", + "clientSecret": null, + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ], + "scopes": "samplescope", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "serviceProviderId": "serviceproviderid" + } + } + }, + "201": { + "body": { + "name": "sampleConnection", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "location": "global", + "properties": { + "clientId": "sampleclientid", + "clientSecret": null, + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ], + "scopes": "samplescope", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "serviceProviderId": "serviceproviderid" + } + } + } + }, + "operationId": "BotConnection_Update", + "title": "Update Connection Setting" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateDirectLineSpeechChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateDirectLineSpeechChannel.json new file mode 100644 index 000000000000..cd7418af4f87 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateDirectLineSpeechChannel.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "DirectLineSpeechChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServiceRegion": "XcognitiveServiceRegionX", + "cognitiveServiceSubscriptionKey": "XcognitiveServiceSubscriptionKeyX", + "isEnabled": true + } + } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServiceRegion": "XcognitiveServiceRegionX", + "isEnabled": true + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServiceRegion": "XcognitiveServiceRegionX", + "isEnabled": true + } + } + } + } + }, + "operationId": "Channels_Update", + "title": "Update DirectLine Speech Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateLineChannel.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateLineChannel.json new file mode 100644 index 000000000000..cd387e71ec52 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/UpdateLineChannel.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "LineChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "channelAccessToken": "channelAccessToken", + "channelSecret": "channelSecret" + } + ] + } + } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "callbackUrl": "http://callbackUrl", + "isValidated": true, + "lineRegistrations": [ + { + "channelAccessToken": null, + "channelSecret": null, + "generatedId": "id" + } + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "callbackUrl": "http://callbackUrl", + "isValidated": true, + "lineRegistrations": [ + { + "channelAccessToken": null, + "channelSecret": null, + "generatedId": "id" + } + ] + } + } + } + } + }, + "operationId": "Channels_Update", + "title": "Update Line Channel" +} diff --git a/specification/botservice/BotService.Management/examples/2023-09-15-preview/WebChatRegenerateKeys.json b/specification/botservice/BotService.Management/examples/2023-09-15-preview/WebChatRegenerateKeys.json new file mode 100644 index 000000000000..565636405ac5 --- /dev/null +++ b/specification/botservice/BotService.Management/examples/2023-09-15-preview/WebChatRegenerateKeys.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "channelName": "WebChatChannel", + "parameters": { + "key": "key1", + "siteName": "testSiteName" + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "WebChatChannel", + "properties": { + "sites": [ + { + "isEnabled": true, + "isWebchatPreviewEnabled": true, + "key": "key1", + "key2": "key2", + "siteId": "abcd", + "siteName": "Default Site" + } + ] + } + } + } + } + }, + "operationId": "DirectLine_RegenerateKeys", + "title": "Regenerate Keys for WebChat Channel Site" +} diff --git a/specification/botservice/BotService.Management/main.tsp b/specification/botservice/BotService.Management/main.tsp new file mode 100644 index 000000000000..2d8b7b385432 --- /dev/null +++ b/specification/botservice/BotService.Management/main.tsp @@ -0,0 +1,68 @@ +/** + * PLEASE DO NOT REMOVE - USED FOR CONVERTER METRICS + * Generated by package: @autorest/openapi-to-typespec + * Parameters used: + * isFullCompatible: true + * guessResourceKey: true + * Version: Not generated in test + * Date: Not generated in test + */ +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "./models.tsp"; +import "./back-compatible.tsp"; +import "./Bot.tsp"; +import "./BotChannel.tsp"; +import "./ConnectionSetting.tsp"; +import "./PrivateEndpointConnection.tsp"; +import "./NetworkSecurityPerimeterConfiguration.tsp"; +import "./routes.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; +using TypeSpec.Versioning; +/** + * Azure Bot Service is a platform for creating smart conversational agents. + */ +@armProviderNamespace +@service(#{ title: "Azure Bot Service" }) +@versioned(Versions) +// FIXME: Common type version v1 is not supported for now. Set to v3. +@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v3) +namespace Microsoft.BotService; + +/** + * The available API versions. + */ +enum Versions { + /** + * The 2023-09-15-preview API version. + */ + @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @useDependency(Azure.Core.Versions.v1_0_Preview_1) + v2023_09_15_preview: "2023-09-15-preview", +} + +interface Operations { + #suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @tag("Operations") + @autoRoute + @Azure.ResourceManager.Private.armUpdateProviderNamespace + @doc("List the operations for the provider") + @segment("operations") + @get + list( + ...ApiVersionParameter, + + @path + @segment("providers") + @doc("The provider namespace (this parameter will not show up in operations).") + provider: "Microsoft.ThisWillBeReplaced", + ): ArmResponse | Error; +} diff --git a/specification/botservice/BotService.Management/models.tsp b/specification/botservice/BotService.Management/models.tsp new file mode 100644 index 000000000000..6eefe23ba5d7 --- /dev/null +++ b/specification/botservice/BotService.Management/models.tsp @@ -0,0 +1,2547 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.Core; +using Azure.ResourceManager; +using Azure.ResourceManager.Foundations; + +namespace Microsoft.BotService; + +/** + * The list of bot service operation response. + */ +@Azure.Core.pagedResult +model OperationEntityListResult { + /** + * The link used to get the next page of operations. + */ + @nextLink + nextLink?: string; + + /** + * The list of operations. + */ + @Azure.Core.items + value: OperationEntity[]; +} + +/** + * Microsoft App Type for the bot + */ +union MsaAppType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + UserAssignedMSI: "UserAssignedMSI", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + SingleTenant: "SingleTenant", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + MultiTenant: "MultiTenant", +} + +/** + * Whether the bot is in an isolated network + */ +union PublicNetworkAccess { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Enabled: "Enabled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Disabled: "Disabled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + SecuredByPerimeter: "SecuredByPerimeter", +} + +/** + * The private endpoint connection status. + */ +union PrivateEndpointServiceConnectionStatus { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Pending: "Pending", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Approved: "Approved", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Rejected: "Rejected", +} + +/** + * The current provisioning state. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +union PrivateEndpointConnectionProvisioningState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Succeeded: "Succeeded", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Creating: "Creating", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Deleting: "Deleting", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Failed: "Failed", +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +union ProvisioningState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Creating: "Creating", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Updating: "Updating", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Accepted: "Accepted", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Succeeded: "Succeeded", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Failed: "Failed", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Deleting: "Deleting", +} + +/** + * Provisioning state of Network Security Perimeter configuration propagation + */ +union Severity { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Warning: "Warning", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Error: "Error", +} + +/** + * Direction of Access Rule + */ +union NspAccessRuleDirection { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Inbound: "Inbound", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Outbound: "Outbound", +} + +/** + * Access Mode of the resource association + */ +union AccessMode { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Enforced: "Enforced", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Learning: "Learning", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Audit: "Audit", +} + +/** + * The name of SKU. + */ +union SkuName { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + F0: "F0", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + S1: "S1", +} + +/** + * Gets the sku tier. This is based on the SKU name. + */ +union SkuTier { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Free: "Free", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Standard: "Standard", +} + +/** + * Indicates the type of bot service + */ +union Kind { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + sdk: "sdk", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + designer: "designer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + bot: "bot", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + function: "function", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + azurebot: "azurebot", +} + +/** + * The status of the operation being performed. + */ +union OperationResultStatus { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Canceled: "Canceled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Succeeded: "Succeeded", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Failed: "Failed", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Requested: "Requested", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Running: "Running", +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +enum ChannelName { + AlexaChannel, + FacebookChannel, + EmailChannel, + KikChannel, + TelegramChannel, + SlackChannel, + MsTeamsChannel, + SkypeChannel, + WebChatChannel, + DirectLineChannel, + SmsChannel, + LineChannel, + DirectLineSpeechChannel, + OutlookChannel, + Omnichannel, + TelephonyChannel, + AcsChatChannel, + SearchAssistant, + M365Extensions, +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +enum RegenerateKeysChannelName { + WebChatChannel, + DirectLineChannel, +} + +/** + * Determines which key is to be regenerated + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +enum Key { + key1, + key2, +} + +/** + * Email channel auth method. 0 Password (Default); 1 Graph. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +enum EmailChannelAuthMethod { + /** + * Basic authentication. + */ + Password: 0, + + /** + * Modern authentication. + */ + Graph: 1, +} + +/** + * The parameters to provide for the Bot. + */ +model BotProperties { + /** + * The Name of the bot + */ + displayName: string; + + /** + * The description of the bot + */ + description?: string; + + /** + * The Icon Url of the bot + */ + iconUrl?: string = ""; + + /** + * The bot's endpoint + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + endpoint: string | null; + + /** + * The bot's endpoint version + */ + @visibility(Lifecycle.Read) + endpointVersion?: string; + + /** + * Contains resource all settings defined as key/value pairs. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + allSettings?: Record; + + /** + * Contains resource parameters defined as key/value pairs. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + parameters?: Record; + + /** + * The bot's manifest url + */ + manifestUrl?: string; + + /** + * Microsoft App Type for the bot + */ + msaAppType?: MsaAppType; + + /** + * Microsoft App Id for the bot + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + msaAppId: string; + + /** + * Microsoft App Tenant Id for the bot + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + msaAppTenantId?: string; + + /** + * Microsoft App Managed Identity Resource Id for the bot + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + msaAppMSIResourceId?: string; + + /** + * Collection of channels for which the bot is configured + */ + @visibility(Lifecycle.Read) + configuredChannels?: string[]; + + /** + * Collection of channels for which the bot is enabled + */ + @visibility(Lifecycle.Read) + enabledChannels?: string[]; + + /** + * The Application Insights key + */ + developerAppInsightKey?: string; + + /** + * The Application Insights Api Key + */ + developerAppInsightsApiKey?: string; + + /** + * The Application Insights App Id + */ + developerAppInsightsApplicationId?: string; + + /** + * Collection of LUIS App Ids + */ + luisAppIds?: string[]; + + /** + * The LUIS Key + */ + luisKey?: string; + + /** + * Whether Cmek is enabled + */ + isCmekEnabled?: boolean = false; + + /** + * The CMK Url + */ + cmekKeyVaultUrl?: string; + + /** + * The CMK encryption status + */ + @visibility(Lifecycle.Read) + cmekEncryptionStatus?: string; + + /** + * The Tenant Id for the bot + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + tenantId?: string; + + /** + * Whether the bot is in an isolated network + */ + publicNetworkAccess?: PublicNetworkAccess = PublicNetworkAccess.Enabled; + + /** + * Whether the bot is streaming supported + */ + isStreamingSupported?: boolean = false; + + /** + * Whether the bot is developerAppInsightsApiKey set + */ + @visibility(Lifecycle.Read) + isDeveloperAppInsightsApiKeySet?: boolean; + + /** + * Token used to migrate non Azure bot to azure subscription + */ + @visibility(Lifecycle.Read) + migrationToken?: string; + + /** + * Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication. + */ + disableLocalAuth?: boolean; + + /** + * The channel schema transformation version for the bot + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + schemaTransformationVersion?: string | null = null; + + /** + * The storage resourceId for the bot + */ + storageResourceId?: string; + + /** + * List of Private Endpoint Connections configured for the bot + */ + @visibility(Lifecycle.Read) + privateEndpointConnections?: PrivateEndpointConnection[]; + + /** + * List of Network Security Perimeter configurations for the bot + */ + @visibility(Lifecycle.Read) + networkSecurityPerimeterConfigurations?: NetworkSecurityPerimeterConfiguration[]; + + /** + * The hint to browser (e.g. protocol handler) on how to open the bot for authoring + */ + openWithHint?: string; + + /** + * The hint (e.g. keyVault secret resourceId) on how to fetch the app secret + */ + appPasswordHint?: string; + + /** + * Provisioning state of the resource + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + provisioningState?: string; + + /** + * Publishing credentials of the resource + */ + publishingCredentials?: string; +} + +/** + * Properties of the PrivateEndpointConnectProperties. + */ +model PrivateEndpointConnectionProperties { + /** + * The resource of private end point. + */ + privateEndpoint?: PrivateEndpoint; + + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + privateLinkServiceConnectionState: PrivateLinkServiceConnectionState; + + /** + * The provisioning state of the private endpoint connection resource. + */ + @visibility(Lifecycle.Read) + provisioningState?: PrivateEndpointConnectionProvisioningState; + + /** + * Group ids + */ + groupIds?: string[]; +} + +/** + * The Private Endpoint resource. + */ +model PrivateEndpoint { + /** + * The ARM identifier for Private Endpoint + */ + @visibility(Lifecycle.Read) + id?: string; +} + +/** + * A collection of information about the state of the connection between service consumer and provider. + */ +model PrivateLinkServiceConnectionState { + /** + * Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + */ + status?: PrivateEndpointServiceConnectionStatus; + + /** + * The reason for approval/rejection of the connection. + */ + description?: string; + + /** + * A message indicating if changes on the service provider require any updates on the consumer. + */ + actionsRequired?: string; +} + +/** + * Common fields that are returned in the response for all BotService Private Link Resources + */ +model PrivateLinkResourceBase { + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * The name of the resource + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + @visibility(Lifecycle.Read) + type?: string; +} + +/** + * Properties of Network Security Perimeter configuration + */ +model NetworkSecurityPerimeterConfigurationProperties { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + provisioningState?: ProvisioningState = ProvisioningState.Succeeded; + + /** + * List of Provisioning Issues if any + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + provisioningIssues?: ProvisioningIssue[]; + + /** + * Information about Network Security Perimeter + */ + @visibility(Lifecycle.Read) + networkSecurityPerimeter?: NetworkSecurityPerimeter; + + /** + * Information about resource association + */ + @visibility(Lifecycle.Read) + resourceAssociation?: ResourceAssociation; + + /** + * Information about profile + */ + @visibility(Lifecycle.Read) + profile?: Profile; +} + +/** + * Describes Provisioning issue for given Network Security Perimeter configuration + */ +model ProvisioningIssue { + /** + * Name of the issue + */ + name?: string; + + /** + * Properties of Provisioning Issue + */ + @visibility(Lifecycle.Read) + properties?: ProvisioningIssueProperties; +} + +/** + * Properties of Provisioning Issue + */ +model ProvisioningIssueProperties { + /** + * Type of Issue + */ + issueType?: string; + + /** + * Provisioning state of Network Security Perimeter configuration propagation + */ + severity?: Severity; + + /** + * Description of the issue + */ + description?: string; + + /** + * ARM IDs of resources that can be associated to the same perimeter to remediate the issue. + */ + @visibility(Lifecycle.Read) + suggestedResourceIds?: Azure.Core.armResourceIdentifier[]; + + /** + * Access rules that can be added to the same profile to remediate the issue. + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + suggestedAccessRules?: NspAccessRule[]; +} + +/** + * Information of Access Rule in a profile + */ +model NspAccessRule { + /** + * Name of the access rule + */ + name?: string; + + /** + * Properties of Access Rule + */ + @visibility(Lifecycle.Read) + properties?: NspAccessRuleProperties; +} + +/** + * Properties of Access Rule + */ +model NspAccessRuleProperties { + /** + * Direction of Access Rule + */ + direction?: NspAccessRuleDirection; + + /** + * Address prefixes in the CIDR format for inbound rules + */ + addressPrefixes?: string[]; + + /** + * Subscriptions for inbound rules + */ + subscriptions?: NspAccessRulePropertiesSubscriptionsItem[]; + + /** + * NetworkSecurityPerimeters for inbound rules + */ + @visibility(Lifecycle.Read) + networkSecurityPerimeters?: NetworkSecurityPerimeter[]; + + /** + * FQDN for outbound rules + */ + @visibility(Lifecycle.Read) + fullyQualifiedDomainNames?: string[]; + + /** + * Email addresses for outbound rules + */ + @visibility(Lifecycle.Read) + emailAddresses?: string[]; + + /** + * Phone numbers for outbound rules + */ + @visibility(Lifecycle.Read) + phoneNumbers?: string[]; +} + +/** + * Subscription for inbound rule + */ +model NspAccessRulePropertiesSubscriptionsItem { + /** + * Fully qualified identifier of subscription + */ + id?: string; +} + +/** + * Information about Network Security Perimeter + */ +model NetworkSecurityPerimeter { + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + */ + @visibility(Lifecycle.Read) + id?: Azure.Core.armResourceIdentifier; + + /** + * Guid of the Network Security Perimeter + */ + perimeterGuid?: string; + + /** + * Location of the Network Security Perimeter + */ + location?: string; +} + +/** + * Information about resource association + */ +model ResourceAssociation { + /** + * Name of the resource association + */ + name?: string; + + /** + * Access Mode of the resource association + */ + accessMode?: AccessMode; +} + +/** + * Information about profile + */ +model Profile { + /** + * Name of the profile + */ + name?: string; + + /** + * Current access rules version + */ + accessRulesVersion?: int64; + + /** + * List of Access Rules + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + accessRules?: NspAccessRule[]; + + /** + * Current diagnostic settings version + */ + diagnosticSettingsVersion?: int64; + + /** + * List of log categories + */ + @visibility(Lifecycle.Read) + enabledLogCategories?: string[]; +} + +/** + * Azure resource + */ +model Resource { + /** + * Specifies the resource ID. + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * Specifies the name of the resource. + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * Specifies the location of the resource. + */ + location?: string; + + /** + * Specifies the type of the resource. + */ + @visibility(Lifecycle.Read) + type?: string; + + /** + * Contains resource tags defined as key/value pairs. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + tags?: Record; + + /** + * Gets or sets the SKU of the resource. + */ + sku?: Sku; + + /** + * Required. Gets or sets the Kind of the resource. + */ + kind?: Kind; + + /** + * Entity Tag. + */ + etag?: string; + + /** + * Entity zones + */ + @visibility(Lifecycle.Read) + zones?: string[]; +} + +/** + * The SKU of the cognitive services account. + */ +model Sku { + /** + * The sku name + */ + name: SkuName; + + /** + * Gets the sku tier. This is based on the SKU name. + */ + @visibility(Lifecycle.Read) + tier?: SkuTier; +} + +/** + * Bot Service error object. + */ +@error +model Error { + /** + * The error body. + */ + #suppress "@azure-tools/typespec-client-generator-core/property-name-conflict" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + error?: ErrorBody; +} + +/** + * Bot Service error body. + */ +model ErrorBody { + /** + * error code + */ + code: string; + + /** + * error message + */ + message: string; +} + +/** + * The list of bot service operation response. + */ +model BotResponseList is Azure.Core.Page; +@@visibility(BotResponseList.value, Lifecycle.Read); + +/** + * Channel definition + */ +@discriminator("channelName") +model Channel { + /** + * The channel name + */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + channelName: string; + + /** + * Entity Tag of the resource + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-duplicate-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read, Lifecycle.Create) + etag?: string | null; + + /** + * Provisioning state of the resource + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + provisioningState?: string; + + /** + * Specifies the location of the resource. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-duplicate-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + location?: string = "global"; +} + +/** + * The ARM channel of list channel with keys operation response. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ListChannelWithKeysResponse extends BotChannel { + /** + * The set of properties specific to bot channel resource + */ + resource?: Channel; + + /** + * Channel settings + */ + setting?: ChannelSettings; + + /** + * Provisioning state of the resource + */ + provisioningState?: string; + + /** + * Entity tag of the resource + */ + entityTag?: string; + + /** + * Changed time of the resource + */ + changedTime?: string; +} + +/** + * Channel settings definition + */ +model ChannelSettings { + /** + * The extensionKey1 + */ + extensionKey1?: string = ""; + + /** + * The extensionKey2 + */ + extensionKey2?: string = ""; + + /** + * The list of sites + */ + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + sites?: Site[]; + + /** + * The channel id + */ + channelId?: string; + + /** + * The channel display name + */ + channelDisplayName?: string; + + /** + * The bot id + */ + botId?: string; + + /** + * The bot icon url + */ + botIconUrl?: string; + + /** + * Whether this channel is enabled for the bot + */ + isEnabled?: boolean; + + /** + * Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication. + */ + disableLocalAuth?: boolean; + + /** + * Whether customer needs to agree to new terms. + */ + requireTermsAgreement?: boolean; +} + +/** + * A site for the channel + */ +model Site { + /** + * Tenant Id + */ + tenantId?: string; + + /** + * Site Id + */ + @visibility(Lifecycle.Read) + siteId?: string; + + /** + * Site name + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + siteName: string; + + /** + * Primary key. Value only returned through POST to the action Channel List API, otherwise empty. + */ + @visibility(Lifecycle.Read) + key?: string; + + /** + * Secondary key. Value only returned through POST to the action Channel List API, otherwise empty. + */ + @visibility(Lifecycle.Read) + key2?: string; + + /** + * Whether this site is enabled for DirectLine channel + */ + isEnabled: boolean; + + /** + * Whether this site is token enabled for channel + */ + @visibility(Lifecycle.Read) + isTokenEnabled?: boolean; + + /** + * Whether this site is EndpointParameters enabled for channel + */ + isEndpointParametersEnabled?: boolean; + + /** + * Whether this site is disabled detailed logging for + */ + isDetailedLoggingEnabled?: boolean; + + /** + * Whether this site is enabled for block user upload. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + isBlockUserUploadEnabled?: boolean | null = null; + + /** + * Whether this no-storage site is disabled detailed logging for + */ + isNoStorageEnabled?: boolean; + + /** + * Entity Tag + */ + eTag?: string; + + /** + * DirectLine application id + */ + appId?: string; + + /** + * Whether this site is enabled for Bot Framework V1 protocol. + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + isV1Enabled?: boolean; + + /** + * Whether this site is enabled for Bot Framework V3 protocol. + */ + isV3Enabled?: boolean; + + /** + * Whether this site is enabled for authentication with Bot Framework. + */ + isSecureSiteEnabled?: boolean; + + /** + * List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True. + */ + trustedOrigins?: string[]; + + /** + * Whether this site is enabled for Webchat Speech + */ + isWebChatSpeechEnabled?: boolean = false; + + /** + * Whether this site is enabled for preview versions of Webchat + */ + isWebchatPreviewEnabled?: boolean = false; +} + +/** + * The list of bot service channel operation response. + */ +model ChannelResponseList is Azure.Core.Page; +@@visibility(ChannelResponseList.value, Lifecycle.Read); + +/** + * Site information for WebChat or DirectLine Channels to identify which site to regenerate keys for. + */ +model SiteInfo { + /** + * The site name + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + siteName: string; + + /** + * Determines which key is to be regenerated + */ + key: Key; +} + +/** + * The ARM create email sign in url operation response. + */ +model CreateEmailSignInUrlResponse { + /** + * Specifies the resource ID. + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * Specifies the location of the resource. + */ + location?: string; + + /** + * The set of properties specific to sign in url + */ + properties?: CreateEmailSignInUrlResponseProperties; +} + +/** + * The set of properties specific to sign in url + */ +model CreateEmailSignInUrlResponseProperties { + /** + * Sign in url. + */ + url?: string; +} + +/** + * The request body for a request to Bot Service Management to check availability of a bot name. + */ +model CheckNameAvailabilityRequestBody { + /** + * the name of the bot for which availability needs to be checked. + */ + name?: string; + + /** + * the type of the bot for which availability needs to be checked + */ + type?: string; +} + +/** + * The response body returned for a request to Bot Service Management to check availability of a bot name. + */ +model CheckNameAvailabilityResponseBody { + /** + * indicates if the bot name is valid. + */ + valid?: boolean; + + /** + * additional message from the bot management api showing why a bot name is not available + */ + message?: string; + + /** + * response code from ABS + */ + absCode?: string; +} + +/** + * The operations supported by Bot Service Management. + */ +model OperationEntity { + /** + * Operation name: {provider}/{resource}/{operation}. + */ + name?: string; + + /** + * The operation supported by Bot Service Management. + */ + display?: OperationDisplayInfo; + + /** + * The origin of the operation. + */ + origin?: string; + + /** + * Additional properties. + */ + #suppress "@azure-tools/typespec-azure-core/no-unknown" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + properties?: unknown; +} + +/** + * The operation supported by Bot Service Management. + */ +model OperationDisplayInfo { + /** + * The description of the operation. + */ + description?: string; + + /** + * The action that users can perform, based on their permission level. + */ + operation?: string; + + /** + * Service provider: Microsoft Bot Service. + */ + provider?: string; + + /** + * Resource on which the operation is performed. + */ + resource?: string; +} + +/** + * The list of bot service providers response. + */ +model ServiceProviderResponseList { + /** + * The link used to get the next page of bot service providers. + */ + nextLink?: string; + + /** + * Gets the list of bot service providers and their properties. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + value?: ServiceProvider[]; +} + +/** + * Service Provider Definition + */ +model ServiceProvider { + /** + * The Properties of a Service Provider Object + */ + properties?: ServiceProviderProperties; +} + +/** + * The Object used to describe a Service Provider supported by Bot Service + */ +model ServiceProviderProperties { + /** + * Id for Service Provider + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * Display Name of the Service Provider + */ + @visibility(Lifecycle.Read) + displayName?: string; + + /** + * Name of the Service Provider + */ + @visibility(Lifecycle.Read) + serviceProviderName?: string; + + /** + * URL of Dev Portal + */ + @visibility(Lifecycle.Read) + devPortalUrl?: string; + + /** + * The URL of icon + */ + iconUrl?: string = ""; + + /** + * The list of parameters for the Service Provider + */ + parameters?: ServiceProviderParameter[]; +} + +/** + * Extra Parameters specific to each Service Provider + */ +model ServiceProviderParameter { + /** + * Name of the Service Provider + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * Type of the Service Provider + */ + @visibility(Lifecycle.Read) + type?: string; + + /** + * Display Name of the Service Provider + */ + @visibility(Lifecycle.Read) + displayName?: string; + + /** + * Description of the Service Provider + */ + @visibility(Lifecycle.Read) + description?: string; + + /** + * Help Url for the Service Provider + */ + @visibility(Lifecycle.Read) + helpUrl?: string; + + /** + * Default Name for the Service Provider + */ + @visibility(Lifecycle.Read) + default?: string; + + /** + * Meta data for the Service Provider + */ + @visibility(Lifecycle.Read) + metadata?: ServiceProviderParameterMetadata; +} + +/** + * Meta data for the Service Provider + */ +model ServiceProviderParameterMetadata { + /** + * the constraints of the bot meta data. + */ + constraints?: ServiceProviderParameterMetadataConstraints; +} + +/** + * the constraints of the bot meta data. + */ +model ServiceProviderParameterMetadataConstraints { + /** + * Whether required the constraints of the bot meta data. + */ + required?: boolean; +} + +/** + * The request body for a request to Bot Service Management to list QnA Maker endpoint keys. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model QnAMakerEndpointKeysRequestBody { + /** + * the host name of the QnA Maker endpoint + */ + hostname?: string; + + /** + * Subscription key which provides access to this API. + */ + authkey?: string; +} + +/** + * Schema for EndpointKeys generate/refresh operations. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model QnAMakerEndpointKeysResponse { + /** + * Primary Access Key. + */ + primaryEndpointKey?: string; + + /** + * Secondary Access Key. + */ + secondaryEndpointKey?: string; + + /** + * Current version of runtime. + */ + installedVersion?: string; + + /** + * Latest version of runtime. + */ + lastStableVersion?: string; +} + +/** + * Properties for a Connection Setting Item + */ +model ConnectionSettingProperties { + /** + * Id of the Connection Setting. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-duplicate-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + id?: string; + + /** + * Name of the Connection Setting. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-duplicate-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + name?: string; + + /** + * Client Id associated with the Connection Setting. + */ + clientId?: string; + + /** + * Setting Id set by the service for the Connection Setting. + */ + @visibility(Lifecycle.Read) + settingId?: string; + + /** + * Client Secret associated with the Connection Setting + */ + @secret + clientSecret?: string; + + /** + * Scopes associated with the Connection Setting + */ + scopes?: string = ""; + + /** + * Service Provider Id associated with the Connection Setting + */ + serviceProviderId?: string; + + /** + * Service Provider Display Name associated with the Connection Setting + */ + serviceProviderDisplayName?: string; + + /** + * Service Provider Parameters associated with the Connection Setting + */ + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + parameters?: ConnectionSettingParameter[]; + + /** + * Provisioning state of the resource + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + provisioningState?: string; +} + +/** + * Extra Parameter in a Connection Setting Properties to indicate service provider specific properties + */ +model ConnectionSettingParameter { + /** + * Key for the Connection Setting Parameter. + */ + key?: string; + + /** + * Value associated with the Connection Setting Parameter. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + value?: string | null; +} + +/** + * The list of bot service connection settings response. + */ +model ConnectionSettingResponseList is Azure.Core.Page; +@@visibility(ConnectionSettingResponseList.value, Lifecycle.Read); + +/** + * The response body returned for a request to Bot Service Management to check per subscription hostSettings + */ +model HostSettingsResponse { + /** + * For in-conversation bot user authentication + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + OAuthUrl?: string; + + /** + * For verifying incoming tokens from the channels + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + ToBotFromChannelOpenIdMetadataUrl?: string; + + /** + * For verifying incoming tokens from the channels + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + ToBotFromChannelTokenIssuer?: string; + + /** + * For verifying incoming tokens from bot emulator + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + ToBotFromEmulatorOpenIdMetadataUrl?: string; + + /** + * For getting access token to channels from bot host + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + ToChannelFromBotLoginUrl?: string; + + /** + * For getting access token to channels from bot host + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + ToChannelFromBotOAuthScope?: string; + + /** + * Per cloud OAuth setting on whether authority is validated + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + ValidateAuthority?: boolean; + + /** + * Same as toBotFromChannelOpenIdMetadataUrl, used by SDK < v4.12 + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + BotOpenIdMetadata?: string; +} + +/** + * The properties indicating the operation result of an operation on a service. + */ +model OperationResultsDescription { + /** + * The ID of the operation returned. + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * The name of the operation result. + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * The status of the operation being performed. + */ + @visibility(Lifecycle.Read) + status?: OperationResultStatus; + + /** + * The time that the operation was started. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + startTime?: utcDateTime; +} + +/** + * List of private endpoint connection associated with the specified storage account + */ +@pagedResult +model PrivateEndpointConnectionListResult { + /** + * Array of private endpoint connections + */ + @items + value?: PrivateEndpointConnection[]; + + /** + * The link used to get the next page of private endpoint connections. + */ + @nextLink + nextLink?: string; +} + +/** + * A list of private link resources + */ +model PrivateLinkResourceListResult { + /** + * Array of private link resources + */ + value?: PrivateLinkResource[]; +} + +/** + * A private link resource + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model PrivateLinkResource extends PrivateLinkResourceBase { + /** + * Resource properties. + */ + #suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + properties?: PrivateLinkResourceProperties; +} + +/** + * Properties of a private link resource. + */ +model PrivateLinkResourceProperties { + /** + * The private link resource group id. + */ + @visibility(Lifecycle.Read) + groupId?: string; + + /** + * The private link resource required member names. + */ + @visibility(Lifecycle.Read) + requiredMembers?: string[]; + + /** + * The private link resource Private link DNS zone name. + */ + requiredZoneNames?: string[]; +} + +/** + * Result of the List NetworkSecurityPerimeterConfiguration operation. + */ +model NetworkSecurityPerimeterConfigurationList + is Azure.Core.Page; +@@visibility(NetworkSecurityPerimeterConfigurationList.value, Lifecycle.Read); + +/** + * Alexa channel definition + */ +model AlexaChannel extends Channel { + /** + * The set of properties specific to Alexa channel resource + */ + properties?: AlexaChannelProperties; + + /** + * The channel name + */ + channelName: "AlexaChannel"; +} + +/** + * The parameters to provide for the Alexa channel. + */ +model AlexaChannelProperties { + /** + * The Alexa skill Id + */ + alexaSkillId: string; + + /** + * Url fragment used in part of the Uri configured in Alexa + */ + @visibility(Lifecycle.Read) + urlFragment?: string; + + /** + * Full Uri used to configured the skill in Alexa + */ + @visibility(Lifecycle.Read) + serviceEndpointUri?: string; + + /** + * Whether this channel is enabled for the bot + */ + isEnabled: boolean; +} + +/** + * Facebook channel definition + */ +model FacebookChannel extends Channel { + /** + * The set of properties specific to bot facebook channel + */ + properties?: FacebookChannelProperties; + + /** + * The channel name + */ + channelName: "FacebookChannel"; +} + +/** + * The parameters to provide for the Facebook channel. + */ +model FacebookChannelProperties { + /** + * Verify token. Value only returned through POST to the action Channel List API, otherwise empty. + */ + @visibility(Lifecycle.Read) + @secret + verifyToken?: string; + + /** + * The list of Facebook pages + */ + pages?: FacebookPage[]; + + /** + * Facebook application id + */ + appId: string; + + /** + * Facebook application secret. Value only returned through POST to the action Channel List API, otherwise empty. + */ + @secret + appSecret?: string; + + /** + * Callback Url + */ + @visibility(Lifecycle.Read) + callbackUrl?: string; + + /** + * Whether this channel is enabled for the bot + */ + isEnabled: boolean; +} + +/** + * A Facebook page for Facebook channel registration + */ +model FacebookPage { + /** + * Page id + */ + id: string; + + /** + * Facebook application access token. Value only returned through POST to the action Channel List API, otherwise empty. + */ + @secret + accessToken?: string; +} + +/** + * Email channel definition + */ +model EmailChannel extends Channel { + /** + * The set of properties specific to email channel resource + */ + properties?: EmailChannelProperties; + + /** + * The channel name + */ + channelName: "EmailChannel"; +} + +/** + * The parameters to provide for the Email channel. + */ +model EmailChannelProperties { + /** + * The email address + */ + emailAddress: string; + + /** + * Email channel auth method. 0 Password (Default); 1 Graph. + */ + authMethod?: EmailChannelAuthMethod; + + /** + * The password for the email address. Value only returned through POST to the action Channel List API, otherwise empty. + */ + password?: string; + + /** + * The magic code for setting up the modern authentication. + */ + magicCode?: string; + + /** + * Whether this channel is enabled for the bot + */ + isEnabled: boolean; +} + +/** + * Outlook channel definition + */ +model OutlookChannel extends Channel { + /** + * The channel name + */ + channelName: "OutlookChannel"; +} + +/** + * Microsoft Teams channel definition + */ +model MsTeamsChannel extends Channel { + /** + * The set of properties specific to Microsoft Teams channel resource + */ + properties?: MsTeamsChannelProperties; + + /** + * The channel name + */ + channelName: "MsTeamsChannel"; +} + +/** + * The parameters to provide for the Microsoft Teams channel. + */ +model MsTeamsChannelProperties { + /** + * Enable calling for Microsoft Teams channel + */ + enableCalling?: boolean = false; + + /** + * Webhook for Microsoft Teams channel calls + */ + callingWebhook?: string; + + /** + * Whether this channel is enabled for the bot + */ + isEnabled: boolean; + + /** + * Webhook for Microsoft Teams channel calls + */ + incomingCallRoute?: string; + + /** + * Deployment environment for Microsoft Teams channel calls + */ + deploymentEnvironment?: string = "CommercialDeployment"; + + /** + * Whether this channel accepted terms + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + acceptedTerms?: boolean | null = null; +} + +/** + * Skype channel definition + */ +model SkypeChannel extends Channel { + /** + * The set of properties specific to Skype channel resource + */ + properties?: SkypeChannelProperties; + + /** + * The channel name + */ + channelName: "SkypeChannel"; +} + +/** + * The parameters to provide for the Microsoft Teams channel. + */ +model SkypeChannelProperties { + /** + * Enable messaging for Skype channel + */ + enableMessaging?: boolean; + + /** + * Enable media cards for Skype channel + */ + enableMediaCards?: boolean; + + /** + * Enable video for Skype channel + */ + enableVideo?: boolean; + + /** + * Enable calling for Skype channel + */ + enableCalling?: boolean = false; + + /** + * Enable screen sharing for Skype channel + */ + enableScreenSharing?: boolean; + + /** + * Enable groups for Skype channel + */ + enableGroups?: boolean; + + /** + * Group mode for Skype channel + */ + groupsMode?: string; + + /** + * Calling web hook for Skype channel + */ + callingWebHook?: string; + + /** + * Incoming call route for Skype channel + */ + incomingCallRoute?: string; + + /** + * Whether this channel is enabled for the bot + */ + isEnabled: boolean; +} + +/** + * Kik channel definition + */ +model KikChannel extends Channel { + /** + * The set of properties specific to Kik channel resource + */ + properties?: KikChannelProperties; + + /** + * The channel name + */ + channelName: "KikChannel"; +} + +/** + * The parameters to provide for the Kik channel. + */ +model KikChannelProperties { + /** + * The Kik user name + */ + userName: string; + + /** + * Kik API key. Value only returned through POST to the action Channel List API, otherwise empty. + */ + apiKey?: string; + + /** + * Whether this channel is validated for the bot + */ + isValidated?: boolean; + + /** + * Whether this channel is enabled for the bot + */ + isEnabled: boolean; +} + +/** + * Web Chat channel definition + */ +model WebChatChannel extends Channel { + /** + * The set of properties specific to Web Chat channel resource + */ + properties?: WebChatChannelProperties; + + /** + * The channel name + */ + channelName: "WebChatChannel"; +} + +/** + * The parameters to provide for the Web Chat channel. + */ +model WebChatChannelProperties { + /** + * Web chat control embed code + */ + @visibility(Lifecycle.Read) + webChatEmbedCode?: string; + + /** + * The list of Web Chat sites + */ + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + sites?: WebChatSite[]; +} + +/** + * A site for the Webchat channel + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model WebChatSite extends Site {} + +/** + * Direct Line channel definition + */ +model DirectLineChannel extends Channel { + /** + * The set of properties specific to Direct Line channel resource + */ + properties?: DirectLineChannelProperties; + + /** + * The channel name + */ + channelName: "DirectLineChannel"; +} + +/** + * The parameters to provide for the Direct Line channel. + */ +model DirectLineChannelProperties { + /** + * The list of Direct Line sites + */ + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + sites?: DirectLineSite[]; + + /** + * The extensionKey1 + */ + extensionKey1?: string = ""; + + /** + * The extensionKey2 + */ + extensionKey2?: string = ""; + + /** + * Direct Line embed code of the resource + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + DirectLineEmbedCode?: string; +} + +/** + * A site for the Direct Line channel + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model DirectLineSite extends Site {} + +/** + * Telegram channel definition + */ +model TelegramChannel extends Channel { + /** + * The set of properties specific to Telegram channel resource + */ + properties?: TelegramChannelProperties; + + /** + * The channel name + */ + channelName: "TelegramChannel"; +} + +/** + * The parameters to provide for the Telegram channel. + */ +model TelegramChannelProperties { + /** + * The Telegram access token. Value only returned through POST to the action Channel List API, otherwise empty. + */ + @secret + accessToken?: string; + + /** + * Whether this channel is validated for the bot + */ + isValidated?: boolean; + + /** + * Whether this channel is enabled for the bot + */ + isEnabled: boolean; +} + +/** + * Sms channel definition + */ +model SmsChannel extends Channel { + /** + * The set of properties specific to Sms channel resource + */ + properties?: SmsChannelProperties; + + /** + * The channel name + */ + channelName: "SmsChannel"; +} + +/** + * The parameters to provide for the Sms channel. + */ +model SmsChannelProperties { + /** + * The Sms phone + */ + phone: string; + + /** + * The Sms account SID. Value only returned through POST to the action Channel List API, otherwise empty. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + accountSID: string; + + /** + * The Sms auth token. Value only returned through POST to the action Channel List API, otherwise empty. + */ + @secret + authToken?: string; + + /** + * Whether this channel is validated for the bot + */ + isValidated?: boolean; + + /** + * Whether this channel is enabled for the bot + */ + isEnabled: boolean; +} + +/** + * Slack channel definition + */ +model SlackChannel extends Channel { + /** + * The set of properties specific to Slack channel resource + */ + properties?: SlackChannelProperties; + + /** + * The channel name + */ + channelName: "SlackChannel"; +} + +/** + * The parameters to provide for the Slack channel. + */ +model SlackChannelProperties { + /** + * The Slack client id + */ + clientId?: string; + + /** + * The Slack client secret. Value only returned through POST to the action Channel List API, otherwise empty. + */ + @secret + clientSecret?: string; + + /** + * The Slack verification token. Value only returned through POST to the action Channel List API, otherwise empty. + */ + @secret + verificationToken?: string; + + /** + * The Slack permission scopes. + */ + scopes?: string; + + /** + * The Slack landing page Url + */ + landingPageUrl?: string; + + /** + * The Slack redirect action + */ + @visibility(Lifecycle.Read) + redirectAction?: string; + + /** + * The Sms auth token + */ + @visibility(Lifecycle.Read) + lastSubmissionId?: string; + + /** + * Whether to register the settings before OAuth validation is performed. Recommended to True. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + registerBeforeOAuthFlow?: boolean; + + /** + * Whether this channel is validated for the bot + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + IsValidated?: boolean; + + /** + * The Slack signing secret. + */ + @secret + signingSecret?: string; + + /** + * Whether this channel is enabled for the bot + */ + isEnabled: boolean; +} + +/** + * Line channel definition + */ +model LineChannel extends Channel { + /** + * The set of properties specific to line channel resource + */ + properties?: LineChannelProperties; + + /** + * The channel name + */ + channelName: "LineChannel"; +} + +/** + * The parameters to provide for the Line channel. + */ +model LineChannelProperties { + /** + * The list of line channel registrations + */ + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + lineRegistrations: LineRegistration[]; + + /** + * Callback Url to enter in line registration. + */ + @visibility(Lifecycle.Read) + callbackUrl?: string; + + /** + * Whether this channel is validated for the bot + */ + @visibility(Lifecycle.Read) + isValidated?: boolean; +} + +/** + * The properties corresponding to a line channel registration + */ +model LineRegistration { + /** + * Id generated for the line channel registration + */ + @visibility(Lifecycle.Read) + generatedId?: string; + + /** + * Secret for the line channel registration + */ + @secret + channelSecret?: string; + + /** + * Access token for the line channel registration + */ + @secret + channelAccessToken?: string; +} + +/** + * DirectLine Speech channel definition + */ +model DirectLineSpeechChannel extends Channel { + /** + * The set of properties specific to DirectLine Speech channel resource + */ + properties?: DirectLineSpeechChannelProperties; + + /** + * The channel name + */ + channelName: "DirectLineSpeechChannel"; +} + +/** + * The parameters to provide for the DirectLine Speech channel. + */ +model DirectLineSpeechChannelProperties { + /** + * The cognitive service id with this channel registration. + */ + cognitiveServiceResourceId?: string; + + /** + * The cognitive service region with this channel registration. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + cognitiveServiceRegion?: string | null; + + /** + * The cognitive service subscription key to use with this channel registration. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @secret + cognitiveServiceSubscriptionKey?: string | null; + + /** + * Whether this channel is enabled or not. + */ + isEnabled?: boolean; + + /** + * Custom speech model id (optional). + */ + customVoiceDeploymentId?: string; + + /** + * Custom voice deployment id (optional). + */ + customSpeechModelId?: string; + + /** + * Make this a default bot for chosen cognitive service account. + */ + isDefaultBotForCogSvcAccount?: boolean; +} + +/** + * Omnichannel channel definition + */ +model Omnichannel extends Channel { + /** + * The channel name + */ + channelName: "Omnichannel"; +} + +/** + * Telephony channel definition + */ +model TelephonyChannel extends Channel { + /** + * The set of properties specific to Telephony channel resource + */ + properties?: TelephonyChannelProperties; + + /** + * The channel name + */ + channelName: "TelephonyChannel"; +} + +/** + * The parameters to provide for the Direct Line channel. + */ +model TelephonyChannelProperties { + /** + * The list of Telephony phone numbers + */ + phoneNumbers?: TelephonyPhoneNumbers[]; + + /** + * The list of Telephony api configuration + */ + apiConfigurations?: TelephonyChannelResourceApiConfiguration[]; + + /** + * The extensionKey1 + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + cognitiveServiceSubscriptionKey?: string | null; + + /** + * The extensionKey2 + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + cognitiveServiceRegion?: string | null; + + /** + * The default locale of the channel + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + defaultLocale?: string | null; + + /** + * The premium SKU applied to the channel + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + premiumSKU?: string | null; + + /** + * Whether the channel is enabled + */ + isEnabled?: boolean; +} + +/** + * A telephone number for the Telephony channel + */ +model TelephonyPhoneNumbers { + /** + * The element id. + */ + id?: string; + + /** + * The phone number. + */ + phoneNumber?: string; + + /** + * The endpoint of ACS. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + acsEndpoint?: string | null; + + /** + * The secret of ACS. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + acsSecret?: string | null; + + /** + * The resource id of ACS. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + acsResourceId?: string | null; + + /** + * The subscription key of cognitive service. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + cognitiveServiceSubscriptionKey?: string | null; + + /** + * The service region of cognitive service. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + cognitiveServiceRegion?: string | null; + + /** + * The resource id of cognitive service. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + cognitiveServiceResourceId?: string | null; + + /** + * The default locale of the phone number. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + defaultLocale?: string | null; + + /** + * Optional Property that will determine the offering type of the phone. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + offerType?: string | null; +} + +/** + * A resource Api configuration for the Telephony channel + */ +model TelephonyChannelResourceApiConfiguration { + /** + * The id of config. + */ + id?: string; + + /** + * The provider name. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + providerName?: string | null; + + /** + * The cognitive service subscription key. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + cognitiveServiceSubscriptionKey?: string | null; + + /** + * The cognitive service region. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + cognitiveServiceRegion?: string | null; + + /** + * The cognitive service resourceId. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + cognitiveServiceResourceId?: string | null; + + /** + * The default locale. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + defaultLocale?: string | null; +} + +/** + * AcsChat channel definition + */ +model AcsChatChannel extends Channel { + /** + * The channel name + */ + channelName: "AcsChatChannel"; +} + +/** + * SearchAssistant definition + */ +model SearchAssistant extends Channel { + /** + * The channel name + */ + channelName: "SearchAssistant"; +} + +/** + * M365 Extensions definition + */ +model M365Extensions extends Channel { + /** + * The channel name + */ + channelName: "M365Extensions"; +} + +/** + * The display name of a connection Item Setting registered with the Bot + */ +model ConnectionItemName { + /** + * Connection Item name that has been added in the API + */ + @visibility(Lifecycle.Read) + name?: string; +} diff --git a/specification/botservice/BotService.Management/routes.tsp b/specification/botservice/BotService.Management/routes.tsp new file mode 100644 index 000000000000..7381899c89ae --- /dev/null +++ b/specification/botservice/BotService.Management/routes.tsp @@ -0,0 +1,102 @@ +// FIXME: Operations in this file are not detected as a resource operation, please confirm the conversion result manually + +import "@azure-tools/typespec-azure-core"; +import "@typespec/rest"; +import "./models.tsp"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager; +using TypeSpec.OpenAPI; + +namespace Microsoft.BotService; + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +interface BotsOperationGroup { + /** + * Check whether a bot name is available. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @autoRoute + @action("checkNameAvailability") + getCheckNameAvailability is ArmProviderActionSync< + Request = CheckNameAvailabilityRequestBody, + Response = CheckNameAvailabilityResponseBody, + Error = Error + >; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +interface BotConnectionOperationGroup { + /** + * Lists the available Service Providers for creating Connection Settings + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @autoRoute + @action("listAuthServiceProviders") + listServiceProviders is ArmProviderActionSync< + Response = ServiceProviderResponseList, + Scope = SubscriptionActionScope, + Parameters = {}, + Error = Error + >; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +interface QnAMakerEndpointKeysOperationGroup { + /** + * Lists the QnA Maker endpoint keys + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @autoRoute + @action("listQnAMakerEndpointKeys") + get is ArmProviderActionSync< + Request = QnAMakerEndpointKeysRequestBody, + Response = QnAMakerEndpointKeysResponse, + Scope = SubscriptionActionScope, + Parameters = {}, + Error = Error + >; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +interface HostSettingsOperationGroup { + /** + * Get per subscription settings needed to host bot in compute resource such as Azure App Service + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @autoRoute + @get + @action("hostSettings") + get is ArmProviderActionSync< + Response = HostSettingsResponse, + Scope = SubscriptionActionScope, + Parameters = {}, + Error = Error + >; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +interface OperationResultsOperationGroup { + /** + * Get the operation result for a long running operation. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @route("/subscriptions/{subscriptionId}/providers/Microsoft.BotService/operationresults/{operationResultId}") + @get + get( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + + /** + * The ID of the operation result to get. + */ + @path + operationResultId: string, + ): ArmResponse | ArmAcceptedLroResponse & + Azure.Core.Foundations.RetryAfterHeader> | Error; +} diff --git a/specification/botservice/BotService.Management/tspconfig.yaml b/specification/botservice/BotService.Management/tspconfig.yaml new file mode 100644 index 000000000000..3c9fa161fd15 --- /dev/null +++ b/specification/botservice/BotService.Management/tspconfig.yaml @@ -0,0 +1,49 @@ +parameters: + "service-dir": + default: "sdk/botservice" +emit: + - "@azure-tools/typespec-autorest" +options: + "@azure-tools/typespec-autorest": + omit-unreachable-types: true + emitter-output-dir: "{project-root}/.." + azure-resource-provider-folder: "resource-manager" + output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/botservice.json" + examples-dir: "{project-root}/examples" + "@azure-tools/typespec-csharp": + flavor: azure + package-dir: "Azure.ResourceManager.BotService" + clear-output-folder: true + model-namespace: true + namespace: "{package-dir}" + "@azure-tools/typespec-python": + package-dir: "azure-mgmt-botservice" + namespace: "azure.mgmt.botservice" + generate-test: true + generate-sample: true + flavor: "azure" + "@azure-tools/typespec-java": + package-dir: "azure-resourcemanager-botservice" + namespace: "com.azure.resourcemanager.botservice" + service-name: "BotService" # human-readable service name, whitespace allowed + flavor: azure + "@azure-tools/typespec-ts": + package-dir: "arm-botservice" + is-modular-library: true + flavor: "azure" + experimental-extensible-enums: true + package-details: + name: "@azure/arm-botservice" + "@azure-tools/typespec-go": + service-dir: "sdk/resourcemanager/botservice" + package-dir: "armbotservice" + module: "github.com/Azure/azure-sdk-for-go/{service-dir}/{package-dir}" + fix-const-stuttering: true + flavor: "azure" + generate-samples: true + generate-fakes: true + head-as-boolean: true + inject-spans: true +linter: + extends: + - "@azure-tools/typespec-azure-rulesets/resource-manager" diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/botservice.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/botservice.json index fce9212914b8..1287102bacc6 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/botservice.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/botservice.json @@ -2,1690 +2,2115 @@ "swagger": "2.0", "info": { "title": "Azure Bot Service", + "version": "2023-09-15-preview", "description": "Azure Bot Service is a platform for creating smart conversational agents.", - "version": "2023-09-15-preview" + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] }, - "host": "management.azure.com", "schemes": [ "https" ], - "consumes": [ + "host": "management.azure.com", + "produces": [ "application/json" ], - "produces": [ + "consumes": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], "securityDefinitions": { "azure_auth": { "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, + "tags": [ + { + "name": "Operations" + }, + { + "name": "Bots" + }, + { + "name": "BotChannels" + }, + { + "name": "ConnectionSettings" + }, + { + "name": "PrivateEndpointConnections" + }, + { + "name": "NetworkSecurityPerimeterConfigurations" + } + ], "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}": { - "put": { - "tags": [ - "Bot" - ], - "description": "Creates a Bot Service. Bot Service is a resource group wide resource type.", - "operationId": "Bots_Create", - "x-ms-examples": { - "Create Bot": { - "$ref": "./examples/CreateBot.json" - } - }, + "/providers/Microsoft.BotService/checkNameAvailability": { + "post": { + "operationId": "Bots_GetCheckNameAvailability", + "description": "Check whether a bot name is available.", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "parameters", "in": "body", + "description": "The request body", "required": true, "schema": { - "$ref": "#/definitions/Bot" - }, - "description": "The parameters to provide for the created bot." - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "#/definitions/CheckNameAvailabilityRequestBody" + } } ], "responses": { "200": { - "description": "If resource is created successfully or already existed, the service should return 200 (OK).", - "schema": { - "$ref": "#/definitions/Bot" - } - }, - "201": { - "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/Bot" + "$ref": "#/definitions/CheckNameAvailabilityResponseBody" } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "check Name Availability": { + "$ref": "./examples/CheckNameAvailability.json" + } } - }, - "patch": { + } + }, + "/providers/Microsoft.BotService/operations": { + "get": { + "operationId": "Operations_List", "tags": [ - "Bot" + "Operations" ], - "description": "Updates a Bot Service", - "operationId": "Bots_Update", - "x-ms-examples": { - "Update Bot": { - "$ref": "./examples/UpdateBot.json" - } - }, + "description": "List the operations for the provider", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/resourceNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/Bot" - }, - "description": "The parameters to provide for the created bot." - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", - "schema": { - "$ref": "#/definitions/Bot" - } - }, - "201": { - "description": "If resource is updated successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/Bot" + "$ref": "#/definitions/OperationEntityListResult" } }, "default": { - "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } - } - }, - "delete": { - "tags": [ - "Bot" - ], - "description": "Deletes a Bot Service from the resource group. ", - "operationId": "Bots_Delete", + }, "x-ms-examples": { - "Delete Bot": { - "$ref": "./examples/DeleteBot.json" + "Get Operations": { + "$ref": "./examples/GetOperations.json" } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/botServices": { + "get": { + "operationId": "Bots_List", + "tags": [ + "Bots" + ], + "description": "Returns all the resources of a particular type belonging to a subscription.", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/resourceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;" - }, - "204": { - "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed." + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/BotResponseList" + } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } - } - }, - "get": { - "tags": [ - "Bot" - ], - "description": "Returns a BotService specified by the parameters.", - "operationId": "Bots_Get", + }, "x-ms-examples": { - "Get Bot": { - "$ref": "./examples/GetBot.json" + "List Bots by Subscription": { + "$ref": "./examples/ListBotsBySubscription.json" } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/hostSettings": { + "get": { + "operationId": "HostSettings_Get", + "description": "Get per subscription settings needed to host bot in compute resource such as Azure App Service", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/Bot" + "$ref": "#/definitions/HostSettingsResponse" } }, "default": { - "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Get Bot Host Settings": { + "$ref": "./examples/GetHostSettings.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices": { - "get": { - "tags": [ - "Bot" - ], - "description": "Returns all the resources of a particular type belonging to a resource group", - "operationId": "Bots_ListByResourceGroup", - "x-ms-examples": { - "List Bots by Resource Group": { - "$ref": "./examples/ListBotsByResourceGroup.json" - } - }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/listAuthServiceProviders": { + "post": { + "operationId": "BotConnection_ListServiceProviders", + "description": "Lists the available Service Providers for creating Connection Settings", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses 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.", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/BotResponseList" + "$ref": "#/definitions/ServiceProviderResponseList" } }, "default": { - "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-examples": { + "List Auth Service Providers": { + "$ref": "./examples/ListServiceProviders.json" + } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/botServices": { - "get": { - "tags": [ - "Bot" - ], - "description": "Returns all the resources of a particular type belonging to a subscription.", - "operationId": "Bots_List", - "x-ms-examples": { - "List Bots by Subscription": { - "$ref": "./examples/ListBotsBySubscription.json" - } - }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/listQnAMakerEndpointKeys": { + "post": { + "operationId": "QnAMakerEndpointKeys_Get", + "description": "Lists the QnA Maker endpoint keys", "parameters": [ { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "parameters", + "in": "body", + "description": "The request body", + "required": true, + "schema": { + "$ref": "#/definitions/QnAMakerEndpointKeysRequestBody" + } } ], "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. ", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/BotResponseList" + "$ref": "#/definitions/QnAMakerEndpointKeysResponse" } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-examples": { + "List QnAMaker Endpoint Keys": { + "$ref": "./examples/ListQnAMakerEndpointKeys.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}": { - "put": { - "tags": [ - "Channel" - ], - "description": "Creates a Channel registration for a Bot Service", - "operationId": "Channels_Create", - "x-ms-examples": { - "Create Channel": { - "$ref": "./examples/PutChannel.json" - }, - "Create Alexa Channel": { - "$ref": "./examples/PutAlexaChannel.json" - }, - "Create Email Channel": { - "$ref": "./examples/PutEmailChannel.json" - }, - "Create Line Channel": { - "$ref": "./examples/PutLineChannel.json" - }, - "Create DirectLine Speech Channel": { - "$ref": "./examples/PutDirectLineSpeechChannel.json" - } - }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/operationresults/{operationResultId}": { + "get": { + "operationId": "OperationResults_Get", + "description": "Get the operation result for a long running operation.", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/channelNameParameter" - }, - { - "name": "parameters", - "in": "body", + "name": "operationResultId", + "in": "path", + "description": "The ID of the operation result to get.", "required": true, - "schema": { - "$ref": "#/definitions/BotChannel" - }, - "description": "The parameters to provide for the created bot." - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" + "type": "string" } ], "responses": { "200": { - "description": "If resource is created successfully or already existed, the service should return 200 (OK).", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/BotChannel" + "$ref": "#/definitions/OperationResultsDescription" } }, - "201": { - "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", - "schema": { - "$ref": "#/definitions/BotChannel" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Get operation result": { + "$ref": "./examples/OperationResultsGet.json" + } } - }, - "patch": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices": { + "get": { + "operationId": "Bots_ListByResourceGroup", "tags": [ - "Channel" + "Bots" ], - "description": "Updates a Channel registration for a Bot Service", - "operationId": "Channels_Update", - "x-ms-examples": { - "Update Channel": { - "$ref": "./examples/UpdateChannel.json" + "description": "Returns all the resources of a particular type belonging to a resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, - "Update Alexa Channel": { - "$ref": "./examples/UpdateAlexaChannel.json" + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, - "Update Line Channel": { - "$ref": "./examples/UpdateLineChannel.json" + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/BotResponseList" + } }, - "Update DirectLine Speech Channel": { - "$ref": "./examples/UpdateDirectLineSpeechChannel.json" + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List Bots by Resource Group": { + "$ref": "./examples/ListBotsByResourceGroup.json" } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}": { + "get": { + "operationId": "Bots_Get", + "tags": [ + "Bots" + ], + "description": "Returns a BotService specified by the parameters.", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/channelNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/BotChannel" - }, - "description": "The parameters to provide for the created bot." - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" } ], "responses": { "200": { - "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", - "schema": { - "$ref": "#/definitions/BotChannel" - } - }, - "201": { - "description": "If resource is updated successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/BotChannel" + "$ref": "#/definitions/Bot" } }, "default": { - "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Get Bot": { + "$ref": "./examples/GetBot.json" + } } }, - "delete": { + "put": { + "operationId": "Bots_Create", "tags": [ - "Channel" + "Bots" ], - "description": "Deletes a Channel registration from a Bot Service", - "operationId": "Channels_Delete", - "x-ms-examples": { - "Delete Channel": { - "$ref": "./examples/DeleteChannel.json" - }, - "Delete DirectLine Speech Channel": { - "$ref": "./examples/DeleteDirectLineSpeechChannel.json" - } - }, + "description": "Creates a Bot Service. Bot Service is a resource group wide resource type.", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "channelName", + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", "in": "path", + "description": "The name of the Bot resource.", "required": true, "type": "string", - "maxLength": 64, "minLength": 2, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", - "description": "The name of the Bot resource." - }, - { - "$ref": "#/parameters/apiVersionParameter" + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "parameters", + "in": "body", + "description": "The parameters to provide for the created bot.", + "required": true, + "schema": { + "$ref": "#/definitions/Bot" + } } ], "responses": { "200": { - "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;" + "description": "Resource 'Bot' update operation succeeded", + "schema": { + "$ref": "#/definitions/Bot" + } }, - "204": { - "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed." + "201": { + "description": "Resource 'Bot' create operation succeeded", + "schema": { + "$ref": "#/definitions/Bot" + } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Create Bot": { + "$ref": "./examples/CreateBot.json" + } } }, - "get": { + "patch": { + "operationId": "Bots_Update", "tags": [ - "Channel" + "Bots" ], - "description": "Returns a BotService Channel registration specified by the parameters.", - "operationId": "Channels_Get", - "x-ms-examples": { - "Get Channel": { - "$ref": "./examples/GetChannel.json" - }, - "Get Alexa Channel": { - "$ref": "./examples/GetAlexaChannel.json" - }, - "Get Line Channel": { - "$ref": "./examples/GetLineChannel.json" - }, - "Get DirectLine Speech Channel": { - "$ref": "./examples/GetDirectLineSpeechChannel.json" - } - }, + "description": "Updates a Bot Service", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "channelName", + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", "in": "path", + "description": "The name of the Bot resource.", "required": true, "type": "string", - "maxLength": 64, "minLength": 2, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", - "description": "The name of the Bot resource." - }, - { - "$ref": "#/parameters/apiVersionParameter" + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "parameters", + "in": "body", + "description": "The parameters to provide for the created bot.", + "required": true, + "schema": { + "$ref": "#/definitions/Bot" + } } ], "responses": { "200": { - "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/BotChannel" + "$ref": "#/definitions/Bot" + } + }, + "201": { + "description": "Resource 'Bot' create operation succeeded", + "schema": { + "$ref": "#/definitions/Bot" } }, "default": { - "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Update Bot": { + "$ref": "./examples/UpdateBot.json" + } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/listChannelWithKeys": { - "post": { + }, + "delete": { + "operationId": "Bots_Delete", "tags": [ - "Channel" + "Bots" ], - "description": "Lists a Channel registration for a Bot Service including secrets", - "operationId": "Channels_ListWithKeys", - "x-ms-examples": { - "List Channel": { - "$ref": "./examples/ListChannel.json" - } - }, + "description": "Deletes a Bot Service from the resource group.", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/channelNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" } ], "responses": { "200": { - "description": "If resource is retrieved successfully, the service should return 200 (OK).", - "schema": { - "$ref": "#/definitions/ListChannelWithKeysResponse" - } + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Delete Bot": { + "$ref": "./examples/DeleteBot.json" + } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels": { "get": { + "operationId": "Channels_ListByResourceGroup", "tags": [ - "Channel" + "BotChannels" ], "description": "Returns all the Channel registrations of a particular BotService resource", - "operationId": "Channels_ListByResourceGroup", - "x-ms-examples": { - "List Channels by Resource Group": { - "$ref": "./examples/ListChannelsByBotService.json" - } - }, "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" } ], "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.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ChannelResponseList" } }, "default": { - "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, + "x-ms-examples": { + "List Channels by Resource Group": { + "$ref": "./examples/ListChannelsByBotService.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/regeneratekeys": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}": { + "get": { + "operationId": "Channels_Get", "tags": [ - "Channel" + "BotChannels" ], - "description": "Regenerates secret keys and returns them for the DirectLine Channel of a particular BotService resource", - "operationId": "DirectLine_RegenerateKeys", - "x-ms-examples": { - "Regenerate Keys for DirectLine Channel Site": { - "$ref": "./examples/DirectlineRegenerateKeys.json" - }, - "Regenerate Keys for WebChat Channel Site": { - "$ref": "./examples/WebChatRegenerateKeys.json" - } - }, + "description": "Returns a BotService Channel registration specified by the parameters.", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/regenerateKeyschannelNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" }, { - "name": "parameters", - "in": "body", + "name": "channelName", + "in": "path", + "description": "The name of the Bot resource.", "required": true, - "schema": { - "$ref": "#/definitions/SiteInfo" - }, - "description": "The parameters to provide for the created bot." + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" } ], "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.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/BotChannel" } }, "default": { - "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/createEmailSignInUrl": { - "post": { - "tags": [ - "Channel" - ], - "description": "Creates an email channel sign in url for a Bot Service", - "operationId": "Email_CreateSignInUrl", + }, "x-ms-examples": { - "Create Url": { - "$ref": "./examples/CreateEmailSignInUrl.json" + "Get Alexa Channel": { + "$ref": "./examples/GetAlexaChannel.json" + }, + "Get Channel": { + "$ref": "./examples/GetChannel.json" + }, + "Get DirectLine Speech Channel": { + "$ref": "./examples/GetDirectLineSpeechChannel.json" + }, + "Get Line Channel": { + "$ref": "./examples/GetLineChannel.json" } - }, + } + }, + "put": { + "operationId": "Channels_Create", + "tags": [ + "BotChannels" + ], + "description": "Creates a Channel registration for a Bot Service", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" }, { - "$ref": "#/parameters/apiVersionParameter" + "name": "channelName", + "in": "path", + "description": "The name of the Channel resource.", + "required": true, + "type": "string", + "enum": [ + "AlexaChannel", + "FacebookChannel", + "EmailChannel", + "KikChannel", + "TelegramChannel", + "SlackChannel", + "MsTeamsChannel", + "SkypeChannel", + "WebChatChannel", + "DirectLineChannel", + "SmsChannel", + "LineChannel", + "DirectLineSpeechChannel", + "OutlookChannel", + "Omnichannel", + "TelephonyChannel", + "AcsChatChannel", + "SearchAssistant", + "M365Extensions" + ], + "x-ms-enum": { + "name": "ChannelName", + "modelAsString": false + } }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "parameters", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/BotChannel" + } } ], "responses": { "200": { - "description": "If url is created successfully, the service should return 200 (OK).", + "description": "Resource 'BotChannel' update operation succeeded", "schema": { - "$ref": "#/definitions/CreateEmailSignInUrlResponse" + "$ref": "#/definitions/BotChannel" + } + }, + "201": { + "description": "Resource 'BotChannel' create operation succeeded", + "schema": { + "$ref": "#/definitions/BotChannel" } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Create Alexa Channel": { + "$ref": "./examples/PutAlexaChannel.json" + }, + "Create Channel": { + "$ref": "./examples/PutChannel.json" + }, + "Create DirectLine Speech Channel": { + "$ref": "./examples/PutDirectLineSpeechChannel.json" + }, + "Create Email Channel": { + "$ref": "./examples/PutEmailChannel.json" + }, + "Create Line Channel": { + "$ref": "./examples/PutLineChannel.json" + } } - } - }, - "/providers/Microsoft.BotService/checkNameAvailability": { - "post": { + }, + "patch": { + "operationId": "Channels_Update", "tags": [ - "Bot" + "BotChannels" ], - "description": "Check whether a bot name is available.", - "operationId": "Bots_GetCheckNameAvailability", - "x-ms-examples": { - "check Name Availability": { - "$ref": "./examples/CheckNameAvailability.json" - } - }, + "description": "Updates a Channel registration for a Bot Service", "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" + }, + { + "name": "channelName", + "in": "path", + "description": "The name of the Channel resource.", + "required": true, + "type": "string", + "enum": [ + "AlexaChannel", + "FacebookChannel", + "EmailChannel", + "KikChannel", + "TelegramChannel", + "SlackChannel", + "MsTeamsChannel", + "SkypeChannel", + "WebChatChannel", + "DirectLineChannel", + "SmsChannel", + "LineChannel", + "DirectLineSpeechChannel", + "OutlookChannel", + "Omnichannel", + "TelephonyChannel", + "AcsChatChannel", + "SearchAssistant", + "M365Extensions" + ], + "x-ms-enum": { + "name": "ChannelName", + "modelAsString": false + } + }, { "name": "parameters", "in": "body", + "description": "The parameters to provide for the created bot.", "required": true, "schema": { - "$ref": "#/definitions/CheckNameAvailabilityRequestBody" - }, - "description": "The request body parameters to provide for the check name availability request" - }, - { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "#/definitions/BotChannel" + } } ], "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. ", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/CheckNameAvailabilityResponseBody" + "$ref": "#/definitions/BotChannel" + } + }, + "201": { + "description": "Resource 'BotChannel' create operation succeeded", + "schema": { + "$ref": "#/definitions/BotChannel" } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Update Alexa Channel": { + "$ref": "./examples/UpdateAlexaChannel.json" + }, + "Update Channel": { + "$ref": "./examples/UpdateChannel.json" + }, + "Update DirectLine Speech Channel": { + "$ref": "./examples/UpdateDirectLineSpeechChannel.json" + }, + "Update Line Channel": { + "$ref": "./examples/UpdateLineChannel.json" + } } - } - }, - "/providers/Microsoft.BotService/operations": { - "get": { + }, + "delete": { + "operationId": "Channels_Delete", "tags": [ - "Operations" + "BotChannels" ], - "description": "Lists all the available BotService operations.", - "operationId": "Operations_List", - "x-ms-examples": { - "Get Operations": { - "$ref": "./examples/GetOperations.json" - } - }, + "description": "Deletes a Channel registration from a Bot Service", "parameters": [ { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" + }, + { + "name": "channelName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" } ], "responses": { "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/OperationEntityListResult" - } + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, - "deprecated": false, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-examples": { + "Delete Channel": { + "$ref": "./examples/DeleteChannel.json" + }, + "Delete DirectLine Speech Channel": { + "$ref": "./examples/DeleteDirectLineSpeechChannel.json" + } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/listAuthServiceProviders": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/listChannelWithKeys": { "post": { + "operationId": "Channels_ListWithKeys", "tags": [ - "ListServiceProviders" + "BotChannels" ], - "description": "Lists the available Service Providers for creating Connection Settings", - "operationId": "BotConnection_ListServiceProviders", - "x-ms-examples": { - "List Auth Service Providers": { - "$ref": "./examples/ListServiceProviders.json" - } - }, + "description": "Lists a Channel registration for a Bot Service including secrets", "parameters": [ { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "channelName", + "in": "path", + "description": "The name of the Channel resource.", + "required": true, + "type": "string", + "enum": [ + "AlexaChannel", + "FacebookChannel", + "EmailChannel", + "KikChannel", + "TelegramChannel", + "SlackChannel", + "MsTeamsChannel", + "SkypeChannel", + "WebChatChannel", + "DirectLineChannel", + "SmsChannel", + "LineChannel", + "DirectLineSpeechChannel", + "OutlookChannel", + "Omnichannel", + "TelephonyChannel", + "AcsChatChannel", + "SearchAssistant", + "M365Extensions" + ], + "x-ms-enum": { + "name": "ChannelName", + "modelAsString": false + } } ], "responses": { "200": { - "description": "If resource is retrieved successfully, the service should return 200 (OK).", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ServiceProviderResponseList" + "$ref": "#/definitions/ListChannelWithKeysResponse" } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "List Channel": { + "$ref": "./examples/ListChannel.json" + } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/listQnAMakerEndpointKeys": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/regeneratekeys": { "post": { + "operationId": "DirectLine_RegenerateKeys", "tags": [ - "ListQnAMakerEndpointKeys" + "BotChannels" ], - "description": "Lists the QnA Maker endpoint keys", - "operationId": "QnAMakerEndpointKeys_Get", - "x-ms-examples": { - "List QnAMaker Endpoint Keys": { - "$ref": "./examples/ListQnAMakerEndpointKeys.json" - } - }, + "description": "Regenerates secret keys and returns them for the DirectLine Channel of a particular BotService resource", "parameters": [ { - "name": "parameters", - "in": "body", + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", "required": true, - "schema": { - "$ref": "#/definitions/QnAMakerEndpointKeysRequestBody" - }, - "description": "The request body parameters to provide for the check name availability request" + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" }, { - "$ref": "#/parameters/apiVersionParameter" + "name": "channelName", + "in": "path", + "description": "The name of the Channel resource for which keys are to be regenerated.", + "required": true, + "type": "string", + "enum": [ + "WebChatChannel", + "DirectLineChannel" + ], + "x-ms-enum": { + "name": "RegenerateKeysChannelName", + "modelAsString": false + } }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "parameters", + "in": "body", + "description": "The parameters to provide for the created bot.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteInfo" + } } ], "responses": { "200": { - "description": "If resource is retrieved successfully, the service should return 200 (OK).", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/QnAMakerEndpointKeysResponse" + "$ref": "#/definitions/BotChannel" } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Regenerate Keys for DirectLine Channel Site": { + "$ref": "./examples/DirectlineRegenerateKeys.json" + }, + "Regenerate Keys for WebChat Channel Site": { + "$ref": "./examples/WebChatRegenerateKeys.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections/{connectionName}/listWithSecrets": { - "post": { - "tags": [ - "BotConnection" - ], - "x-ms-examples": { - "List Connection Setting With Secrets": { - "$ref": "./examples/GetConnection.json" - } - }, - "description": "Get a Connection Setting registration for a Bot Service", - "operationId": "BotConnection_ListWithSecrets", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections": { + "get": { + "operationId": "BotConnection_ListByBotService", + "tags": [ + "ConnectionSettings" + ], + "description": "Returns all the Connection Settings registered to a particular BotService resource", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/connectionNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" } ], "responses": { "200": { - "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ConnectionSetting" + "$ref": "#/definitions/ConnectionSettingResponseList" } }, "default": { - "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "List Connection Settings": { + "$ref": "./examples/ListConnectionsByBotService.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections/{connectionName}": { - "put": { + "get": { + "operationId": "BotConnection_Get", "tags": [ - "BotConnection" + "ConnectionSettings" ], - "description": "Register a new Auth Connection for a Bot Service", - "operationId": "BotConnection_Create", - "x-ms-examples": { - "Create Connection Setting": { - "$ref": "./examples/PutConnection.json" - } - }, + "description": "Get a Connection Setting registration for a Bot Service", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/connectionNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", "required": true, - "schema": { - "$ref": "#/definitions/ConnectionSetting" - }, - "description": "The parameters to provide for creating the Connection Setting." - }, - { - "$ref": "#/parameters/apiVersionParameter" + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "connectionName", + "in": "path", + "description": "The name of the Bot Service Connection Setting resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][\\sa-zA-Z0-9_.-]*$" } ], "responses": { "200": { - "description": "If resource is created successfully or already existed, the service should return 200 (OK).", - "schema": { - "$ref": "#/definitions/ConnectionSetting" - } - }, - "201": { - "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ConnectionSetting" } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Get Connection Setting": { + "$ref": "./examples/GetConnection.json" + } } }, - "patch": { + "put": { + "operationId": "BotConnection_Create", "tags": [ - "BotConnection" + "ConnectionSettings" ], - "description": "Updates a Connection Setting registration for a Bot Service", - "operationId": "BotConnection_Update", - "x-ms-examples": { - "Update Connection Setting": { - "$ref": "./examples/UpdateConnection.json" - } - }, + "description": "Register a new Auth Connection for a Bot Service", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/connectionNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", "required": true, - "schema": { - "$ref": "#/definitions/ConnectionSetting" - }, - "description": "The parameters to provide for updating the Connection Setting." + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" }, { - "$ref": "#/parameters/apiVersionParameter" + "name": "connectionName", + "in": "path", + "description": "The name of the Bot Service Connection Setting resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][\\sa-zA-Z0-9_.-]*$" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "parameters", + "in": "body", + "description": "The parameters to provide for creating the Connection Setting.", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionSetting" + } } ], "responses": { "200": { - "description": "If resource is created successfully or already existed, the service should return 200 (OK).", + "description": "Resource 'ConnectionSetting' update operation succeeded", "schema": { "$ref": "#/definitions/ConnectionSetting" } }, "201": { - "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "description": "Resource 'ConnectionSetting' create operation succeeded", "schema": { "$ref": "#/definitions/ConnectionSetting" } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Create Connection Setting": { + "$ref": "./examples/PutConnection.json" + } } }, - "get": { + "patch": { + "operationId": "BotConnection_Update", "tags": [ - "BotConnection" + "ConnectionSettings" ], - "x-ms-examples": { - "Get Connection Setting": { - "$ref": "./examples/GetConnection.json" - } - }, - "description": "Get a Connection Setting registration for a Bot Service", - "operationId": "BotConnection_Get", + "description": "Updates a Connection Setting registration for a Bot Service", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/connectionNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" + }, + { + "name": "connectionName", + "in": "path", + "description": "The name of the Bot Service Connection Setting resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][\\sa-zA-Z0-9_.-]*$" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "parameters", + "in": "body", + "description": "The parameters to provide for updating the Connection Setting.", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionSetting" + } } ], "responses": { "200": { - "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ConnectionSetting" + } + }, + "201": { + "description": "Resource 'ConnectionSetting' create operation succeeded", "schema": { "$ref": "#/definitions/ConnectionSetting" } }, "default": { - "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Update Connection Setting": { + "$ref": "./examples/UpdateConnection.json" + } } }, "delete": { + "operationId": "BotConnection_Delete", "tags": [ - "BotConnection" + "ConnectionSettings" ], "description": "Deletes a Connection Setting registration for a Bot Service", - "operationId": "BotConnection_Delete", - "x-ms-examples": { - "Delete Connection Setting": { - "$ref": "./examples/DeleteConnection.json" - } - }, "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/connectionNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "connectionName", + "in": "path", + "description": "The name of the Bot Service Connection Setting resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][\\sa-zA-Z0-9_.-]*$" } ], "responses": { "200": { - "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;" + "description": "Resource deleted successfully." }, "204": { - "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed." + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Delete Connection Setting": { + "$ref": "./examples/DeleteConnection.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections/{connectionName}/listWithSecrets": { + "post": { + "operationId": "BotConnection_ListWithSecrets", "tags": [ - "BotConnection" + "ConnectionSettings" ], - "description": "Returns all the Connection Settings registered to a particular BotService resource", - "operationId": "BotConnection_ListByBotService", - "x-ms-examples": { - "List Connection Settings": { - "$ref": "./examples/ListConnectionsByBotService.json" - } - }, + "description": "Get a Connection Setting registration for a Bot Service", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" }, { - "$ref": "#/parameters/apiVersionParameter" + "name": "connectionName", + "in": "path", + "description": "The name of the Bot Service Connection Setting resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][\\sa-zA-Z0-9_.-]*$" } ], "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.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ConnectionSettingResponseList" + "$ref": "#/definitions/ConnectionSetting" } }, "default": { - "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-examples": { + "List Connection Setting With Secrets": { + "$ref": "./examples/GetConnectionListWithSecrets.json" + } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/hostSettings": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/createEmailSignInUrl": { + "post": { + "operationId": "Email_CreateSignInUrl", "tags": [ - "BotHostSettings" + "Bots" ], - "description": "Get per subscription settings needed to host bot in compute resource such as Azure App Service", - "operationId": "HostSettings_Get", - "x-ms-examples": { - "Get Bot Host Settings": { - "$ref": "./examples/GetHostSettings.json" - } - }, + "description": "Creates an email channel sign in url for a Bot Service", "parameters": [ { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" } ], "responses": { "200": { - "description": "If resource is retrieved successfully, the service should return 200 (OK).", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/HostSettingsResponse" + "$ref": "#/definitions/CreateEmailSignInUrlResponse" } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Create Url": { + "$ref": "./examples/CreateEmailSignInUrl.json" + } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/operationresults/{operationResultId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/networkSecurityPerimeterConfigurations": { "get": { + "operationId": "NetworkSecurityPerimeterConfigurations_List", "tags": [ - "OperationResults" + "NetworkSecurityPerimeterConfigurations" ], - "description": "Get the operation result for a long running operation.", - "operationId": "OperationResults_Get", - "x-ms-examples": { - "Get operation result": { - "$ref": "./examples/OperationResultsGet.json" - } - }, + "description": "List Network Security Perimeter configurations associated with the Bot.", "parameters": [ { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/operationResultIdParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" } ], "responses": { "200": { - "description": "The body contains all of the properties of the operation result.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/OperationResultsDescription" + "$ref": "#/definitions/NetworkSecurityPerimeterConfigurationList" } }, - "202": { - "description": "Accepted - Get request accepted; the operation will complete asynchronously." - }, "default": { - "description": "Default error response", - "x-ms-error-response": true, + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, - "x-ms-long-running-operation": true + "x-ms-examples": { + "List Network Security Perimeter Configurations": { + "$ref": "./examples/ListNetworkSecurityPerimeterConfigurations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/privateEndpointConnections": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/networkSecurityPerimeterConfigurations/{networkSecurityPerimeterConfigurationName}": { "get": { + "operationId": "NetworkSecurityPerimeterConfigurations_Get", "tags": [ - "PrivateEndpointConnections" + "NetworkSecurityPerimeterConfigurations" ], - "operationId": "PrivateEndpointConnections_List", - "description": "List all the private endpoint connections associated with the Bot.", - "x-ms-examples": { - "List Private Endpoint Connections": { - "$ref": "./examples/ListPrivateEndpointConnections.json" - } - }, + "description": "Gets the specified Network Security Perimeter configuration associated with the Bot.", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "networkSecurityPerimeterConfigurationName", + "in": "path", + "description": "The resource association Name. Composed of parameter guid and association name.", + "required": true, + "type": "string", + "pattern": ".*" } ], "responses": { "200": { - "description": "OK -- Successfully retrieved private endpoint connections.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + "$ref": "#/definitions/NetworkSecurityPerimeterConfiguration" } }, "default": { - "description": "Default error response", - "x-ms-error-response": true, + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, - "x-ms-pageable": { - "nextLinkName": null + "x-ms-examples": { + "Get Network Security Perimeter Configuration": { + "$ref": "./examples/GetNetworkSecurityPerimeterConfiguration.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/networkSecurityPerimeterConfigurations/{networkSecurityPerimeterConfigurationName}/reconcile": { + "post": { + "operationId": "NetworkSecurityPerimeterConfigurations_Reconcile", "tags": [ - "PrivateEndpointConnections" + "NetworkSecurityPerimeterConfigurations" ], - "operationId": "PrivateEndpointConnections_Get", - "description": "Gets the specified private endpoint connection associated with the Bot.", - "x-ms-examples": { - "Get Private Endpoint Connection": { - "$ref": "./examples/GetPrivateEndpointConnection.json" - } - }, + "description": "Reconcile the specified Network Security Perimeter configuration associated with the Bot.", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" }, { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + "name": "networkSecurityPerimeterConfigurationName", + "in": "path", + "description": "The resource association Name. Composed of parameter guid and association name.", + "required": true, + "type": "string", + "pattern": ".*" } ], "responses": { "200": { - "description": "OK -- Get the private endpoint connection properties successfully.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/NetworkSecurityPerimeterConfiguration" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", - "x-ms-error-response": true, + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/Error" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } - } - }, - "put": { - "tags": [ - "PrivateEndpointConnections" - ], - "operationId": "PrivateEndpointConnections_Create", - "description": "Update the state of specified private endpoint connection associated with the Bot.", + }, "x-ms-examples": { - "Put Private Endpoint Connection": { - "$ref": "./examples/PutPrivateEndpointConnection.json" + "Reconcile Network Security Perimeter Configuration": { + "$ref": "./examples/ReconcileNetworkSecurityPerimeterConfiguration.json" } }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/privateEndpointConnections": { + "get": { + "operationId": "PrivateEndpointConnections_List", + "tags": [ + "PrivateEndpointConnections" + ], + "description": "List all the private endpoint connections associated with the Bot.", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/resourceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "properties", - "in": "body", + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", "required": true, - "schema": { - "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" - }, - "description": "The private endpoint connection properties." + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" } ], "responses": { "200": { - "description": "OK -- Update the private endpoint connection properties successfully.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/PrivateEndpointConnectionListResult" } }, "default": { - "description": "Error response describing why the operation failed.", - "x-ms-error-response": true, + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "List Private Endpoint Connections": { + "$ref": "./examples/ListPrivateEndpointConnections.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "operationId": "PrivateEndpointConnections_Get", "tags": [ "PrivateEndpointConnections" ], - "operationId": "PrivateEndpointConnections_Delete", - "description": "Deletes the specified private endpoint connection associated with the Bot.", - "x-ms-examples": { - "Delete Private Endpoint Connection": { - "$ref": "./examples/DeletePrivateEndpointConnection.json" - } - }, + "description": "Gets the specified private endpoint connection associated with the Bot.", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" }, { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection associated with the Azure resource", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "OK -- Delete the private endpoint connection successfully." - }, - "204": { - "description": "No Content -- The private endpoint connection does not exist." + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } }, "default": { - "description": "Error response describing why the operation failed.", - "x-ms-error-response": true, + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Get Private Endpoint Connection": { + "$ref": "./examples/GetPrivateEndpointConnection.json" + } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/privateLinkResources": { - "get": { + }, + "put": { + "operationId": "PrivateEndpointConnections_Create", "tags": [ - "PrivateLinkResources" + "PrivateEndpointConnections" ], - "operationId": "PrivateLinkResources_ListByBotResource", - "description": "Gets the private link resources that need to be created for a Bot.", - "x-ms-examples": { - "List Private Link Resources": { - "$ref": "./examples/ListPrivateLinkResources.json" - } - }, + "description": "Update the state of specified private endpoint connection associated with the Bot.", "parameters": [ { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" }, { - "$ref": "#/parameters/apiVersionParameter" + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection associated with the Azure resource", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "name": "properties", + "in": "body", + "description": "The private endpoint connection properties.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } } ], "responses": { "200": { - "description": "Successfully retrieved private link resources.", + "description": "Resource 'PrivateEndpointConnection' update operation succeeded", "schema": { - "$ref": "./privatelinks.json#/definitions/PrivateLinkResourceListResult" + "$ref": "#/definitions/PrivateEndpointConnection" } }, "default": { - "description": "Default error response", - "x-ms-error-response": true, + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Put Private Endpoint Connection": { + "$ref": "./examples/PutPrivateEndpointConnection.json" + } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/networkSecurityPerimeterConfigurations/{networkSecurityPerimeterConfigurationName}": { - "get": { + }, + "delete": { + "operationId": "PrivateEndpointConnections_Delete", "tags": [ - "NetworkSecurityPerimeterConfigurations" + "PrivateEndpointConnections" ], - "operationId": "NetworkSecurityPerimeterConfigurations_Get", - "description": "Gets the specified Network Security Perimeter configuration associated with the Bot.", - "x-ms-examples": { - "Get Network Security Perimeter Configuration": { - "$ref": "./examples/GetNetworkSecurityPerimeterConfiguration.json" - } - }, + "description": "Deletes the specified private endpoint connection associated with the Bot.", "parameters": [ { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./networksecurityperimeter.json#/parameters/NetworkSecurityPerimeterConfigurationNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" }, { - "$ref": "#/parameters/apiVersionParameter" + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection associated with the Azure resource", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "OK -- Get the Network Security Perimeter configuration successfully.", - "schema": { - "$ref": "./networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfiguration" - } + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed.", - "x-ms-error-response": true, + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } + }, + "x-ms-examples": { + "Delete Private Endpoint Connection": { + "$ref": "./examples/DeletePrivateEndpointConnection.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/networkSecurityPerimeterConfigurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/privateLinkResources": { "get": { + "operationId": "PrivateLinkResources_ListByBotResource", "tags": [ - "NetworkSecurityPerimeterConfigurations" + "Bots" ], - "operationId": "NetworkSecurityPerimeterConfigurations_List", - "description": "List Network Security Perimeter configurations associated with the Bot.", - "x-ms-examples": { - "List Network Security Perimeter Configurations": { - "$ref": "./examples/ListNetworkSecurityPerimeterConfigurations.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "description": "Gets the private link resources that need to be created for a Bot.", "parameters": [ { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/resourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/resourceNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the Bot resource.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 64, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" } ], "responses": { "200": { - "description": "OK -- List the Network Security Perimeter configurations successfully.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "./networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfigurationList" + "$ref": "#/definitions/PrivateLinkResourceListResult" } }, "default": { - "description": "Error response describing why the operation failed.", - "x-ms-error-response": true, + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/networkSecurityPerimeterConfigurations/{networkSecurityPerimeterConfigurationName}/reconcile": { - "post": { - "tags": [ - "NetworkSecurityPerimeterConfigurations" - ], - "operationId": "NetworkSecurityPerimeterConfigurations_Reconcile", - "description": "Reconcile the specified Network Security Perimeter configuration associated with the Bot.", + }, "x-ms-examples": { - "Reconcile Network Security Perimeter Configuration": { - "$ref": "./examples/ReconcileNetworkSecurityPerimeterConfiguration.json" + "List Private Link Resources": { + "$ref": "./examples/ListPrivateLinkResources.json" } - }, - "parameters": [ - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, + } + } + } + }, + "definitions": { + "AccessMode": { + "type": "string", + "description": "Access Mode of the resource association", + "enum": [ + "Enforced", + "Learning", + "Audit" + ], + "x-ms-enum": { + "name": "AccessMode", + "modelAsString": true, + "values": [ { - "$ref": "#/parameters/resourceNameParameter" + "name": "Enforced", + "value": "Enforced" }, { - "$ref": "./networksecurityperimeter.json#/parameters/NetworkSecurityPerimeterConfigurationNameParameter" + "name": "Learning", + "value": "Learning" }, { - "$ref": "#/parameters/apiVersionParameter" + "name": "Audit", + "value": "Audit" } - ], - "responses": { - "200": { - "description": "Request to reconcile the configuration succeeded.", - "schema": { - "$ref": "./networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfiguration" - } - }, - "202": { - "description": "Request to reconcile the configuration accepted.", - "headers": { - "location": { - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "x-ms-error-response": true, - "schema": { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-long-running-operation": true + ] } - } - }, - "definitions": { - "Resource": { - "description": "Azure resource", - "x-ms-azure-resource": true, + }, + "AcsChatChannel": { + "type": "object", + "description": "AcsChat channel definition", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "x-ms-discriminator-value": "AcsChatChannel" + }, + "AlexaChannel": { + "type": "object", + "description": "Alexa channel definition", "properties": { - "id": { - "description": "Specifies the resource ID.", + "properties": { + "$ref": "#/definitions/AlexaChannelProperties", + "description": "The set of properties specific to Alexa channel resource" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "x-ms-discriminator-value": "AlexaChannel" + }, + "AlexaChannelProperties": { + "type": "object", + "description": "The parameters to provide for the Alexa channel.", + "properties": { + "alexaSkillId": { "type": "string", - "readOnly": true + "description": "The Alexa skill Id" }, - "name": { - "description": "Specifies the name of the resource.", + "urlFragment": { "type": "string", + "description": "Url fragment used in part of the Uri configured in Alexa", "readOnly": true }, - "location": { - "description": "Specifies the location of the resource.", - "type": "string" - }, - "type": { - "description": "Specifies the type of the resource.", + "serviceEndpointUri": { "type": "string", + "description": "Full Uri used to configured the skill in Alexa", "readOnly": true }, - "tags": { - "description": "Contains resource tags defined as key/value pairs.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "required": [ + "alexaSkillId", + "isEnabled" + ] + }, + "Bot": { + "type": "object", + "description": "Bot resource definition", + "properties": { + "properties": { + "$ref": "#/definitions/BotProperties", + "description": "The set of properties specific to bot resource" }, "sku": { "$ref": "#/definitions/Sku", @@ -1693,8 +2118,7 @@ }, "kind": { "$ref": "#/definitions/Kind", - "description": "Required. Gets or sets the Kind of the resource.", - "x-nullable": true + "description": "Required. Gets or sets the Kind of the resource." }, "etag": { "type": "string", @@ -1702,86 +2126,57 @@ }, "zones": { "type": "array", + "description": "Entity zones", "items": { "type": "string" }, - "description": "Entity zones", "readOnly": true } - } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] }, - "Sku": { + "BotChannel": { + "type": "object", + "description": "Bot channel resource definition", "properties": { - "name": { - "$ref": "#/definitions/SkuName", - "description": "The sku name" + "properties": { + "$ref": "#/definitions/Channel", + "description": "The set of properties specific to bot channel resource" }, - "tier": { - "readOnly": true, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Gets or sets the SKU of the resource." + }, + "kind": { + "$ref": "#/definitions/Kind", + "description": "Required. Gets or sets the Kind of the resource." + }, + "etag": { "type": "string", - "description": "Gets the sku tier. This is based on the SKU name.", - "enum": [ - "Free", - "Standard" - ], - "x-ms-enum": { - "name": "SkuTier", - "modelAsString": true - } + "description": "Entity Tag." + }, + "zones": { + "type": "array", + "description": "Entity zones", + "items": { + "type": "string" + }, + "readOnly": true } }, - "required": [ - "name" - ], - "description": "The SKU of the cognitive services account." - }, - "SkuName": { - "type": "string", - "description": "The name of SKU.", - "enum": [ - "F0", - "S1" - ], - "x-ms-enum": { - "name": "SkuName", - "modelAsString": true - } - }, - "Kind": { - "type": "string", - "description": "Indicates the type of bot service", - "enum": [ - "sdk", - "designer", - "bot", - "function", - "azurebot" - ], - "x-ms-enum": { - "name": "Kind", - "modelAsString": true - }, - "x-ms-mutability": [ - "create", - "read" - ] - }, - "Bot": { - "type": "object", - "description": "Bot resource definition", "allOf": [ { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/BotProperties", - "description": "The set of properties specific to bot resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } - } + ] }, "BotProperties": { + "type": "object", + "description": "The parameters to provide for the Bot.", "properties": { "displayName": { "type": "string", @@ -1803,19 +2198,19 @@ }, "endpointVersion": { "type": "string", - "readOnly": true, - "description": "The bot's endpoint version" + "description": "The bot's endpoint version", + "readOnly": true }, "allSettings": { - "description": "Contains resource all settings defined as key/value pairs.", "type": "object", + "description": "Contains resource all settings defined as key/value pairs.", "additionalProperties": { "type": "string" } }, "parameters": { - "description": "Contains resource parameters defined as key/value pairs.", "type": "object", + "description": "Contains resource parameters defined as key/value pairs.", "additionalProperties": { "type": "string" } @@ -1825,32 +2220,23 @@ "description": "The bot's manifest url" }, "msaAppType": { - "type": "string", - "description": "Microsoft App Type for the bot", - "enum": [ - "UserAssignedMSI", - "SingleTenant", - "MultiTenant" - ], - "x-ms-enum": { - "name": "msaAppType", - "modelAsString": true - } + "$ref": "#/definitions/MsaAppType", + "description": "Microsoft App Type for the bot" }, "msaAppId": { "type": "string", "description": "Microsoft App Id for the bot", "x-ms-mutability": [ - "create", - "read" + "read", + "create" ] }, "msaAppTenantId": { "type": "string", "description": "Microsoft App Tenant Id for the bot", "x-ms-mutability": [ - "create", - "read" + "read", + "create" ] }, "msaAppMSIResourceId": { @@ -1859,19 +2245,19 @@ }, "configuredChannels": { "type": "array", + "description": "Collection of channels for which the bot is configured", "items": { "type": "string" }, - "readOnly": true, - "description": "Collection of channels for which the bot is configured" + "readOnly": true }, "enabledChannels": { "type": "array", + "description": "Collection of channels for which the bot is enabled", "items": { "type": "string" }, - "readOnly": true, - "description": "Collection of channels for which the bot is enabled" + "readOnly": true }, "developerAppInsightKey": { "type": "string", @@ -1887,10 +2273,10 @@ }, "luisAppIds": { "type": "array", + "description": "Collection of LUIS App Ids", "items": { "type": "string" - }, - "description": "Collection of LUIS App Ids" + } }, "luisKey": { "type": "string", @@ -1914,23 +2300,37 @@ "type": "string", "description": "The Tenant Id for the bot", "x-ms-mutability": [ - "create", - "read" + "read", + "create" ] }, "publicNetworkAccess": { + "type": "string", "description": "Whether the bot is in an isolated network", + "default": "Enabled", "enum": [ "Enabled", "Disabled", "SecuredByPerimeter" ], - "type": "string", "x-ms-enum": { "name": "PublicNetworkAccess", - "modelAsString": true - }, - "default": "Enabled" + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled" + }, + { + "name": "Disabled", + "value": "Disabled" + }, + { + "name": "SecuredByPerimeter", + "value": "SecuredByPerimeter" + } + ] + } }, "isStreamingSupported": { "type": "boolean", @@ -1954,8 +2354,8 @@ "schemaTransformationVersion": { "type": "string", "description": "The channel schema transformation version for the bot", - "x-nullable": true, - "default": null + "default": null, + "x-nullable": true }, "storageResourceId": { "type": "string", @@ -1963,19 +2363,19 @@ }, "privateEndpointConnections": { "type": "array", - "readOnly": true, "description": "List of Private Endpoint Connections configured for the bot", "items": { - "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" - } + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true }, "networkSecurityPerimeterConfigurations": { "type": "array", - "readOnly": true, "description": "List of Network Security Perimeter configurations for the bot", "items": { - "$ref": "./networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfiguration" - } + "$ref": "#/definitions/NetworkSecurityPerimeterConfiguration" + }, + "readOnly": true }, "openWithHint": { "type": "string", @@ -1987,15 +2387,14 @@ }, "provisioningState": { "type": "string", - "readOnly": true, - "description": "Provisioning state of the resource" + "description": "Provisioning state of the resource", + "readOnly": true }, "publishingCredentials": { "type": "string", "description": "Publishing credentials of the resource" } }, - "description": "The parameters to provide for the Bot.", "required": [ "displayName", "endpoint", @@ -2003,96 +2402,81 @@ ] }, "BotResponseList": { + "type": "object", + "description": "The list of bot service operation response.", "properties": { - "nextLink": { - "description": "The link used to get the next page of bot service resources.", - "type": "string" - }, "value": { - "readOnly": true, "type": "array", + "description": "The Bot items on this page", "items": { "$ref": "#/definitions/Bot" }, - "description": "Gets the list of bot service results and their properties." + "readOnly": true + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "The list of bot service operation response." + "required": [ + "value" + ] }, - "CreateEmailSignInUrlResponse": { + "Channel": { "type": "object", - "description": "The ARM create email sign in url operation response.", + "description": "Channel definition", "properties": { - "id": { - "description": "Specifies the resource ID.", + "channelName": { + "type": "string", + "description": "The channel name" + }, + "etag": { + "type": "string", + "description": "Entity Tag of the resource", + "x-nullable": true, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningState": { "type": "string", + "description": "Provisioning state of the resource", "readOnly": true }, "location": { + "type": "string", "description": "Specifies the location of the resource.", - "type": "string" - }, - "properties": { - "$ref": "#/definitions/CreateEmailSignInUrlResponseProperties", - "description": "The set of properties specific to sign in url" + "default": "global" } - } + }, + "discriminator": "channelName", + "required": [ + "channelName" + ] }, - "CreateEmailSignInUrlResponseProperties": { + "ChannelResponseList": { "type": "object", - "description": "The set of properties specific to sign in url", + "description": "The list of bot service channel operation response.", "properties": { - "url": { - "description": "Sign in url.", - "type": "string" - } - } - }, - "ListChannelWithKeysResponse": { - "type": "object", - "description": "The ARM channel of list channel with keys operation response.", - "allOf": [ - { - "$ref": "#/definitions/BotChannel" - } - ], - "properties": { - "resource": { - "$ref": "#/definitions/Channel", - "description": "The set of properties specific to bot channel resource" - }, - "setting": { - "$ref": "#/definitions/ChannelSettings", - "description": "Channel settings" - }, - "provisioningState": { - "type": "string", - "description": "Provisioning state of the resource" - }, - "entityTag": { - "type": "string", - "description": "Entity tag of the resource" + "value": { + "type": "array", + "description": "The BotChannel items on this page", + "items": { + "$ref": "#/definitions/BotChannel" + }, + "readOnly": true }, - "changedTime": { + "nextLink": { "type": "string", - "description": "Changed time of the resource" - } - } - }, - "BotChannel": { - "type": "object", - "description": "Bot channel resource definition", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/Channel", - "description": "The set of properties specific to bot channel resource" + "format": "uri", + "description": "The link to the next page of items" } - } + }, + "required": [ + "value" + ] }, "ChannelSettings": { "type": "object", @@ -2110,10 +2494,10 @@ }, "sites": { "type": "array", + "description": "The list of sites", "items": { "$ref": "#/definitions/Site" - }, - "description": "The list of sites" + } }, "channelId": { "type": "string", @@ -2141,497 +2525,566 @@ }, "requireTermsAgreement": { "type": "boolean", - "description": "Whether customer needs to agree to new terms.", - "x-ms-nullable": true + "description": "Whether customer needs to agree to new terms." } } }, - "Channel": { + "CheckNameAvailabilityRequestBody": { "type": "object", - "description": "Channel definition", - "discriminator": "channelName", + "description": "The request body for a request to Bot Service Management to check availability of a bot name.", "properties": { - "channelName": { + "name": { "type": "string", - "description": "The channel name" + "description": "the name of the bot for which availability needs to be checked." }, - "etag": { + "type": { "type": "string", - "description": "Entity Tag of the resource", - "x-nullable": true, - "x-ms-mutability": [ - "create", - "read" - ] + "description": "the type of the bot for which availability needs to be checked" + } + } + }, + "CheckNameAvailabilityResponseBody": { + "type": "object", + "description": "The response body returned for a request to Bot Service Management to check availability of a bot name.", + "properties": { + "valid": { + "type": "boolean", + "description": "indicates if the bot name is valid." }, - "provisioningState": { + "message": { "type": "string", - "readOnly": true, - "description": "Provisioning state of the resource" + "description": "additional message from the bot management api showing why a bot name is not available" }, - "location": { - "description": "Specifies the location of the resource.", + "absCode": { "type": "string", - "default": "global" + "description": "response code from ABS" } - }, - "required": [ - "channelName" - ] + } }, - "AlexaChannel": { + "ConnectionSetting": { "type": "object", - "x-ms-discriminator-value": "AlexaChannel", - "description": "Alexa channel definition", - "allOf": [ - { - "$ref": "#/definitions/Channel" - } - ], + "description": "Bot channel resource definition", "properties": { "properties": { - "$ref": "#/definitions/AlexaChannelProperties", - "description": "The set of properties specific to Alexa channel resource" - } - } - }, - "AlexaChannelProperties": { - "properties": { - "alexaSkillId": { - "type": "string", - "description": "The Alexa skill Id" + "$ref": "#/definitions/ConnectionSettingProperties", + "description": "The set of properties specific to bot channel resource" }, - "urlFragment": { + "location": { "type": "string", - "readOnly": true, - "description": "Url fragment used in part of the Uri configured in Alexa" + "description": "Specifies the location of the resource." }, - "serviceEndpointUri": { + "tags": { + "type": "object", + "description": "Contains resource tags defined as key/value pairs.", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Gets or sets the SKU of the resource." + }, + "kind": { + "$ref": "#/definitions/Kind", + "description": "Required. Gets or sets the Kind of the resource." + }, + "etag": { "type": "string", - "readOnly": true, - "description": "Full Uri used to configured the skill in Alexa" + "description": "Entity Tag." }, - "isEnabled": { - "type": "boolean", - "description": "Whether this channel is enabled for the bot" + "zones": { + "type": "array", + "description": "Entity zones", + "items": { + "type": "string" + }, + "readOnly": true } }, - "description": "The parameters to provide for the Alexa channel.", - "required": [ - "alexaSkillId", - "isEnabled" - ] - }, - "FacebookChannel": { - "type": "object", - "description": "Facebook channel definition", - "x-ms-discriminator-value": "FacebookChannel", "allOf": [ { - "$ref": "#/definitions/Channel" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } - ], + ] + }, + "ConnectionSettingParameter": { + "type": "object", + "description": "Extra Parameter in a Connection Setting Properties to indicate service provider specific properties", "properties": { - "properties": { - "$ref": "#/definitions/FacebookChannelProperties", - "description": "The set of properties specific to bot facebook channel" + "key": { + "type": "string", + "description": "Key for the Connection Setting Parameter." + }, + "value": { + "type": "string", + "description": "Value associated with the Connection Setting Parameter.", + "x-nullable": true } } }, - "FacebookChannelProperties": { + "ConnectionSettingProperties": { + "type": "object", + "description": "Properties for a Connection Setting Item", "properties": { - "verifyToken": { - "x-ms-secret": true, + "id": { "type": "string", - "readOnly": true, - "description": "Verify token. Value only returned through POST to the action Channel List API, otherwise empty." + "description": "Id of the Connection Setting." }, - "pages": { - "type": "array", - "items": { - "$ref": "#/definitions/FacebookPage" - }, - "description": "The list of Facebook pages" + "name": { + "type": "string", + "description": "Name of the Connection Setting." }, - "appId": { + "clientId": { "type": "string", - "description": "Facebook application id" + "description": "Client Id associated with the Connection Setting." }, - "appSecret": { - "x-ms-secret": true, + "settingId": { "type": "string", - "description": "Facebook application secret. Value only returned through POST to the action Channel List API, otherwise empty." + "description": "Setting Id set by the service for the Connection Setting.", + "readOnly": true }, - "callbackUrl": { + "clientSecret": { "type": "string", - "readOnly": true, - "description": "Callback Url" + "format": "password", + "description": "Client Secret associated with the Connection Setting", + "x-ms-secret": true }, - "isEnabled": { - "type": "boolean", - "description": "Whether this channel is enabled for the bot" + "scopes": { + "type": "string", + "description": "Scopes associated with the Connection Setting", + "default": "" + }, + "serviceProviderId": { + "type": "string", + "description": "Service Provider Id associated with the Connection Setting" + }, + "serviceProviderDisplayName": { + "type": "string", + "description": "Service Provider Display Name associated with the Connection Setting" + }, + "parameters": { + "type": "array", + "description": "Service Provider Parameters associated with the Connection Setting", + "items": { + "$ref": "#/definitions/ConnectionSettingParameter" + } + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the resource" } - }, - "description": "The parameters to provide for the Facebook channel.", - "required": [ - "appId", - "isEnabled" - ] + } }, - "FacebookPage": { + "ConnectionSettingResponseList": { + "type": "object", + "description": "The list of bot service connection settings response.", "properties": { - "id": { - "type": "string", - "description": "Page id" + "value": { + "type": "array", + "description": "The ConnectionSetting items on this page", + "items": { + "$ref": "#/definitions/ConnectionSetting" + }, + "readOnly": true }, - "accessToken": { - "x-ms-secret": true, + "nextLink": { "type": "string", - "description": "Facebook application access token. Value only returned through POST to the action Channel List API, otherwise empty." + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "A Facebook page for Facebook channel registration", "required": [ - "id" + "value" ] }, - "EmailChannel": { + "CreateEmailSignInUrlResponse": { "type": "object", - "description": "Email channel definition", - "x-ms-discriminator-value": "EmailChannel", - "allOf": [ - { - "$ref": "#/definitions/Channel" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/EmailChannelProperties", - "description": "The set of properties specific to email channel resource" - } - } - }, - "EmailChannelProperties": { + "description": "The ARM create email sign in url operation response.", "properties": { - "emailAddress": { + "id": { "type": "string", - "description": "The email address" - }, - "authMethod": { - "$ref": "#/definitions/EmailChannelAuthMethod", - "description": "Email channel auth method. 0 Password (Default); 1 Graph." + "description": "Specifies the resource ID.", + "readOnly": true }, - "password": { + "location": { "type": "string", - "description": "The password for the email address. Value only returned through POST to the action Channel List API, otherwise empty." + "description": "Specifies the location of the resource." }, - "magicCode": { + "properties": { + "$ref": "#/definitions/CreateEmailSignInUrlResponseProperties", + "description": "The set of properties specific to sign in url" + } + } + }, + "CreateEmailSignInUrlResponseProperties": { + "type": "object", + "description": "The set of properties specific to sign in url", + "properties": { + "url": { "type": "string", - "description": "The magic code for setting up the modern authentication." - }, - "isEnabled": { - "type": "boolean", - "description": "Whether this channel is enabled for the bot" + "description": "Sign in url." } - }, - "description": "The parameters to provide for the Email channel.", - "required": [ - "emailAddress", - "isEnabled" - ] + } }, - "EmailChannelAuthMethod": { - "type": "number", - "description": "Email channel auth method. 0 Password (Default); 1 Graph.", - "enum": [ - 0, - 1 + "DirectLineChannel": { + "type": "object", + "description": "Direct Line channel definition", + "properties": { + "properties": { + "$ref": "#/definitions/DirectLineChannelProperties", + "description": "The set of properties specific to Direct Line channel resource" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Channel" + } ], - "x-ms-enum": { - "name": "EmailChannelAuthMethod", - "modelAsString": false, - "values": [ - { - "value": 0, - "name": "Password", - "description": "Basic authentication." - }, - { - "value": 1, - "name": "Graph", - "description": "Modern authentication." + "x-ms-discriminator-value": "DirectLineChannel" + }, + "DirectLineChannelProperties": { + "type": "object", + "description": "The parameters to provide for the Direct Line channel.", + "properties": { + "sites": { + "type": "array", + "description": "The list of Direct Line sites", + "items": { + "$ref": "#/definitions/DirectLineSite" } - ] + }, + "extensionKey1": { + "type": "string", + "description": "The extensionKey1", + "default": "" + }, + "extensionKey2": { + "type": "string", + "description": "The extensionKey2", + "default": "" + }, + "DirectLineEmbedCode": { + "type": "string", + "description": "Direct Line embed code of the resource" + } } }, - "OutlookChannel": { + "DirectLineSite": { "type": "object", - "x-ms-discriminator-value": "OutlookChannel", - "description": "Outlook channel definition", + "description": "A site for the Direct Line channel", "allOf": [ { - "$ref": "#/definitions/Channel" + "$ref": "#/definitions/Site" } ] }, - "MsTeamsChannel": { + "DirectLineSpeechChannel": { "type": "object", - "x-ms-discriminator-value": "MsTeamsChannel", - "description": "Microsoft Teams channel definition", + "description": "DirectLine Speech channel definition", + "properties": { + "properties": { + "$ref": "#/definitions/DirectLineSpeechChannelProperties", + "description": "The set of properties specific to DirectLine Speech channel resource" + } + }, "allOf": [ { "$ref": "#/definitions/Channel" } ], - "properties": { - "properties": { - "$ref": "#/definitions/MsTeamsChannelProperties", - "description": "The set of properties specific to Microsoft Teams channel resource" - } - } + "x-ms-discriminator-value": "DirectLineSpeechChannel" }, - "MsTeamsChannelProperties": { + "DirectLineSpeechChannelProperties": { + "type": "object", + "description": "The parameters to provide for the DirectLine Speech channel.", "properties": { - "enableCalling": { - "type": "boolean", - "description": "Enable calling for Microsoft Teams channel", - "default": false + "cognitiveServiceResourceId": { + "type": "string", + "description": "The cognitive service id with this channel registration." }, - "callingWebhook": { + "cognitiveServiceRegion": { "type": "string", - "description": "Webhook for Microsoft Teams channel calls" + "description": "The cognitive service region with this channel registration.", + "x-nullable": true + }, + "cognitiveServiceSubscriptionKey": { + "type": "string", + "format": "password", + "description": "The cognitive service subscription key to use with this channel registration.", + "x-nullable": true, + "x-ms-secret": true }, "isEnabled": { "type": "boolean", - "description": "Whether this channel is enabled for the bot" + "description": "Whether this channel is enabled or not." }, - "incomingCallRoute": { + "customVoiceDeploymentId": { "type": "string", - "description": "Webhook for Microsoft Teams channel calls" + "description": "Custom speech model id (optional)." }, - "deploymentEnvironment": { + "customSpeechModelId": { "type": "string", - "description": "Deployment environment for Microsoft Teams channel calls", - "default": "CommercialDeployment" + "description": "Custom voice deployment id (optional)." }, - "acceptedTerms": { + "isDefaultBotForCogSvcAccount": { "type": "boolean", - "description": "Whether this channel accepted terms", - "x-nullable": true, - "default": null + "description": "Make this a default bot for chosen cognitive service account." } - }, - "description": "The parameters to provide for the Microsoft Teams channel.", - "required": [ - "isEnabled" - ] + } }, - "SkypeChannel": { + "EmailChannel": { "type": "object", - "description": "Skype channel definition", - "x-ms-discriminator-value": "SkypeChannel", + "description": "Email channel definition", + "properties": { + "properties": { + "$ref": "#/definitions/EmailChannelProperties", + "description": "The set of properties specific to email channel resource" + } + }, "allOf": [ { "$ref": "#/definitions/Channel" } ], - "properties": { - "properties": { - "$ref": "#/definitions/SkypeChannelProperties", - "description": "The set of properties specific to Skype channel resource" - } + "x-ms-discriminator-value": "EmailChannel" + }, + "EmailChannelAuthMethod": { + "type": "number", + "description": "Email channel auth method. 0 Password (Default); 1 Graph.", + "enum": [ + 0, + 1 + ], + "x-ms-enum": { + "name": "EmailChannelAuthMethod", + "modelAsString": false, + "values": [ + { + "name": "Password", + "value": 0, + "description": "Basic authentication." + }, + { + "name": "Graph", + "value": 1, + "description": "Modern authentication." + } + ] } }, - "SkypeChannelProperties": { + "EmailChannelProperties": { + "type": "object", + "description": "The parameters to provide for the Email channel.", "properties": { - "enableMessaging": { - "type": "boolean", - "description": "Enable messaging for Skype channel" - }, - "enableMediaCards": { - "type": "boolean", - "description": "Enable media cards for Skype channel" - }, - "enableVideo": { - "type": "boolean", - "description": "Enable video for Skype channel" - }, - "enableCalling": { - "type": "boolean", - "description": "Enable calling for Skype channel", - "default": false - }, - "enableScreenSharing": { - "type": "boolean", - "description": "Enable screen sharing for Skype channel" - }, - "enableGroups": { - "type": "boolean", - "description": "Enable groups for Skype channel" - }, - "groupsMode": { + "emailAddress": { "type": "string", - "description": "Group mode for Skype channel" + "description": "The email address" }, - "callingWebHook": { + "authMethod": { + "$ref": "#/definitions/EmailChannelAuthMethod", + "description": "Email channel auth method. 0 Password (Default); 1 Graph." + }, + "password": { "type": "string", - "description": "Calling web hook for Skype channel" + "description": "The password for the email address. Value only returned through POST to the action Channel List API, otherwise empty." }, - "incomingCallRoute": { + "magicCode": { "type": "string", - "description": "Incoming call route for Skype channel" + "description": "The magic code for setting up the modern authentication." }, "isEnabled": { "type": "boolean", "description": "Whether this channel is enabled for the bot" } }, - "description": "The parameters to provide for the Microsoft Teams channel.", "required": [ + "emailAddress", "isEnabled" ] }, - "KikChannel": { + "Error": { "type": "object", - "x-ms-discriminator-value": "KikChannel", - "description": "Kik channel definition", - "allOf": [ - { - "$ref": "#/definitions/Channel" - } - ], + "description": "Bot Service error object.", "properties": { - "properties": { - "$ref": "#/definitions/KikChannelProperties", - "description": "The set of properties specific to Kik channel resource" + "error": { + "$ref": "#/definitions/ErrorBody", + "description": "The error body." } } }, - "KikChannelProperties": { - "properties": { - "userName": { + "ErrorBody": { + "type": "object", + "description": "Bot Service error body.", + "properties": { + "code": { "type": "string", - "description": "The Kik user name" + "description": "error code" }, - "apiKey": { + "message": { "type": "string", - "description": "Kik API key. Value only returned through POST to the action Channel List API, otherwise empty." - }, - "isValidated": { - "type": "boolean", - "description": "Whether this channel is validated for the bot" - }, - "isEnabled": { - "type": "boolean", - "description": "Whether this channel is enabled for the bot" + "description": "error message" } }, - "description": "The parameters to provide for the Kik channel.", "required": [ - "userName", - "isEnabled" + "code", + "message" ] }, - "WebChatChannel": { + "FacebookChannel": { "type": "object", - "x-ms-discriminator-value": "WebChatChannel", - "description": "Web Chat channel definition", + "description": "Facebook channel definition", + "properties": { + "properties": { + "$ref": "#/definitions/FacebookChannelProperties", + "description": "The set of properties specific to bot facebook channel" + } + }, "allOf": [ { "$ref": "#/definitions/Channel" } ], - "properties": { - "properties": { - "$ref": "#/definitions/WebChatChannelProperties", - "description": "The set of properties specific to Web Chat channel resource" - } - } + "x-ms-discriminator-value": "FacebookChannel" }, - "WebChatChannelProperties": { + "FacebookChannelProperties": { + "type": "object", + "description": "The parameters to provide for the Facebook channel.", "properties": { - "webChatEmbedCode": { + "verifyToken": { "type": "string", - "x-ms-mutability": [ - "read" - ], + "format": "password", + "description": "Verify token. Value only returned through POST to the action Channel List API, otherwise empty.", "readOnly": true, - "description": "Web chat control embed code" + "x-ms-secret": true }, - "sites": { + "pages": { "type": "array", + "description": "The list of Facebook pages", "items": { - "$ref": "#/definitions/WebChatSite" - }, - "description": "The list of Web Chat sites" + "$ref": "#/definitions/FacebookPage" + } + }, + "appId": { + "type": "string", + "description": "Facebook application id" + }, + "appSecret": { + "type": "string", + "format": "password", + "description": "Facebook application secret. Value only returned through POST to the action Channel List API, otherwise empty.", + "x-ms-secret": true + }, + "callbackUrl": { + "type": "string", + "description": "Callback Url", + "readOnly": true + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" } }, - "description": "The parameters to provide for the Web Chat channel." + "required": [ + "appId", + "isEnabled" + ] }, - "DirectLineChannel": { + "FacebookPage": { "type": "object", - "x-ms-discriminator-value": "DirectLineChannel", - "description": "Direct Line channel definition", - "allOf": [ - { - "$ref": "#/definitions/Channel" - } - ], + "description": "A Facebook page for Facebook channel registration", "properties": { - "properties": { - "$ref": "#/definitions/DirectLineChannelProperties", - "description": "The set of properties specific to Direct Line channel resource" + "id": { + "type": "string", + "description": "Page id" + }, + "accessToken": { + "type": "string", + "format": "password", + "description": "Facebook application access token. Value only returned through POST to the action Channel List API, otherwise empty.", + "x-ms-secret": true } - } + }, + "required": [ + "id" + ] }, - "DirectLineChannelProperties": { + "HostSettingsResponse": { + "type": "object", + "description": "The response body returned for a request to Bot Service Management to check per subscription hostSettings", "properties": { - "sites": { - "type": "array", - "items": { - "$ref": "#/definitions/DirectLineSite" - }, - "description": "The list of Direct Line sites" + "OAuthUrl": { + "type": "string", + "description": "For in-conversation bot user authentication" }, - "extensionKey1": { + "ToBotFromChannelOpenIdMetadataUrl": { "type": "string", - "description": "The extensionKey1", - "default": "" + "description": "For verifying incoming tokens from the channels" }, - "extensionKey2": { + "ToBotFromChannelTokenIssuer": { "type": "string", - "description": "The extensionKey2", - "default": "" + "description": "For verifying incoming tokens from the channels" }, - "DirectLineEmbedCode": { + "ToBotFromEmulatorOpenIdMetadataUrl": { "type": "string", - "description": "Direct Line embed code of the resource" + "description": "For verifying incoming tokens from bot emulator" + }, + "ToChannelFromBotLoginUrl": { + "type": "string", + "description": "For getting access token to channels from bot host" + }, + "ToChannelFromBotOAuthScope": { + "type": "string", + "description": "For getting access token to channels from bot host" + }, + "ValidateAuthority": { + "type": "boolean", + "description": "Per cloud OAuth setting on whether authority is validated" + }, + "BotOpenIdMetadata": { + "type": "string", + "description": "Same as toBotFromChannelOpenIdMetadataUrl, used by SDK < v4.12" } - }, - "description": "The parameters to provide for the Direct Line channel." + } }, - "TelegramChannel": { + "Key": { + "type": "string", + "description": "Determines which key is to be regenerated", + "enum": [ + "key1", + "key2" + ], + "x-ms-enum": { + "name": "Key", + "modelAsString": false + } + }, + "KikChannel": { "type": "object", - "description": "Telegram channel definition", - "x-ms-discriminator-value": "TelegramChannel", + "description": "Kik channel definition", + "properties": { + "properties": { + "$ref": "#/definitions/KikChannelProperties", + "description": "The set of properties specific to Kik channel resource" + } + }, "allOf": [ { "$ref": "#/definitions/Channel" } ], - "properties": { - "properties": { - "$ref": "#/definitions/TelegramChannelProperties", - "description": "The set of properties specific to Telegram channel resource" - } - } + "x-ms-discriminator-value": "KikChannel" }, - "TelegramChannelProperties": { + "KikChannelProperties": { + "type": "object", + "description": "The parameters to provide for the Kik channel.", "properties": { - "accessToken": { - "x-ms-secret": true, + "userName": { "type": "string", - "description": "The Telegram access token. Value only returned through POST to the action Channel List API, otherwise empty." + "description": "The Kik user name" + }, + "apiKey": { + "type": "string", + "description": "Kik API key. Value only returned through POST to the action Channel List API, otherwise empty." }, "isValidated": { "type": "boolean", @@ -2642,748 +3095,1000 @@ "description": "Whether this channel is enabled for the bot" } }, - "description": "The parameters to provide for the Telegram channel.", "required": [ + "userName", "isEnabled" ] }, - "SmsChannel": { + "Kind": { + "type": "string", + "description": "Indicates the type of bot service", + "enum": [ + "sdk", + "designer", + "bot", + "function", + "azurebot" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true, + "values": [ + { + "name": "sdk", + "value": "sdk" + }, + { + "name": "designer", + "value": "designer" + }, + { + "name": "bot", + "value": "bot" + }, + { + "name": "function", + "value": "function" + }, + { + "name": "azurebot", + "value": "azurebot" + } + ] + } + }, + "LineChannel": { "type": "object", - "description": "Sms channel definition", - "x-ms-discriminator-value": "SmsChannel", + "description": "Line channel definition", + "properties": { + "properties": { + "$ref": "#/definitions/LineChannelProperties", + "description": "The set of properties specific to line channel resource" + } + }, "allOf": [ { "$ref": "#/definitions/Channel" } ], - "properties": { - "properties": { - "$ref": "#/definitions/SmsChannelProperties", - "description": "The set of properties specific to Sms channel resource" - } - } + "x-ms-discriminator-value": "LineChannel" }, - "SmsChannelProperties": { + "LineChannelProperties": { + "type": "object", + "description": "The parameters to provide for the Line channel.", "properties": { - "phone": { - "type": "string", - "description": "The Sms phone" - }, - "accountSID": { - "type": "string", - "description": "The Sms account SID. Value only returned through POST to the action Channel List API, otherwise empty." + "lineRegistrations": { + "type": "array", + "description": "The list of line channel registrations", + "items": { + "$ref": "#/definitions/LineRegistration" + } }, - "authToken": { - "x-ms-secret": true, + "callbackUrl": { "type": "string", - "description": "The Sms auth token. Value only returned through POST to the action Channel List API, otherwise empty." + "description": "Callback Url to enter in line registration.", + "readOnly": true }, "isValidated": { "type": "boolean", - "description": "Whether this channel is validated for the bot" - }, - "isEnabled": { - "type": "boolean", - "description": "Whether this channel is enabled for the bot" + "description": "Whether this channel is validated for the bot", + "readOnly": true } }, - "description": "The parameters to provide for the Sms channel.", "required": [ - "phone", - "accountSID", - "isEnabled" + "lineRegistrations" ] }, - "SlackChannel": { + "LineRegistration": { "type": "object", - "description": "Slack channel definition", - "x-ms-discriminator-value": "SlackChannel", - "allOf": [ - { - "$ref": "#/definitions/Channel" - } - ], + "description": "The properties corresponding to a line channel registration", "properties": { - "properties": { - "$ref": "#/definitions/SlackChannelProperties", - "description": "The set of properties specific to Slack channel resource" - } - } - }, - "SlackChannelProperties": { - "properties": { - "clientId": { - "type": "string", - "description": "The Slack client id" - }, - "clientSecret": { - "x-ms-secret": true, + "generatedId": { "type": "string", - "description": "The Slack client secret. Value only returned through POST to the action Channel List API, otherwise empty." + "description": "Id generated for the line channel registration", + "readOnly": true }, - "verificationToken": { - "x-ms-secret": true, + "channelSecret": { "type": "string", - "description": "The Slack verification token. Value only returned through POST to the action Channel List API, otherwise empty." + "format": "password", + "description": "Secret for the line channel registration", + "x-ms-secret": true }, - "scopes": { + "channelAccessToken": { "type": "string", - "description": "The Slack permission scopes." + "format": "password", + "description": "Access token for the line channel registration", + "x-ms-secret": true + } + } + }, + "ListChannelWithKeysResponse": { + "type": "object", + "description": "The ARM channel of list channel with keys operation response.", + "properties": { + "resource": { + "$ref": "#/definitions/Channel", + "description": "The set of properties specific to bot channel resource" }, - "landingPageUrl": { - "type": "string", - "description": "The Slack landing page Url" + "setting": { + "$ref": "#/definitions/ChannelSettings", + "description": "Channel settings" }, - "redirectAction": { + "provisioningState": { "type": "string", - "description": "The Slack redirect action", - "readOnly": true + "description": "Provisioning state of the resource" }, - "lastSubmissionId": { + "entityTag": { "type": "string", - "description": "The Sms auth token", - "readOnly": true - }, - "registerBeforeOAuthFlow": { - "type": "boolean", - "description": "Whether to register the settings before OAuth validation is performed. Recommended to True." - }, - "IsValidated": { - "type": "boolean", - "description": "Whether this channel is validated for the bot", - "readOnly": true + "description": "Entity tag of the resource" }, - "signingSecret": { - "x-ms-secret": true, + "changedTime": { "type": "string", - "description": "The Slack signing secret." - }, - "isEnabled": { - "type": "boolean", - "description": "Whether this channel is enabled for the bot" + "description": "Changed time of the resource" } }, - "description": "The parameters to provide for the Slack channel.", - "required": [ - "isEnabled" + "allOf": [ + { + "$ref": "#/definitions/BotChannel" + } ] }, - "LineChannel": { + "M365Extensions": { "type": "object", - "description": "Line channel definition", - "x-ms-discriminator-value": "LineChannel", + "description": "M365 Extensions definition", "allOf": [ { "$ref": "#/definitions/Channel" } ], + "x-ms-discriminator-value": "M365Extensions" + }, + "MsTeamsChannel": { + "type": "object", + "description": "Microsoft Teams channel definition", "properties": { "properties": { - "$ref": "#/definitions/LineChannelProperties", - "description": "The set of properties specific to line channel resource" + "$ref": "#/definitions/MsTeamsChannelProperties", + "description": "The set of properties specific to Microsoft Teams channel resource" } - } + }, + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "x-ms-discriminator-value": "MsTeamsChannel" }, - "LineChannelProperties": { + "MsTeamsChannelProperties": { + "type": "object", + "description": "The parameters to provide for the Microsoft Teams channel.", "properties": { - "lineRegistrations": { - "type": "array", - "description": "The list of line channel registrations", - "items": { - "$ref": "#/definitions/LineRegistration" - } + "enableCalling": { + "type": "boolean", + "description": "Enable calling for Microsoft Teams channel", + "default": false }, - "callbackUrl": { + "callingWebhook": { "type": "string", - "description": "Callback Url to enter in line registration.", - "readOnly": true + "description": "Webhook for Microsoft Teams channel calls" }, - "isValidated": { + "isEnabled": { "type": "boolean", - "description": "Whether this channel is validated for the bot", - "readOnly": true + "description": "Whether this channel is enabled for the bot" + }, + "incomingCallRoute": { + "type": "string", + "description": "Webhook for Microsoft Teams channel calls" + }, + "deploymentEnvironment": { + "type": "string", + "description": "Deployment environment for Microsoft Teams channel calls", + "default": "CommercialDeployment" + }, + "acceptedTerms": { + "type": "boolean", + "description": "Whether this channel accepted terms", + "default": null, + "x-nullable": true } }, - "description": "The parameters to provide for the Line channel.", "required": [ - "lineRegistrations" + "isEnabled" ] }, - "LineRegistration": { + "MsaAppType": { + "type": "string", + "description": "Microsoft App Type for the bot", + "enum": [ + "UserAssignedMSI", + "SingleTenant", + "MultiTenant" + ], + "x-ms-enum": { + "name": "MsaAppType", + "modelAsString": true, + "values": [ + { + "name": "UserAssignedMSI", + "value": "UserAssignedMSI" + }, + { + "name": "SingleTenant", + "value": "SingleTenant" + }, + { + "name": "MultiTenant", + "value": "MultiTenant" + } + ] + } + }, + "NetworkSecurityPerimeter": { + "type": "object", + "description": "Information about Network Security Perimeter", "properties": { - "generatedId": { - "x-ms-mutability": [ - "read" - ], + "id": { "type": "string", - "description": "Id generated for the line channel registration", + "format": "arm-id", + "description": "Fully qualified resource ID for the resource. E.g. \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\"", "readOnly": true }, - "channelSecret": { - "x-ms-secret": true, + "perimeterGuid": { "type": "string", - "description": "Secret for the line channel registration" + "description": "Guid of the Network Security Perimeter" }, - "channelAccessToken": { - "x-ms-secret": true, + "location": { "type": "string", - "description": "Access token for the line channel registration" + "description": "Location of the Network Security Perimeter" } - }, - "description": "The properties corresponding to a line channel registration" + } }, - "DirectLineSpeechChannel": { + "NetworkSecurityPerimeterConfiguration": { "type": "object", - "description": "DirectLine Speech channel definition", - "x-ms-discriminator-value": "DirectLineSpeechChannel", - "allOf": [ - { - "$ref": "#/definitions/Channel" - } - ], + "description": "Network Security Perimeter configuration", "properties": { "properties": { - "$ref": "#/definitions/DirectLineSpeechChannelProperties", - "description": "The set of properties specific to DirectLine Speech channel resource" + "$ref": "#/definitions/NetworkSecurityPerimeterConfigurationProperties", + "description": "Properties of the Network Security Perimeter configuration" } - } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] }, - "DirectLineSpeechChannelProperties": { + "NetworkSecurityPerimeterConfigurationList": { + "type": "object", + "description": "Result of the List NetworkSecurityPerimeterConfiguration operation.", "properties": { - "cognitiveServiceResourceId": { - "type": "string", - "description": "The cognitive service id with this channel registration." + "value": { + "type": "array", + "description": "The NetworkSecurityPerimeterConfiguration items on this page", + "items": { + "$ref": "#/definitions/NetworkSecurityPerimeterConfiguration" + }, + "readOnly": true }, - "cognitiveServiceRegion": { + "nextLink": { "type": "string", - "description": "The cognitive service region with this channel registration.", - "x-nullable": true - }, - "cognitiveServiceSubscriptionKey": { - "x-ms-secret": true, + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "NetworkSecurityPerimeterConfigurationProperties": { + "type": "object", + "description": "Properties of Network Security Perimeter configuration", + "properties": { + "provisioningState": { "type": "string", - "description": "The cognitive service subscription key to use with this channel registration.", - "x-nullable": true + "default": "Succeeded", + "enum": [ + "Creating", + "Updating", + "Accepted", + "Succeeded", + "Failed", + "Deleting" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Creating", + "value": "Creating" + }, + { + "name": "Updating", + "value": "Updating" + }, + { + "name": "Accepted", + "value": "Accepted" + }, + { + "name": "Succeeded", + "value": "Succeeded" + }, + { + "name": "Failed", + "value": "Failed" + }, + { + "name": "Deleting", + "value": "Deleting" + } + ] + } }, - "isEnabled": { - "type": "boolean", - "description": "Whether this channel is enabled or not." + "provisioningIssues": { + "type": "array", + "description": "List of Provisioning Issues if any", + "items": { + "$ref": "#/definitions/ProvisioningIssue" + }, + "x-ms-identifiers": [] }, - "customVoiceDeploymentId": { - "type": "string", - "description": "Custom speech model id (optional)." + "networkSecurityPerimeter": { + "$ref": "#/definitions/NetworkSecurityPerimeter", + "description": "Information about Network Security Perimeter", + "readOnly": true }, - "customSpeechModelId": { - "type": "string", - "description": "Custom voice deployment id (optional)." + "resourceAssociation": { + "$ref": "#/definitions/ResourceAssociation", + "description": "Information about resource association", + "readOnly": true }, - "isDefaultBotForCogSvcAccount": { - "type": "boolean", - "description": "Make this a default bot for chosen cognitive service account." - } - }, - "description": "The parameters to provide for the DirectLine Speech channel." - }, - "Omnichannel": { - "type": "object", - "x-ms-discriminator-value": "Omnichannel", - "description": "Omnichannel channel definition", - "allOf": [ - { - "$ref": "#/definitions/Channel" + "profile": { + "$ref": "#/definitions/Profile", + "description": "Information about profile", + "readOnly": true } - ] + } }, - "TelephonyChannel": { + "NspAccessRule": { "type": "object", - "x-ms-discriminator-value": "TelephonyChannel", - "description": "Telephony channel definition", - "allOf": [ - { - "$ref": "#/definitions/Channel" - } - ], + "description": "Information of Access Rule in a profile", "properties": { + "name": { + "type": "string", + "description": "Name of the access rule" + }, "properties": { - "$ref": "#/definitions/TelephonyChannelProperties", - "description": "The set of properties specific to Telephony channel resource" + "$ref": "#/definitions/NspAccessRuleProperties", + "description": "Properties of Access Rule", + "readOnly": true } } }, - "TelephonyChannelProperties": { + "NspAccessRuleDirection": { + "type": "string", + "description": "Direction of Access Rule", + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "NspAccessRuleDirection", + "modelAsString": true, + "values": [ + { + "name": "Inbound", + "value": "Inbound" + }, + { + "name": "Outbound", + "value": "Outbound" + } + ] + } + }, + "NspAccessRuleProperties": { "type": "object", + "description": "Properties of Access Rule", "properties": { - "phoneNumbers": { + "direction": { + "$ref": "#/definitions/NspAccessRuleDirection", + "description": "Direction of Access Rule" + }, + "addressPrefixes": { "type": "array", + "description": "Address prefixes in the CIDR format for inbound rules", "items": { - "$ref": "#/definitions/TelephonyPhoneNumbers" + "type": "string" + } + }, + "subscriptions": { + "type": "array", + "description": "Subscriptions for inbound rules", + "items": { + "$ref": "#/definitions/NspAccessRulePropertiesSubscriptionsItem" + } + }, + "networkSecurityPerimeters": { + "type": "array", + "description": "NetworkSecurityPerimeters for inbound rules", + "items": { + "$ref": "#/definitions/NetworkSecurityPerimeter" }, - "description": "The list of Telephony phone numbers" + "readOnly": true }, - "apiConfigurations": { + "fullyQualifiedDomainNames": { "type": "array", + "description": "FQDN for outbound rules", "items": { - "$ref": "#/definitions/TelephonyChannelResourceApiConfiguration" + "type": "string" }, - "description": "The list of Telephony api configuration" + "readOnly": true }, - "cognitiveServiceSubscriptionKey": { + "emailAddresses": { + "type": "array", + "description": "Email addresses for outbound rules", + "items": { + "type": "string" + }, + "readOnly": true + }, + "phoneNumbers": { + "type": "array", + "description": "Phone numbers for outbound rules", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "NspAccessRulePropertiesSubscriptionsItem": { + "type": "object", + "description": "Subscription for inbound rule", + "properties": { + "id": { "type": "string", - "description": "The extensionKey1", - "x-nullable": true + "description": "Fully qualified identifier of subscription" + } + } + }, + "Omnichannel": { + "type": "object", + "description": "Omnichannel channel definition", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "x-ms-discriminator-value": "Omnichannel" + }, + "OperationDisplayInfo": { + "type": "object", + "description": "The operation supported by Bot Service Management.", + "properties": { + "description": { + "type": "string", + "description": "The description of the operation." }, - "cognitiveServiceRegion": { + "operation": { "type": "string", - "description": "The extensionKey2", - "x-nullable": true + "description": "The action that users can perform, based on their permission level." }, - "defaultLocale": { + "provider": { "type": "string", - "description": "The default locale of the channel", - "x-nullable": true + "description": "Service provider: Microsoft Bot Service." }, - "premiumSKU": { + "resource": { "type": "string", - "description": "The premium SKU applied to the channel", - "x-nullable": true + "description": "Resource on which the operation is performed." + } + } + }, + "OperationEntity": { + "type": "object", + "description": "The operations supported by Bot Service Management.", + "properties": { + "name": { + "type": "string", + "description": "Operation name: {provider}/{resource}/{operation}." }, - "isEnabled": { - "type": "boolean", - "description": "Whether the channel is enabled" + "display": { + "$ref": "#/definitions/OperationDisplayInfo", + "description": "The operation supported by Bot Service Management." + }, + "origin": { + "type": "string", + "description": "The origin of the operation." + }, + "properties": { + "description": "Additional properties." } - }, - "description": "The parameters to provide for the Direct Line channel." + } }, - "AcsChatChannel": { + "OperationEntityListResult": { "type": "object", - "x-ms-discriminator-value": "AcsChatChannel", - "description": "AcsChat channel definition", - "allOf": [ - { - "$ref": "#/definitions/Channel" + "description": "The list of bot service operation response.", + "properties": { + "nextLink": { + "type": "string", + "description": "The link used to get the next page of operations." + }, + "value": { + "type": "array", + "description": "The list of operations.", + "items": { + "$ref": "#/definitions/OperationEntity" + } } + }, + "required": [ + "value" ] }, - "SearchAssistant": { + "OperationResultStatus": { + "type": "string", + "description": "The status of the operation being performed.", + "enum": [ + "Canceled", + "Succeeded", + "Failed", + "Requested", + "Running" + ], + "x-ms-enum": { + "name": "OperationResultStatus", + "modelAsString": true, + "values": [ + { + "name": "Canceled", + "value": "Canceled" + }, + { + "name": "Succeeded", + "value": "Succeeded" + }, + { + "name": "Failed", + "value": "Failed" + }, + { + "name": "Requested", + "value": "Requested" + }, + { + "name": "Running", + "value": "Running" + } + ] + } + }, + "OperationResultsDescription": { "type": "object", - "x-ms-discriminator-value": "SearchAssistant", - "description": "SearchAssistant definition", + "description": "The properties indicating the operation result of an operation on a service.", + "properties": { + "id": { + "type": "string", + "description": "The ID of the operation returned.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the operation result.", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/OperationResultStatus", + "description": "The status of the operation being performed.", + "readOnly": true + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The time that the operation was started.", + "readOnly": true + } + } + }, + "OutlookChannel": { + "type": "object", + "description": "Outlook channel definition", "allOf": [ { "$ref": "#/definitions/Channel" } - ] + ], + "x-ms-discriminator-value": "OutlookChannel" }, - "M365Extensions": { + "PrivateEndpoint": { "type": "object", - "x-ms-discriminator-value": "M365Extensions", - "description": "M365 Extensions definition", + "description": "The Private Endpoint resource.", + "properties": { + "id": { + "type": "string", + "description": "The ARM identifier for Private Endpoint", + "readOnly": true + } + } + }, + "PrivateEndpointConnection": { + "type": "object", + "description": "The Private Endpoint Connection resource.", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, "allOf": [ { - "$ref": "#/definitions/Channel" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ] }, - "ChannelResponseList": { + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "List of private endpoint connection associated with the specified storage account", "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, "nextLink": { - "description": "The link used to get the next page of bot service channel resources.", - "type": "string" + "type": "string", + "description": "The link used to get the next page of private endpoint connections." + } + } + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of the PrivateEndpointConnectProperties.", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private end point." }, - "value": { - "readOnly": true, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource.", + "readOnly": true + }, + "groupIds": { "type": "array", + "description": "Group ids", "items": { - "$ref": "#/definitions/BotChannel" - }, - "description": "Gets the list of bot service channel results and their properties." + "type": "string" + } } }, - "description": "The list of bot service channel operation response." + "required": [ + "privateLinkServiceConnectionState" + ] }, - "WebChatSite": { - "allOf": [ - { - "$ref": "#/definitions/Site" - } + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" ], - "required": [ - "isWebchatPreviewEnabled" + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded" + }, + { + "name": "Creating", + "value": "Creating" + }, + { + "name": "Deleting", + "value": "Deleting" + }, + { + "name": "Failed", + "value": "Failed" + } + ] + } + }, + "PrivateEndpointServiceConnectionStatus": { + "type": "string", + "description": "The private endpoint connection status.", + "enum": [ + "Pending", + "Approved", + "Rejected" ], - "description": "A site for the Webchat channel" + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true, + "values": [ + { + "name": "Pending", + "value": "Pending" + }, + { + "name": "Approved", + "value": "Approved" + }, + { + "name": "Rejected", + "value": "Rejected" + } + ] + } }, - "DirectLineSite": { + "PrivateLinkResource": { + "type": "object", + "description": "A private link resource", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, "allOf": [ { - "$ref": "#/definitions/Site" + "$ref": "#/definitions/PrivateLinkResourceBase" } - ], - "description": "A site for the Direct Line channel", - "required": [ - "isV1Enabled", - "isV3Enabled" ] }, - "Site": { + "PrivateLinkResourceBase": { "type": "object", + "description": "Common fields that are returned in the response for all BotService Private Link Resources", "properties": { - "tenantId": { + "id": { "type": "string", - "description": "Tenant Id" + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}", + "readOnly": true }, - "siteId": { + "name": { "type": "string", - "description": "Site Id", - "x-ms-mutability": [ - "read" - ], + "description": "The name of the resource", "readOnly": true }, - "siteName": { + "type": { "type": "string", - "description": "Site name", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "key": { - "type": "string", - "description": "Primary key. Value only returned through POST to the action Channel List API, otherwise empty.", - "x-ms-mutability": [ - "read" - ], + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"", "readOnly": true - }, - "key2": { + } + } + }, + "PrivateLinkResourceListResult": { + "type": "object", + "description": "A list of private link resources", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + } + }, + "PrivateLinkResourceProperties": { + "type": "object", + "description": "Properties of a private link resource.", + "properties": { + "groupId": { "type": "string", - "description": "Secondary key. Value only returned through POST to the action Channel List API, otherwise empty.", - "x-ms-mutability": [ - "read" - ], + "description": "The private link resource group id.", "readOnly": true }, - "isEnabled": { - "type": "boolean", - "description": "Whether this site is enabled for DirectLine channel" - }, - "isTokenEnabled": { - "type": "boolean", - "description": "Whether this site is token enabled for channel", + "requiredMembers": { + "type": "array", + "description": "The private link resource required member names.", + "items": { + "type": "string" + }, "readOnly": true }, - "isEndpointParametersEnabled": { - "type": "boolean", - "description": "Whether this site is EndpointParameters enabled for channel" - }, - "isDetailedLoggingEnabled": { - "type": "boolean", - "description": "Whether this site is disabled detailed logging for" - }, - "isBlockUserUploadEnabled": { - "type": "boolean", - "description": "Whether this site is enabled for block user upload.", - "x-nullable": true, - "default": null - }, - "isNoStorageEnabled": { - "type": "boolean", - "description": "Whether this no-storage site is disabled detailed logging for" - }, - "eTag": { - "type": "string", - "description": "Entity Tag" - }, - "appId": { - "type": "string", - "description": "DirectLine application id" - }, - "isV1Enabled": { - "type": "boolean", - "description": "Whether this site is enabled for Bot Framework V1 protocol.", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "isV3Enabled": { - "type": "boolean", - "description": "Whether this site is enabled for Bot Framework V3 protocol." - }, - "isSecureSiteEnabled": { - "type": "boolean", - "description": "Whether this site is enabled for authentication with Bot Framework." - }, - "trustedOrigins": { + "requiredZoneNames": { "type": "array", - "description": "List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True.", + "description": "The private link resource Private link DNS zone name.", "items": { "type": "string" } - }, - "isWebChatSpeechEnabled": { - "type": "boolean", - "description": "Whether this site is enabled for Webchat Speech", - "default": false - }, - "isWebchatPreviewEnabled": { - "type": "boolean", - "description": "Whether this site is enabled for preview versions of Webchat", - "default": false } - }, - "required": [ - "isEnabled", - "siteName" - ], - "description": "A site for the channel" + } }, - "SiteInfo": { + "PrivateLinkServiceConnectionState": { + "type": "object", + "description": "A collection of information about the state of the connection between service consumer and provider.", "properties": { - "siteName": { + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "description": { "type": "string", - "description": "The site name", - "x-ms-mutability": [ - "create", - "read" - ] + "description": "The reason for approval/rejection of the connection." }, - "key": { + "actionsRequired": { "type": "string", - "description": "Determines which key is to be regenerated", - "enum": [ - "key1", - "key2" - ], - "x-ms-enum": { - "name": "key", - "modelAsString": false - } + "description": "A message indicating if changes on the service provider require any updates on the consumer." } - }, - "description": "Site information for WebChat or DirectLine Channels to identify which site to regenerate keys for.", - "type": "object", - "required": [ - "siteName", - "key" - ] + } }, - "TelephonyPhoneNumbers": { + "Profile": { "type": "object", + "description": "Information about profile", "properties": { - "id": { + "name": { "type": "string", - "description": "The element id." + "description": "Name of the profile" }, - "phoneNumber": { - "type": "string", - "description": "The phone number." + "accessRulesVersion": { + "type": "integer", + "format": "int64", + "description": "Current access rules version" }, - "acsEndpoint": { - "type": "string", - "description": "The endpoint of ACS.", - "x-nullable": true + "accessRules": { + "type": "array", + "description": "List of Access Rules", + "items": { + "$ref": "#/definitions/NspAccessRule" + }, + "x-ms-identifiers": [] }, - "acsSecret": { - "type": "string", - "description": "The secret of ACS.", - "x-nullable": true + "diagnosticSettingsVersion": { + "type": "integer", + "format": "int64", + "description": "Current diagnostic settings version" }, - "acsResourceId": { + "enabledLogCategories": { + "type": "array", + "description": "List of log categories", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "ProvisioningIssue": { + "type": "object", + "description": "Describes Provisioning issue for given Network Security Perimeter configuration", + "properties": { + "name": { "type": "string", - "description": "The resource id of ACS.", - "x-nullable": true + "description": "Name of the issue" }, - "cognitiveServiceSubscriptionKey": { + "properties": { + "$ref": "#/definitions/ProvisioningIssueProperties", + "description": "Properties of Provisioning Issue", + "readOnly": true + } + } + }, + "ProvisioningIssueProperties": { + "type": "object", + "description": "Properties of Provisioning Issue", + "properties": { + "issueType": { "type": "string", - "description": "The subscription key of cognitive service.", - "x-nullable": true + "description": "Type of Issue" }, - "cognitiveServiceRegion": { - "type": "string", - "description": "The service region of cognitive service.", - "x-nullable": true + "severity": { + "$ref": "#/definitions/Severity", + "description": "Provisioning state of Network Security Perimeter configuration propagation" }, - "cognitiveServiceResourceId": { + "description": { "type": "string", - "description": "The resource id of cognitive service.", - "x-nullable": true + "description": "Description of the issue" }, - "defaultLocale": { - "type": "string", - "description": "The default locale of the phone number.", - "x-nullable": true + "suggestedResourceIds": { + "type": "array", + "description": "ARM IDs of resources that can be associated to the same perimeter to remediate the issue.", + "items": { + "type": "string", + "format": "arm-id", + "description": "A type definition that refers the id to an Azure Resource Manager resource." + }, + "readOnly": true }, - "offerType": { - "type": "string", - "description": "Optional Property that will determine the offering type of the phone.", - "x-nullable": true + "suggestedAccessRules": { + "type": "array", + "description": "Access rules that can be added to the same profile to remediate the issue.", + "items": { + "$ref": "#/definitions/NspAccessRule" + }, + "x-ms-identifiers": [] } - }, - "description": "A telephone number for the Telephony channel" + } }, - "TelephonyChannelResourceApiConfiguration": { + "QnAMakerEndpointKeysRequestBody": { "type": "object", + "description": "The request body for a request to Bot Service Management to list QnA Maker endpoint keys.", "properties": { - "id": { + "hostname": { "type": "string", - "description": "The id of config." + "description": "the host name of the QnA Maker endpoint" }, - "providerName": { + "authkey": { "type": "string", - "description": "The provider name.", - "x-nullable": true - }, - "cognitiveServiceSubscriptionKey": { + "description": "Subscription key which provides access to this API." + } + } + }, + "QnAMakerEndpointKeysResponse": { + "type": "object", + "description": "Schema for EndpointKeys generate/refresh operations.", + "properties": { + "primaryEndpointKey": { "type": "string", - "description": "The cognitive service subscription key.", - "x-nullable": true + "description": "Primary Access Key." }, - "cognitiveServiceRegion": { + "secondaryEndpointKey": { "type": "string", - "description": "The cognitive service region.", - "x-nullable": true + "description": "Secondary Access Key." }, - "cognitiveServiceResourceId": { + "installedVersion": { "type": "string", - "description": "The cognitive service resourceId.", - "x-nullable": true + "description": "Current version of runtime." }, - "defaultLocale": { + "lastStableVersion": { "type": "string", - "description": "The default locale.", - "x-nullable": true + "description": "Latest version of runtime." } - }, - "description": "A resource Api configuration for the Telephony channel" + } }, - "ConnectionItemName": { + "ResourceAssociation": { + "type": "object", + "description": "Information about resource association", "properties": { "name": { "type": "string", - "description": "Connection Item name that has been added in the API", - "readOnly": true + "description": "Name of the resource association" + }, + "accessMode": { + "$ref": "#/definitions/AccessMode", + "description": "Access Mode of the resource association" } - }, - "description": "The display name of a connection Item Setting registered with the Bot" + } }, - "ConnectionSettingParameter": { + "SearchAssistant": { + "type": "object", + "description": "SearchAssistant definition", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "x-ms-discriminator-value": "SearchAssistant" + }, + "ServiceProvider": { + "type": "object", + "description": "Service Provider Definition", "properties": { - "key": { - "type": "string", - "description": "Key for the Connection Setting Parameter." - }, - "value": { - "type": "string", - "description": "Value associated with the Connection Setting Parameter.", - "x-nullable": true + "properties": { + "$ref": "#/definitions/ServiceProviderProperties", + "description": "The Properties of a Service Provider Object" } - }, - "description": "Extra Parameter in a Connection Setting Properties to indicate service provider specific properties" + } }, - "ConnectionSettingProperties": { + "ServiceProviderParameter": { + "type": "object", + "description": "Extra Parameters specific to each Service Provider", "properties": { - "id": { - "type": "string", - "description": "Id of the Connection Setting." - }, - "name": { - "type": "string", - "description": "Name of the Connection Setting." - }, - "clientId": { - "type": "string", - "description": "Client Id associated with the Connection Setting." - }, - "settingId": { - "type": "string", - "description": "Setting Id set by the service for the Connection Setting.", - "readOnly": true - }, - "clientSecret": { - "x-ms-secret": true, - "type": "string", - "description": "Client Secret associated with the Connection Setting" - }, - "scopes": { - "type": "string", - "description": "Scopes associated with the Connection Setting", - "default": "" - }, - "serviceProviderId": { - "type": "string", - "description": "Service Provider Id associated with the Connection Setting" - }, - "serviceProviderDisplayName": { - "type": "string", - "description": "Service Provider Display Name associated with the Connection Setting" - }, - "parameters": { - "type": "array", - "description": "Service Provider Parameters associated with the Connection Setting", - "items": { - "$ref": "#/definitions/ConnectionSettingParameter" - } - }, - "provisioningState": { - "type": "string", - "description": "Provisioning state of the resource" - } - }, - "description": "Properties for a Connection Setting Item" - }, - "ConnectionSetting": { - "type": "object", - "description": "Bot channel resource definition", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ConnectionSettingProperties", - "description": "The set of properties specific to bot channel resource" - } - } - }, - "ConnectionSettingResponseList": { - "properties": { - "nextLink": { - "description": "The link used to get the next page of bot service connection setting resources.", - "type": "string" - }, - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/ConnectionSetting" - }, - "description": "Gets the list of bot service connection settings and their properties." - } - }, - "description": "The list of bot service connection settings response." - }, - "ServiceProviderResponseList": { - "properties": { - "nextLink": { - "description": "The link used to get the next page of bot service providers.", - "type": "string" - }, - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/ServiceProvider" - }, - "description": "Gets the list of bot service providers and their properties." - } - }, - "description": "The list of bot service providers response." - }, - "ServiceProviderParameter": { - "properties": { - "name": { + "name": { "type": "string", "description": "Name of the Service Provider", "readOnly": true @@ -3414,26 +4119,35 @@ "readOnly": true }, "metadata": { - "type": "object", + "$ref": "#/definitions/ServiceProviderParameterMetadata", "description": "Meta data for the Service Provider", - "readOnly": true, - "properties": { - "constraints": { - "description": "the constraints of the bot meta data.", - "type": "object", - "properties": { - "required": { - "description": "Whether required the constraints of the bot meta data.", - "type": "boolean" - } - } - } - } + "readOnly": true } - }, - "description": "Extra Parameters specific to each Service Provider" + } + }, + "ServiceProviderParameterMetadata": { + "type": "object", + "description": "Meta data for the Service Provider", + "properties": { + "constraints": { + "$ref": "#/definitions/ServiceProviderParameterMetadataConstraints", + "description": "the constraints of the bot meta data." + } + } + }, + "ServiceProviderParameterMetadataConstraints": { + "type": "object", + "description": "the constraints of the bot meta data.", + "properties": { + "required": { + "type": "boolean", + "description": "Whether required the constraints of the bot meta data." + } + } }, "ServiceProviderProperties": { + "type": "object", + "description": "The Object used to describe a Service Provider supported by Bot Service", "properties": { "id": { "type": "string", @@ -3461,429 +4175,667 @@ "default": "" }, "parameters": { - "description": "The list of parameters for the Service Provider", "type": "array", + "description": "The list of parameters for the Service Provider", "items": { "$ref": "#/definitions/ServiceProviderParameter" } } - }, - "description": "The Object used to describe a Service Provider supported by Bot Service" - }, - "ServiceProvider": { - "type": "object", - "description": "Service Provider Definition", - "properties": { - "properties": { - "$ref": "#/definitions/ServiceProviderProperties", - "description": "The Properties of a Service Provider Object" - } } }, - "Error": { - "properties": { - "error": { - "$ref": "#/definitions/ErrorBody", - "description": "The error body." - } - }, - "description": "Bot Service error object." - }, - "ErrorBody": { - "properties": { - "code": { - "type": "string", - "description": "error code" - }, - "message": { - "type": "string", - "description": "error message" - } - }, - "description": "Bot Service error body.", - "required": [ - "code", - "message" - ] - }, - "OperationEntityListResult": { - "description": "The list of bot service operation response.", + "ServiceProviderResponseList": { "type": "object", + "description": "The list of bot service providers response.", "properties": { "nextLink": { - "description": "The link used to get the next page of operations.", - "type": "string" + "type": "string", + "description": "The link used to get the next page of bot service providers." }, "value": { - "description": "The list of operations.", "type": "array", + "description": "Gets the list of bot service providers and their properties.", "items": { - "$ref": "#/definitions/OperationEntity" - } + "$ref": "#/definitions/ServiceProvider" + }, + "readOnly": true } } }, - "OperationEntity": { - "description": "The operations supported by Bot Service Management.", - "type": "object", - "properties": { - "name": { - "description": "Operation name: {provider}/{resource}/{operation}.", - "type": "string" - }, - "display": { - "$ref": "#/definitions/OperationDisplayInfo", - "description": "The operation supported by Bot Service Management." - }, - "origin": { - "description": "The origin of the operation.", - "type": "string" - }, - "properties": { - "description": "Additional properties.", - "type": "object" - } + "Severity": { + "type": "string", + "description": "Provisioning state of Network Security Perimeter configuration propagation", + "enum": [ + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true, + "values": [ + { + "name": "Warning", + "value": "Warning" + }, + { + "name": "Error", + "value": "Error" + } + ] } }, - "OperationDisplayInfo": { - "description": "The operation supported by Bot Service Management.", + "Site": { "type": "object", + "description": "A site for the channel", "properties": { - "description": { - "description": "The description of the operation.", - "type": "string" - }, - "operation": { - "description": "The action that users can perform, based on their permission level.", - "type": "string" - }, - "provider": { - "description": "Service provider: Microsoft Bot Service.", - "type": "string" + "tenantId": { + "type": "string", + "description": "Tenant Id" }, - "resource": { - "description": "Resource on which the operation is performed.", - "type": "string" - } - } - }, - "CheckNameAvailabilityRequestBody": { - "description": "The request body for a request to Bot Service Management to check availability of a bot name.", - "type": "object", - "properties": { - "name": { - "description": "the name of the bot for which availability needs to be checked.", - "type": "string" + "siteId": { + "type": "string", + "description": "Site Id", + "readOnly": true }, - "type": { - "description": "the type of the bot for which availability needs to be checked", - "type": "string" - } - } - }, - "CheckNameAvailabilityResponseBody": { - "description": "The response body returned for a request to Bot Service Management to check availability of a bot name.", - "type": "object", - "properties": { - "valid": { - "description": "indicates if the bot name is valid.", - "type": "boolean" + "siteName": { + "type": "string", + "description": "Site name", + "x-ms-mutability": [ + "read", + "create" + ] }, - "message": { - "description": "additional message from the bot management api showing why a bot name is not available", - "type": "string" + "key": { + "type": "string", + "description": "Primary key. Value only returned through POST to the action Channel List API, otherwise empty.", + "readOnly": true }, - "absCode": { - "description": "response code from ABS", + "key2": { "type": "string", - "x-ms-nullable": true - } - } - }, - "HostSettingsResponse": { - "description": "The response body returned for a request to Bot Service Management to check per subscription hostSettings", - "type": "object", - "properties": { - "OAuthUrl": { - "description": "For in-conversation bot user authentication", - "type": "string" + "description": "Secondary key. Value only returned through POST to the action Channel List API, otherwise empty.", + "readOnly": true }, - "ToBotFromChannelOpenIdMetadataUrl": { - "description": "For verifying incoming tokens from the channels", - "type": "string" + "isEnabled": { + "type": "boolean", + "description": "Whether this site is enabled for DirectLine channel" }, - "ToBotFromChannelTokenIssuer": { - "description": "For verifying incoming tokens from the channels", - "type": "string" + "isTokenEnabled": { + "type": "boolean", + "description": "Whether this site is token enabled for channel", + "readOnly": true }, - "ToBotFromEmulatorOpenIdMetadataUrl": { - "description": "For verifying incoming tokens from bot emulator", - "type": "string" + "isEndpointParametersEnabled": { + "type": "boolean", + "description": "Whether this site is EndpointParameters enabled for channel" }, - "ToChannelFromBotLoginUrl": { - "description": "For getting access token to channels from bot host", - "type": "string" + "isDetailedLoggingEnabled": { + "type": "boolean", + "description": "Whether this site is disabled detailed logging for" }, - "ToChannelFromBotOAuthScope": { - "description": "For getting access token to channels from bot host", - "type": "string" + "isBlockUserUploadEnabled": { + "type": "boolean", + "description": "Whether this site is enabled for block user upload.", + "default": null, + "x-nullable": true }, - "ValidateAuthority": { - "description": "Per cloud OAuth setting on whether authority is validated", - "type": "boolean" + "isNoStorageEnabled": { + "type": "boolean", + "description": "Whether this no-storage site is disabled detailed logging for" }, - "BotOpenIdMetadata": { - "description": "Same as toBotFromChannelOpenIdMetadataUrl, used by SDK < v4.12", - "type": "string" - } - } - }, - "QnAMakerEndpointKeysRequestBody": { - "description": "The request body for a request to Bot Service Management to list QnA Maker endpoint keys.", - "type": "object", - "properties": { - "hostname": { - "description": "the host name of the QnA Maker endpoint", - "type": "string" + "eTag": { + "type": "string", + "description": "Entity Tag" }, - "authkey": { - "description": "Subscription key which provides access to this API.", - "type": "string" + "appId": { + "type": "string", + "description": "DirectLine application id" + }, + "isV1Enabled": { + "type": "boolean", + "description": "Whether this site is enabled for Bot Framework V1 protocol.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "isV3Enabled": { + "type": "boolean", + "description": "Whether this site is enabled for Bot Framework V3 protocol." + }, + "isSecureSiteEnabled": { + "type": "boolean", + "description": "Whether this site is enabled for authentication with Bot Framework." + }, + "trustedOrigins": { + "type": "array", + "description": "List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True.", + "items": { + "type": "string" + } + }, + "isWebChatSpeechEnabled": { + "type": "boolean", + "description": "Whether this site is enabled for Webchat Speech", + "default": false + }, + "isWebchatPreviewEnabled": { + "type": "boolean", + "description": "Whether this site is enabled for preview versions of Webchat", + "default": false } - } + }, + "required": [ + "siteName", + "isEnabled" + ] }, - "QnAMakerEndpointKeysResponse": { + "SiteInfo": { "type": "object", - "description": "Schema for EndpointKeys generate/refresh operations.", + "description": "Site information for WebChat or DirectLine Channels to identify which site to regenerate keys for.", "properties": { - "primaryEndpointKey": { - "type": "string", - "description": "Primary Access Key." - }, - "secondaryEndpointKey": { - "type": "string", - "description": "Secondary Access Key." - }, - "installedVersion": { + "siteName": { "type": "string", - "description": "Current version of runtime." + "description": "The site name", + "x-ms-mutability": [ + "read", + "create" + ] }, - "lastStableVersion": { - "type": "string", - "description": "Latest version of runtime." + "key": { + "$ref": "#/definitions/Key", + "description": "Determines which key is to be regenerated" } - } + }, + "required": [ + "siteName", + "key" + ] }, - "OperationResultsDescription": { - "description": "The properties indicating the operation result of an operation on a service.", + "Sku": { "type": "object", + "description": "The SKU of the cognitive services account.", "properties": { - "id": { - "description": "The ID of the operation returned.", - "readOnly": true, - "type": "string" - }, "name": { - "description": "The name of the operation result.", - "readOnly": true, - "type": "string" - }, - "status": { - "description": "The status of the operation being performed.", - "enum": [ - "Canceled", - "Succeeded", - "Failed", - "Requested", - "Running" - ], - "readOnly": true, - "type": "string", - "x-ms-enum": { - "name": "OperationResultStatus", - "modelAsString": true - } + "$ref": "#/definitions/SkuName", + "description": "The sku name" }, - "startTime": { - "format": "date-time", - "description": "The time that the operation was started.", - "readOnly": true, - "type": "string" + "tier": { + "$ref": "#/definitions/SkuTier", + "description": "Gets the sku tier. This is based on the SKU name.", + "readOnly": true } - } - } - }, - "parameters": { - "resourceGroupNameParameter": { - "name": "resourceGroupName", - "x-ms-parameter-location": "method", - "in": "path", - "required": true, - "type": "string", - "maxLength": 64, - "minLength": 2, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", - "description": "The name of the Bot resource group in the user subscription." - }, - "resourceNameParameter": { - "name": "resourceName", - "x-ms-parameter-location": "method", - "in": "path", - "required": true, - "type": "string", - "maxLength": 64, - "minLength": 2, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", - "description": "The name of the Bot resource." - }, - "subscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "description": "Azure Subscription ID.", - "required": true, - "type": "string" - }, - "apiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Version of the API to be used with the client request." - }, - "operationResultIdParameter": { - "name": "operationResultId", - "in": "path", - "description": "The ID of the operation result to get.", - "required": true, - "x-ms-parameter-location": "method", - "type": "string" - }, - "connectionNameParameter": { - "name": "connectionName", - "x-ms-parameter-location": "method", - "in": "path", - "required": true, - "type": "string", - "maxLength": 64, - "minLength": 2, - "pattern": "^[a-zA-Z0-9][\\sa-zA-Z0-9_.-]*$", - "description": "The name of the Bot Service Connection Setting resource." - }, - "channelNameParameter": { - "name": "channelName", - "x-ms-parameter-location": "method", - "in": "path", - "required": true, + }, + "required": [ + "name" + ] + }, + "SkuName": { "type": "string", + "description": "The name of SKU.", "enum": [ - "AlexaChannel", - "FacebookChannel", - "EmailChannel", - "KikChannel", - "TelegramChannel", - "SlackChannel", - "MsTeamsChannel", - "SkypeChannel", - "WebChatChannel", - "DirectLineChannel", - "SmsChannel", - "LineChannel", - "DirectLineSpeechChannel", - "OutlookChannel", - "Omnichannel", - "TelephonyChannel", - "AcsChatChannel", - "SearchAssistant", - "M365Extensions" + "F0", + "S1" ], "x-ms-enum": { - "name": "channelName", - "modelAsString": false, + "name": "SkuName", + "modelAsString": true, "values": [ { - "value": "AlexaChannel" - }, - { - "value": "FacebookChannel" - }, - { - "value": "EmailChannel" - }, - { - "value": "KikChannel" - }, - { - "value": "TelegramChannel" - }, - { - "value": "SlackChannel" - }, - { - "value": "MsTeamsChannel" - }, - { - "value": "SkypeChannel" - }, - { - "value": "WebChatChannel" - }, - { - "value": "DirectLineChannel" - }, - { - "value": "SmsChannel" - }, - { - "value": "LineChannel" - }, - { - "value": "DirectLineSpeechChannel" - }, - { - "value": "OutlookChannel" - }, - { - "value": "Omnichannel" - }, - { - "value": "TelephonyChannel" - }, - { - "value": "AcsChatChannel" - }, - { - "value": "SearchAssistant" + "name": "F0", + "value": "F0" }, { - "value": "M365Extensions" + "name": "S1", + "value": "S1" } ] - }, - "description": "The name of the Channel resource." + } }, - "regenerateKeyschannelNameParameter": { - "name": "channelName", - "x-ms-parameter-location": "method", - "in": "path", - "required": true, + "SkuTier": { "type": "string", + "description": "Gets the sku tier. This is based on the SKU name.", "enum": [ - "WebChatChannel", - "DirectLineChannel" + "Free", + "Standard" ], "x-ms-enum": { - "name": "regenerateKeysChannelName", - "modelAsString": false, + "name": "SkuTier", + "modelAsString": true, "values": [ { - "value": "WebChatChannel" + "name": "Free", + "value": "Free" }, { - "value": "DirectLineChannel" + "name": "Standard", + "value": "Standard" } ] + } + }, + "SkypeChannel": { + "type": "object", + "description": "Skype channel definition", + "properties": { + "properties": { + "$ref": "#/definitions/SkypeChannelProperties", + "description": "The set of properties specific to Skype channel resource" + } }, - "description": "The name of the Channel resource for which keys are to be regenerated." - } - } + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "x-ms-discriminator-value": "SkypeChannel" + }, + "SkypeChannelProperties": { + "type": "object", + "description": "The parameters to provide for the Microsoft Teams channel.", + "properties": { + "enableMessaging": { + "type": "boolean", + "description": "Enable messaging for Skype channel" + }, + "enableMediaCards": { + "type": "boolean", + "description": "Enable media cards for Skype channel" + }, + "enableVideo": { + "type": "boolean", + "description": "Enable video for Skype channel" + }, + "enableCalling": { + "type": "boolean", + "description": "Enable calling for Skype channel", + "default": false + }, + "enableScreenSharing": { + "type": "boolean", + "description": "Enable screen sharing for Skype channel" + }, + "enableGroups": { + "type": "boolean", + "description": "Enable groups for Skype channel" + }, + "groupsMode": { + "type": "string", + "description": "Group mode for Skype channel" + }, + "callingWebHook": { + "type": "string", + "description": "Calling web hook for Skype channel" + }, + "incomingCallRoute": { + "type": "string", + "description": "Incoming call route for Skype channel" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "required": [ + "isEnabled" + ] + }, + "SlackChannel": { + "type": "object", + "description": "Slack channel definition", + "properties": { + "properties": { + "$ref": "#/definitions/SlackChannelProperties", + "description": "The set of properties specific to Slack channel resource" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "x-ms-discriminator-value": "SlackChannel" + }, + "SlackChannelProperties": { + "type": "object", + "description": "The parameters to provide for the Slack channel.", + "properties": { + "clientId": { + "type": "string", + "description": "The Slack client id" + }, + "clientSecret": { + "type": "string", + "format": "password", + "description": "The Slack client secret. Value only returned through POST to the action Channel List API, otherwise empty.", + "x-ms-secret": true + }, + "verificationToken": { + "type": "string", + "format": "password", + "description": "The Slack verification token. Value only returned through POST to the action Channel List API, otherwise empty.", + "x-ms-secret": true + }, + "scopes": { + "type": "string", + "description": "The Slack permission scopes." + }, + "landingPageUrl": { + "type": "string", + "description": "The Slack landing page Url" + }, + "redirectAction": { + "type": "string", + "description": "The Slack redirect action", + "readOnly": true + }, + "lastSubmissionId": { + "type": "string", + "description": "The Sms auth token", + "readOnly": true + }, + "registerBeforeOAuthFlow": { + "type": "boolean", + "description": "Whether to register the settings before OAuth validation is performed. Recommended to True." + }, + "IsValidated": { + "type": "boolean", + "description": "Whether this channel is validated for the bot", + "readOnly": true + }, + "signingSecret": { + "type": "string", + "format": "password", + "description": "The Slack signing secret.", + "x-ms-secret": true + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "required": [ + "isEnabled" + ] + }, + "SmsChannel": { + "type": "object", + "description": "Sms channel definition", + "properties": { + "properties": { + "$ref": "#/definitions/SmsChannelProperties", + "description": "The set of properties specific to Sms channel resource" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "x-ms-discriminator-value": "SmsChannel" + }, + "SmsChannelProperties": { + "type": "object", + "description": "The parameters to provide for the Sms channel.", + "properties": { + "phone": { + "type": "string", + "description": "The Sms phone" + }, + "accountSID": { + "type": "string", + "description": "The Sms account SID. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "authToken": { + "type": "string", + "format": "password", + "description": "The Sms auth token. Value only returned through POST to the action Channel List API, otherwise empty.", + "x-ms-secret": true + }, + "isValidated": { + "type": "boolean", + "description": "Whether this channel is validated for the bot" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "required": [ + "phone", + "accountSID", + "isEnabled" + ] + }, + "TelegramChannel": { + "type": "object", + "description": "Telegram channel definition", + "properties": { + "properties": { + "$ref": "#/definitions/TelegramChannelProperties", + "description": "The set of properties specific to Telegram channel resource" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "x-ms-discriminator-value": "TelegramChannel" + }, + "TelegramChannelProperties": { + "type": "object", + "description": "The parameters to provide for the Telegram channel.", + "properties": { + "accessToken": { + "type": "string", + "format": "password", + "description": "The Telegram access token. Value only returned through POST to the action Channel List API, otherwise empty.", + "x-ms-secret": true + }, + "isValidated": { + "type": "boolean", + "description": "Whether this channel is validated for the bot" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "required": [ + "isEnabled" + ] + }, + "TelephonyChannel": { + "type": "object", + "description": "Telephony channel definition", + "properties": { + "properties": { + "$ref": "#/definitions/TelephonyChannelProperties", + "description": "The set of properties specific to Telephony channel resource" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "x-ms-discriminator-value": "TelephonyChannel" + }, + "TelephonyChannelProperties": { + "type": "object", + "description": "The parameters to provide for the Direct Line channel.", + "properties": { + "phoneNumbers": { + "type": "array", + "description": "The list of Telephony phone numbers", + "items": { + "$ref": "#/definitions/TelephonyPhoneNumbers" + } + }, + "apiConfigurations": { + "type": "array", + "description": "The list of Telephony api configuration", + "items": { + "$ref": "#/definitions/TelephonyChannelResourceApiConfiguration" + } + }, + "cognitiveServiceSubscriptionKey": { + "type": "string", + "description": "The extensionKey1", + "x-nullable": true + }, + "cognitiveServiceRegion": { + "type": "string", + "description": "The extensionKey2", + "x-nullable": true + }, + "defaultLocale": { + "type": "string", + "description": "The default locale of the channel", + "x-nullable": true + }, + "premiumSKU": { + "type": "string", + "description": "The premium SKU applied to the channel", + "x-nullable": true + }, + "isEnabled": { + "type": "boolean", + "description": "Whether the channel is enabled" + } + } + }, + "TelephonyChannelResourceApiConfiguration": { + "type": "object", + "description": "A resource Api configuration for the Telephony channel", + "properties": { + "id": { + "type": "string", + "description": "The id of config." + }, + "providerName": { + "type": "string", + "description": "The provider name.", + "x-nullable": true + }, + "cognitiveServiceSubscriptionKey": { + "type": "string", + "description": "The cognitive service subscription key.", + "x-nullable": true + }, + "cognitiveServiceRegion": { + "type": "string", + "description": "The cognitive service region.", + "x-nullable": true + }, + "cognitiveServiceResourceId": { + "type": "string", + "description": "The cognitive service resourceId.", + "x-nullable": true + }, + "defaultLocale": { + "type": "string", + "description": "The default locale.", + "x-nullable": true + } + } + }, + "TelephonyPhoneNumbers": { + "type": "object", + "description": "A telephone number for the Telephony channel", + "properties": { + "id": { + "type": "string", + "description": "The element id." + }, + "phoneNumber": { + "type": "string", + "description": "The phone number." + }, + "acsEndpoint": { + "type": "string", + "description": "The endpoint of ACS.", + "x-nullable": true + }, + "acsSecret": { + "type": "string", + "description": "The secret of ACS.", + "x-nullable": true + }, + "acsResourceId": { + "type": "string", + "description": "The resource id of ACS.", + "x-nullable": true + }, + "cognitiveServiceSubscriptionKey": { + "type": "string", + "description": "The subscription key of cognitive service.", + "x-nullable": true + }, + "cognitiveServiceRegion": { + "type": "string", + "description": "The service region of cognitive service.", + "x-nullable": true + }, + "cognitiveServiceResourceId": { + "type": "string", + "description": "The resource id of cognitive service.", + "x-nullable": true + }, + "defaultLocale": { + "type": "string", + "description": "The default locale of the phone number.", + "x-nullable": true + }, + "offerType": { + "type": "string", + "description": "Optional Property that will determine the offering type of the phone.", + "x-nullable": true + } + } + }, + "WebChatChannel": { + "type": "object", + "description": "Web Chat channel definition", + "properties": { + "properties": { + "$ref": "#/definitions/WebChatChannelProperties", + "description": "The set of properties specific to Web Chat channel resource" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "x-ms-discriminator-value": "WebChatChannel" + }, + "WebChatChannelProperties": { + "type": "object", + "description": "The parameters to provide for the Web Chat channel.", + "properties": { + "webChatEmbedCode": { + "type": "string", + "description": "Web chat control embed code", + "readOnly": true + }, + "sites": { + "type": "array", + "description": "The list of Web Chat sites", + "items": { + "$ref": "#/definitions/WebChatSite" + } + } + } + }, + "WebChatSite": { + "type": "object", + "description": "A site for the Webchat channel", + "allOf": [ + { + "$ref": "#/definitions/Site" + } + ] + } + }, + "parameters": {} } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/CheckNameAvailability.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/CheckNameAvailability.json index dc44f19ed908..c77c55835154 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/CheckNameAvailability.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/CheckNameAvailability.json @@ -9,9 +9,11 @@ "responses": { "200": { "body": { - "valid": true, - "message": "custom message from server" + "message": "custom message from server", + "valid": true } } - } + }, + "operationId": "Bots_GetCheckNameAvailability", + "title": "check Name Availability" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/CreateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/CreateBot.json index 9a7c52748431..3a585c2fe8a5 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/CreateBot.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/CreateBot.json @@ -1,129 +1,131 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "parameters": { - "location": "West US", - "sku": { - "name": "S1" - }, "etag": "etag1", - "tags": { - "tag1": "value1", - "tag2": "value2" - }, "kind": "sdk", + "location": "West US", "properties": { "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", "developerAppInsightKey": "appinsightskey", "developerAppInsightsApiKey": "appinsightsapikey", "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, "displayName": "The Name of the bot", "endpoint": "http://mybot.coffee", "iconUrl": "http://myicon", + "isCmekEnabled": true, "luisAppIds": [ "luisappid1", "luisappid2" ], "luisKey": "luiskey", - "msaAppType": "UserAssignedMSI", "msaAppId": "exampleappid", - "msaAppTenantId": "exampleapptenantid", "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", - "isCmekEnabled": true, - "cmekKeyVaultUrl": "https://myCmekKey", + "msaAppTenantId": "exampleapptenantid", + "msaAppType": "UserAssignedMSI", "publicNetworkAccess": "Enabled", - "disableLocalAuth": true, "schemaTransformationVersion": "1.0" + }, + "sku": { + "name": "S1" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" } - } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { "body": { - "location": "West US", - "tags": { - "tag1": "value1", - "tag2": "value2" - }, "name": "samplebotname", "type": "Microsoft.BotService/botServices", + "etag": "etag1", "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", "kind": "sdk", - "etag": "etag1", + "location": "West US", "properties": { "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "configuredChannels": [ + "facebook", + "groupme" + ], "developerAppInsightKey": "appinsightskey", "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, "displayName": "The Name of the bot", + "enabledChannels": [ + "facebook" + ], "endpoint": "http://mybot.coffee", "endpointVersion": "version", "iconUrl": "http://myicon", + "isCmekEnabled": true, "luisAppIds": [ "luisappid1", "luisappid2" ], - "msaAppType": "UserAssignedMSI", "msaAppId": "msaappid", - "msaAppTenantId": "msaapptenantid", "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", - "configuredChannels": [ - "facebook", - "groupme" - ], - "enabledChannels": [ - "facebook" - ], - "isCmekEnabled": true, - "cmekKeyVaultUrl": "https://myCmekKey", + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", "publicNetworkAccess": "Enabled", - "disableLocalAuth": true, "schemaTransformationVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" } } }, "201": { "body": { - "location": "West US", - "tags": { - "tag1": "value1", - "tag2": "value2" - }, "name": "samplebotname", "type": "Microsoft.BotService/botServices", "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", "kind": "sdk", + "location": "West US", "properties": { "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "configuredChannels": [ + "facebook", + "groupme" + ], "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, "displayName": "The Name of the bot", + "enabledChannels": [ + "facebook" + ], "endpoint": "http://mybot.coffee", "endpointVersion": "version", "iconUrl": "http://myicon", + "isCmekEnabled": true, "luisAppIds": [ "luisappid1", "luisappid2" ], - "msaAppType": "UserAssignedMSI", "msaAppId": "msaappid", - "msaAppTenantId": "msaapptenantid", "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", - "configuredChannels": [ - "facebook", - "groupme" - ], - "enabledChannels": [ - "facebook" - ], - "isCmekEnabled": true, - "cmekKeyVaultUrl": "https://myCmekKey", + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", "publicNetworkAccess": "Enabled", - "disableLocalAuth": true, "schemaTransformationVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" } } } - } + }, + "operationId": "Bots_Create", + "title": "Create Bot" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/CreateEmailSignInUrl.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/CreateEmailSignInUrl.json index 16ee6008b664..53b1a1d46ade 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/CreateEmailSignInUrl.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/CreateEmailSignInUrl.json @@ -1,9 +1,9 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname" + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -15,5 +15,7 @@ } } } - } + }, + "operationId": "Email_CreateSignInUrl", + "title": "Create Url" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteBot.json index 65eb6409c83b..9872dc9dea70 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteBot.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteBot.json @@ -1,12 +1,14 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname" + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": {}, "204": {} - } + }, + "operationId": "Bots_Delete", + "title": "Delete Bot" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteChannel.json index 09251758d4b9..7d36804fa959 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteChannel.json @@ -1,13 +1,15 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", + "channelName": "EmailChannel", + "resourceGroupName": "OneResourceGroupName", "resourceName": "samplebotname", - "channelName": "EmailChannel" + "subscriptionId": "subscription-id" }, "responses": { "200": {}, "204": {} - } + }, + "operationId": "Channels_Delete", + "title": "Delete Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteConnection.json index 6d2e5bb93fa9..7952aef418bd 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteConnection.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteConnection.json @@ -1,13 +1,15 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", + "connectionName": "sampleConnection", + "resourceGroupName": "OneResourceGroupName", "resourceName": "samplebotname", - "connectionName": "sampleConnection" + "subscriptionId": "subscription-id" }, "responses": { "200": {}, "204": {} - } + }, + "operationId": "BotConnection_Delete", + "title": "Delete Connection Setting" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteDirectLineSpeechChannel.json index 9312ed7e53a4..c1c183935453 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteDirectLineSpeechChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeleteDirectLineSpeechChannel.json @@ -1,13 +1,15 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", + "channelName": "DirectLineSpeechChannel", + "resourceGroupName": "OneResourceGroupName", "resourceName": "samplebotname", - "channelName": "DirectLineSpeechChannel" + "subscriptionId": "subscription-id" }, "responses": { "200": {}, "204": {} - } + }, + "operationId": "Channels_Delete", + "title": "Delete DirectLine Speech Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeletePrivateEndpointConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeletePrivateEndpointConnection.json index 4021b5d93035..911e202085a0 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeletePrivateEndpointConnection.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DeletePrivateEndpointConnection.json @@ -1,13 +1,15 @@ { "parameters": { - "subscriptionId": "{subscription-id}", + "api-version": "2023-09-15-preview", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", "resourceGroupName": "res6977", "resourceName": "sto2527", - "privateEndpointConnectionName": "{privateEndpointConnectionName}", - "api-version": "2023-09-15-preview" + "subscriptionId": "{subscription-id}" }, "responses": { "200": {}, "204": {} - } + }, + "operationId": "PrivateEndpointConnections_Delete", + "title": "Delete Private Endpoint Connection" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DirectlineRegenerateKeys.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DirectlineRegenerateKeys.json index 94f1931f53ca..fe66b5287425 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DirectlineRegenerateKeys.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/DirectlineRegenerateKeys.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "channelName": "DirectLineChannel", "parameters": { - "siteName": "testSiteName", - "key": "key1" - } + "key": "key1", + "siteName": "testSiteName" + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -19,18 +19,20 @@ "properties": { "sites": [ { - "siteId": "abcd", - "siteName": "Default Site", - "key": "key1", - "key2": "key2", "isEnabled": true, "isV1Enabled": true, - "isV3Enabled": true + "isV3Enabled": true, + "key": "key1", + "key2": "key2", + "siteId": "abcd", + "siteName": "Default Site" } ] } } } } - } + }, + "operationId": "DirectLine_RegenerateKeys", + "title": "Regenerate Keys for DirectLine Channel Site" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetAlexaChannel.json index 18707aa114eb..04c6d76ed9ce 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetAlexaChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetAlexaChannel.json @@ -1,10 +1,10 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", + "channelName": "AlexaChannel", + "resourceGroupName": "OneResourceGroupName", "resourceName": "samplebotname", - "channelName": "AlexaChannel" + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -15,12 +15,14 @@ "channelName": "AlexaChannel", "properties": { "alexaSkillId": "alexa skill id", - "urlFragment": "XUrlFragmentX", + "isEnabled": true, "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", - "isEnabled": true + "urlFragment": "XUrlFragmentX" } } } } - } + }, + "operationId": "Channels_Get", + "title": "Get Alexa Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetBot.json index 78c078aa1789..9688bf83bee0 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetBot.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetBot.json @@ -1,70 +1,72 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname" + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { "body": { - "location": "West US", - "tags": { - "tag1": "value1", - "tag2": "value2" - }, "name": "samplebotname", "type": "Microsoft.BotService/botServices", + "etag": "etag1", "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", "kind": "sdk", - "etag": "etag1", + "location": "West US", "properties": { "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "configuredChannels": [ + "facebook", + "groupme" + ], "developerAppInsightKey": "appinsightskey", "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, "displayName": "The Name of the bot", + "enabledChannels": [ + "facebook" + ], "endpoint": "http://mybot.coffee", "endpointVersion": "version", "iconUrl": "http://myicon", + "isCmekEnabled": true, "luisAppIds": [ "luisappid1", "luisappid2" ], - "msaAppType": "UserAssignedMSI", "msaAppId": "msaappid", - "msaAppTenantId": "msaapptenantid", "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", - "configuredChannels": [ - "facebook", - "groupme" - ], - "enabledChannels": [ - "facebook" - ], - "isCmekEnabled": true, - "cmekKeyVaultUrl": "https://myCmekKey", - "publicNetworkAccess": "Enabled", - "schemaTransformationVersion": "1.0", - "disableLocalAuth": true, + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", + "networkSecurityPerimeterConfigurations": [], "privateEndpointConnections": [ { "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/privateEndpointConnections/privatelink", "properties": { - "provisioningState": "Succeeded", "privateEndpoint": { "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.Network/privateEndpoints/privatelink" }, "privateLinkServiceConnectionState": { - "status": "Approved", "description": "Auto-Approved", - "actionsRequired": "None" - } + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" } } ], - "networkSecurityPerimeterConfigurations": [] + "publicNetworkAccess": "Enabled", + "schemaTransformationVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" } } } - } + }, + "operationId": "Bots_Get", + "title": "Get Bot" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetChannel.json index ea9bdd60efa7..96de313a9a80 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetChannel.json @@ -1,10 +1,10 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", + "channelName": "EmailChannel", + "resourceGroupName": "OneResourceGroupName", "resourceName": "samplebotname", - "channelName": "EmailChannel" + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -15,11 +15,13 @@ "channelName": "EmailChannel", "properties": { "emailAddress": "a@b.com", - "password": "pwd", - "isEnabled": true + "isEnabled": true, + "password": "pwd" } } } } - } + }, + "operationId": "Channels_Get", + "title": "Get Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetConnection.json index 514bfae16ffa..d01ca3090ccd 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetConnection.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetConnection.json @@ -1,26 +1,23 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", + "connectionName": "sampleConnection", + "resourceGroupName": "OneResourceGroupName", "resourceName": "samplebotname", - "connectionName": "sampleConnection" + "subscriptionId": "subscription-id" }, "responses": { "200": { "body": { - "location": "global", - "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", - "etag": "etag1", "name": "sampleConnection", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "location": "global", "properties": { - "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", "name": "sampleConnection", "clientId": "sampleclientid", "clientSecret": null, - "scopes": "samplescope", - "serviceProviderId": "serviceproviderid", - "serviceProviderDisplayName": "serviceProviderDisplayName", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", "parameters": [ { "key": "key1", @@ -30,9 +27,14 @@ "key": "key2", "value": "value2" } - ] + ], + "scopes": "samplescope", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "serviceProviderId": "serviceproviderid" } } } - } + }, + "operationId": "BotConnection_Get", + "title": "Get Connection Setting" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetConnectionListWithSecrets.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetConnectionListWithSecrets.json new file mode 100644 index 000000000000..da6f8c8ac657 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetConnectionListWithSecrets.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-09-15-preview", + "connectionName": "sampleConnection", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" + }, + "responses": { + "200": { + "body": { + "name": "sampleConnection", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "location": "global", + "properties": { + "name": "sampleConnection", + "clientId": "sampleclientid", + "clientSecret": null, + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ], + "scopes": "samplescope", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "serviceProviderId": "serviceproviderid" + } + } + } + }, + "operationId": "BotConnection_ListWithSecrets", + "title": "List Connection Setting With Secrets" +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetDirectLineSpeechChannel.json index 11a72d0b3fed..69b21a07d3a6 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetDirectLineSpeechChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetDirectLineSpeechChannel.json @@ -1,10 +1,10 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", + "channelName": "DirectLineSpeechChannel", + "resourceGroupName": "OneResourceGroupName", "resourceName": "samplebotname", - "channelName": "DirectLineSpeechChannel" + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -15,13 +15,15 @@ "channelName": "DirectLineSpeechChannel", "properties": { "cognitiveServiceRegion": "Cognitive service region", - "customVoiceDeploymentId": "Custom voice deployment ID", "customSpeechModelId": "Custom speech model ID", + "customVoiceDeploymentId": "Custom voice deployment ID", "isDefaultBotForCogSvcAccount": true, "isEnabled": true } } } } - } + }, + "operationId": "Channels_Get", + "title": "Get DirectLine Speech Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetHostSettings.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetHostSettings.json index b33c2e281339..8b67cddb7385 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetHostSettings.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetHostSettings.json @@ -1,7 +1,7 @@ { "parameters": { - "subscriptionId": "subscription-id", - "api-version": "2023-09-15-preview" + "api-version": "2023-09-15-preview", + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -16,5 +16,7 @@ "ValidateAuthority": true } } - } + }, + "operationId": "HostSettings_Get", + "title": "Get Bot Host Settings" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetLineChannel.json index 1a668d0bd137..b221c7a78a54 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetLineChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetLineChannel.json @@ -1,10 +1,10 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", + "channelName": "LineChannel", + "resourceGroupName": "OneResourceGroupName", "resourceName": "samplebotname", - "channelName": "LineChannel" + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -14,18 +14,20 @@ "properties": { "channelName": "LineChannel", "properties": { + "callbackUrl": "http://callbackUrl", + "isValidated": true, "lineRegistrations": [ { - "generatedId": "id", + "channelAccessToken": null, "channelSecret": null, - "channelAccessToken": null + "generatedId": "id" } - ], - "callbackUrl": "http://callbackUrl", - "isValidated": true + ] } } } } - } + }, + "operationId": "Channels_Get", + "title": "Get Line Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetNetworkSecurityPerimeterConfiguration.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetNetworkSecurityPerimeterConfiguration.json index 3390d2ed2ff8..4ddecabdc4d1 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetNetworkSecurityPerimeterConfiguration.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetNetworkSecurityPerimeterConfiguration.json @@ -1,67 +1,69 @@ { "parameters": { - "subscriptionId": "subId", + "api-version": "2023-09-15-preview", + "networkSecurityPerimeterConfigurationName": "00000000-0000-0000-0000-000000000000.associationName", "resourceGroupName": "rgName", "resourceName": "botId", - "networkSecurityPerimeterConfigurationName": "00000000-0000-0000-0000-000000000000.associationName", - "api-version": "2023-09-15-preview" + "subscriptionId": "subId" }, "responses": { "200": { "body": { - "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.BotService/botServices/botId/networkSecurityPerimeterConfigurations/00000000-0000-0000-0000-000000000000.associationName", "name": "00000000-0000-0000-0000-000000000000.associationName", "type": "Microsoft.BotService/botServices/networkSecurityPerimeterConfigurations", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.BotService/botServices/botId/networkSecurityPerimeterConfigurations/00000000-0000-0000-0000-000000000000.associationName", "properties": { - "provisioningState": "Succeeded", - "provisioningIssues": [], "networkSecurityPerimeter": { "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Network/networkSecurityPerimeters/nspName", - "perimeterGuid": "00000000-0000-0000-0000-000000000000", - "location": "westcentralus" - }, - "resourceAssociation": { - "name": "associationName", - "accessMode": "Learning" + "location": "westcentralus", + "perimeterGuid": "00000000-0000-0000-0000-000000000000" }, "profile": { "name": "defaultProfile", - "accessRulesVersion": 2, "accessRules": [ { "name": "Inbound1", "properties": { - "direction": "Inbound", "addressPrefixes": [ "10.0.0.0/16" ], - "subscriptions": [], - "networkSecurityPerimeters": [], - "fullyQualifiedDomainNames": [], + "direction": "Inbound", "emailAddresses": [], - "phoneNumbers": [] + "fullyQualifiedDomainNames": [], + "networkSecurityPerimeters": [], + "phoneNumbers": [], + "subscriptions": [] } }, { "name": "Outbound1", "properties": { - "direction": "Outbound", "addressPrefixes": [], - "subscriptions": [], - "networkSecurityPerimeters": [], + "direction": "Outbound", + "emailAddresses": [], "fullyQualifiedDomainNames": [ "*" ], - "emailAddresses": [], - "phoneNumbers": [] + "networkSecurityPerimeters": [], + "phoneNumbers": [], + "subscriptions": [] } } ], + "accessRulesVersion": 2, "diagnosticSettingsVersion": 0, "enabledLogCategories": [] + }, + "provisioningIssues": [], + "provisioningState": "Succeeded", + "resourceAssociation": { + "name": "associationName", + "accessMode": "Learning" } } } } - } + }, + "operationId": "NetworkSecurityPerimeterConfigurations_Get", + "title": "Get Network Security Perimeter Configuration" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetOperations.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetOperations.json index c289fbeba5b5..2782fe3dea3b 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetOperations.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetOperations.json @@ -9,45 +9,47 @@ { "name": "Microsoft.BotService/botService/read", "display": { - "provider": "Microsoft Bot Service", - "resource": "Bot Service", + "description": "Read Bot Service", "operation": "Read Bot Service", - "description": "Read Bot Service" + "provider": "Microsoft Bot Service", + "resource": "Bot Service" }, "origin": "user,system" }, { "name": "Microsoft.BotService/botService/write", "display": { - "provider": "Microsoft Bot Service", - "resource": "Bot Service", + "description": "Writes Bot Service", "operation": "Write Bot Service", - "description": "Writes Bot Service" + "provider": "Microsoft Bot Service", + "resource": "Bot Service" }, "origin": "user,system" }, { "name": "Microsoft.BotService/botService/delete", "display": { - "provider": "Microsoft Bot Service", - "resource": "Bot Service", + "description": "Deletes Bot Service", "operation": "Delete Bot Service", - "description": "Deletes Bot Service" + "provider": "Microsoft Bot Service", + "resource": "Bot Service" }, "origin": "user,system" }, { "name": "Microsoft.BotService/botService/botName/read", "display": { - "provider": "Microsoft Bot Service", - "resource": "Bot Service name availability", + "description": "Check bot name availability", "operation": "Check bot name availability", - "description": "Check bot name availability" + "provider": "Microsoft Bot Service", + "resource": "Bot Service name availability" }, "origin": "user,system" } ] } } - } + }, + "operationId": "Operations_List", + "title": "Get Operations" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetPrivateEndpointConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetPrivateEndpointConnection.json index 9d33a9d567bd..d4665153e74c 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetPrivateEndpointConnection.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/GetPrivateEndpointConnection.json @@ -1,29 +1,31 @@ { "parameters": { - "subscriptionId": "{subscription-id}", + "api-version": "2023-09-15-preview", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", "resourceGroupName": "res6977", "resourceName": "sto2527", - "privateEndpointConnectionName": "{privateEndpointConnectionName}", - "api-version": "2023-09-15-preview" + "subscriptionId": "{subscription-id}" }, "responses": { "200": { "body": { - "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}", "name": "{privateEndpointConnectionName}", "type": "Microsoft.BotService/botServices/privateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}", "properties": { - "provisioningState": "Succeeded", "privateEndpoint": { "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" }, "privateLinkServiceConnectionState": { - "status": "Approved", "description": "Auto-Approved", - "actionsRequired": "None" - } + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" } } } - } + }, + "operationId": "PrivateEndpointConnections_Get", + "title": "Get Private Endpoint Connection" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListBotsByResourceGroup.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListBotsByResourceGroup.json index 1659fd6522e3..53575ea24742 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListBotsByResourceGroup.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListBotsByResourceGroup.json @@ -1,56 +1,58 @@ { "parameters": { - "subscriptionId": "subscription-id", + "api-version": "2023-09-15-preview", "resourceGroupName": "OneResourceGroupName", - "api-version": "2023-09-15-preview" + "subscriptionId": "subscription-id" }, "responses": { "200": { "body": { "value": [ { - "location": "West US", - "tags": { - "tag1": "value1", - "tag2": "value2" - }, "name": "samplebotname", "type": "Microsoft.BotService/botServices", - "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices", "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices", "kind": "sdk", + "location": "West US", "properties": { "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "configuredChannels": [ + "facebook", + "groupme" + ], "developerAppInsightKey": "appinsightskey", "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, "displayName": "The Name of the bot", + "enabledChannels": [ + "facebook" + ], "endpoint": "http://mybot.coffee", "endpointVersion": "version", "iconUrl": "http://myicon", + "isCmekEnabled": true, "luisAppIds": [ "luisappid1", "luisappid2" ], - "msaAppType": "UserAssignedMSI", "msaAppId": "msaappid", - "msaAppTenantId": "msaapptenantid", "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", - "configuredChannels": [ - "facebook", - "groupme" - ], - "enabledChannels": [ - "facebook" - ], - "isCmekEnabled": true, - "cmekKeyVaultUrl": "https://myCmekKey", + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", "publicNetworkAccess": "Enabled", - "disableLocalAuth": true, "schemaTransformationVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" } } ] } } - } + }, + "operationId": "Bots_ListByResourceGroup", + "title": "List Bots by Resource Group" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListBotsBySubscription.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListBotsBySubscription.json index d357e4080b34..ccab44e99b61 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListBotsBySubscription.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListBotsBySubscription.json @@ -1,55 +1,57 @@ { "parameters": { - "subscriptionId": "subscription-id", - "api-version": "2023-09-15-preview" + "api-version": "2023-09-15-preview", + "subscriptionId": "subscription-id" }, "responses": { "200": { "body": { "value": [ { - "location": "West US", - "tags": { - "tag1": "value1", - "tag2": "value2" - }, "name": "samplebotname", "type": "Microsoft.BotService/botServices", + "etag": "etag1", "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", "kind": "sdk", - "etag": "etag1", + "location": "West US", "properties": { "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "configuredChannels": [ + "facebook", + "groupme" + ], "developerAppInsightKey": "appinsightskey", "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, "displayName": "The Name of the bot", + "enabledChannels": [ + "facebook" + ], "endpoint": "http://mybot.coffee", "endpointVersion": "version", "iconUrl": "http://myicon", + "isCmekEnabled": true, "luisAppIds": [ "luisappid1", "luisappid2" ], - "msaAppType": "UserAssignedMSI", "msaAppId": "msaappid", - "msaAppTenantId": "msaapptenantid", "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", - "configuredChannels": [ - "facebook", - "groupme" - ], - "enabledChannels": [ - "facebook" - ], - "isCmekEnabled": true, - "cmekKeyVaultUrl": "https://myCmekKey", + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", "publicNetworkAccess": "Enabled", - "disableLocalAuth": true, "schemaTransformationVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" } } ] } } - } + }, + "operationId": "Bots_List", + "title": "List Bots by Subscription" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListChannel.json index f25413678a78..fc06723368f8 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListChannel.json @@ -1,79 +1,81 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "channelName": "EmailChannel", "parameters": { "location": "global" - } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { "body": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "isEnabled": true, + "password": "pwd" + } + }, "resource": { + "channelName": "DirectLineChannel", + "etag": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "location": "aaaaaa", "properties": { "sites": [ { - "siteId": "aaaaaaaaaaa", - "siteName": "aaaaaaaaaaaa", - "key": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "key2": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "isBlockUserUploadEnabled": false, "isEnabled": true, + "isSecureSiteEnabled": false, "isV1Enabled": true, "isV3Enabled": true, - "isSecureSiteEnabled": false, - "isBlockUserUploadEnabled": false, + "key": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "key2": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "siteId": "aaaaaaaaaaa", + "siteName": "aaaaaaaaaaaa", "trustedOrigins": [ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ] } ] - }, - "etag": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "channelName": "DirectLineChannel", - "location": "aaaaaa" + } }, "setting": { + "botIconUrl": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "botId": "aaaaaaaaaaaaaaaaaaaa", + "channelDisplayName": "aaaaaaaaaaa", + "channelId": "aaaaaaaaaa", + "disableLocalAuth": false, "extensionKey1": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "extensionKey2": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "isEnabled": true, "sites": [ { - "siteId": "aaaaaaaaaaa", - "siteName": "aaaaaaaaaaaa", - "key": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "key2": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "eTag": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "isBlockUserUploadEnabled": false, "isEnabled": true, + "isSecureSiteEnabled": false, + "isTokenEnabled": false, "isV1Enabled": true, "isV3Enabled": true, "isWebchatPreviewEnabled": false, - "isSecureSiteEnabled": false, - "isBlockUserUploadEnabled": false, + "key": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "key2": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "siteId": "aaaaaaaaaaa", + "siteName": "aaaaaaaaaaaa", "trustedOrigins": [ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - ], - "isTokenEnabled": false, - "eTag": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + ] } - ], - "channelId": "aaaaaaaaaa", - "channelDisplayName": "aaaaaaaaaaa", - "botId": "aaaaaaaaaaaaaaaaaaaa", - "botIconUrl": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "isEnabled": true, - "disableLocalAuth": false - }, - "location": "global", - "properties": { - "channelName": "EmailChannel", - "properties": { - "emailAddress": "a@b.com", - "password": "pwd", - "isEnabled": true - } + ] } } } - } + }, + "operationId": "Channels_ListWithKeys", + "title": "List Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListChannelsByBotService.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListChannelsByBotService.json index 14d2538c1cc2..191f27ea45e8 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListChannelsByBotService.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListChannelsByBotService.json @@ -1,9 +1,9 @@ { "parameters": { - "subscriptionId": "subscription-id", + "api-version": "2023-09-15-preview", "resourceGroupName": "OneResourceGroupName", "resourceName": "samplebotname", - "api-version": "2023-09-15-preview" + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -16,8 +16,8 @@ "channelName": "EmailChannel", "properties": { "emailAddress": "a@b.com", - "password": "pwd", - "isEnabled": true + "isEnabled": true, + "password": "pwd" } } }, @@ -42,5 +42,7 @@ ] } } - } + }, + "operationId": "Channels_ListByResourceGroup", + "title": "List Channels by Resource Group" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListConnectionsByBotService.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListConnectionsByBotService.json index 75a8bb858432..e172d12c7f7f 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListConnectionsByBotService.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListConnectionsByBotService.json @@ -1,24 +1,22 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname" + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", "name": "sampleConnection", + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", "properties": { - "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", "name": "sampleConnection", "clientId": "sampleclientid", "clientSecret": null, - "scopes": "samplescope", - "serviceProviderId": "serviceproviderid", + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", "parameters": [ { "key": "key1", @@ -28,11 +26,15 @@ "key": "key2", "value": "value2" } - ] + ], + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid" } } ] } } - } + }, + "operationId": "BotConnection_ListByBotService", + "title": "List Connection Settings" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListNetworkSecurityPerimeterConfigurations.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListNetworkSecurityPerimeterConfigurations.json index 84b5b5665074..9a684f4bd44f 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListNetworkSecurityPerimeterConfigurations.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListNetworkSecurityPerimeterConfigurations.json @@ -1,70 +1,72 @@ { "parameters": { - "subscriptionId": "subId", + "api-version": "2023-09-15-preview", "resourceGroupName": "rgName", "resourceName": "botId", - "api-version": "2023-09-15-preview" + "subscriptionId": "subId" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.BotService/botServices/botId/networkSecurityPerimeterConfigurations/00000000-0000-0000-0000-000000000000.associationName", "name": "00000000-0000-0000-0000-000000000000.associationName", "type": "Microsoft.BotService/botServices/networkSecurityPerimeterConfigurations", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.BotService/botServices/botId/networkSecurityPerimeterConfigurations/00000000-0000-0000-0000-000000000000.associationName", "properties": { - "provisioningState": "Succeeded", - "provisioningIssues": [], "networkSecurityPerimeter": { "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Network/networkSecurityPerimeters/nspName", - "perimeterGuid": "00000000-0000-0000-0000-000000000000", - "location": "westcentralus" - }, - "resourceAssociation": { - "name": "associationName", - "accessMode": "Learning" + "location": "westcentralus", + "perimeterGuid": "00000000-0000-0000-0000-000000000000" }, "profile": { "name": "defaultProfile", - "accessRulesVersion": 2, "accessRules": [ { "name": "Inbound1", "properties": { - "direction": "Inbound", "addressPrefixes": [ "10.0.0.0/16" ], - "subscriptions": [], - "networkSecurityPerimeters": [], - "fullyQualifiedDomainNames": [], + "direction": "Inbound", "emailAddresses": [], - "phoneNumbers": [] + "fullyQualifiedDomainNames": [], + "networkSecurityPerimeters": [], + "phoneNumbers": [], + "subscriptions": [] } }, { "name": "Outbound1", "properties": { - "direction": "Outbound", "addressPrefixes": [], - "subscriptions": [], - "networkSecurityPerimeters": [], + "direction": "Outbound", + "emailAddresses": [], "fullyQualifiedDomainNames": [ "*" ], - "emailAddresses": [], - "phoneNumbers": [] + "networkSecurityPerimeters": [], + "phoneNumbers": [], + "subscriptions": [] } } ], + "accessRulesVersion": 2, "diagnosticSettingsVersion": 0, "enabledLogCategories": [] + }, + "provisioningIssues": [], + "provisioningState": "Succeeded", + "resourceAssociation": { + "name": "associationName", + "accessMode": "Learning" } } } ] } } - } + }, + "operationId": "NetworkSecurityPerimeterConfigurations_List", + "title": "List Network Security Perimeter Configurations" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListPrivateEndpointConnections.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListPrivateEndpointConnections.json index c1d155129501..8c3d0ff0987f 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListPrivateEndpointConnections.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListPrivateEndpointConnections.json @@ -1,48 +1,50 @@ { "parameters": { - "subscriptionId": "{subscription-id}", + "api-version": "2023-09-15-preview", "resourceGroupName": "res6977", "resourceName": "sto2527", - "api-version": "2023-09-15-preview" + "subscriptionId": "{subscription-id}" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}", "name": "{privateEndpointConnectionName}", "type": "Microsoft.BotService/botServices/privateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}", "properties": { - "provisioningState": "Succeeded", "privateEndpoint": { "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" }, "privateLinkServiceConnectionState": { - "status": "Approved", "description": "Auto-Approved", - "actionsRequired": "None" - } + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" } }, { - "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}", "name": "{privateEndpointConnectionName}", "type": "Microsoft.BotService/botServices/privateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}", "properties": { - "provisioningState": "Succeeded", "privateEndpoint": { "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest02" }, "privateLinkServiceConnectionState": { - "status": "Approved", "description": "Auto-Approved", - "actionsRequired": "None" - } + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" } } ] } } - } + }, + "operationId": "PrivateEndpointConnections_List", + "title": "List Private Endpoint Connections" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListPrivateLinkResources.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListPrivateLinkResources.json index cd98de2415e8..6f37518e4ab6 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListPrivateLinkResources.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListPrivateLinkResources.json @@ -1,18 +1,18 @@ { "parameters": { - "subscriptionId": "{subscription-id}", + "api-version": "2023-09-15-preview", "resourceGroupName": "res6977", "resourceName": "sto2527", - "api-version": "2023-09-15-preview" + "subscriptionId": "{subscription-id}" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.BotService/botServices/sto2527/privateLinkResources/resource1", "name": "resource1", "type": "Microsoft.BotService/botServices/privateLinkResources", + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.BotService/botServices/sto2527/privateLinkResources/resource1", "properties": { "groupId": "bot", "requiredMembers": [ @@ -26,5 +26,7 @@ ] } } - } + }, + "operationId": "PrivateLinkResources_ListByBotResource", + "title": "List Private Link Resources" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListQnAMakerEndpointKeys.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListQnAMakerEndpointKeys.json index d160fabf0afa..601ff5a42ba1 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListQnAMakerEndpointKeys.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListQnAMakerEndpointKeys.json @@ -1,20 +1,22 @@ { "parameters": { - "subscriptionId": "subscription-id", "api-version": "2023-09-15-preview", "parameters": { - "hostname": "https://xxx.cognitiveservices.azure.com/", - "authkey": "testAuthKey" - } + "authkey": "testAuthKey", + "hostname": "https://xxx.cognitiveservices.azure.com/" + }, + "subscriptionId": "subscription-id" }, "responses": { "200": { "body": { - "primaryEndpointKey": "sample_primaryEndpointKey", - "secondaryEndpointKey": "sample_secondaryEndpointKey", "installedVersion": "4.1.0", - "lastStableVersion": "4.2.0" + "lastStableVersion": "4.2.0", + "primaryEndpointKey": "sample_primaryEndpointKey", + "secondaryEndpointKey": "sample_secondaryEndpointKey" } } - } + }, + "operationId": "QnAMakerEndpointKeys_Get", + "title": "List QnAMaker Endpoint Keys" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListServiceProviders.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListServiceProviders.json index 4c2c9c92bac3..3f5839b0e53a 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListServiceProviders.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ListServiceProviders.json @@ -1,7 +1,7 @@ { "parameters": { - "subscriptionId": "subscription-id", - "api-version": "2023-09-15-preview" + "api-version": "2023-09-15-preview", + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -9,25 +9,27 @@ "value": [ { "properties": { - "id": "sampleServiceProviderId", - "displayName": "sample service provider display name", - "serviceProviderName": "sampleServiceProvider", "devPortalUrl": "sampleDevPortalUrl", + "displayName": "sample service provider display name", "iconUrl": "sampleIconUrl", + "id": "sampleServiceProviderId", "parameters": [ { "name": "sampleParameterName", "type": "sampleParameterType", - "displayName": "sampleDisplayName", "description": "sampleDescription", - "helpUrl": "sampleHelpUrl", - "default": "sampleDefaultValue" + "default": "sampleDefaultValue", + "displayName": "sampleDisplayName", + "helpUrl": "sampleHelpUrl" } - ] + ], + "serviceProviderName": "sampleServiceProvider" } } ] } } - } + }, + "operationId": "BotConnection_ListServiceProviders", + "title": "List Auth Service Providers" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/OperationResultsGet.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/OperationResultsGet.json index 0f3d2e5586dc..8a88cca06940 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/OperationResultsGet.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/OperationResultsGet.json @@ -1,18 +1,20 @@ { "parameters": { "api-version": "2023-09-15-preview", - "subscriptionId": "subid", - "operationResultId": "exampleid" + "operationResultId": "exampleid", + "subscriptionId": "subid" }, "responses": { "200": { "body": { - "id": "/subscriptions/subid/providers/Microsoft.BotService/locations/westus/operationresults/exampleid", "name": "servicename", - "status": "Requested", - "startTime": "2019-01-21T06:03:30.2716301Z" + "id": "/subscriptions/subid/providers/Microsoft.BotService/locations/westus/operationresults/exampleid", + "startTime": "2019-01-21T06:03:30.2716301Z", + "status": "Requested" } }, "202": {} - } + }, + "operationId": "OperationResults_Get", + "title": "Get operation result" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutAlexaChannel.json index 3fa4aa6a851b..86a745d312b0 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutAlexaChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutAlexaChannel.json @@ -1,9 +1,6 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "channelName": "AlexaChannel", "parameters": { "location": "global", @@ -14,7 +11,10 @@ "isEnabled": true } } - } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -25,9 +25,9 @@ "channelName": "AlexaChannel", "properties": { "alexaSkillId": "alexa skill id", - "urlFragment": "XUrlFragmentX", + "isEnabled": true, "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", - "isEnabled": true + "urlFragment": "XUrlFragmentX" } } } @@ -40,12 +40,14 @@ "channelName": "AlexaChannel", "properties": { "alexaSkillId": "alexa skill id", - "urlFragment": "XUrlFragmentX", + "isEnabled": true, "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", - "isEnabled": true + "urlFragment": "XUrlFragmentX" } } } } - } + }, + "operationId": "Channels_Create", + "title": "Create Alexa Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutChannel.json index e4dad85f9647..ceb60dfaadef 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutChannel.json @@ -1,9 +1,6 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "channelName": "EmailChannel", "parameters": { "location": "global", @@ -11,11 +8,14 @@ "channelName": "EmailChannel", "properties": { "emailAddress": "a@b.com", - "password": "pwd", - "isEnabled": true + "isEnabled": true, + "password": "pwd" } } - } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -26,8 +26,8 @@ "channelName": "EmailChannel", "properties": { "emailAddress": "a@b.com", - "password": "pwd", - "isEnabled": true + "isEnabled": true, + "password": "pwd" } } } @@ -40,11 +40,13 @@ "channelName": "EmailChannel", "properties": { "emailAddress": "a@b.com", - "password": "pwd", - "isEnabled": true + "isEnabled": true, + "password": "pwd" } } } } - } + }, + "operationId": "Channels_Create", + "title": "Create Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutConnection.json index a331fce91bf2..a1abea783901 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutConnection.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutConnection.json @@ -1,18 +1,13 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "connectionName": "sampleConnection", "parameters": { - "location": "West US", "etag": "etag1", + "location": "West US", "properties": { "clientId": "sampleclientid", "clientSecret": "samplesecret", - "scopes": "samplescope", - "serviceProviderId": "serviceproviderid", "parameters": [ { "key": "key1", @@ -22,25 +17,27 @@ "key": "key2", "value": "value2" } - ] + ], + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid" } - } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { "body": { - "location": "global", - "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", - "etag": "etag1", "name": "sampleConnection", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "location": "global", "properties": { - "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", "name": "sampleConnection", "clientId": "sampleclientid", "clientSecret": null, - "scopes": "samplescope", - "serviceProviderId": "serviceproviderid", - "serviceProviderDisplayName": "serviceProviderDisplayName", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", "parameters": [ { "key": "key1", @@ -50,24 +47,24 @@ "key": "key2", "value": "value2" } - ] + ], + "scopes": "samplescope", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "serviceProviderId": "serviceproviderid" } } }, "201": { "body": { - "location": "global", - "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", - "etag": "etag1", "name": "sampleConnection", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "location": "global", "properties": { - "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", "name": "sampleConnection", "clientId": "sampleclientid", "clientSecret": null, - "scopes": "samplescope", - "serviceProviderId": "serviceproviderid", - "serviceProviderDisplayName": "serviceProviderDisplayName", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", "parameters": [ { "key": "key1", @@ -77,9 +74,14 @@ "key": "key2", "value": "value2" } - ] + ], + "scopes": "samplescope", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "serviceProviderId": "serviceproviderid" } } } - } + }, + "operationId": "BotConnection_Create", + "title": "Create Connection Setting" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutDirectLineSpeechChannel.json index 9f00f2162418..0bec1804d235 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutDirectLineSpeechChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutDirectLineSpeechChannel.json @@ -1,9 +1,6 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "channelName": "DirectLineSpeechChannel", "parameters": { "location": "global", @@ -15,7 +12,10 @@ "isEnabled": true } } - } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -44,5 +44,7 @@ } } } - } + }, + "operationId": "Channels_Create", + "title": "Create DirectLine Speech Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutEmailChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutEmailChannel.json index 6e9d71d1c40f..891007c560e0 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutEmailChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutEmailChannel.json @@ -1,22 +1,22 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "channelName": "EmailChannel", "parameters": { "location": "global", "properties": { "channelName": "EmailChannel", "properties": { - "emailAddress": "a@b.com", "authMethod": 1, - "magicCode": "000000", - "isEnabled": true + "emailAddress": "a@b.com", + "isEnabled": true, + "magicCode": "000000" } } - } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -26,8 +26,8 @@ "properties": { "channelName": "EmailChannel", "properties": { - "emailAddress": "a@b.com", "authMethod": 1, + "emailAddress": "a@b.com", "isEnabled": true } } @@ -40,12 +40,14 @@ "properties": { "channelName": "EmailChannel", "properties": { - "emailAddress": "a@b.com", "authMethod": 1, + "emailAddress": "a@b.com", "isEnabled": true } } } } - } + }, + "operationId": "Channels_Create", + "title": "Create Email Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutLineChannel.json index 58fac4b48a75..5d112b96b052 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutLineChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutLineChannel.json @@ -1,9 +1,6 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "channelName": "LineChannel", "parameters": { "location": "global", @@ -12,13 +9,16 @@ "properties": { "lineRegistrations": [ { - "channelSecret": "channelSecret", - "channelAccessToken": "channelAccessToken" + "channelAccessToken": "channelAccessToken", + "channelSecret": "channelSecret" } ] } } - } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -28,15 +28,15 @@ "properties": { "channelName": "LineChannel", "properties": { + "callbackUrl": "http://callbackUrl", + "isValidated": true, "lineRegistrations": [ { - "generatedId": "id", + "channelAccessToken": null, "channelSecret": null, - "channelAccessToken": null + "generatedId": "id" } - ], - "callbackUrl": "http://callbackUrl", - "isValidated": true + ] } } } @@ -48,18 +48,20 @@ "properties": { "channelName": "LineChannel", "properties": { + "callbackUrl": "http://callbackUrl", + "isValidated": true, "lineRegistrations": [ { - "generatedId": "id", + "channelAccessToken": null, "channelSecret": null, - "channelAccessToken": null + "generatedId": "id" } - ], - "callbackUrl": "http://callbackUrl", - "isValidated": true + ] } } } } - } + }, + "operationId": "Channels_Create", + "title": "Create Line Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutPrivateEndpointConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutPrivateEndpointConnection.json index a978fa06760d..11d7da7372e1 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutPrivateEndpointConnection.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/PutPrivateEndpointConnection.json @@ -1,37 +1,39 @@ { "parameters": { - "subscriptionId": "{subscription-id}", - "resourceGroupName": "res7687", - "resourceName": "sto9699", - "privateEndpointConnectionName": "{privateEndpointConnectionName}", "api-version": "2023-09-15-preview", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", "properties": { "properties": { "privateLinkServiceConnectionState": { - "status": "Approved", - "description": "Auto-Approved" + "description": "Auto-Approved", + "status": "Approved" } } - } + }, + "resourceGroupName": "res7687", + "resourceName": "sto9699", + "subscriptionId": "{subscription-id}" }, "responses": { "200": { "body": { - "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}", "name": "{privateEndpointConnectionName}", "type": "Microsoft.BotService/botServices/privateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}", "properties": { - "provisioningState": "Succeeded", "privateEndpoint": { "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" }, "privateLinkServiceConnectionState": { - "status": "Approved", "description": "Auto-Approved", - "actionsRequired": "None" - } + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" } } } - } + }, + "operationId": "PrivateEndpointConnections_Create", + "title": "Put Private Endpoint Connection" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ReconcileNetworkSecurityPerimeterConfiguration.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ReconcileNetworkSecurityPerimeterConfiguration.json index 5eac25b173a0..c48b4a9c206d 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ReconcileNetworkSecurityPerimeterConfiguration.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/ReconcileNetworkSecurityPerimeterConfiguration.json @@ -1,64 +1,64 @@ { "parameters": { - "subscriptionId": "subId", + "api-version": "2023-09-15-preview", + "networkSecurityPerimeterConfigurationName": "00000000-0000-0000-0000-000000000000.associationName", "resourceGroupName": "rgName", "resourceName": "botId", - "networkSecurityPerimeterConfigurationName": "00000000-0000-0000-0000-000000000000.associationName", - "api-version": "2023-09-15-preview" + "subscriptionId": "subId" }, "responses": { "200": { "body": { - "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.BotService/botServices/botId/networkSecurityPerimeterConfigurations/00000000-0000-0000-0000-000000000000.associationName", "name": "00000000-0000-0000-0000-000000000000.associationName", "type": "Microsoft.BotService/botServices/networkSecurityPerimeterConfigurations", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.BotService/botServices/botId/networkSecurityPerimeterConfigurations/00000000-0000-0000-0000-000000000000.associationName", "properties": { - "provisioningState": "Succeeded", - "provisioningIssues": [], "networkSecurityPerimeter": { "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Network/networkSecurityPerimeters/nspName", - "perimeterGuid": "00000000-0000-0000-0000-000000000000", - "location": "westcentralus" - }, - "resourceAssociation": { - "name": "associationName", - "accessMode": "Learning" + "location": "westcentralus", + "perimeterGuid": "00000000-0000-0000-0000-000000000000" }, "profile": { "name": "defaultProfile", - "accessRulesVersion": 2, "accessRules": [ { "name": "Inbound1", "properties": { - "direction": "Inbound", "addressPrefixes": [ "10.0.0.0/16" ], - "subscriptions": [], - "networkSecurityPerimeters": [], - "fullyQualifiedDomainNames": [], + "direction": "Inbound", "emailAddresses": [], - "phoneNumbers": [] + "fullyQualifiedDomainNames": [], + "networkSecurityPerimeters": [], + "phoneNumbers": [], + "subscriptions": [] } }, { "name": "Outbound1", "properties": { - "direction": "Outbound", "addressPrefixes": [], - "subscriptions": [], - "networkSecurityPerimeters": [], + "direction": "Outbound", + "emailAddresses": [], "fullyQualifiedDomainNames": [ "*" ], - "emailAddresses": [], - "phoneNumbers": [] + "networkSecurityPerimeters": [], + "phoneNumbers": [], + "subscriptions": [] } } ], + "accessRulesVersion": 2, "diagnosticSettingsVersion": 0, "enabledLogCategories": [] + }, + "provisioningIssues": [], + "provisioningState": "Succeeded", + "resourceAssociation": { + "name": "associationName", + "accessMode": "Learning" } } } @@ -68,5 +68,7 @@ "Location": "https://management.azure.com/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.BotService/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000" } } - } + }, + "operationId": "NetworkSecurityPerimeterConfigurations_Reconcile", + "title": "Reconcile Network Security Perimeter Configuration" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateAlexaChannel.json index b87b86d6ef1b..450d4deb216f 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateAlexaChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateAlexaChannel.json @@ -1,9 +1,6 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "channelName": "AlexaChannel", "parameters": { "location": "global", @@ -14,7 +11,10 @@ "isEnabled": true } } - } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -25,9 +25,9 @@ "channelName": "AlexaChannel", "properties": { "alexaSkillId": "XAlexaSkillIdX", - "urlFragment": "XUrlFragmentX", + "isEnabled": true, "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", - "isEnabled": true + "urlFragment": "XUrlFragmentX" } } } @@ -40,12 +40,14 @@ "channelName": "AlexaChannel", "properties": { "alexaSkillId": "XAlexaSkillIdX", - "urlFragment": "XUrlFragmentX", + "isEnabled": true, "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", - "isEnabled": true + "urlFragment": "XUrlFragmentX" } } } } - } + }, + "operationId": "Channels_Update", + "title": "Update Alexa Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateBot.json index 11ebbad36a10..4f4f5af6d313 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateBot.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateBot.json @@ -1,131 +1,133 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "parameters": { - "location": "West US", - "sku": { - "name": "S1" - }, - "tags": { - "tag1": "value1", - "tag2": "value2" - }, "etag": "etag1", "kind": "sdk", + "location": "West US", "properties": { "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", "developerAppInsightKey": "appinsightskey", "developerAppInsightsApiKey": "appinsightsapikey", "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, "displayName": "The Name of the bot", "endpoint": "http://mybot.coffee", "iconUrl": "http://myicon", + "isCmekEnabled": true, "luisAppIds": [ "luisappid1", "luisappid2" ], "luisKey": "luiskey", - "msaAppType": "UserAssignedMSI", "msaAppId": "msaappid", - "msaAppTenantId": "msaapptenantid", "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", - "isCmekEnabled": true, - "cmekKeyVaultUrl": "https://myCmekKey", + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", "publicNetworkAccess": "Enabled", - "disableLocalAuth": true, "schemaTransformationVersion": "1.0" + }, + "sku": { + "name": "S1" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" } - } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { "body": { - "location": "West US", - "tags": { - "tag1": "value1", - "tag2": "value2" - }, - "etag": "etag1", "name": "samplebotname", "type": "Microsoft.BotService/botServices", + "etag": "etag1", "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", "kind": "sdk", + "location": "West US", "properties": { "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "configuredChannels": [ + "facebook", + "groupme" + ], "developerAppInsightKey": "appinsightskey", "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, "displayName": "The Name of the bot", + "enabledChannels": [ + "facebook" + ], "endpoint": "http://mybot.coffee", "endpointVersion": "version", "iconUrl": "http://myicon", + "isCmekEnabled": true, "luisAppIds": [ "luisappid1", "luisappid2" ], - "msaAppType": "UserAssignedMSI", "msaAppId": "msaappid", - "msaAppTenantId": "msaapptenantid", "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", - "configuredChannels": [ - "facebook", - "groupme" - ], - "enabledChannels": [ - "facebook" - ], - "isCmekEnabled": true, - "cmekKeyVaultUrl": "https://myCmekKey", + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", "publicNetworkAccess": "Enabled", - "disableLocalAuth": true, "schemaTransformationVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" } } }, "201": { "body": { - "location": "West US", - "tags": { - "tag1": "value1", - "tag2": "value2" - }, "name": "samplebotname", "type": "Microsoft.BotService/botServices", + "etag": "etag1", "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", "kind": "sdk", - "etag": "etag1", + "location": "West US", "properties": { "description": "The description of the bot", + "cmekKeyVaultUrl": "https://myCmekKey", + "configuredChannels": [ + "facebook", + "groupme" + ], "developerAppInsightKey": "appinsightskey", "developerAppInsightsApplicationId": "appinsightsappid", + "disableLocalAuth": true, "displayName": "The Name of the bot", + "enabledChannels": [ + "facebook" + ], "endpoint": "http://mybot.coffee", "endpointVersion": "version", "iconUrl": "http://myicon", + "isCmekEnabled": true, "luisAppIds": [ "luisappid1", "luisappid2" ], - "msaAppType": "UserAssignedMSI", "msaAppId": "msaappid", - "msaAppTenantId": "msaapptenantid", "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId", - "configuredChannels": [ - "facebook", - "groupme" - ], - "enabledChannels": [ - "facebook" - ], - "isCmekEnabled": true, - "cmekKeyVaultUrl": "https://myCmekKey", + "msaAppTenantId": "msaapptenantid", + "msaAppType": "UserAssignedMSI", "publicNetworkAccess": "Enabled", - "disableLocalAuth": true, "schemaTransformationVersion": "1.0" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" } } } - } + }, + "operationId": "Bots_Update", + "title": "Update Bot" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateChannel.json index e4dad85f9647..a35459b3fd80 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateChannel.json @@ -1,9 +1,6 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "channelName": "EmailChannel", "parameters": { "location": "global", @@ -11,11 +8,14 @@ "channelName": "EmailChannel", "properties": { "emailAddress": "a@b.com", - "password": "pwd", - "isEnabled": true + "isEnabled": true, + "password": "pwd" } } - } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -26,8 +26,8 @@ "channelName": "EmailChannel", "properties": { "emailAddress": "a@b.com", - "password": "pwd", - "isEnabled": true + "isEnabled": true, + "password": "pwd" } } } @@ -40,11 +40,13 @@ "channelName": "EmailChannel", "properties": { "emailAddress": "a@b.com", - "password": "pwd", - "isEnabled": true + "isEnabled": true, + "password": "pwd" } } } } - } + }, + "operationId": "Channels_Update", + "title": "Update Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateConnection.json index 1ad394d39ac4..ef507fe2b162 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateConnection.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateConnection.json @@ -1,21 +1,15 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "connectionName": "sampleConnection", "parameters": { - "location": "global", "etag": "etag1", + "location": "global", "properties": { - "id": "sampleId", "name": "sampleName", "clientId": "sampleclientid", "clientSecret": "samplesecret", - "scopes": "samplescope", - "serviceProviderId": "serviceproviderid", - "serviceProviderDisplayName": "serviceProviderDisplayName", + "id": "sampleId", "parameters": [ { "key": "key1", @@ -25,24 +19,27 @@ "key": "key2", "value": "value2" } - ] + ], + "scopes": "samplescope", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "serviceProviderId": "serviceproviderid" } - } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { "body": { - "location": "global", - "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", "name": "sampleConnection", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "location": "global", "properties": { - "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", "name": "sampleConnection", "clientId": "sampleclientid", "clientSecret": null, - "scopes": "samplescope", - "serviceProviderId": "serviceproviderid", - "serviceProviderDisplayName": "serviceProviderDisplayName", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", "parameters": [ { "key": "key1", @@ -52,22 +49,22 @@ "key": "key2", "value": "value2" } - ] + ], + "scopes": "samplescope", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "serviceProviderId": "serviceproviderid" } } }, "201": { "body": { - "location": "global", + "name": "sampleConnection", "etag": "etag1", "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", - "name": "sampleConnection", + "location": "global", "properties": { "clientId": "sampleclientid", "clientSecret": null, - "scopes": "samplescope", - "serviceProviderId": "serviceproviderid", - "serviceProviderDisplayName": "serviceProviderDisplayName", "parameters": [ { "key": "key1", @@ -77,9 +74,14 @@ "key": "key2", "value": "value2" } - ] + ], + "scopes": "samplescope", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "serviceProviderId": "serviceproviderid" } } } - } + }, + "operationId": "BotConnection_Update", + "title": "Update Connection Setting" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateDirectLineSpeechChannel.json index 9f00f2162418..cd7418af4f87 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateDirectLineSpeechChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateDirectLineSpeechChannel.json @@ -1,9 +1,6 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "channelName": "DirectLineSpeechChannel", "parameters": { "location": "global", @@ -15,7 +12,10 @@ "isEnabled": true } } - } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -44,5 +44,7 @@ } } } - } + }, + "operationId": "Channels_Update", + "title": "Update DirectLine Speech Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateLineChannel.json index 58fac4b48a75..cd387e71ec52 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateLineChannel.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/UpdateLineChannel.json @@ -1,9 +1,6 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "channelName": "LineChannel", "parameters": { "location": "global", @@ -12,13 +9,16 @@ "properties": { "lineRegistrations": [ { - "channelSecret": "channelSecret", - "channelAccessToken": "channelAccessToken" + "channelAccessToken": "channelAccessToken", + "channelSecret": "channelSecret" } ] } } - } + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -28,15 +28,15 @@ "properties": { "channelName": "LineChannel", "properties": { + "callbackUrl": "http://callbackUrl", + "isValidated": true, "lineRegistrations": [ { - "generatedId": "id", + "channelAccessToken": null, "channelSecret": null, - "channelAccessToken": null + "generatedId": "id" } - ], - "callbackUrl": "http://callbackUrl", - "isValidated": true + ] } } } @@ -48,18 +48,20 @@ "properties": { "channelName": "LineChannel", "properties": { + "callbackUrl": "http://callbackUrl", + "isValidated": true, "lineRegistrations": [ { - "generatedId": "id", + "channelAccessToken": null, "channelSecret": null, - "channelAccessToken": null + "generatedId": "id" } - ], - "callbackUrl": "http://callbackUrl", - "isValidated": true + ] } } } } - } + }, + "operationId": "Channels_Update", + "title": "Update Line Channel" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/WebChatRegenerateKeys.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/WebChatRegenerateKeys.json index 986ef2b396c8..565636405ac5 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/WebChatRegenerateKeys.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/examples/WebChatRegenerateKeys.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "subscription-id", - "resourceGroupName": "OneResourceGroupName", "api-version": "2023-09-15-preview", - "resourceName": "samplebotname", "channelName": "WebChatChannel", "parameters": { - "siteName": "testSiteName", - "key": "key1" - } + "key": "key1", + "siteName": "testSiteName" + }, + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "subscriptionId": "subscription-id" }, "responses": { "200": { @@ -19,17 +19,19 @@ "properties": { "sites": [ { - "siteId": "abcd", - "siteName": "Default Site", + "isEnabled": true, + "isWebchatPreviewEnabled": true, "key": "key1", "key2": "key2", - "isEnabled": true, - "isWebchatPreviewEnabled": true + "siteId": "abcd", + "siteName": "Default Site" } ] } } } } - } + }, + "operationId": "DirectLine_RegenerateKeys", + "title": "Regenerate Keys for WebChat Channel Site" } diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/networksecurityperimeter.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/networksecurityperimeter.json deleted file mode 100644 index 75cb75921e65..000000000000 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/networksecurityperimeter.json +++ /dev/null @@ -1,328 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2023-09-15-preview", - "title": "Common types" - }, - "paths": {}, - "definitions": { - "NetworkSecurityPerimeterConfigurationList": { - "description": "Result of the List NetworkSecurityPerimeterConfiguration operation.", - "type": "object", - "properties": { - "value": { - "description": "A collection of Network Security Perimeter configurations", - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/NetworkSecurityPerimeterConfiguration" - } - }, - "nextLink": { - "description": "Link to retrieve next page of results.", - "type": "string", - "readOnly": true - } - } - }, - "NetworkSecurityPerimeterConfiguration": { - "description": "Network Security Perimeter configuration", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "description": "Fully qualified identifier of the resource", - "type": "string" - }, - "name": { - "description": "Name of the resource", - "type": "string" - }, - "type": { - "description": "Type of the resource", - "type": "string" - }, - "properties": { - "$ref": "#/definitions/NetworkSecurityPerimeterConfigurationProperties", - "description": "Properties of the Network Security Perimeter configuration" - } - } - }, - "NetworkSecurityPerimeterConfigurationProperties": { - "description": "Properties of Network Security Perimeter configuration", - "type": "object", - "readOnly": true, - "properties": { - "provisioningState": { - "enum": [ - "Creating", - "Updating", - "Accepted", - "Succeeded", - "Failed", - "Deleting" - ], - "type": "string", - "x-ms-enum": { - "name": "provisioningState", - "modelAsString": true - }, - "default": "Succeeded" - }, - "provisioningIssues": { - "description": "List of Provisioning Issues if any", - "type": "array", - "items": { - "$ref": "#/definitions/ProvisioningIssue" - }, - "x-ms-identifiers": [] - }, - "networkSecurityPerimeter": { - "$ref": "#/definitions/NetworkSecurityPerimeter" - }, - "resourceAssociation": { - "$ref": "#/definitions/ResourceAssociation" - }, - "profile": { - "$ref": "#/definitions/Profile" - } - } - }, - "ProvisioningIssue": { - "description": "Describes Provisioning issue for given Network Security Perimeter configuration", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "Name of the issue", - "type": "string" - }, - "properties": { - "description": "Properties of Provisioning Issue", - "type": "object", - "readOnly": true, - "properties": { - "issueType": { - "description": "Type of Issue", - "type": "string" - }, - "severity": { - "description": "Provisioning state of Network Security Perimeter configuration propagation", - "enum": [ - "Warning", - "Error" - ], - "type": "string", - "x-ms-enum": { - "name": "Severity", - "modelAsString": true - } - }, - "description": { - "description": "Description of the issue", - "type": "string" - }, - "suggestedResourceIds": { - "type": "array", - "items": { - "readOnly": true, - "type": "string", - "format": "arm-id", - "description": "Fully qualified resource ID for the resource. E.g. \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\"" - }, - "readOnly": true, - "description": "ARM IDs of resources that can be associated to the same perimeter to remediate the issue." - }, - "suggestedAccessRules": { - "description": "Access rules that can be added to the same profile to remediate the issue.", - "type": "array", - "items": { - "$ref": "#/definitions/NspAccessRule" - }, - "x-ms-identifiers": [] - } - } - } - } - }, - "NetworkSecurityPerimeter": { - "description": "Information about Network Security Perimeter", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "readOnly": true, - "type": "string", - "format": "arm-id", - "description": "Fully qualified resource ID for the resource. E.g. \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\"" - }, - "perimeterGuid": { - "description": "Guid of the Network Security Perimeter", - "type": "string" - }, - "location": { - "description": "Location of the Network Security Perimeter", - "type": "string" - } - } - }, - "ResourceAssociation": { - "description": "Information about resource association", - "readOnly": true, - "type": "object", - "properties": { - "name": { - "description": "Name of the resource association", - "type": "string" - }, - "accessMode": { - "description": "Access Mode of the resource association", - "enum": [ - "Enforced", - "Learning", - "Audit" - ], - "type": "string", - "x-ms-enum": { - "name": "AccessMode", - "modelAsString": true - } - } - } - }, - "Profile": { - "description": "Information about profile", - "readOnly": true, - "type": "object", - "properties": { - "name": { - "description": "Name of the profile", - "type": "string" - }, - "accessRulesVersion": { - "description": "Current access rules version", - "type": "integer", - "format": "int64" - }, - "accessRules": { - "description": "List of Access Rules", - "type": "array", - "items": { - "$ref": "#/definitions/NspAccessRule" - }, - "x-ms-identifiers": [] - }, - "diagnosticSettingsVersion": { - "description": "Current diagnostic settings version", - "type": "integer", - "format": "int64" - }, - "enabledLogCategories": { - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true, - "description": "List of log categories" - } - } - }, - "NspAccessRule": { - "description": "Information of Access Rule in a profile", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "Name of the access rule", - "type": "string" - }, - "properties": { - "description": "Properties of Access Rule", - "readOnly": true, - "type": "object", - "properties": { - "direction": { - "description": "Direction of Access Rule", - "enum": [ - "Inbound", - "Outbound" - ], - "type": "string", - "x-ms-enum": { - "name": "NspAccessRuleDirection", - "modelAsString": true - } - }, - "addressPrefixes": { - "description": "Address prefixes in the CIDR format for inbound rules", - "type": "array", - "items": { - "description": "IP Address", - "type": "string" - } - }, - "subscriptions": { - "description": "Subscriptions for inbound rules", - "type": "array", - "items": { - "description": "Subscription for inbound rule", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "description": "Fully qualified identifier of subscription", - "type": "string" - } - } - } - }, - "networkSecurityPerimeters": { - "description": "NetworkSecurityPerimeters for inbound rules", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/NetworkSecurityPerimeter" - } - }, - "fullyQualifiedDomainNames": { - "description": "FQDN for outbound rules", - "type": "array", - "readOnly": true, - "items": { - "description": "Fully qualified domain name", - "type": "string" - } - }, - "emailAddresses": { - "description": "Email addresses for outbound rules", - "type": "array", - "readOnly": true, - "items": { - "type": "string" - } - }, - "phoneNumbers": { - "description": "Phone numbers for outbound rules", - "type": "array", - "readOnly": true, - "items": { - "type": "string" - } - } - } - } - } - } - }, - "parameters": { - "NetworkSecurityPerimeterConfigurationNameParameter": { - "name": "networkSecurityPerimeterConfigurationName", - "in": "path", - "required": true, - "type": "string", - "pattern": ".*", - "x-ms-parameter-location": "method", - "description": "The resource association Name. Composed of parameter guid and association name." - } - } -} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/privatelinks.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/privatelinks.json deleted file mode 100644 index 8052d73befb3..000000000000 --- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/privatelinks.json +++ /dev/null @@ -1,203 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2023-09-15-preview", - "title": "Common types" - }, - "paths": {}, - "definitions": { - "PrivateEndpoint": { - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "The ARM identifier for Private Endpoint" - } - }, - "description": "The Private Endpoint resource." - }, - "PrivateLinkResourceBase": { - "title": "Private Link Resource Base", - "description": "Common fields that are returned in the response for all BotService Private Link Resources", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the resource" - }, - "type": { - "readOnly": true, - "type": "string", - "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" - } - }, - "x-ms-azure-resource": true - }, - "PrivateEndpointConnection": { - "properties": { - "properties": { - "$ref": "#/definitions/PrivateEndpointConnectionProperties", - "x-ms-client-flatten": true, - "description": "Resource properties." - } - }, - "allOf": [ - { - "$ref": "#/definitions/PrivateLinkResourceBase" - } - ], - "description": "The Private Endpoint Connection resource." - }, - "PrivateEndpointConnectionProperties": { - "properties": { - "privateEndpoint": { - "$ref": "#/definitions/PrivateEndpoint", - "description": "The resource of private end point." - }, - "privateLinkServiceConnectionState": { - "$ref": "#/definitions/PrivateLinkServiceConnectionState", - "description": "A collection of information about the state of the connection between service consumer and provider." - }, - "provisioningState": { - "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", - "description": "The provisioning state of the private endpoint connection resource." - }, - "groupIds": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Group ids" - } - }, - "required": [ - "privateLinkServiceConnectionState" - ], - "description": "Properties of the PrivateEndpointConnectProperties." - }, - "PrivateLinkServiceConnectionState": { - "properties": { - "status": { - "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", - "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." - }, - "description": { - "type": "string", - "description": "The reason for approval/rejection of the connection." - }, - "actionsRequired": { - "type": "string", - "description": "A message indicating if changes on the service provider require any updates on the consumer." - } - }, - "description": "A collection of information about the state of the connection between service consumer and provider." - }, - "PrivateEndpointServiceConnectionStatus": { - "type": "string", - "description": "The private endpoint connection status.", - "enum": [ - "Pending", - "Approved", - "Rejected" - ], - "x-ms-enum": { - "name": "PrivateEndpointServiceConnectionStatus", - "modelAsString": true - } - }, - "PrivateEndpointConnectionProvisioningState": { - "type": "string", - "readOnly": true, - "description": "The current provisioning state.", - "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Failed" - ], - "x-ms-enum": { - "name": "PrivateEndpointConnectionProvisioningState", - "modelAsString": true - } - }, - "PrivateLinkResource": { - "properties": { - "properties": { - "$ref": "#/definitions/PrivateLinkResourceProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true - } - }, - "allOf": [ - { - "$ref": "#/definitions/PrivateLinkResourceBase" - } - ], - "description": "A private link resource" - }, - "PrivateLinkResourceProperties": { - "properties": { - "groupId": { - "description": "The private link resource group id.", - "type": "string", - "readOnly": true - }, - "requiredMembers": { - "description": "The private link resource required member names.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "requiredZoneNames": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The private link resource Private link DNS zone name." - } - }, - "description": "Properties of a private link resource." - }, - "PrivateEndpointConnectionListResult": { - "properties": { - "value": { - "type": "array", - "description": "Array of private endpoint connections", - "items": { - "$ref": "#/definitions/PrivateEndpointConnection" - } - } - }, - "description": "List of private endpoint connection associated with the specified storage account" - }, - "PrivateLinkResourceListResult": { - "properties": { - "value": { - "type": "array", - "description": "Array of private link resources", - "items": { - "$ref": "#/definitions/PrivateLinkResource" - } - } - }, - "description": "A list of private link resources" - } - }, - "parameters": { - "PrivateEndpointConnectionName": { - "name": "privateEndpointConnectionName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the private endpoint connection associated with the Azure resource", - "x-ms-parameter-location": "method" - } - } -}