IoTHubRegistryManager Class   
A class to provide convenience APIs for IoTHub Registry Manager operations, based on top of the auto generated IotHub REST APIs
Initializer for a Registry Manager Service client.
Users should not call this directly. Rather, they should the from_connection_string() or from_token_credential() factory methods.
After a successful creation the class has been authenticated with IoTHub and it is ready to call the member APIs to communicate with IoTHub.
Constructor
IoTHubRegistryManager(connection_string=None, host=None, token_credential=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 connection_string 
	 | 
	
		
		 The IoTHub connection string used to authenticate connection with IoTHub if we are using connection_str authentication. Default value: None Default value: None 
			 | 
| 
		 host 
	 | 
	
		
		 The Azure service url if we are using token credential authentication. Default value: None Default value: None 
			 | 
| 
		 auth 
			
				Required
			 
	 | 
	
		
		 The Azure authentication object if we are using token credential authentication. Default value: None  | 
| 
		 token_credential 
	 | 
	
		 Default value: None 
			 | 
Methods
| bulk_create_or_update_devices | 
					 Create, update, or delete the identities of multiple devices from the IoTHub identity registry. Create, update, or delete the identities of multiple devices from the IoTHub identity registry. A device identity can be specified only once in the list. Different operations (create, update, delete) on different devices are allowed. A maximum of 100 devices can be specified per invocation. For large scale operations, consider using the import feature using blob storage(https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities).  | 
			
| create_device_with_certificate_authority | 
					 Creates a device identity on IoTHub using certificate authority.  | 
			
| create_device_with_sas | 
					 Creates a device identity on IoTHub using SAS authentication.  | 
			
| create_device_with_x509 | 
					 Creates a device identity on IoTHub using X509 authentication.  | 
			
| create_module_with_certificate_authority | 
					 Creates a module identity for a device on IoTHub using certificate authority.  | 
			
| create_module_with_sas | 
					 Creates a module identity for a device on IoTHub using SAS authentication.  | 
			
| create_module_with_x509 | 
					 Creates a module identity for a device on IoTHub using X509 authentication.  | 
			
| delete_device | 
					 Deletes a device identity from IoTHub.  | 
			
| delete_module | 
					 Deletes a module identity for a device from IoTHub.  | 
			
| from_connection_string | 
					 Classmethod initializer for a Registry Manager Service client. Creates Registry Manager class from connection string. After a successful creation the class has been authenticated with IoTHub and it is ready to call the member APIs to communicate with IoTHub.  | 
			
| from_token_credential | 
					 Classmethod initializer for a Registry Manager Service client. Creates Registry Manager class from host name url and Azure token credential. After a successful creation the class has been authenticated with IoTHub and it is ready to call the member APIs to communicate with IoTHub.  | 
			
| get_device | 
					 Retrieves a device identity from IoTHub.  | 
			
| get_device_registry_statistics | 
					 Retrieves the IoTHub device registry statistics.  | 
			
| get_devices | 
					 Get the identities of multiple devices from the IoTHub identity registry. Not recommended. Use the IoTHub query language to retrieve device twin and device identity information. See https://docs.microsoft.com/en-us/rest/api/iothub/service/queryiothub and https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-query-language for more information.  | 
			
| get_module | 
					 Retrieves a module identity for a device from IoTHub.  | 
			
| get_module_twin | 
					 Gets a module twin.  | 
			
| get_modules | 
					 Retrieves all module identities on a device.  | 
			
| get_service_statistics | 
					 Retrieves the IoTHub service statistics.  | 
			
| get_twin | 
					 Gets a device twin.  | 
			
| invoke_device_method | 
					 Invoke a direct method on a device.  | 
			
| invoke_device_module_method | 
					 Invoke a direct method on a device.  | 
			
| query_iot_hub | 
					 Query an IoTHub to retrieve information regarding device twins using a SQL-like language. See https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language for more information. Pagination of results is supported. This returns information about device twins only.  | 
			
| replace_module_twin | 
					 Replaces tags and desired properties of a module twin.  | 
			
| replace_twin | 
					 Replaces tags and desired properties of a device twin.  | 
			
| send_c2d_message | 
					 Send a C2D message to a IoTHub Device.  | 
			
| update_device_with_certificate_authority | 
					 Updates a device identity on IoTHub using certificate authority.  | 
			
| update_device_with_sas | 
					 Updates a device identity on IoTHub using SAS authentication.  | 
			
| update_device_with_x509 | 
					 Updates a device identity on IoTHub using X509 authentication.  | 
			
| update_module_twin | 
					 Updates tags and desired properties of a module twin.  | 
			
| update_module_with_certificate_authority | 
					 Updates a module identity for a device on IoTHub using certificate authority.  | 
			
| update_module_with_sas | 
					 Updates a module identity for a device on IoTHub using SAS authentication.  | 
			
| update_module_with_x509 | 
					 Updates a module identity for a device on IoTHub using X509 authentication.  | 
			
| update_twin | 
					 Updates tags and desired properties of a device twin.  | 
			
bulk_create_or_update_devices
Create, update, or delete the identities of multiple devices from the IoTHub identity registry.
Create, update, or delete the identities of multiple devices from the IoTHub identity registry. A device identity can be specified only once in the list. Different operations (create, update, delete) on different devices are allowed. A maximum of 100 devices can be specified per invocation. For large scale operations, consider using the import feature using blob storage(https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities).
bulk_create_or_update_devices(devices)
		Parameters
| Name | Description | 
|---|---|
| 
		 devices 
			
				Required
			 
	 | 
	
		
		 The list of device objects to operate on.  | 
Returns
| Type | Description | 
|---|---|
| 
					 The BulkRegistryOperationResult object.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
create_device_with_certificate_authority
Creates a device identity on IoTHub using certificate authority.
create_device_with_certificate_authority(device_id, status, iot_edge=False, status_reason=None, device_scope=None, parent_scopes=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 status 
			
				Required
			 
	 | 
	
		
		 Initial state of the created device. (Possible values: "enabled" or "disabled").  | 
| 
		 iot_edge 
	 | 
	
		
		 Whether or not the created device is an IoT Edge device. Default value: False Default value: False 
			 | 
| 
		 status_reason 
	 | 
	
		
		 The reason for the device identity status. Default value: None Default value: None 
			 | 
| 
		 device_scope 
	 | 
	
		
		 The scope of the device. Default value: None Auto generated and immutable for edge devices and modifiable in leaf devices to create child/parent relationship. For leaf devices, the value to set a parent edge device can be retrieved from the parent edge device's device_scope property. Default value: None 
			 | 
| 
		 parent_scopes 
	 | 
	
		
		 The scopes of the upper level edge devices if applicable. Default value: None For edge devices, the value to set a parent edge device can be retrieved from the parent edge device's device_scope property. For leaf devices, this could be set to the same value as device_scope or left for the service to copy over. Default value: None 
			 | 
Returns
| Type | Description | 
|---|---|
| 
					 Device object containing the created device.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
create_device_with_sas
Creates a device identity on IoTHub using SAS authentication.
create_device_with_sas(device_id, primary_key, secondary_key, status, iot_edge=False, status_reason=None, device_scope=None, parent_scopes=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 primary_key 
			
				Required
			 
	 | 
	
		
		 Primary authentication key.  | 
| 
		 secondary_key 
			
				Required
			 
	 | 
	
		
		 Secondary authentication key.  | 
| 
		 status 
			
				Required
			 
	 | 
	
		
		 Initial state of the created device. (Possible values: "enabled" or "disabled")  | 
| 
		 iot_edge 
	 | 
	
		
		 Whether or not the created device is an IoT Edge device. Default value: False Default value: False 
			 | 
| 
		 status_reason 
	 | 
	
		
		 The reason for the device identity status. Default value: None Default value: None 
			 | 
| 
		 device_scope 
	 | 
	
		
		 The scope of the device. Default value: None Auto generated and immutable for edge devices and modifiable in leaf devices to create child/parent relationship. For leaf devices, the value to set a parent edge device can be retrieved from the parent edge device's device_scope property. Default value: None 
			 | 
| 
		 parent_scopes 
	 | 
	
		
		 The scopes of the upper level edge devices if applicable. Default value: None For edge devices, the value to set a parent edge device can be retrieved from the parent edge device's device_scope property. For leaf devices, this could be set to the same value as device_scope or left for the service to copy over. Default value: None 
			 | 
Returns
| Type | Description | 
|---|---|
| 
					 Device object containing the created device.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
create_device_with_x509
Creates a device identity on IoTHub using X509 authentication.
create_device_with_x509(device_id, primary_thumbprint, secondary_thumbprint, status, iot_edge=False, status_reason=None, device_scope=None, parent_scopes=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 primary_thumbprint 
			
				Required
			 
	 | 
	
		
		 Primary X509 thumbprint.  | 
| 
		 secondary_thumbprint 
			
				Required
			 
	 | 
	
		
		 Secondary X509 thumbprint.  | 
| 
		 status 
			
				Required
			 
	 | 
	
		
		 Initial state of the created device. (Possible values: "enabled" or "disabled")  | 
| 
		 iot_edge 
	 | 
	
		
		 Whether or not the created device is an IoT Edge device. Default value: False Default value: False 
			 | 
| 
		 status_reason 
	 | 
	
		
		 The reason for the device identity status. Default value: None Default value: None 
			 | 
| 
		 device_scope 
	 | 
	
		
		 The scope of the device. Default value: None Auto generated and immutable for edge devices and modifiable in leaf devices to create child/parent relationship. For leaf devices, the value to set a parent edge device can be retrieved from the parent edge device's device_scope property. Default value: None 
			 | 
| 
		 parent_scopes 
	 | 
	
		
		 The scopes of the upper level edge devices if applicable. Default value: None For edge devices, the value to set a parent edge device can be retrieved from the parent edge device's device_scope property. For leaf devices, this could be set to the same value as device_scope or left for the service to copy over. Default value: None 
			 | 
Returns
| Type | Description | 
|---|---|
| 
					 Device object containing the created device.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
create_module_with_certificate_authority
Creates a module identity for a device on IoTHub using certificate authority.
create_module_with_certificate_authority(device_id, module_id, managed_by)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 module_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the module.  | 
| 
		 managed_by 
			
				Required
			 
	 | 
	
		
		 The name of the manager device (edge).  | 
Returns
| Type | Description | 
|---|---|
| 
					 Module object containing the created module.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
create_module_with_sas
Creates a module identity for a device on IoTHub using SAS authentication.
create_module_with_sas(device_id, module_id, managed_by, primary_key, secondary_key)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 module_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the module.  | 
| 
		 managed_by 
			
				Required
			 
	 | 
	
		
		 The name of the manager device (edge).  | 
| 
		 primary_key 
			
				Required
			 
	 | 
	
		
		 Primary authentication key.  | 
| 
		 secondary_key 
			
				Required
			 
	 | 
	
		
		 Secondary authentication key.  | 
Returns
| Type | Description | 
|---|---|
| 
					 Module object containing the created module.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
create_module_with_x509
Creates a module identity for a device on IoTHub using X509 authentication.
create_module_with_x509(device_id, module_id, managed_by, primary_thumbprint, secondary_thumbprint)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 module_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the module.  | 
| 
		 managed_by 
			
				Required
			 
	 | 
	
		
		 The name of the manager device (edge).  | 
| 
		 primary_thumbprint 
			
				Required
			 
	 | 
	
		
		 Primary X509 thumbprint.  | 
| 
		 secondary_thumbprint 
			
				Required
			 
	 | 
	
		
		 Secondary X509 thumbprint.  | 
Returns
| Type | Description | 
|---|---|
| 
					 Module object containing the created module.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
delete_device
Deletes a device identity from IoTHub.
delete_device(device_id, etag=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 etag 
	 | 
	
		
		 The etag (if_match) value to use for the delete operation. Default value: None 
			 | 
Returns
| Type | Description | 
|---|---|
| 
					 None.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
delete_module
Deletes a module identity for a device from IoTHub.
delete_module(device_id, module_id, etag=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 module_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the module.  | 
| 
		 etag 
	 | 
	
		
		 The etag (if_match) value to use for the delete operation. Default value: None 
			 | 
Returns
| Type | Description | 
|---|---|
| 
					 None.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
from_connection_string
Classmethod initializer for a Registry Manager Service client. Creates Registry Manager class from connection string.
After a successful creation the class has been authenticated with IoTHub and it is ready to call the member APIs to communicate with IoTHub.
from_connection_string(connection_string)
		Parameters
| Name | Description | 
|---|---|
| 
		 connection_string 
			
				Required
			 
	 | 
	
		
		 The IoTHub connection string used to authenticate connection with IoTHub.  | 
Returns
| Type | Description | 
|---|---|
from_token_credential
Classmethod initializer for a Registry Manager Service client. Creates Registry Manager class from host name url and Azure token credential.
After a successful creation the class has been authenticated with IoTHub and it is ready to call the member APIs to communicate with IoTHub.
from_token_credential(url, token_credential)
		Parameters
| Name | Description | 
|---|---|
| 
		 url 
			
				Required
			 
	 | 
	
		
		 The Azure service url (host name).  | 
| 
		 token_credential 
			
				Required
			 
	 | 
	
		 
				<xref:azure.core.TokenCredential>
		 
		The Azure token credential object  | 
Returns
| Type | Description | 
|---|---|
get_device
Retrieves a device identity from IoTHub.
get_device(device_id)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
Returns
| Type | Description | 
|---|---|
| 
					 The Device object containing the requested device.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
get_device_registry_statistics
Retrieves the IoTHub device registry statistics.
get_device_registry_statistics()
Returns
| Type | Description | 
|---|---|
| 
					 The RegistryStatistics object.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
get_devices
Get the identities of multiple devices from the IoTHub identity registry. Not recommended. Use the IoTHub query language to retrieve device twin and device identity information. See https://docs.microsoft.com/en-us/rest/api/iothub/service/queryiothub and https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-query-language for more information.
get_devices(max_number_of_devices=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 max_number_of_devices 
	 | 
	
		
		 This parameter when specified, defines the maximum number of device identities that are returned. Any value outside the range of 1-1000 is considered to be 1000 Default value: None 
			 | 
Returns
| Type | Description | 
|---|---|
| 
					 List of device info.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
get_module
Retrieves a module identity for a device from IoTHub.
get_module(device_id, module_id)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 module_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the module.  | 
Returns
| Type | Description | 
|---|---|
| 
					 The Module object containing the requested module.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
get_module_twin
Gets a module twin.
get_module_twin(device_id, module_id)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 module_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the module.  | 
Returns
| Type | Description | 
|---|---|
| 
					 The Twin object.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
get_modules
Retrieves all module identities on a device.
get_modules(device_id)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
Returns
| Type | Description | 
|---|---|
| 
					 The list[Module] containing all the modules on the device.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
get_service_statistics
Retrieves the IoTHub service statistics.
get_service_statistics()
Returns
| Type | Description | 
|---|---|
| 
					 The ServiceStatistics object.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
get_twin
Gets a device twin.
get_twin(device_id)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
Returns
| Type | Description | 
|---|---|
| 
					 The Twin object.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
invoke_device_method
Invoke a direct method on a device.
invoke_device_method(device_id, direct_method_request)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 direct_method_request 
			
				Required
			 
	 | 
	
		
		 The method request.  | 
Returns
| Type | Description | 
|---|---|
| 
					 The CloudToDeviceMethodResult object.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
invoke_device_module_method
Invoke a direct method on a device.
invoke_device_module_method(device_id, module_id, direct_method_request)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 module_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the module.  | 
| 
		 direct_method_request 
			
				Required
			 
	 | 
	
		
		 The method request.  | 
Returns
| Type | Description | 
|---|---|
| 
					 The CloudToDeviceMethodResult object.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
query_iot_hub
Query an IoTHub to retrieve information regarding device twins using a SQL-like language. See https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language for more information. Pagination of results is supported. This returns information about device twins only.
query_iot_hub(query_specification, continuation_token=None, max_item_count=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 query 
			
				Required
			 
	 | 
	
		
		 The query specification.  | 
| 
		 continuation_token 
	 | 
	
		
		 Continuation token for paging Default value: None 
			 | 
| 
		 max_item_count 
	 | 
	
		
		 Maximum number of requested device twins Default value: None 
			 | 
| 
		 query_specification 
			
				Required
			 
	 | 
	
		 | 
Returns
| Type | Description | 
|---|---|
| 
					 The QueryResult object.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
replace_module_twin
Replaces tags and desired properties of a module twin.
replace_module_twin(device_id, module_id, module_twin, etag=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 module_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the module.  | 
| 
		 module_twin 
			
				Required
			 
	 | 
	
		
		 The twin info of the module.  | 
| 
		 etag 
	 | 
	
		
		 The etag (if_match) value to use for the replace operation. Default value: None 
			 | 
Returns
| Type | Description | 
|---|---|
| 
					 The Twin object.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
replace_twin
Replaces tags and desired properties of a device twin.
replace_twin(device_id, device_twin, etag=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 device_twin 
			
				Required
			 
	 | 
	
		
		 The twin info of the device.  | 
| 
		 etag 
	 | 
	
		
		 The etag (if_match) value to use for the replace operation. Default value: None 
			 | 
Returns
| Type | Description | 
|---|---|
| 
					 The Twin object.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
send_c2d_message
Send a C2D message to a IoTHub Device.
send_c2d_message(device_id, message, properties={})
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 message 
			
				Required
			 
	 | 
	
		
		 The message that is to be delivered to the device.  | 
| 
		 properties 
	 | 
	
		
		 The properties to be send with the message. Can contain application properties and system properties Default value: {} 
			 | 
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   Exception if the Send command is not able to send the message 
						 
				 | 
				
update_device_with_certificate_authority
Updates a device identity on IoTHub using certificate authority.
update_device_with_certificate_authority(device_id, etag, status, iot_edge=False, status_reason=None, device_scope=None, parent_scopes=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 etag 
			
				Required
			 
	 | 
	
		
		 The etag (if_match) value to use for the update operation.  | 
| 
		 status 
			
				Required
			 
	 | 
	
		
		 Initial state of the created device. (Possible values: "enabled" or "disabled").  | 
| 
		 iot_edge 
	 | 
	
		
		 Whether or not the created device is an IoT Edge device. Default value: False Default value: False 
			 | 
| 
		 status_reason 
	 | 
	
		
		 The reason for the device identity status. Default value: None Default value: None 
			 | 
| 
		 device_scope 
	 | 
	
		
		 The scope of the device. Default value: None Auto generated and immutable for edge devices and modifiable in leaf devices to create child/parent relationship. For leaf devices, the value to set a parent edge device can be retrieved from the parent edge device's device_scope property. Default value: None 
			 | 
| 
		 parent_scopes 
	 | 
	
		
		 The scopes of the upper level edge devices if applicable. Default value: None For edge devices, the value to set a parent edge device can be retrieved from the parent edge device's device_scope property. For leaf devices, this could be set to the same value as device_scope or left for the service to copy over. Default value: None 
			 | 
Returns
| Type | Description | 
|---|---|
| 
					 The updated Device object containing the created device.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
update_device_with_sas
Updates a device identity on IoTHub using SAS authentication.
update_device_with_sas(device_id, etag, primary_key, secondary_key, status, iot_edge=False, status_reason=None, device_scope=None, parent_scopes=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 etag 
			
				Required
			 
	 | 
	
		
		 The etag (if_match) value to use for the update operation.  | 
| 
		 primary_key 
			
				Required
			 
	 | 
	
		
		 Primary authentication key.  | 
| 
		 secondary_key 
			
				Required
			 
	 | 
	
		
		 Secondary authentication key.  | 
| 
		 status 
			
				Required
			 
	 | 
	
		
		 Initial state of the created device. (Possible values: "enabled" or "disabled").  | 
| 
		 iot_edge 
	 | 
	
		
		 Whether or not the created device is an IoT Edge device. Default value: False Default value: False 
			 | 
| 
		 status_reason 
	 | 
	
		
		 The reason for the device identity status. Default value: None Default value: None 
			 | 
| 
		 device_scope 
	 | 
	
		
		 The scope of the device. Default value: None Auto generated and immutable for edge devices and modifiable in leaf devices to create child/parent relationship. For leaf devices, the value to set a parent edge device can be retrieved from the parent edge device's device_scope property. Default value: None 
			 | 
| 
		 parent_scopes 
	 | 
	
		
		 The scopes of the upper level edge devices if applicable. Default value: None For edge devices, the value to set a parent edge device can be retrieved from the parent edge device's device_scope property. For leaf devices, this could be set to the same value as device_scope or left for the service to copy over. Default value: None 
			 | 
Returns
| Type | Description | 
|---|---|
| 
					 The updated Device object containing the created device.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
update_device_with_x509
Updates a device identity on IoTHub using X509 authentication.
update_device_with_x509(device_id, etag, primary_thumbprint, secondary_thumbprint, status, iot_edge=False, status_reason=None, device_scope=None, parent_scopes=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 etag 
			
				Required
			 
	 | 
	
		
		 The etag (if_match) value to use for the update operation.  | 
| 
		 primary_thumbprint 
			
				Required
			 
	 | 
	
		
		 Primary X509 thumbprint.  | 
| 
		 secondary_thumbprint 
			
				Required
			 
	 | 
	
		
		 Secondary X509 thumbprint.  | 
| 
		 status 
			
				Required
			 
	 | 
	
		
		 Initial state of the created device. (Possible values: "enabled" or "disabled").  | 
| 
		 iot_edge 
	 | 
	
		
		 Whether or not the created device is an IoT Edge device. Default value: False Default value: False 
			 | 
| 
		 status_reason 
	 | 
	
		
		 The reason for the device identity status. Default value: None Default value: None 
			 | 
| 
		 device_scope 
	 | 
	
		
		 The scope of the device. Default value: None Auto generated and immutable for edge devices and modifiable in leaf devices to create child/parent relationship. For leaf devices, the value to set a parent edge device can be retrieved from the parent edge device's device_scope property. Default value: None 
			 | 
| 
		 parent_scopes 
	 | 
	
		
		 The scopes of the upper level edge devices if applicable. Default value: None For edge devices, the value to set a parent edge device can be retrieved from the parent edge device's device_scope property. For leaf devices, this could be set to the same value as device_scope or left for the service to copy over. Default value: None 
			 | 
Returns
| Type | Description | 
|---|---|
| 
					 The updated Device object containing the created device.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
update_module_twin
Updates tags and desired properties of a module twin.
update_module_twin(device_id, module_id, module_twin, etag=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 module_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the module.  | 
| 
		 module_twin 
			
				Required
			 
	 | 
	
		
		 The twin info of the module.  | 
| 
		 etag 
	 | 
	
		
		 The etag (if_match) value to use for the update operation. Default value: None 
			 | 
Returns
| Type | Description | 
|---|---|
| 
					 The Twin object.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
update_module_with_certificate_authority
Updates a module identity for a device on IoTHub using certificate authority.
update_module_with_certificate_authority(device_id, module_id, managed_by, etag)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 module_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the module.  | 
| 
		 managed_by 
			
				Required
			 
	 | 
	
		
		 The name of the manager device (edge).  | 
| 
		 etag 
			
				Required
			 
	 | 
	
		
		 The etag (if_match) value to use for the update operation.  | 
Returns
| Type | Description | 
|---|---|
| 
					 The updated Module object containing the created module.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
update_module_with_sas
Updates a module identity for a device on IoTHub using SAS authentication.
update_module_with_sas(device_id, module_id, managed_by, etag, primary_key, secondary_key)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 module_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the module.  | 
| 
		 managed_by 
			
				Required
			 
	 | 
	
		
		 The name of the manager device (edge).  | 
| 
		 etag 
			
				Required
			 
	 | 
	
		
		 The etag (if_match) value to use for the update operation.  | 
| 
		 primary_key 
			
				Required
			 
	 | 
	
		
		 Primary authentication key.  | 
| 
		 secondary_key 
			
				Required
			 
	 | 
	
		
		 Secondary authentication key.  | 
Returns
| Type | Description | 
|---|---|
| 
					 The updated Module object containing the created module.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
update_module_with_x509
Updates a module identity for a device on IoTHub using X509 authentication.
update_module_with_x509(device_id, module_id, managed_by, etag, primary_thumbprint, secondary_thumbprint)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 module_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the module.  | 
| 
		 managed_by 
			
				Required
			 
	 | 
	
		
		 The name of the manager device (edge).  | 
| 
		 etag 
			
				Required
			 
	 | 
	
		
		 The etag (if_match) value to use for the update operation.  | 
| 
		 primary_thumbprint 
			
				Required
			 
	 | 
	
		
		 Primary X509 thumbprint.  | 
| 
		 secondary_thumbprint 
			
				Required
			 
	 | 
	
		
		 Secondary X509 thumbprint.  | 
Returns
| Type | Description | 
|---|---|
| 
					 The updated Module object containing the created module.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 | 
				
update_twin
Updates tags and desired properties of a device twin.
update_twin(device_id, device_twin, etag=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 device_id 
			
				Required
			 
	 | 
	
		
		 The name (Id) of the device.  | 
| 
		 device_twin 
			
				Required
			 
	 | 
	
		
		 The twin info of the device.  | 
| 
		 etag 
	 | 
	
		
		 The etag (if_match) value to use for the update operation. Default value: None 
			 | 
Returns
| Type | Description | 
|---|---|
| 
					 The Twin object.  | 
		
Exceptions
| Type | Description | 
|---|---|
| 
						 
							   <xref:if the HTTP response status is not in >[<xref:200>]<xref:.> 
						 
				 |