0

I have these azure-cli2 (which is python based) commands for creating rbac user and few other activities

az ad user create --display-name "user" --password Pass@word1 --user-principal-name "user@test.onmicrosoft.com"  --mail-nickname user
az role assignment create --role Contributor --assignee "user@test.onmicrosoft.com"
az ad sp create-for-rbac -n "testapp"

I am using the subprocess.check_output() to run these commands from python.

Is there any way directly initiate azure-cli commands from python

I am expecting for something like this:

import azure-core-cli
azure-core-cli.mycommand(param)

PS: I know ,I can get same functionality using azure Python SDK

ClumsyPuffin
  • 3,909
  • 1
  • 17
  • 17
  • Wouldn't it be a better idea to use Azure SDK directly in your script? After all the CLI is written as an application instead of a library. – Troy Dai May 08 '18 at 15:57
  • @Troy Dai I will but that will take some time and till then I have to use this version with the variation suggested by Alex – ClumsyPuffin May 09 '18 at 02:33
  • Possible duplicate of [How to run Azure CLI commands using python?](https://stackoverflow.com/questions/51546073/how-to-run-azure-cli-commands-using-python) – Andy Wong Oct 18 '18 at 11:16

1 Answers1

2

Based on this file, try:

from azure.cli.core import get_default_cli

get_default_cli().invoke(['ad', 'user', 'create', '--display-name', 'user', ...])
Alex Hall
  • 34,833
  • 5
  • 57
  • 89