Skip to content

feat: Add adu tls support#846

Draft
ketkimnaik wants to merge 9 commits into
Azure:ketkinaik/adu-tls-supportfrom
ketkimnaik:add-adu-tls-support
Draft

feat: Add adu tls support#846
ketkimnaik wants to merge 9 commits into
Azure:ketkinaik/adu-tls-supportfrom
ketkimnaik:add-adu-tls-support

Conversation

@ketkimnaik

Copy link
Copy Markdown
Contributor

Add --download-security (TLS) support for ADU deployments

  • New --download-security {https|http} parameter on az iot du device deployment create, letting customers choose the protocol for update payload downloads. Aligns with Azure secure-by-default (TLS/https); http remains available for compatibility.

  • Surfaces downloadSecurity on deployment output, so deployment show/create clearly indicate which protocol is used for content downloads — improving visibility for mixed environments.

  • Adopts the 2026-06-01 ADU dataplane API (new DownloadSecurity enum + Deployment.downloadSecurity field), with help examples and integration-test coverage asserting both https and http round-trip.


This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Thank you for contributing to the IoT extension!

This checklist is used to make sure that common guidelines for a pull request are followed.

General Guidelines

Intent for Production

  • It is expected that pull requests made to default or core branches such as dev or main are of production grade. Corollary to this, any merged contributions to these branches may be deployed in a public release at any given time. By checking this box, you agree and commit to the expected production quality of code.

Basic expectations

  • If introducing new functionality or modified behavior, are they backed by unit and/or integration tests?
  • In the same context as above are command names and their parameter definitions accurate? Do help docs have sufficient content?
  • Have all the relevant unit and integration tests pass? i.e. pytest <project root> -vv. Please provide evidence in the form of a screenshot showing a succesful run of tests locally OR a link to a test pipeline that has been run against the change-set.
  • Have linter checks passed using the .pylintrc and .flake8 rules? Look at the CI scripts for example usage.
  • Have extraneous print or debug statements, commented out code-blocks or code-statements (if any) been removed from the surface area of changes?
  • Have you made an entry in HISTORY.rst which concisely explains your user-facing feature or change?

Azure IoT CLI maintainers reserve the right to enforce any of the outlined expectations.

A PR is considered ready for review when all basic expectations have been met (or do not apply).

Copilot AI review requested due to automatic review settings June 25, 2026 20:41
@ketkimnaik ketkimnaik requested a review from digimaun as a code owner June 25, 2026 20:41

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds Device Update (ADU) deployment support for selecting the protocol used when devices download update payloads, defaulting to secure-by-default HTTPS while allowing HTTP for compatibility. It updates the ADU dataplane SDK surface to include the new downloadSecurity field/enum and adds an integration test round-trip for both values.

Changes:

  • Add --download-security {https|http} to az iot du device deployment create and plumb it through to the dataplane Deployment model.
  • Update the generated ADU dataplane models/enums to include DownloadSecurity and Deployment.downloadSecurity.
  • Add integration test coverage asserting downloadSecurity round-trips for both https and http, and update the SDK default api-version to 2026-06-01.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
azext_iot/tests/deviceupdate/test_adu_update_int.py Adds integration assertions for downloadSecurity on create/show for both https and http.
azext_iot/sdk/deviceupdate/dataplane/models/_models_py3.py Adds download_security field mapping to the generated Deployment model.
azext_iot/sdk/deviceupdate/dataplane/models/_device_update_client_enums.py Introduces generated DownloadSecurity enum (https/http).
azext_iot/sdk/deviceupdate/dataplane/models/init.py Exports DownloadSecurity from the models package.
azext_iot/sdk/deviceupdate/dataplane/_configuration.py Updates default dataplane api_version to 2026-06-01.
azext_iot/deviceupdate/params.py Adds CLI argument definition for --download-security using an enum arg type.
azext_iot/deviceupdate/common.py Adds CLI-side enum ADUDownloadSecurityType.
azext_iot/deviceupdate/commands_deployment.py Wires download_security into deployment creation request model.
azext_iot/deviceupdate/_help.py Adds a help example demonstrating --download-security http.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread azext_iot/sdk/deviceupdate/dataplane/_configuration.py
@ketkimnaik ketkimnaik changed the base branch from dev to ketkinaik/adu-tls-support June 25, 2026 20:47
@ketkimnaik ketkimnaik requested a review from Copilot June 25, 2026 20:49
@ketkimnaik ketkimnaik marked this pull request as draft June 25, 2026 20:50

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.

Comment thread azext_iot/deviceupdate/params.py Outdated
Comment thread azext_iot/deviceupdate/params.py
Comment thread azext_iot/deviceupdate/_help.py Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Comment thread azext_iot/tests/deviceupdate/test_adu_update_int.py
…utoRest

Use AutoRest 3.9.2 + @autorest/python@5.19.0 against:
specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/stable/2026-06-01/deviceupdate.json

Key changes from 2022-10-01:
- api_version updated to 2026-06-01 throughout all operations
- Added DownloadSecurity enum (https/http)
- Added download_security field to Deployment model

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 17 changed files in this pull request and generated 4 comments.

Comment thread azext_iot/sdk/deviceupdate/dataplane/models/_models_py3.py
Comment thread azext_iot/deviceupdate/params.py Outdated
Comment thread azext_iot/deviceupdate/common.py
Comment thread azext_iot/sdk/deviceupdate/dataplane/_configuration.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants