Loading...

Announcing template-based previews of Azure CLI and Azure PowerShell for Key Vault deployments

Announcing template-based previews of Azure CLI and Azure PowerShell for Key Vault deployments

We are announcing the new implementation of Azure CLI and Azure PowerShell commands to create Azure Key Vault.

 

Advantages

We leverage the ARM template mechanism to refactor the Key Vault command line. Compared with the previous implementation, calling REST API through SDKs, this implementation scheme has the following advantages that users can benefit from.

  • Consistency. Ensure consistent behavior and defaults between Azure CLI, Azure PowerShell, and Portal. 
  • What-If. Support a ‘what if’ option to predict the impact of a deployment before the command is executed.  
  • Idempotency. Sending the same request multiple times will produce the same result, regardless of resource state.

 

What’s new 

We implemented several new features when compared to the previous version of commands. 

 

What-If

What-If is designed to show users as much information about what their deployment will do before it deploys. 

Nori_Zhang_0-1695260673154.png

 

Progress Bar

We have implemented a progress bar to visualize the deployment.

Animation.gif

 

Idempotency 

We are using the incremental mode of ARM deployment to create key vaults. By setting –FailOnExist as $false, we can repeatedly create the same key vault or update the existing one. 

Create a same key vaultCreate a same key vault

Update the existing vaultUpdate the existing vault

 

Deep Dive 

For Key Vault creation, Azure Client Tools previously followed a different structure than Azure Portal, as shown in the following example:  

Nori_Zhang_0-1695274277072.png

 

With the ARM template included, we maintain consistency and communicate directly with ARM: 

Nori_Zhang_1-1695274297466.png

We are using template specs to make staging and sharing of ARM templates easy. 

 

Next Steps

We look forward to your feedback. We will evaluate the effects and risks and consider expanding the command line scope of service, module, and extension. 

 

Getting Started 

You can test our new version by following the instructions provided below. Your feedback will help shape the strategy of how we build the command line tools for Azure.

 

Getting started with Azure PowerShell

The PowerShell package for private preview is provided on the PowerShell Gallery.

 

Installation 

Copy and paste the following command to install this package using PowerShellGet: 

Install-Module -Name Az.KeyVault -RequiredVersion 4.12.0-preview -AllowPrerelease 

 

Quick Start

 

# 1. Create a Resource Group New-AzResourceGroup -Name $resourceGroupName -location $location # 2. Validate the creation of a key vault using `-WhatIf` New-AzKeyvault -Name $keyvaultName -Location $location -ResourceGroupName $resourceGroupName -WhatIf # 3. Create a key vault, observe the deployment once the command has completed New-AzKeyvault -Name $keyvaultName -Location $location -ResourceGroupName $resourceGroupName # 4. See what will happen if create a key vault in incremental mode and do a little change New-AzKeyvault -Name $keyvaultName -Location $location -ResourceGroupName $resourceGroupName -FailOnExist $false -EnabledForDeployment –WhatIf # 5. Create the existing key vault in incremental mode New-AzKeyvault -Name $keyvaultName -Location $location -ResourceGroupName $resourceGroupName -FailOnExist $false # 6. Clean-up Azure resources Remove-AzResourceGroup -Name $resourceGroupName

 

Getting started with Azure CLI

The CLI package for public preview is provided as MSI / whl packages: 

 

For MSI package Installation

Download and install the MSI package. When the installer asks if it can make changes to your computer, select "Yes". If you have previously installed the Azure CLI, make sure it has been uninstalled first. 

 

For whl package Installation

  1. Prepare and use a separate virtual environment# Create a python virtual env named `testenv` with: python -m venv testenv # Activate the env (if you are using powershell): .\testenv\Scripts\Activate.ps1 # Activate the env (if you are using bash): source venv/bin/activate
  2. Unzip and install private .whl packages # Unzip the file and install three cli whl packages (azure_cli, azure_cli_core, azure_cli_telemetry) pip install azure_cli-2.53.0.post20230920063357-py3-none-any.whl azure_cli_core-2.53.0.post20230920063357-py3-none-any.whl azure_cli_telemetry-1.1.0.post20230920063357-py3-none-any.whl

 

