DeviceUpdateAsyncClient Class

  • java.lang.Object
    • com.azure.iot.deviceupdate.DeviceUpdateAsyncClient

public final class DeviceUpdateAsyncClient

Initializes a new instance of the asynchronous DeviceUpdateClient type.

Method Summary

Modifier and Type Method and Description
PollerFlux<BinaryData,BinaryData> beginDeleteUpdate(String provider, String name, String version, RequestOptions requestOptions)

Delete a specific update version.

PollerFlux<BinaryData,BinaryData> beginImportUpdate(BinaryData updateToImport, RequestOptions requestOptions)

Import new update version.

Mono<Response<BinaryData>> getFileWithResponse(String provider, String name, String version, String fileId, RequestOptions requestOptions)

Get a specific update file from the version.

Mono<Response<BinaryData>> getOperationStatusWithResponse(String operationId, RequestOptions requestOptions)

Retrieve operation status.

Mono<Response<BinaryData>> getUpdateWithResponse(String provider, String name, String version, RequestOptions requestOptions)

Get a specific update version.

PagedFlux<BinaryData> listFiles(String provider, String name, String version, RequestOptions requestOptions)

Get a list of all update file identifiers for the specified version.

PagedFlux<BinaryData> listNames(String provider, RequestOptions requestOptions)

Get a list of all update names that match the specified provider.

PagedFlux<BinaryData> listOperationStatuses(RequestOptions requestOptions)

Get a list of all import update operations.

PagedFlux<BinaryData> listProviders(RequestOptions requestOptions)

Get a list of all update providers that have been imported to Device Update for IoT Hub.

PagedFlux<BinaryData> listUpdates(RequestOptions requestOptions)

Get a list of all updates that have been imported to Device Update for IoT Hub.

PagedFlux<BinaryData> listVersions(String provider, String name, RequestOptions requestOptions)

Get a list of all update versions that match the specified provider and name.

Methods inherited from java.lang.Object

Method Details

beginDeleteUpdate

public PollerFlux beginDeleteUpdate(String provider, String name, String version, RequestOptions requestOptions)

Delete a specific update version. This is a long-running-operation; use Operation-Location response header value to check for operation status.

Parameters:

provider - Update provider.
name - Update name.
version - Update version.
requestOptions - The options to configure the HTTP request before HTTP client sends it.

Returns:

the PollerFlux<T,U> for polling of long-running operation.

beginImportUpdate

public PollerFlux beginImportUpdate(BinaryData updateToImport, RequestOptions requestOptions)

Import new update version. This is a long-running-operation; use Operation-Location response header value to check for operation status.

Request Body Schema

[
      (Required){
         importManifest (Required): {
             url: String (Required)
             sizeInBytes: long (Required)
             hashes (Required): {
                 String: String (Required)
             }
         }
         friendlyName: String (Optional)
         files (Optional): [
              (Optional){
                 filename: String (Required)
                 url: String (Required)
             }
         ]
     }
 ]

Response Body Schema

{
     updateId (Required): {
         provider: String (Required)
         name: String (Required)
         version: String (Required)
     }
     description: String (Optional)
     friendlyName: String (Optional)
     isDeployable: Boolean (Optional)
     updateType: String (Optional)
     installedCriteria: String (Optional)
     compatibility (Required): [
          (Required){
             String: String (Required)
         }
     ]
     instructions (Optional): {
         steps (Required): [
              (Required){
                 type: String(Inline/Reference) (Optional)
                 description: String (Optional)
                 handler: String (Optional)
                 handlerProperties: Object (Optional)
                 files (Optional): [
                     String (Optional)
                 ]
                 updateId (Optional): (recursive schema, see updateId above)
             }
         ]
     }
     referencedBy (Optional): [
         (recursive schema, see above)
     ]
     scanResult: String (Optional)
     manifestVersion: String (Required)
     importedDateTime: OffsetDateTime (Required)
     createdDateTime: OffsetDateTime (Required)
     etag: String (Optional)
 }

Parameters:

