Skip to content

Quantum: Update user create/delete operation - #10282

Open
Pavel Braginskiy (pavelbraginskiy) wants to merge 47 commits into
Azure:mainfrom
pavelbraginskiy:v-pavelbra/53910-user-add-remove
Open

Quantum: Update user create/delete operation#10282
Pavel Braginskiy (pavelbraginskiy) wants to merge 47 commits into
Azure:mainfrom
pavelbraginskiy:v-pavelbra/53910-user-add-remove

Conversation

@pavelbraginskiy

@pavelbraginskiy Pavel Braginskiy (pavelbraginskiy) commented Aug 31, 2026

Copy link
Copy Markdown

🤖 PR Validation — ⚠️ Review suggested

Breaking Changes
⚠️ None
⚠️Azure CLI Extensions Breaking Change Test
⚠️quantum
rule cmd_name rule_message suggest_message
⚠️ 1015 - SubgroupPropUpdate quantum workspace user sub group quantum workspace user updated property commands from {'quantum workspace user create': {'name': 'quantum workspace user create', 'is_aaz': False, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'resource_group_name', 'options': ['--resource-group', '-g'], 'id_part': 'resource_group', 'has_completer': True}, {'name': 'workspace_name', 'options': ['--workspace-name', '-w']}, {'name': 'assignee', 'options': ['--assignee']}, {'name': 'assignee_object_id', 'options': ['--assignee-object-id']}, {'name': 'assignee_principal_type', 'options': ['--assignee-principal-type'], 'choices': ['ForeignGroup', 'Group', 'ServicePrincipal', 'User']}, {'name': 'role', 'options': ['--role']}]}, 'quantum workspace user delete': {'name': 'quantum workspace user delete', 'is_aaz': False, 'confirmation': True, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'resource_group_name', 'options': ['--resource-group', '-g'], 'id_part': 'resource_group', 'has_completer': True}, {'name': 'workspace_name', 'options': ['--workspace-name', '-w']}, {'name': 'assignee', 'options': ['--assignee']}, {'name': 'assignee_object_id', 'options': ['--assignee-object-id']}, {'name': 'role', 'options': ['--role']}, {'name': 'yes', 'options': ['--yes', '-y']}]}, 'quantum workspace user list': {'name': 'quantum workspace user list', 'is_aaz': False, 'parameters': [{'name': 'resource_group_name', 'options': ['--resource-group', '-g'], 'id_part': 'resource_group', 'has_completer': True}, {'name': 'workspace_name', 'options': ['--workspace-name', '-w']}, {'name': 'include_inherited', 'options': ['--include-inherited'], 'choices': ['false', 'true'], 'nargs': '?', 'default': True}]}} to {'quantum workspace user add': {'name': 'quantum workspace user add', 'is_aaz': False, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'resource_group_name', 'options': ['--resource-group', '-g'], 'id_part': 'resource_group', 'has_completer': True}, {'name': 'workspace_name', 'options': ['--workspace-name', '-w']}, {'name': 'email', 'options': ['--email'], 'required': True}]}, 'quantum workspace user remove': {'name': 'quantum workspace user remove', 'is_aaz': False, 'confirmation': True, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'resource_group_name', 'options': ['--resource-group', '-g'], 'id_part': 'resource_group', 'has_completer': True}, {'name': 'workspace_name', 'options': ['--workspace-name', '-w']}, {'name': 'email', 'options': ['--email'], 'required': True}, {'name': 'yes', 'options': ['--yes', '-y']}]}, 'quantum workspace user list': {'name': 'quantum workspace user list', 'is_aaz': False, 'parameters': [{'name': 'resource_group_name', 'options': ['--resource-group', '-g'], 'id_part': 'resource_group', 'has_completer': True}, {'name': 'workspace_name', 'options': ['--workspace-name', '-w']}, {'name': 'include_inherited', 'options': ['--include-inherited'], 'choices': ['false', 'true'], 'nargs': '?', 'default': True}]}}

Continuation of the work in #10226.
Replaces az quantum workspace user create/delete with add/remove, and makes these commands support only Users and not other principal types.

