Skip to content

PowerShell module for handling AzureCLI command output more like a native PowerShell command.

License

Notifications You must be signed in to change notification settings

smokedlinq/powershell-az

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d5461aa · Jan 31, 2024

History

29 Commits
Jan 31, 2024
May 15, 2021
Sep 10, 2022
May 15, 2021
Apr 27, 2021
May 15, 2021
Jan 31, 2024
Jan 31, 2024
Jan 31, 2024

Repository files navigation

powershell-az

CI PowerShellGallery

PowerShell module for handling AzureCLI command output more like a native PowerShell command.

Invoke-AzCommand

Replaces the az command with an alias to Invoke-AzCommand that changes the behavior of az from the AzureCLI in the following ways:

  • Output is parsed as json unless the -o|--output parameter is specified as something other than json|jsonc and the -h|--help parameter is not specified
  • Error stream output is parsed into Write-Warning, Write-Error, Write-Verbose, and Write-Debug streams, progress bars are ignored
  • Automatically injects the --verbose parameter if $VerbosePreference is not SilentlyContinue
  • Automatically injects the --debug parameter is $DebugPreference is not SilentlyContinue
  • Uses Write-Host to log the command if run from an Azure DevOps Pipeline or GitHub Actions workflow

ConvertTo-AzJson

Converts an array, object, or hashtable to JSON and encodes it for use with the az parameters that take JSON input.

az deployment group create -g {} -f {} `
  -p param1=$(@{x=1;y=2} | ConvertTo-AzJson)

az deployment group create -g {} -f {} `
  -p param1=$(@{x=1},@{x=2} | ConvertTo-AzJson -AsArray)

Out-AzJsonFile

Converts an array, object, or hashtable to JSON and saves it in a file for use with the az parameters that take JSON input from a file.

az rest -m POST -u {} -b "@$(@{x=1;y=2} | Out-AzJsonFile)"

az rest -m POST -u {} -b "@$(@{x=1},@{x=2} | Out-AzJsonFile -AsArray)"

Note: If the -Path parameter is not specified a temporary file is used.

Out-AzDeploymentParameters

Converts an object or hashtable to a ARM template deployment parameters file.

az deployment group create -g {} -f {} `
  -p "@$(@{param1='value';param2=@('x','y');param3=$true;param5=@{x=1;y=2}} | Out-AzDeploymentParameters)"

Note: If the -Path parameter is not specified a temporary file is used.

About

PowerShell module for handling AzureCLI command output more like a native PowerShell command.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published