updateToImport - The update to be imported (see schema https://json.schemastore.org/azure-deviceupdate-import-manifest-5.0.json for details).
requestOptions - The options to configure the HTTP request before HTTP client sends it.

Returns:

the PollerFlux<T,U> for polling of update metadata.

getFileWithResponse

public Mono<>> getFileWithResponse(String provider, String name, String version, String fileId, RequestOptions requestOptions)

Get a specific update file from the version.

Header Parameters

| ------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------ |
| Name          | Type   | Required | Description                                                                                                                    |
| If-None-Match | String | No       | Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value. |

You can add these to a request with RequestOptions#addHeader

Response Body Schema

{
     fileName: String (Required)
     sizeInBytes: long (Required)
     hashes (Required): {
         String: String (Required)
     }
     mimeType: String (Optional)
     scanResult: String (Optional)
     scanDetails: String (Optional)
     properties (Optional): {
         String: String (Optional)
     }
     fileId: String (Required)
     relatedFiles (Optional): [
          (Optional){
             fileName: String (Required)
             sizeInBytes: long (Required)
             hashes (Required): {
                 String: String (Required)
             }
             mimeType: String (Optional)
             scanResult: String (Optional)
             scanDetails: String (Optional)
             properties (Optional): {
                 String: String (Optional)
             }
         }
     ]
     downloadHandler (Optional): {
         id: String (Required)
     }
     etag: String (Optional)
 }

Parameters:

provider - Update provider.
name - Update name.
version - Update version.
fileId - File identifier.
requestOptions - The options to configure the HTTP request before HTTP client sends it.

Returns:

a specific update file from the version along with Response<T> on successful completion of Mono.

getOperationStatusWithResponse

public Mono<>> getOperationStatusWithResponse(String operationId, RequestOptions requestOptions)

Retrieve operation status.

Header Parameters

| ------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------ |
| Name          | Type   | Required | Description                                                                                                                    |
| If-None-Match | String | No       | Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value. |

You can add these to a request with RequestOptions#addHeader

Response Body Schema

{
     operationId: String (Required)
     status: String(NotStarted/Running/Succeeded/Failed) (Required)
     update (Optional): {
         updateId (Required): {
             provider: String (Required)
             name: String (Required)
             version: String (Required)
         }
         description: String (Optional)
         friendlyName: String (Optional)
     }
     resourceLocation: String (Optional)
     error (Optional): {
         code: String (Required)
         message: String (Required)
         target: String (Optional)
         details (Optional): [
             (recursive schema, see above)
         ]
         innererror (Optional): {
             code: String (Required)
             message: String (Optional)
             errorDetail: String (Optional)
             innerError (Optional): (recursive schema, see innerError above)
         }
         occurredDateTime: OffsetDateTime (Optional)
     }
     traceId: String (Optional)
     lastActionDateTime: OffsetDateTime (Required)
     createdDateTime: OffsetDateTime (Required)
     etag: String (Optional)
 }

Parameters:

operationId - Operation identifier.
requestOptions - The options to configure the HTTP request before HTTP client sends it.

Returns:

operation metadata along with Response<T> on successful completion of Mono.

getUpdateWithResponse

public Mono<>> getUpdateWithResponse(String provider, String name, String version, RequestOptions requestOptions)

Get a specific update version.

Header Parameters

| ------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------ |
| Name          | Type   | Required | Description                                                                                                                    |
| If-None-Match | String | No       | Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value. |

You can add these to a request with RequestOptions#addHeader

Response Body Schema

{
     updateId (Required): {
         provider: String (Required)
         name: String (Required)
         version: String (Required)
     }
     description: String (Optional)
     friendlyName: String (Optional)
     isDeployable: Boolean (Optional)
     updateType: String (Optional)
     installedCriteria: String (Optional)
     compatibility (Required): [
          (Required){
             String: String (Required)
         }
     ]
     instructions (Optional): {
         steps (Required): [
              (Required){
                 type: String(Inline/Reference) (Optional)
                 description: String (Optional)
                 handler: String (Optional)
                 handlerProperties: Object (Optional)
                 files (Optional): [
                     String (Optional)
                 ]
                 updateId (Optional): (recursive schema, see updateId above)
             }
         ]
     }
     referencedBy (Optional): [
         (recursive schema, see above)
     ]
     scanResult: String (Optional)
     manifestVersion: String (Required)
     importedDateTime: OffsetDateTime (Required)
     createdDateTime: OffsetDateTime (Required)
     etag: String (Optional)
 }

Parameters:

provider - Update provider.
name - Update name.
version - Update version.
requestOptions - The options to configure the HTTP request before HTTP client sends it.

Returns:

a specific update version along with Response<T> on successful completion of Mono.

listFiles

public PagedFlux listFiles(String provider, String name, String version, RequestOptions requestOptions)

Get a list of all update file identifiers for the specified version.

Response Body Schema

{
     value (Required): [
         String (Required)
     ]
     nextLink: String (Optional)
 }

Parameters:

provider - Update provider.
name - Update name.
version - Update version.
requestOptions - The options to configure the HTTP request before HTTP client sends it.

Returns:

a list of all update file identifiers for the specified version as paginated response with PagedFlux<T>.

listNames

public PagedFlux listNames(String provider, RequestOptions requestOptions)

Get a list of all update names that match the specified provider.

Response Body Schema

{
     value (Required): [
         String (Required)
     ]
     nextLink: String (Optional)
 }

Parameters:

provider - Update provider.
requestOptions - The options to configure the HTTP request before HTTP client sends it.

Returns:

a list of all update names that match the specified provider as paginated response with PagedFlux<T>.

listOperationStatuses

public PagedFlux listOperationStatuses(RequestOptions requestOptions)

Get a list of all import update operations. Completed operations are kept for 7 days before auto-deleted. Delete operations are not returned by this API version.

Query Parameters

| ------ | ------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Name   | Type    | Required | Description                                                                                                                                                                                        |
| filter | String  | No       | Optional to filter operations by status property. Only one specific filter is supported: "status eq 'NotStarted' or status eq 'Running'"                                                           |
| top    | Integer | No       | Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n. |

You can add these to a request with RequestOptions#addQueryParam

Response Body Schema

{
     value (Required): [
          (Required){
             operationId: String (Required)
             status: String(NotStarted/Running/Succeeded/Failed) (Required)
             update (Optional): {
                 updateId (Required): {
                     provider: String (Required)
                     name: String (Required)
                     version: String (Required)
                 }
                 description: String (Optional)
                 friendlyName: String (Optional)
             }
             resourceLocation: String (Optional)
             error (Optional): {
                 code: String (Required)
                 message: String (Required)
                 target: String (Optional)
                 details (Optional): [
                     (recursive schema, see above)
                 ]
                 innererror (Optional): {
                     code: String (Required)
                     message: String (Optional)
                     errorDetail: String (Optional)
                     innerError (Optional): (recursive schema, see innerError above)
                 }
                 occurredDateTime: OffsetDateTime (Optional)
             }
             traceId: String (Optional)
             lastActionDateTime: OffsetDateTime (Required)
             createdDateTime: OffsetDateTime (Required)
             etag: String (Optional)
         }
     ]
     nextLink: String (Optional)
 }

Parameters:

requestOptions - The options to configure the HTTP request before HTTP client sends it.

Returns:

a list of all import update operations as paginated response with PagedFlux<T>.

listProviders

public PagedFlux listProviders(RequestOptions requestOptions)

Get a list of all update providers that have been imported to Device Update for IoT Hub.

Response Body Schema

{
     value (Required): [
         String (Required)
     ]
     nextLink: String (Optional)
 }

Parameters:

requestOptions - The options to configure the HTTP request before HTTP client sends it.

Returns:

a list of all update providers that have been imported to Device Update for IoT Hub as paginated response with PagedFlux<T>.

listUpdates

public PagedFlux listUpdates(RequestOptions requestOptions)

Get a list of all updates that have been imported to Device Update for IoT Hub.

Query Parameters

| ------ | ------ | -------- | ------------------------------------------------------- |
| Name   | Type   | Required | Description                                             |
| search | String | No       | Request updates matching a free-text search expression. |
| filter | String | No       | Optional to filter updates by isDeployable property.    |

You can add these to a request with RequestOptions#addQueryParam

Response Body Schema

{
     value (Required): [
          (Required){
             updateId (Required): {
                 provider: String (Required)
                 name: String (Required)
                 version: String (Required)
             }
             description: String (Optional)
             friendlyName: String (Optional)
             isDeployable: Boolean (Optional)
             updateType: String (Optional)
             installedCriteria: String (Optional)
             compatibility (Required): [
                  (Required){
                     String: String (Required)
                 }
             ]
             instructions (Optional): {
                 steps (Required): [
                      (Required){
                         type: String(Inline/Reference) (Optional)
                         description: String (Optional)
                         handler: String (Optional)
                         handlerProperties: Object (Optional)
                         files (Optional): [
                             String (Optional)
                         ]
                         updateId (Optional): (recursive schema, see updateId above)
                     }
                 ]
             }
             referencedBy (Optional): [
                 (recursive schema, see above)
             ]
             scanResult: String (Optional)
             manifestVersion: String (Required)
             importedDateTime: OffsetDateTime (Required)
             createdDateTime: OffsetDateTime (Required)
             etag: String (Optional)
         }
     ]
     nextLink: String (Optional)
 }

Parameters:

requestOptions - The options to configure the HTTP request before HTTP client sends it.

Returns:

a list of all updates that have been imported to Device Update for IoT Hub as paginated response with PagedFlux<T>.

listVersions

public PagedFlux listVersions(String provider, String name, RequestOptions requestOptions)

Get a list of all update versions that match the specified provider and name.

Query Parameters

| ------ | ------ | -------- | ---------------------------------------------------- |
| Name   | Type   | Required | Description                                          |
| filter | String | No       | Optional to filter updates by isDeployable property. |

You can add these to a request with RequestOptions#addQueryParam

Response Body Schema

{
     value (Required): [
         String (Required)
     ]
     nextLink: String (Optional)
 }

Parameters:

provider - Update provider.
name - Update name.
requestOptions - The options to configure the HTTP request before HTTP client sends it.

Returns:

a list of all update versions that match the specified provider and name as paginated response with PagedFlux<T>.

Applies to