# Microsoft Azure SDK for Python
This is the Microsoft Azure Bot Service Client Library.
This package has been tested with Python 3.7+.
For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).
## _Disclaimer_
_Azure SDK Python packages support for Python 2.7 has ended 01 January 2022. For more information and questions, please refer to https://github.com/Azure/azure-sdk-for-python/issues/20691_
## Getting started
### Prerequisites
- Python 3.7+ is required to use this package.
- [Azure subscription](https://azure.microsoft.com/free/)
### Install the package
```bash
pip install azure-mgmt-botservice
pip install azure-identity
```
### Authentication
By default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.
- `AZURE_CLIENT_ID` for Azure client ID.
- `AZURE_TENANT_ID` for Azure tenant ID.
- `AZURE_CLIENT_SECRET` for Azure client secret.
In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
With above configuration, client can be authenticated by following code:
```python
from azure.identity import DefaultAzureCredential
from azure.mgmt.botservice import AzureBotService
import os
sub_id = os.getenv("AZURE_SUBSCRIPTION_ID")
client = AzureBotService(credential=DefaultAzureCredential(), subscription_id=sub_id)
```
## Examples
Code samples for this package can be found at [Bot Service](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com and [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)
## Troubleshooting
## Next steps
## Provide Feedback
If you encounter any bugs or have suggestions, please file an issue in the
[Issues](https://github.com/Azure/azure-sdk-for-python/issues)
section of the project.
![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-botservice%2FREADME.png)
# Release History
## 2.0.0 (2023-01-12)
### Features Added
- Added operation group EmailOperations
- Added operation group OperationResultsOperations
- Added operation group PrivateEndpointConnectionsOperations
- Added operation group PrivateLinkResourcesOperations
- Added operation group QnAMakerEndpointKeysOperations
- Model AlexaChannel has a new parameter etag
- Model AlexaChannel has a new parameter location
- Model AlexaChannel has a new parameter provisioning_state
- Model Bot has a new parameter zones
- Model BotChannel has a new parameter zones
- Model BotProperties has a new parameter all_settings
- Model BotProperties has a new parameter app_password_hint
- Model BotProperties has a new parameter cmek_encryption_status
- Model BotProperties has a new parameter disable_local_auth
- Model BotProperties has a new parameter is_developer_app_insights_api_key_set
- Model BotProperties has a new parameter is_streaming_supported
- Model BotProperties has a new parameter manifest_url
- Model BotProperties has a new parameter migration_token
- Model BotProperties has a new parameter msa_app_msi_resource_id
- Model BotProperties has a new parameter msa_app_tenant_id
- Model BotProperties has a new parameter msa_app_type
- Model BotProperties has a new parameter open_with_hint
- Model BotProperties has a new parameter parameters
- Model BotProperties has a new parameter private_endpoint_connections
- Model BotProperties has a new parameter provisioning_state
- Model BotProperties has a new parameter public_network_access
- Model BotProperties has a new parameter publishing_credentials
- Model BotProperties has a new parameter storage_resource_id
- Model BotProperties has a new parameter tenant_id
- Model Channel has a new parameter etag
- Model Channel has a new parameter location
- Model Channel has a new parameter provisioning_state
- Model CheckNameAvailabilityResponseBody has a new parameter abs_code
- Model ConnectionSetting has a new parameter zones
- Model ConnectionSettingProperties has a new parameter provisioning_state
- Model DirectLineChannel has a new parameter etag
- Model DirectLineChannel has a new parameter location
- Model DirectLineChannel has a new parameter provisioning_state
- Model DirectLineChannelProperties has a new parameter direct_line_embed_code
- Model DirectLineChannelProperties has a new parameter extension_key1
- Model DirectLineChannelProperties has a new parameter extension_key2
- Model DirectLineSite has a new parameter is_block_user_upload_enabled
- Model DirectLineSpeechChannel has a new parameter etag
- Model DirectLineSpeechChannel has a new parameter location
- Model DirectLineSpeechChannel has a new parameter provisioning_state
- Model DirectLineSpeechChannelProperties has a new parameter cognitive_service_region
- Model DirectLineSpeechChannelProperties has a new parameter cognitive_service_resource_id
- Model DirectLineSpeechChannelProperties has a new parameter cognitive_service_subscription_key
- Model EmailChannel has a new parameter etag
- Model EmailChannel has a new parameter location
- Model EmailChannel has a new parameter provisioning_state
- Model EmailChannelProperties has a new parameter auth_method
- Model EmailChannelProperties has a new parameter magic_code
- Model FacebookChannel has a new parameter etag
- Model FacebookChannel has a new parameter location
- Model FacebookChannel has a new parameter provisioning_state
- Model KikChannel has a new parameter etag
- Model KikChannel has a new parameter location
- Model KikChannel has a new parameter provisioning_state
- Model LineChannel has a new parameter etag
- Model LineChannel has a new parameter location
- Model LineChannel has a new parameter provisioning_state
- Model MsTeamsChannel has a new parameter etag
- Model MsTeamsChannel has a new parameter location
- Model MsTeamsChannel has a new parameter provisioning_state
- Model MsTeamsChannelProperties has a new parameter accepted_terms
- Model MsTeamsChannelProperties has a new parameter calling_webhook
- Model MsTeamsChannelProperties has a new parameter deployment_environment
- Model MsTeamsChannelProperties has a new parameter incoming_call_route
- Model Resource has a new parameter zones
- Model ServiceProviderParameter has a new parameter metadata
- Model SkypeChannel has a new parameter etag
- Model SkypeChannel has a new parameter location
- Model SkypeChannel has a new parameter provisioning_state
- Model SkypeChannelProperties has a new parameter incoming_call_route
- Model SlackChannel has a new parameter etag
- Model SlackChannel has a new parameter location
- Model SlackChannel has a new parameter provisioning_state
- Model SlackChannelProperties has a new parameter scopes
- Model SmsChannel has a new parameter etag
- Model SmsChannel has a new parameter location
- Model SmsChannel has a new parameter provisioning_state
- Model TelegramChannel has a new parameter etag
- Model TelegramChannel has a new parameter location
- Model TelegramChannel has a new parameter provisioning_state
- Model WebChatChannel has a new parameter etag
- Model WebChatChannel has a new parameter location
- Model WebChatChannel has a new parameter provisioning_state
### Breaking Changes
- Model BotProperties no longer has parameter is_isolated
- Model DirectLineSpeechChannelProperties no longer has parameter cognitive_services_subscription_id
- Model MsTeamsChannelProperties no longer has parameter calling_web_hook
- Model WebChatSite has a new required parameter is_webchat_preview_enabled
- Model WebChatSite no longer has parameter enable_preview
## 2.0.0b4 (2022-11-30)
### Features Added
- Added operation group EmailOperations
- Added operation group QnAMakerEndpointKeysOperations
- Model BotProperties has a new parameter tenant_id
- Model DirectLineChannelProperties has a new parameter extension_key1
- Model DirectLineChannelProperties has a new parameter extension_key2
- Model DirectLineSpeechChannelProperties has a new parameter cognitive_service_resource_id
- Model EmailChannelProperties has a new parameter auth_method
- Model EmailChannelProperties has a new parameter magic_code
- Model MsTeamsChannelProperties has a new parameter calling_webhook
### Breaking Changes
- Model MsTeamsChannelProperties no longer has parameter calling_web_hook
## 2.0.0b3 (2022-06-27)
**Bugfixes**
- Fix multi inheritance problem for Model `Site`
## 2.0.0b2 (2022-04-15)
**Features**
- Model ListChannelWithKeysResponse has a new parameter changed_time
- Model ListChannelWithKeysResponse has a new parameter entity_tag
- Model ListChannelWithKeysResponse has a new parameter provisioning_state
## 2.0.0b1 (2022-01-10)
**Features**
- Added operation group OperationResultsOperations
- Added operation group PrivateEndpointConnectionsOperations
- Added operation group PrivateLinkResourcesOperations
- Model AlexaChannel has a new parameter etag
- Model AlexaChannel has a new parameter location
- Model AlexaChannel has a new parameter provisioning_state
- Model Bot has a new parameter zones
- Model BotChannel has a new parameter zones
- Model BotProperties has a new parameter all_settings
- Model BotProperties has a new parameter app_password_hint
- Model BotProperties has a new parameter cmek_encryption_status
- Model BotProperties has a new parameter disable_local_auth
- Model BotProperties has a new parameter is_developer_app_insights_api_key_set
- Model BotProperties has a new parameter is_streaming_supported
- Model BotProperties has a new parameter manifest_url
- Model BotProperties has a new parameter migration_token
- Model BotProperties has a new parameter msa_app_msi_resource_id
- Model BotProperties has a new parameter msa_app_tenant_id
- Model BotProperties has a new parameter msa_app_type
- Model BotProperties has a new parameter open_with_hint
- Model BotProperties has a new parameter parameters
- Model BotProperties has a new parameter private_endpoint_connections
- Model BotProperties has a new parameter provisioning_state
- Model BotProperties has a new parameter public_network_access
- Model BotProperties has a new parameter publishing_credentials
- Model BotProperties has a new parameter storage_resource_id
- Model Channel has a new parameter etag
- Model Channel has a new parameter location
- Model Channel has a new parameter provisioning_state
- Model ConnectionSetting has a new parameter zones
- Model ConnectionSettingProperties has a new parameter id
- Model ConnectionSettingProperties has a new parameter name
- Model ConnectionSettingProperties has a new parameter provisioning_state
- Model DirectLineChannel has a new parameter etag
- Model DirectLineChannel has a new parameter location
- Model DirectLineChannel has a new parameter provisioning_state
- Model DirectLineChannelProperties has a new parameter direct_line_embed_code
- Model DirectLineSite has a new parameter is_block_user_upload_enabled
- Model DirectLineSpeechChannel has a new parameter etag
- Model DirectLineSpeechChannel has a new parameter location
- Model DirectLineSpeechChannel has a new parameter provisioning_state
- Model EmailChannel has a new parameter etag
- Model EmailChannel has a new parameter location
- Model EmailChannel has a new parameter provisioning_state
- Model FacebookChannel has a new parameter etag
- Model FacebookChannel has a new parameter location
- Model FacebookChannel has a new parameter provisioning_state
- Model KikChannel has a new parameter etag
- Model KikChannel has a new parameter location
- Model KikChannel has a new parameter provisioning_state
- Model LineChannel has a new parameter etag
- Model LineChannel has a new parameter location
- Model LineChannel has a new parameter provisioning_state
- Model MsTeamsChannel has a new parameter etag
- Model MsTeamsChannel has a new parameter location
- Model MsTeamsChannel has a new parameter provisioning_state
- Model MsTeamsChannelProperties has a new parameter accepted_terms
- Model MsTeamsChannelProperties has a new parameter deployment_environment
- Model MsTeamsChannelProperties has a new parameter incoming_call_route
- Model Resource has a new parameter zones
- Model ServiceProviderParameter has a new parameter metadata
- Model SkypeChannel has a new parameter etag
- Model SkypeChannel has a new parameter location
- Model SkypeChannel has a new parameter provisioning_state
- Model SkypeChannelProperties has a new parameter incoming_call_route
- Model SlackChannel has a new parameter etag
- Model SlackChannel has a new parameter location
- Model SlackChannel has a new parameter provisioning_state
- Model SlackChannelProperties has a new parameter scopes
- Model SmsChannel has a new parameter etag
- Model SmsChannel has a new parameter location
- Model SmsChannel has a new parameter provisioning_state
- Model TelegramChannel has a new parameter etag
- Model TelegramChannel has a new parameter location
- Model TelegramChannel has a new parameter provisioning_state
- Model WebChatChannel has a new parameter etag
- Model WebChatChannel has a new parameter location
- Model WebChatChannel has a new parameter provisioning_state
**Breaking changes**
- Model BotProperties no longer has parameter is_isolated
- Model DirectLineSpeechChannelProperties has a new required parameter cognitive_service_region
- Model DirectLineSpeechChannelProperties has a new required parameter cognitive_service_subscription_key
- Model DirectLineSpeechChannelProperties no longer has parameter cognitive_services_subscription_id
- Model WebChatSite has a new required parameter is_webchat_preview_enabled
- Model WebChatSite no longer has parameter enable_preview
## 1.0.0 (2021-05-20)
**Features**
- Model BotProperties has a new parameter schema_transformation_version
- Model BotProperties has a new parameter cmek_key_vault_url
- Model BotProperties has a new parameter is_isolated
- Model BotProperties has a new parameter is_cmek_enabled
- Added operation group HostSettingsOperations
## 1.0.0b1 (2020-11-20)
This is beta preview version.
This version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).
**General breaking changes**
- Credential system has been completly revamped:
- `azure.common.credentials` or `msrestazure.azure_active_directory` instances are no longer supported, use the `azure-identity` classes instead: https://pypi.org/project/azure-identity/
- `credentials` parameter has been renamed `credential`
- The `config` attribute no longer exists on a client, configuration should be passed as kwarg. Example: `MyClient(credential, subscription_id, enable_logging=True)`. For a complete set of
supported options, see the [parameters accept in init documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)
- You can't import a `version` module anymore, use `__version__` instead
- Operations that used to return a `msrest.polling.LROPoller` now returns a `azure.core.polling.LROPoller` and are prefixed with `begin_`.
- Exceptions tree have been simplified and most exceptions are now `azure.core.exceptions.HttpResponseError` (`CloudError` has been removed).
- Most of the operation kwarg have changed. Some of the most noticeable:
- `raw` has been removed. Equivalent feature can be found using `cls`, a callback that will give access to internal HTTP response for advanced user
- For a complete set of
supported options, see the [parameters accept in Request documentation of azure-core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CLIENT_LIBRARY_DEVELOPER.md#available-policies)
**General new features**
- Type annotations support using `typing`. SDKs are mypy ready.
- This client has now stable and official support for async. Check the `aio` namespace of your package to find the async client.
- This client now support natively tracing library like OpenCensus or OpenTelemetry. See this [tracing quickstart](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry) for an overview.
## 0.2.0 (2019-05-21)
**Features**
- Model DirectLineSite has a new parameter is_secure_site_enabled
- Model DirectLineSite has a new parameter trusted_origins
- Added operation group EnterpriseChannelsOperations
## 0.1.0 (2018-08-07)
- Initial Release