Quick Start

 

# 0 Define your variables let "randomIdentifier=$RANDOM*$RANDOM" location="eastus" resourceGroupName="msdocs-keyvault-rg-$randomIdentifier" keyvaultName = "msdocs-keyvault-name-$randomIdentifier" # 1. Create resource group az group create --resource-group $resourceGroupName --location $location # 2. Validate the creation of a keyvault using `--what-if` az keyvault create --name $keyvaultName --resource-group $resourceGroupName --location $location --what-if # 3. Create a keyvault, observe the deployment once the command has completed az keyvault create --name $keyvaultName --resource-group $resourceGroupName --location $location # 4. See what will happen if create a keyvault in incremental mode and do a little change az keyvault create --name $keyvaultName --resource-group $resourceGroupName --location $location --enabled-for-deployment --fail-on-exist false # 5. Create the existing keyvault in incremental mode az keyvault create --name $keyvaultName --resource-group $resourceGroupName --location $location --fail-on-exist false # 6. Clean-up Azure resources az group delete -name $resourceGroupName

 

 

For whl package clean up  

 

# Deactivate the virtual environment Deactivate # Delete the virtual environment folder to clean up (if you are using linux) rm –rf .\testenv

 

 

Feedback

This feature is already available. Feel free to share your experience by participating in our surveyWe welcome your feedback! 

Published on:

Learn more
Need help with this product?

We can help you with Announcing template-based previews of Azure CLI and Azure PowerShell for Key Vault deployments

If you want help implementing, troubleshooting, or improving this product, contact us and we’ll point you in the right direction.

Azure Tools Blog articles
Azure Tools Blog articles

Azure Tools Blog articles

Share post:

Related posts

Unlocking the Best of Azure with AzureRM and AzAPI Providers

With the recent release of AzAPI 2.0, Azure offers two powerful Terraform providers to meet your infrastructure needs: AzureRM and AzAPI. The ...

1 year ago

Announcing AzAPI 2.0

The AzAPI provider, designed to expedite the integration of new Azure services with HashiCorp Terraform, has now released 2.0. This updated ve...

1 year ago

Azure CLI docker container base Linux image is now Azure Linux

Starting from the version  2.64.0 of Azure CLI, the base Linux distribution of Azure CLI is now Azure Linux.   Impact of the change ...

1 year ago

Mastering the Shorthand Syntax in your daily workflow

Introduction In this tech blog, we'll unravel the magic behind Azure CLI shorthand syntax and discover how it can elevate your command-line ex...

2 years ago

Azure Verified Modules - Monthly Update [June]

AVM Module Summary The AVM team are excited that our community have been busy building AVM Modules. As of June 17th, the AVM Footprint curren...

2 years ago

Azure Verified Modules - Monthly Update [May]

Quarterly Community Call This month we held our first community call. Thank you to everyone that attended & contributed. It was amazing t...

2 years ago

Azure CLI and PowerShell Tools Build 2024 Announcement

Microsoft has announced several new capabilities for Azure CLI and Azure PowerShell at the Microsoft Build 2024. The priority remains to provi...

2 years ago

Terraform on Azure May 2024 Update

    Welcome to our April 2024 update! These blogposts will be covering everything we've gotten up to recently with Terraform on Azu...

2 years ago

Azure Verified Modules - Monthly Update [April]

In the April edition of the Azure Verified Modules update, the AVM team announces their upcoming quarterly community call scheduled for 21st M...

2 years ago

Announcing AzAPI Dynamic Properties

  It’s been almost two years since the announcement of AzAPI, and the provider has eclipsed 20M+ downloads thanks to all of you. We’re ex...

2 years ago

Newsletter

Get the latest Dynamics 365 and Power Platform content in your inbox

A curated digest of community blogs, product news, videos, and podcasts — delivered without the noise.

Weekly updates Unsubscribe anytime Fresh community picks
We use your email only for the newsletter and you can unsubscribe at any time.
By subscribing, you agree to the privacy policy.