Microsoft Azure SDK for Python
This is the Microsoft Azure IoT Hub Provisioning Services Client Library. This package has been tested with Python 3.10+. For a more complete view of Azure libraries, see the azure sdk python release.
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.10+ is required to use this package.
- Azure subscription
Install the package
pip install azure-mgmt-iothubprovisioningservices
pip install azure-identity
Authentication
By default, Microsoft Entra token authentication depends on correct configuration of the following environment variables.
AZURE_CLIENT_IDfor Azure client ID.AZURE_TENANT_IDfor Azure tenant ID.AZURE_CLIENT_SECRETfor 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:
from azure.identity import DefaultAzureCredential
from azure.mgmt.iothubprovisioningservices import IotDpsClient
import os
sub_id = os.getenv("AZURE_SUBSCRIPTION_ID")
client = IotDpsClient(credential=DefaultAzureCredential(), subscription_id=sub_id)
Examples
Code samples for this package can be found at:
- Search IoT Hub Provisioning Services on docs.microsoft.com
- Azure Python Mgmt SDK Samples Repo
Troubleshooting
Next steps
Provide Feedback
If you encounter any bugs or have suggestions, please file an issue in the Issues section of the project.
Release History
2.0.0 (2026-08-26)
Features Added
- Client
IotDpsClientadded parameterapi_versionin method__init__ - Client
IotDpsClientadded parametercloud_settingin method__init__ - Client
IotDpsClientadded methodsend_request - Model
GroupIdInformationadded propertysystem_data - Model
IotDpsPropertiesDescriptionadded propertydisable_local_auth - Model
IotDpsPropertiesDescriptionadded propertyportal_operations_host_name - Model
IotHubDefinitionDescriptionadded propertyauthentication_type - Model
IotHubDefinitionDescriptionadded propertyhost_name - Model
IotHubDefinitionDescriptionadded propertyselected_user_assigned_identity_resource_id - Model
ProvisioningServiceDescriptionadded propertyidentity - Model
ProvisioningServiceDescriptionadded propertyresourcegroup - Model
ProvisioningServiceDescriptionadded propertysubscriptionid - Model
Resourceadded propertysystem_data - Added model
ErrorAdditionalInfo - Added model
ErrorDetail - Added model
ErrorMessage - Added model
ErrorResponse - Added enum
IotHubAuthenticationType - Added model
ManagedServiceIdentity - Added enum
ManagedServiceIdentityType - Added model
ProxyResource - Added model
TrackedResource - Added model
UserAssignedIdentity - Operation group
DpsCertificateOperationsadded parameterkwargsin method__init__ - Operation group
DpsCertificateOperationsadded parametercontent_typein methodcreate_or_update - Operation group
DpsCertificateOperationsadded parametercontent_typein methodverify_certificate - Operation group
IotDpsResourceOperationsadded parameterkwargsin method__init__ - Operation group
IotDpsResourceOperationsadded parametercontent_typein methodbegin_create_or_update - Operation group
IotDpsResourceOperationsadded parametercontent_typein methodbegin_create_or_update_private_endpoint_connection - Operation group
IotDpsResourceOperationsadded parametercontent_typein methodbegin_update - Operation group
IotDpsResourceOperationsadded parametercontent_typein methodcheck_provisioning_service_name_availability - Operation group
Operationsadded parameterkwargsin method__init__
Breaking Changes
- For the method breakings, please refer to https://aka.ms/azsdk/python/migrate/operations for migration.
- This version introduces new hybrid models which have dual dictionary and model nature. Please follow https://aka.ms/azsdk/python/migrate/hybrid-models for migration.
- Model
Resourcedeleted or renamed its instance variablelocation - Model
Resourcedeleted or renamed its instance variabletags - Deleted or renamed model
CertificateBodyDescription - Deleted or renamed model
ErrorMesssage - Method
DpsCertificateOperations.create_or_updatechanged type of its parametercertificate_descriptionfromCertificateBodyDescriptiontoCertificateResponse - Method
DpsCertificateOperations.create_or_updatereplaced positional_or_keyword parameterif_matchto keyword_only parametersetag/match_condition - Method
DpsCertificateOperations.deletechanged its parametercertificate_created/certificate_has_private_key/certificate_is_verified/certificate_last_updated/certificate_name1/certificate_nonce/certificate_purpose/certificate_raw_bytesfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.deletechanged type of its parametercertificate_raw_bytesfrombytearraytobytes - Method
DpsCertificateOperations.deletereplaced positional_or_keyword parameterif_matchto keyword_only parametersetag/match_condition - Method
DpsCertificateOperations.generate_verification_codechanged its parametercertificate_created/certificate_has_private_key/certificate_is_verified/certificate_last_updated/certificate_name1/certificate_nonce/certificate_purpose/certificate_raw_bytesfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.generate_verification_codechanged type of its parametercertificate_raw_bytesfrombytearraytobytes - Method
DpsCertificateOperations.generate_verification_codereplaced positional_or_keyword parameterif_matchto keyword_only parametersetag/match_condition - Method
DpsCertificateOperations.getreplaced positional_or_keyword parameterif_matchto keyword_only parametersetag/match_condition - Method
DpsCertificateOperations.verify_certificatechanged its parametercertificate_created/certificate_has_private_key/certificate_is_verified/certificate_last_updated/certificate_name1/certificate_nonce/certificate_purpose/certificate_raw_bytesfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.verify_certificatechanged type of its parametercertificate_raw_bytesfrombytearraytobytes - Method
DpsCertificateOperations.verify_certificatereplaced positional_or_keyword parameterif_matchto keyword_only parametersetag/match_condition - Parameter
asyncinfoofIotDpsResourceOperations.get_operation_resultis now optional - Method
IotDpsResourceOperations.get_operation_resultchanged its parameterasyncinfofrompositional_or_keywordtokeyword_only - Method
IotDpsResourceOperations.list_by_resource_groupchanged return type fromIterable[ProvisioningServiceDescriptionListResult]toItemPaged[ProvisioningServiceDescription] - Method
IotDpsResourceOperations.list_by_subscriptionchanged return type fromIterable[ProvisioningServiceDescriptionListResult]toItemPaged[ProvisioningServiceDescription] - Method
IotDpsResourceOperations.list_keyschanged return type fromIterable[SharedAccessSignatureAuthorizationRuleListResult]toItemPaged[SharedAccessSignatureAuthorizationRuleAccessRightsDescription] - Method
IotDpsResourceOperations.list_valid_skuschanged return type fromIterable[IotDpsSkuDefinitionListResult]toItemPaged[IotDpsSkuDefinition] - Method
Operations.listchanged return type fromIterable[OperationListResult]toItemPaged[Operation] - Method
IotDpsResourceOperations.check_provisioning_service_name_availabilityre-ordered its parameters from['self', 'arguments', 'cls', 'kwargs']to['self', 'arguments', 'content_type', 'kwargs']
Other Changes
- Deleted model
IotDpsSkuDefinitionListResult/OperationListResult/ProvisioningServiceDescriptionListResult/SharedAccessSignatureAuthorizationRuleListResultwhich actually were not used by SDK users
1.2.0b3 (2025-10-09)
Features Added
- Model
IotDpsClientadded parametercloud_settingin method__init__ - Client
IotDpsClientadded methodsend_request - Model
GroupIdInformationadded propertysystem_data - Model
IotDpsPropertiesDescriptionadded propertydevice_registry_namespace - Model
Resourceadded propertysystem_data - Added enum
DeviceRegistryNamespaceAuthenticationType - Added model
DeviceRegistryNamespaceDescription - Added model
ErrorAdditionalInfo - Added model
ErrorDetail - Added model
ErrorResponse - Added model
ProxyResource - Added model
TrackedResource
Breaking Changes
- This version introduces new hybrid models which have dual dictionary and model nature. And please follow https://aka.ms/azsdk/python/migrate/hybrid-models for migration.
- For the method breakings, please refer to https://aka.ms/azsdk/python/migrate/operations for mgration.
- Model
Resourcedeleted or renamed its instance variablelocation - Model
Resourcedeleted or renamed its instance variableresourcegroup - Model
Resourcedeleted or renamed its instance variablesubscriptionid - Model
Resourcedeleted or renamed its instance variabletags - Deleted or renamed model
CertificateBodyDescription - Deleted or renamed model
CertificateListDescription - Deleted or renamed model
PrivateLinkResources - Method
DpsCertificateOperations.create_or_updaterenamed positional_or_keyword parameterif_matchto keyword_only parametersetag/match_condition - Method
DpsCertificateOperations.deletechanged its parametercertificate_name1frompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.deletechanged its parametercertificate_raw_bytesfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.deletechanged its parametercertificate_is_verifiedfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.deletechanged its parametercertificate_purposefrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.deletechanged its parametercertificate_createdfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.deletechanged its parametercertificate_last_updatedfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.deletechanged its parametercertificate_has_private_keyfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.deletechanged its parametercertificate_noncefrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.deleterenamed positional_or_keyword parameterif_matchto keyword_only parametersetag/match_condition - Method
DpsCertificateOperations.generate_verification_codechanged its parametercertificate_name1frompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.generate_verification_codechanged its parametercertificate_raw_bytesfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.generate_verification_codechanged its parametercertificate_is_verifiedfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.generate_verification_codechanged its parametercertificate_purposefrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.generate_verification_codechanged its parametercertificate_createdfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.generate_verification_codechanged its parametercertificate_last_updatedfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.generate_verification_codechanged its parametercertificate_has_private_keyfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.generate_verification_codechanged its parametercertificate_noncefrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.generate_verification_coderenamed positional_or_keyword parameterif_matchto keyword_only parametersetag/match_condition - Method
DpsCertificateOperations.getrenamed positional_or_keyword parameterif_matchto keyword_only parametersetag/match_condition - Method
DpsCertificateOperations.verify_certificatechanged its parametercertificate_name1frompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.verify_certificatechanged its parametercertificate_raw_bytesfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.verify_certificatechanged its parametercertificate_is_verifiedfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.verify_certificatechanged its parametercertificate_purposefrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.verify_certificatechanged its parametercertificate_createdfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.verify_certificatechanged its parametercertificate_last_updatedfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.verify_certificatechanged its parametercertificate_has_private_keyfrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.verify_certificatechanged its parametercertificate_noncefrompositional_or_keywordtokeyword_only - Method
DpsCertificateOperations.verify_certificaterenamed positional_or_keyword parameterif_matchto keyword_only parametersetag/match_condition - Parameter
asyncinfoofIotDpsResourceOperations.get_operation_resultis now required - Method
IotDpsResourceOperations.get_operation_resultchanged its parameterasyncinfofrompositional_or_keywordtokeyword_only
1.2.0b2 (2023-06-16)
Features Added
- Model IotDpsPropertiesDescription has a new parameter portal_operations_host_name
- Model ProvisioningServiceDescription has a new parameter identity
- Model ProvisioningServiceDescription has a new parameter resourcegroup
- Model ProvisioningServiceDescription has a new parameter subscriptionid
- Model Resource has a new parameter resourcegroup
- Model Resource has a new parameter subscriptionid
1.2.0b1 (2022-11-15)
Features Added
- Added model ErrorMessage
1.1.0 (2022-02-07)
Features
- Model CertificateResponse has a new parameter system_data
- Model IotDpsPropertiesDescription has a new parameter enable_data_residency
- Model PrivateEndpointConnection has a new parameter system_data
- Model ProvisioningServiceDescription has a new parameter system_data
1.0.0 (2021-08-18)
Features
- Model CertificateBodyDescription has a new parameter is_verified
1.0.0b1 (2021-05-14)
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.credentialsormsrestazure.azure_active_directoryinstances are no longer supported, use theazure-identityclasses instead: https://pypi.org/project/azure-identity/credentialsparameter has been renamedcredential
-
The
configattribute 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 -
You can't import a
versionmodule anymore, use__version__instead -
Operations that used to return a
msrest.polling.LROPollernow returns aazure.core.polling.LROPollerand are prefixed withbegin_. -
Exceptions tree have been simplified and most exceptions are now
azure.core.exceptions.HttpResponseError(CloudErrorhas been removed). -
Most of the operation kwarg have changed. Some of the most noticeable:
rawhas been removed. Equivalent feature can be found usingcls, 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
General new features
- Type annotations support using
typing. SDKs are mypy ready. - This client has now stable and official support for async. Check the
aionamespace of your package to find the async client. - This client now support natively tracing library like OpenCensus or OpenTelemetry. See this tracing quickstart for an overview.
0.2.0 (2018-04-17)
General Breaking changes
This version uses a next-generation code generator that might introduce breaking changes.
- Model signatures now use only keyword-argument syntax. All positional arguments must be re-written as keyword-arguments. To keep auto-completion in most cases, models are now generated for Python 2 and Python 3. Python 3 uses the "*" syntax for keyword-only arguments.
- Enum types now use the "str" mixin (class AzureEnum(str, Enum)) to
improve the behavior when unrecognized enum values are encountered.
While this is not a breaking change, the distinctions are important,
and are documented here:
https://docs.python.org/3/library/enum.html#others At a glance:
- "is" should not be used at all.
- "format" will return the string value, where "%s" string
formatting will return
NameOfEnum.stringvalue. Format syntax should be prefered.
- New Long Running Operation:
- Return type changes from
msrestazure.azure_operation.AzureOperationPollertomsrest.polling.LROPoller. External API is the same. - Return type is now always a
msrest.polling.LROPoller, regardless of the optional parameters used. - The behavior has changed when using
raw=True. Instead of returning the initial call result asClientRawResponse, without polling, now this returns an LROPoller. After polling, the final resource will be returned as aClientRawResponse. - New
pollingparameter. The default behavior isPolling=Truewhich will poll using ARM algorithm. WhenPolling=False, the response of the initial call will be returned without polling. pollingparameter accepts instances of subclasses ofmsrest.polling.PollingMethod.add_done_callbackwill no longer raise if called after polling is finished, but will instead execute the callback right away.
- Return type changes from
Bugfixes
- Compatibility of the sdist with wheel 0.31.0
Features
- New ApiVersion 2018-01-22
0.1.0 (2018-01-04)
- Initial Release
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file azure_mgmt_iothubprovisioningservices-2.0.0.tar.gz.
File metadata
- Download URL: azure_mgmt_iothubprovisioningservices-2.0.0.tar.gz
- Upload date:
- Size: 95.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
RestSharp/106.13.0.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1256522e99fc4f105aa5ba08513f6263ec762895f79c662fa20153c3d7b535d8
|
|
| MD5 |
a8c99afe0a7b47cda8c02d9af23bc4d8
|
|
| BLAKE2b-256 |
d9ab1777ba1d683eceb8cdb4920f1720dd84e21abfc17b5f3636282196659481
|
File details
Details for the file azure_mgmt_iothubprovisioningservices-2.0.0-py3-none-any.whl.
File metadata
- Download URL: azure_mgmt_iothubprovisioningservices-2.0.0-py3-none-any.whl
- Upload date:
- Size: 94.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
RestSharp/106.13.0.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5eaead44f58dc8ece51a271e07494561afefc65c32598a86a86ca54502de9545
|
|
| MD5 |
aa759dbd6d19d6d378d62c77130ca89c
|
|
| BLAKE2b-256 |
75d0f8df59d0e8cad1374f01a02abc1e74608f6603fec07f981f55afebdffdd1
|