def begin_create_or_update_with_http_info(resource_group_name, resource_name, iot_hub_description, if_match:nil, custom_headers:nil)
      begin_create_or_update_async(resource_group_name, resource_name, iot_hub_description, if_match:if_match, custom_headers:custom_headers).value!
    end
def begin_create_or_update_with_http_info(resource_group_name, resource_name, iot_hub_description, if_match:nil, custom_headers:nil)
      begin_create_or_update_async(resource_group_name, resource_name, iot_hub_description, if_match:if_match, custom_headers:custom_headers).value!
    end
Create or update the metadata of an IoT hub.

 Create or update the metadata of an Iot hub. The usual pattern to modify a
 property is to retrieve the IoT hub metadata and security metadata, and then
 combine them with the modified values in a new body to update the IoT hub.

 @param resource_group_name [String] The name of the resource group that
 contains the IoT hub.
 @param resource_name [String] The name of the IoT hub.
 @param iot_hub_description [IotHubDescription] The IoT hub metadata and
 security metadata.
 @param if_match [String] ETag of the IoT Hub. Do not specify for creating a
 brand new IoT Hub. Required to update an existing IoT Hub.
 @param custom_headers [Hash{String => String}] A hash of custom headers that
 will be added to the HTTP request.

 @return [MsRestAzure::AzureOperationResponse] HTTP response information.