This extension is in Preview, so no deprecation process is necessary for this breaking change.


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

Related command

az quantum workspace user add

General Guidelines

  • Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
  • Have you run python scripts/ci/test_index.py -q locally? (pip install azdev required)
  • My extension version conforms to the Extension version schema

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.json automatically.
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.

Konstantin and others added 28 commits August 12, 2026 11:30
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…-Update-user-create-delete

# Conflicts:
#	src/quantum/azext_quantum/_params.py
…-add-remove

# Conflicts:
#	src/quantum/HISTORY.rst
#	src/quantum/azext_quantum/_help.py
#	src/quantum/azext_quantum/_params.py
#	src/quantum/azext_quantum/commands.py
#	src/quantum/azext_quantum/operations/workspace.py
#	src/quantum/azext_quantum/tests/latest/test_quantum_workspace.py
#	src/quantum/setup.py
@azure-client-tools-bot-prd

Copy link
Copy Markdown

Hi Pavel Braginskiy (@pavelbraginskiy),
Please write the description of changes which can be perceived by customers into HISTORY.rst.
If you want to release a new extension version, please update the version in pyproject.toml (or setup.py, if the extension has not migrated yet) as well.

@x-engineering-agent

Copy link
Copy Markdown

Automated sensitive-information remediation ran on this pull request.

X Engineering Agent does not modify source files. The PR creator must remove or replace each suspected value at the linked line:

  • No changed-file findings

If a credential was exposed, rotate or revoke it immediately. Detected values are never copied into this comment.

✅ Confirm the finding · ❌ Dispute the finding

GitHub only supports a fixed reaction set, so 👍 represents ✅ and 👎 represents ❌. The bot-created reactions are only poll choices.

@yonzhan

Copy link
Copy Markdown
Collaborator

Quantum

@x-engineering-agent

Copy link
Copy Markdown

Automated sensitive-information remediation ran on this pull request.

X Engineering Agent does not modify source files. The PR creator must remove or replace each suspected value at the linked line:

  • No changed-file findings

If a credential was exposed, rotate or revoke it immediately. Detected values are never copied into this comment.

✅ Confirm the finding · ❌ Dispute the finding

GitHub only supports a fixed reaction set, so 👍 represents ✅ and 👎 represents ❌. The bot-created reactions are only poll choices.

Comment thread src/quantum/azext_quantum/operations/workspace.py Outdated
Comment thread src/quantum/azext_quantum/operations/workspace.py Outdated
Comment thread src/quantum/HISTORY.rst Outdated
Comment thread src/quantum/azext_quantum/operations/workspace.py Outdated
Comment thread src/quantum/azext_quantum/operations/workspace.py Outdated
@x-engineering-agent

Copy link
Copy Markdown

Automated sensitive-information remediation ran on this pull request.

X Engineering Agent does not modify source files. The PR creator must remove or replace each suspected value at the linked line:

  • No changed-file findings

If a credential was exposed, rotate or revoke it immediately. Detected values are never copied into this comment.

✅ Confirm the finding · ❌ Dispute the finding

GitHub only supports a fixed reaction set, so 👍 represents ✅ and 👎 represents ❌. The bot-created reactions are only poll choices.

Comment thread src/quantum/azext_quantum/operations/workspace.py Outdated
Comment thread src/quantum/azext_quantum/operations/workspace.py
Comment thread src/quantum/azext_quantum/_params.py Outdated
Comment thread src/quantum/azext_quantum/operations/workspace.py Outdated
@pavelbraginskiy
Pavel Braginskiy (pavelbraginskiy) marked this pull request as ready for review September 10, 2026 17:47
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@pavelbraginskiy

Copy link
Copy Markdown
Author

Hi Ethan Yang (@necusjz), I believe this PR is ready now, please take a look when you can. Thank you.

@yonzhan

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

act-codegen-extensibility-squad Auto-Assign Auto assign by bot customer-reported Issues that are reported by GitHub users external to the Azure organization. Quantum az quantum

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants