Skip to content

Conversation

@vthiebaut10
Copy link
Contributor


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

Related command

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 wheel==0.30.0 required)
  • My extension version conforms to the Extension version schema

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

Copilot AI review requested due to automatic review settings December 10, 2025 21:04
@azure-client-tools-bot-prd
Copy link

azure-client-tools-bot-prd bot commented Dec 10, 2025

️✔️Azure CLI Extensions Breaking Change Test
️✔️Non Breaking Changes

@yonzhan
Copy link
Collaborator

yonzhan commented Dec 10, 2025

Thank you for your contribution! We will review the pull request and get back to you soon.

@azure-client-tools-bot-prd
Copy link

Hi @vthiebaut10,
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 setup.py as well.

@github-actions
Copy link

The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR.

Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions).
After that please run the following commands to enable git hooks:

pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>

@github-actions
Copy link

CodeGen Tools Feedback Collection

Thank you for using our CodeGen tool. We value your feedback, and we would like to know how we can improve our product. Please take a few minutes to fill our codegen survey

@github-actions
Copy link

Hi @vthiebaut10

Release Suggestions

Module: ssh

  • Please log updates into to src/ssh/HISTORY.rst
  • Update VERSION to 2.1.0 in src/ssh/setup.py

Notes

Copy link
Contributor

Copilot AI left a comment

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 changes the authentication scope for SSH certificate acquisition from cloud-specific endpoints to a unified AADSSHLoginForLinux application ID. This simplifies the authentication flow by using a single app ID across all Azure cloud environments.

  • Removes the cloud-to-scope mapping dictionary that previously supported Azure Cloud, Azure China Cloud, and Azure US Government
  • Replaces cloud-specific scopes with the hardcoded AADSSHLoginForLinux app ID 'ce6ff14a-7fdc-4685-bbe0-f6afdfcfa8e0'
  • Adds debug logging for the scopes list


scopes = [scope]

logger.debug(scopes)
Copy link

Copilot AI Dec 10, 2025

Choose a reason for hiding this comment

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

Trailing whitespace detected at the end of this line. Remove the whitespace after the closing parenthesis.

Suggested change
logger.debug(scopes)
logger.debug(scopes)

Copilot uses AI. Check for mistakes.
Comment on lines +208 to +211
scope = 'ce6ff14a-7fdc-4685-bbe0-f6afdfcfa8e0'

scopes = [scope]

Copy link

Copilot AI Dec 10, 2025

Choose a reason for hiding this comment

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

The intermediate 'scope' variable on line 208 is only used once on line 210. Consider directly initializing 'scopes' as a list literal instead of creating an intermediate variable. This would simplify the code by reducing it to a single line: scopes = ['ce6ff14a-7fdc-4685-bbe0-f6afdfcfa8e0']

Suggested change
scope = 'ce6ff14a-7fdc-4685-bbe0-f6afdfcfa8e0'
scopes = [scope]
scopes = ['ce6ff14a-7fdc-4685-bbe0-f6afdfcfa8e0']

Copilot uses AI. Check for mistakes.
op_call(op_info, delete_keys, delete_cert)


def _get_and_write_certificate(cmd, public_key_file, cert_file, ssh_client_folder):
Copy link

Copilot AI Dec 10, 2025

Choose a reason for hiding this comment

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

The hardcoded app ID 'ce6ff14a-7fdc-4685-bbe0-f6afdfcfa8e0' lacks documentation explaining what it represents. Add a comment above this line to clarify that this is the AADSSHLoginForLinux application ID, which replaces the previous cloud-specific scopes. This will help future maintainers understand why this specific GUID is used.

Suggested change
def _get_and_write_certificate(cmd, public_key_file, cert_file, ssh_client_folder):
def _get_and_write_certificate(cmd, public_key_file, cert_file, ssh_client_folder):
# This is the AADSSHLoginForLinux application ID, which replaces previous cloud-specific scopes.

Copilot uses AI. Check for mistakes.
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.

3 participants