azurecli
43 TopicsAnnouncing a new login experience with Azure PowerShell and Azure CLI
“You never get a second chance to make a first impression” said Will Rogers, this also applies to the Azure CLI and Azure PowerShell with the first command to execute. After hearing from our customers, our team spent the last few months improving the first experience of the Azure client tools. The new experience prioritizes access to usable information and shorter path to selecting your subscription.12KViews3likes16CommentsLatest improvements to the Azure CLI experience
Hello all, welcome to another CLI release blog. Today we will be sharing with you our recent effort and investment in improving the Azure CLI user experience, which includes the new colorization guidelines, enhanced error output, output hints for az login, and command progress bars. You could read more about our previous UX work here You can also download the latest official release from the https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest or the dev build from the https://github.com/Azure/azure-cli CLI colorization guideline: The CLI colorization guideline was developed to improve the legibility of command line text. We took inspiration from other popular CLIs, prescribed new meaning to some of the traditional colors, ensured that this is accessible to all, and standardized its application across the Azure CLI. In the https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?tabs=azure-cli, we support both dark and light themes which can be configured via az config set core.theme = dark/light: Figure1: Dark and light theme of CLI color application A few other things to note: The theme and colorization are on by default, although they can be toggled on/off via az config set core.no_color = true/false Colors from the Azure CLI theme will not override your pre-customized settings. We only map the color names to the corresponding color values from your terminal settings, and for colors that don’t provide sufficient contrast (like blue in Windows PowerShell terminal), they are disabled and are defaulted back to your terminal’s primary output color We are currently in discussion with the PowerShell and Azure Cloud Shell teams to standardize the terminal color application all up. If this is something of interest to you, please leave a comment below and share with us your feedback. New error output v2 design: As per the pre-announcement made here a couple of months ago, our team has been working towards refining both the i) error output design, and the ii) recommendation accuracy – to enable faster error resolution. We often hear from you, our customers, that dealing with errors is difficult due to incomplete or cryptic messages. We hope our v2 design will continue to enhance the legibility those messages and help you recover from them quickly. Figure2: New error output design Figure 3: new error output with recommendations disabled For those of you who don’t want these recommendations, they can be suppressed via az config set core.error_recommendations = off. For example, if you are only interested in basic error messages in an automation scenario (like a DevOps pipeline), the output logs won’t be overwhelmed by these recommendations If you would like to learn more about how we used AI to build out these recommendations, you can learn more about how we empower developers through AI and the architectural implementation of the underlying service powering this. az login post output hint We hear from our customers that discovering what their default subscription is in midst of 20+ active subscriptions after they run az login is time consuming. We experimented with post-output hints where we enable and extended additional outputs beyond the default output. In the example of az login post-output hint below, we provide the default subscription info at the end, so that you no longer have to scroll through multiple screens to find that needle in the haystack: Gif 1: post output hint for az login to display default subscription In the same example, there are a few other commands being recommended as part of the extended output. The reason being we’re leveraging this to introduce some popular commands which customers have been asking for. So far we’ve been receiving positive feedback on this enhancement and would certainly love your additional thoughts! Feel free to give the edge build a try! New command progress bars: Not-so-fun fact: almost all of our long running operations do not display dynamic progress bars during command execution. Most of the time, they only display the static ‘Running…’ indicator without any process updates. This means that interactive users who manage their Azure resources in the terminal are often confused with the execution status. This has been noted as a primary source of frustration in our user testing labs, where the terminal is misinterpreted as hanging and users would terminate their current session, leading to a loss of productivity As a mitigation to the above challenge, our team worked through several iterations of the progress bar designs and explored their pros and cons. Determinant progress bars are ones where we provide approximate time to command completion, while indeterminant designs are for commands that we do not have an approximate time to completion for, but would still like to provide an indication to our users that the command is running. The GIF below presents our top designs in action, which are implemented as preview across some of our long running operations: Gif 2: Determinant and indeterminant progress bar design We plan to roll out broad support for all long running operations. By the end of February, all long running operations will support the indeterminant progress bars. For the time being, they are supported in the edge build below. If you have specific insights or preferences on the above design, feel free to also leave us a comment below. Next steps and getting started with edge build: Here's how you could get started with the edge build: # 1) Create a virtual environment python -m venv edge-venv # 2) Activate the virtual environment # a) PowerShell on Windows, or . .\edge-venv\Scripts\Activate.ps1 # b) Linux/MacOS Bash . ./edge-venv/bin/activate # c) Install Azure CLI edge build pip install --extra-index-url https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fazurecliedge.blob.core.windows.net%2Fedge%2Fsimple%2F&data=04%7C01%7CYun.Chen%40microsoft.com%7C1d1e1a2605924f47f8c708d8d3e7da85%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637492340072924176%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=KNC8kiCANnBf66%2FNSqe6KA%2FYOAOmERpzuvDUz73baFs%3D&reserved=0 azure-cli There you'd be able to play with the az login post output and the command progress bars We’d love for you to try out these new experiences and share us your https://aka.ms/cli_feedback on their usability and applicability for your day-to-day use cases Thank you!8.4KViews2likes4CommentsDeprecation of old azure-cli docker image on Docker Hub
Summary As previously announced, we are deprecating all /microsoft org container images hosted in Docker Hub repositories on June 30 th , 2021. This includes some old azure-cli images (pre v2.12.1), all of which are already available on Microsoft Container Registry (MCR). In preparation for the deprecation, we are removing the latest tag from the microsoft/azure-cli container image in Dockerhub. If you are referencing microsoft/azure-cli:latest in your automation or Dockerfiles, you will see failures. What should I do? To avoid any impact on your development, deployment, or automation scripts, you should update docker pull commands, FROM statements in Dockerfiles, and other references to microsoft/azure-cli container images to explicitly reference mcr.microsoft.com/azure-cli instead. What’s next? On June 30 th we will remove all version tags from Dockerhub for microsoft/azure-cli . After that date the only to consume the container images will be via MCR. How to get additional help? We understand that there may be unanswered questions. You can get additional help by submitting an issue on GitHub.7.2KViews0likes1Comment