[durabletask] Add API version 2026-05-01-preview resources (release 1.0.0b8)#9925
Conversation
|
| rule | cmd_name | rule_message | suggest_message |
|---|---|---|---|
| durabletask scheduler | sub group durabletask scheduler updated property sub_groups from {} to {'durabletask scheduler identity': {'name': 'durabletask scheduler identity', 'commands': {'durabletask scheduler identity assign': {'name': 'durabletask scheduler identity assign', 'is_aaz': True, 'supports_no_wait': True, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'no_wait', 'options': ['--no-wait'], 'choices': ['0', '1', 'f', 'false', 'n', 'no', 't', 'true', 'y', 'yes'], 'nargs': '?', 'aaz_type': 'bool', 'type': 'bool'}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'name', 'options': ['--name', '-n'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'mi_user_assigned', 'options': ['--mi-user-assigned', '--user-assigned'], 'nargs': '*', 'aaz_type': 'AAZListArg', 'type': 'List<String>'}]}, 'durabletask scheduler identity remove': {'name': 'durabletask scheduler identity remove', 'is_aaz': True, 'supports_no_wait': True, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'no_wait', 'options': ['--no-wait'], 'choices': ['0', '1', 'f', 'false', 'n', 'no', 't', 'true', 'y', 'yes'], 'nargs': '?', 'aaz_type': 'bool', 'type': 'bool'}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'name', 'options': ['--name', '-n'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'mi_user_assigned', 'options': ['--mi-user-assigned', '--user-assigned'], 'nargs': '*', 'aaz_type': 'AAZListArg', 'type': 'List<String>'}]}, 'durabletask scheduler identity show': {'name': 'durabletask scheduler identity show', 'is_aaz': True, 'parameters': [{'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'name', 'options': ['--name', '-n'], 'required': True, 'aaz_type': 'string', 'type': 'string'}]}, 'durabletask scheduler identity wait': {'name': 'durabletask scheduler identity wait', 'is_aaz': True, 'parameters': [{'name': 'timeout', 'options': ['--timeout'], 'type': 'int', 'default': 3600}, {'name': 'interval', 'options': ['--interval'], 'type': 'int', 'default': 30}, {'name': 'deleted', 'options': ['--deleted']}, {'name': 'created', 'options': ['--created']}, {'name': 'updated', 'options': ['--updated']}, {'name': 'exists', 'options': ['--exists']}, {'name': 'custom', 'options': ['--custom']}, {'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'name', 'options': ['--name', '-n'], 'required': True, 'id_part': 'name', 'aaz_type': 'string', 'type': 'string'}]}}, 'sub_groups': {}}, 'durabletask scheduler transparent-data-encryption': {'name': 'durabletask scheduler transparent-data-encryption', 'commands': {'durabletask scheduler transparent-data-encryption create': {'name': 'durabletask scheduler transparent-data-encryption create', 'is_aaz': True, 'supports_no_wait': True, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'no_wait', 'options': ['--no-wait'], 'choices': ['0', '1', 'f', 'false', 'n', 'no', 't', 'true', 'y', 'yes'], 'nargs': '?', 'aaz_type': 'bool', 'type': 'bool'}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'scheduler_name', 'options': ['--scheduler-name'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'key_source', 'options': ['--key-source'], 'choices': ['CustomerManaged', 'MicrosoftManaged'], 'default': 'CustomerManaged', 'aaz_type': 'string', 'type': 'string', 'aaz_default': 'CustomerManaged'}, {'name': 'key_vault_key_uri', 'options': ['--key-vault-key-uri'], 'aaz_type': 'string', 'type': 'string'}]}, 'durabletask scheduler transparent-data-encryption delete': {'name': 'durabletask scheduler transparent-data-encryption delete', 'is_aaz': True, 'supports_no_wait': True, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'no_wait', 'options': ['--no-wait'], 'choices': ['0', '1', 'f', 'false', 'n', 'no', 't', 'true', 'y', 'yes'], 'nargs': '?', 'aaz_type': 'bool', 'type': 'bool'}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'scheduler_name', 'options': ['--scheduler-name'], 'required': True, 'id_part': 'name', 'aaz_type': 'string', 'type': 'string'}, {'name': 'yes', 'options': ['--yes', '-y']}]}, 'durabletask scheduler transparent-data-encryption show': {'name': 'durabletask scheduler transparent-data-encryption show', 'is_aaz': True, 'parameters': [{'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'scheduler_name', 'options': ['--scheduler-name'], 'required': True, 'id_part': 'name', 'aaz_type': 'string', 'type': 'string'}]}, 'durabletask scheduler transparent-data-encryption update': {'name': 'durabletask scheduler transparent-data-encryption update', 'is_aaz': True, 'supports_no_wait': True, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'no_wait', 'options': ['--no-wait'], 'choices': ['0', '1', 'f', 'false', 'n', 'no', 't', 'true', 'y', 'yes'], 'nargs': '?', 'aaz_type': 'bool', 'type': 'bool'}, {'name': 'generic_update_add', 'options': ['--add'], 'nargs': '+', 'aaz_type': 'AAZGenericUpdateAddArg'}, {'name': 'generic_update_set', 'options': ['--set'], 'nargs': '+', 'aaz_type': 'AAZGenericUpdateSetArg'}, {'name': 'generic_update_remove', 'options': ['--remove'], 'nargs': '+', 'aaz_type': 'AAZGenericUpdateRemoveArg'}, {'name': 'generic_update_force_string', 'options': ['--force-string'], 'choices': ['0', '1', 'f', 'false', 'n', 'no', 't', 'true', 'y', 'yes'], 'nargs': '?', 'aaz_type': 'bool', 'type': 'bool'}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'scheduler_name', 'options': ['--scheduler-name'], 'required': True, 'id_part': 'name', 'aaz_type': 'string', 'type': 'string'}, {'name': 'key_source', 'options': ['--key-source'], 'choices': ['CustomerManaged', 'MicrosoftManaged'], 'aaz_type': 'string', 'type': 'string'}, {'name': 'key_vault_key_uri', 'options': ['--key-vault-key-uri'], 'aaz_type': 'string', 'type': 'string'}]}, 'durabletask scheduler transparent-data-encryption wait': {'name': 'durabletask scheduler transparent-data-encryption wait', 'is_aaz': True, 'parameters': [{'name': 'timeout', 'options': ['--timeout'], 'type': 'int', 'default': 3600}, {'name': 'interval', 'options': ['--interval'], 'type': 'int', 'default': 30}, {'name': 'deleted', 'options': ['--deleted']}, {'name': 'created', 'options': ['--created']}, {'name': 'updated', 'options': ['--updated']}, {'name': 'exists', 'options': ['--exists']}, {'name': 'custom', 'options': ['--custom']}, {'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'scheduler_name', 'options': ['--scheduler-name'], 'required': True, 'id_part': 'name', 'aaz_type': 'string', 'type': 'string'}]}}, 'sub_groups': {}}} |
||
| durabletask scheduler restart | cmd durabletask scheduler restart added |
||
| durabletask taskhub create | cmd durabletask taskhub create added parameter capabilities |
|
Hi @berndverst, |
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds new Azure Durable Task CLI capabilities by introducing scheduler restart + identity management commands, new transparent data encryption (TDE) command group, and updating Task Hub commands to the latest preview API surface.
Changes:
- Added
durabletask scheduler restartcustom command (POST/restart) and parameters/help. - Added scheduler identity assign/remove commands (with SKU capacity payload sanitization).
- Updated Task Hub commands to
2026-05-01-previewand addedcapabilitiessupport; introduced scheduler TDE AAZ command group (create/update/show/delete/wait).
Reviewed changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| src/durabletask/azext_durabletask/custom.py | Exposes new scheduler/identity/restart entrypoints via imports. |
| src/durabletask/azext_durabletask/commands.py | Registers new restart command and scheduler identity assign/remove commands. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/taskhub/_wait.py | Bumps api-version; adds capabilities to output schema. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/taskhub/_show.py | Bumps api-version; adds capabilities to output schema. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/taskhub/_list.py | Bumps api-version; adds capabilities to output schema. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/taskhub/_delete.py | Bumps api-version to preview. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/taskhub/_create.py | Bumps api-version; adds --capabilities argument and request payload support; adds capabilities to output schema. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/scheduler/transparent_data_encryption/_wait.py | New AAZ wait command for scheduler TDE. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/scheduler/transparent_data_encryption/_update.py | New AAZ update command for scheduler TDE. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/scheduler/transparent_data_encryption/_show.py | New AAZ show command for scheduler TDE. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/scheduler/transparent_data_encryption/_delete.py | New AAZ delete command for scheduler TDE. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/scheduler/transparent_data_encryption/_create.py | New AAZ create command for scheduler TDE. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/scheduler/transparent_data_encryption/init.py | Exports scheduler TDE command group and commands. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/scheduler/transparent_data_encryption/__cmd_group.py | New durabletask scheduler transparent-data-encryption command group. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/scheduler/identity/_wait.py | New AAZ wait command for scheduler identity subresource. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/scheduler/identity/_show.py | New AAZ show command for scheduler identity subresource. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/scheduler/identity/_remove.py | New AAZ identity remove command. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/scheduler/identity/_assign.py | New AAZ identity assign command. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/scheduler/identity/init.py | Exports scheduler identity command group and commands. |
| src/durabletask/azext_durabletask/aaz/latest/durabletask/scheduler/identity/__cmd_group.py | New durabletask scheduler identity command group. |
| src/durabletask/azext_durabletask/_scheduler.py | Adds identity wrappers to sanitize SKU capacity; implements restart_scheduler. |
| src/durabletask/azext_durabletask/_params.py | Adds CLI parameters for durabletask scheduler restart. |
| src/durabletask/azext_durabletask/_help.py | Adds help entries for restart, identity assign, and TDE create/update. |
|
durabletask |
…ion constant, multi-line import)
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
[Release] Update index.json for extension [ durabletask-1.0.0b8 ] : https://dev.azure.com/msazure/One/_build/results?buildId=168511616&view=results |
This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
This PR adds support for the
2026-05-01-previewDurable Task management API to thedurabletaskCLI extension. It introduces three new experimental scheduler capabilities — restart, managed identity management, and transparent data encryption (TDE) — and adds task hub capabilities support. The extension version is bumped from1.0.0b7to1.0.0b8.az durabletask scheduler restart(preview)Restart a scheduler via the
POST /restartoperation on the scheduler resource.az durabletask scheduler identity(preview)Manage system-assigned and user-assigned managed identities on a scheduler. Subcommands:
assign,remove,show,wait.The
assignandremovecommands are wrapped by custom overloads (AssignIdentity,RemoveIdentity) that strip an inapplicablesku.capacityfrom the full-resource PUT payload, preventing invalid requests for non-Dedicated (e.g. Consumption) SKUs.az durabletask scheduler transparent-data-encryption(preview)Manage transparent data encryption with Microsoft-managed or customer-managed keys. Subcommands:
create,update,delete,show,wait.Task hub capabilities (
--capabilities)az durabletask taskhub createnow accepts a--capabilitiesargument, and thecapabilitiesproperty is surfaced intaskhub create/list/show/waitoutput.API version bump
Task hub commands (
create,delete,list,show,wait) are updated from2026-02-01to2026-05-01-preview.Want me to save this as the PR body somewhere, or adjust the tone/length?
General Guidelines
azdev style <YOUR_EXT>locally? (pip install azdevrequired)python scripts/ci/test_index.py -qlocally? (pip install wheel==0.30.0required)For new extensions:
About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update
src/index.jsonautomatically.You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify
src/index.json.