cli.knack.cli: Command arguments: ['network', 'manager', 'update', '--name', 'jaredgorthy', '--resource-group', 'jaredgorthy-testResources', '--network-manager-scopes', 'management-groups=/providers/Microsoft.Management/managementGroups/alecolson_testmg1', 'management-groups=/providers/Microsoft.Management/managementGroups/alecolson_testmg1', '/providers/Microsoft.Management/managementGroups/alecolson_testmg2', '--debug']
cli.knack.cli: init debug log:
Enable color in terminal.
cli.knack.cli: Event: Cli.PreExecute []
cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [<function CLILogging.on_global_arguments at 0x0212F938>, <function OutputProducer.on_global_arguments at 0x02258A28>, <function CLIQuery.on_global_arguments at 0x022787F8>]
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate []
cli.azure.cli.core: Modules found from index for 'network': ['azure.cli.command_modules.network', 'azure.cli.command_modules.privatedns', 'azext_network_manager']
cli.azure.cli.core: Loading command modules:
cli.azure.cli.core: Name Load Time Groups Commands
cli.azure.cli.core: network 0.811 115 454
cli.azure.cli.core: privatedns 0.050 14 60
cli.azure.cli.core: Total (2) 0.861 129 514
cli.azure.cli.core: These extensions are not installed and will be skipped: ['azext_ai_examples', 'azext_next']
cli.azure.cli.core: Loading extensions:
cli.azure.cli.core: Name Load Time Groups Commands Directory
cli.azure.cli.core: virtual-network-manager 0.125 12 24 C:\Users\jaredgorthy.azure\cliextensions\virtual-network-manager
cli.azure.cli.core: Total (1) 0.125 12 24
cli.azure.cli.core: Loaded 139 groups, 538 commands.
cli.azure.cli.core: Found a match in the command table.
cli.azure.cli.core: Raw command : network manager update
cli.azure.cli.core: Command table: network manager update
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging at 0x045605C8>]
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to 'C:\Users\jaredgorthy.azure\commands\2024-04-04.16-19-13.network_manager_update.61092.log'.
az_command_data_logger: command args: network manager update --name {} --resource-group {} --network-manager-scopes {} {} {} --debug
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [<function register_global_subscription_argument..add_subscription_parameter at 0x04590758>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [<function register_ids_argument..add_ids_arguments at 0x045CFA28>, <function register_cache_arguments..add_cache_arguments at 0x045CFA78>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
cli.azure.cli.core.azclierror: Traceback (most recent call last):
File "C:\Users\jaredgorthy.azure\cliextensions\virtual-network-manager\azext_network_manager\action.py", line 25, in get_action
for (k, v) in (x.split('=', 1) for x in values):
^^^^^^
ValueError: not enough values to unpack (expected 2, got 1)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 233, in invoke
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 589, in execute
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/parser.py", line 261, in parse_args
File "argparse.py", line 1869, in parse_args
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/parser.py", line 281, in parse_known_args
File "argparse.py", line 1902, in parse_known_args
File "argparse.py", line 2096, in _parse_known_args
File "argparse.py", line 2073, in consume_positionals
File "argparse.py", line 1978, in take_action
File "argparse.py", line 1241, in call
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/parser.py", line 281, in parse_known_args
File "argparse.py", line 1902, in parse_known_args
File "argparse.py", line 2096, in _parse_known_args
File "argparse.py", line 2073, in consume_positionals
File "argparse.py", line 1978, in take_action
File "argparse.py", line 1241, in call
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/parser.py", line 281, in parse_known_args
File "argparse.py", line 1902, in parse_known_args
File "argparse.py", line 2096, in _parse_known_args
File "argparse.py", line 2073, in consume_positionals
File "argparse.py", line 1978, in take_action
File "argparse.py", line 1241, in call
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/parser.py", line 281, in parse_known_args
File "argparse.py", line 1902, in parse_known_args
File "argparse.py", line 2114, in _parse_known_args
File "argparse.py", line 2054, in consume_optional
File "argparse.py", line 1978, in take_action
File "C:\Users\jaredgorthy.azure\cliextensions\virtual-network-manager\azext_network_manager\action.py", line 19, in call
action = self.get_action(values, option_string)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\jaredgorthy.azure\cliextensions\virtual-network-manager\azext_network_manager\action.py", line 29, in get_action
raise CLIError(f'usage error: {option_string} [KEY=VALUE ...]') from exc
knack.util.CLIError: usage error: --network-manager-scopes [KEY=VALUE ...]
cli.azure.cli.core.azclierror: usage error: --network-manager-scopes [KEY=VALUE ...]
az_command_data_logger: usage error: --network-manager-scopes [KEY=VALUE ...]
cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x04560708>]
az_command_data_logger: exit code: 1
cli.main: Command ran in 2.308 seconds (init: 1.176, invoke: 1.132)
cli.azure.cli.core.decorators: Suppress exception:
Traceback (most recent call last):
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/main.py", line 62, in
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/main.py", line 55, in
SystemExit: 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/decorators.py", line 79, in _wrapped_func
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/telemetry.py", line 532, in _get_secrets_warning_config
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/config.py", line 147, in getboolean
ValueError: Not a boolean: None
telemetry.main: Begin splitting cli events and extra events, total events: 1
telemetry.client: Accumulated 0 events. Flush the clients.
telemetry.main: Finish splitting cli events and extra events, cli events: 1
telemetry.save: Save telemetry record of length 3449 in cache
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\cli\telemetry__init__.pyc C:\Users\jaredgorthy.azure"
telemetry.process: Return from creating process
telemetry.main: Finish creating telemetry upload process.
Expected behavior
I should be able to define multiple subscriptions and management groups during the create/update of the network manager resources. For instance, a valid nm is
Describe the bug
Network Manager create/update does not support multiple subscriptions or management groups to be defined in the scope.
Related command
az network manager update --name jaredgorthy --resource-group jaredgorthy-testResources --network-manager-scopes management-groups="/providers/Microsoft.Management/managementGroups/alecolson_testmg1" management-groups="/providers/Microsoft.Management/managementGroups/alecolson_testmg1" "/providers/Microsoft.Management/managementGroups/alecolson_testmg2"
Errors
usage error: --network-manager-scopes [KEY=VALUE ...]
Issue script & Debug output
cli.knack.cli: Command arguments: ['network', 'manager', 'update', '--name', 'jaredgorthy', '--resource-group', 'jaredgorthy-testResources', '--network-manager-scopes', 'management-groups=/providers/Microsoft.Management/managementGroups/alecolson_testmg1', 'management-groups=/providers/Microsoft.Management/managementGroups/alecolson_testmg1', '/providers/Microsoft.Management/managementGroups/alecolson_testmg2', '--debug'] cli.knack.cli: init debug log: Enable color in terminal. cli.knack.cli: Event: Cli.PreExecute [] cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [<function CLILogging.on_global_arguments at 0x0212F938>, <function OutputProducer.on_global_arguments at 0x02258A28>, <function CLIQuery.on_global_arguments at 0x022787F8>] cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate [] cli.azure.cli.core: Modules found from index for 'network': ['azure.cli.command_modules.network', 'azure.cli.command_modules.privatedns', 'azext_network_manager'] cli.azure.cli.core: Loading command modules: cli.azure.cli.core: Name Load Time Groups Commands cli.azure.cli.core: network 0.811 115 454 cli.azure.cli.core: privatedns 0.050 14 60 cli.azure.cli.core: Total (2) 0.861 129 514 cli.azure.cli.core: These extensions are not installed and will be skipped: ['azext_ai_examples', 'azext_next'] cli.azure.cli.core: Loading extensions: cli.azure.cli.core: Name Load Time Groups Commands Directory cli.azure.cli.core: virtual-network-manager 0.125 12 24 C:\Users\jaredgorthy.azure\cliextensions\virtual-network-manager cli.azure.cli.core: Total (1) 0.125 12 24 cli.azure.cli.core: Loaded 139 groups, 538 commands. cli.azure.cli.core: Found a match in the command table. cli.azure.cli.core: Raw command : network manager update cli.azure.cli.core: Command table: network manager update cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging at 0x045605C8>] cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to 'C:\Users\jaredgorthy.azure\commands\2024-04-04.16-19-13.network_manager_update.61092.log'. az_command_data_logger: command args: network manager update --name {} --resource-group {} --network-manager-scopes {} {} {} --debug cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [<function register_global_subscription_argument..add_subscription_parameter at 0x04590758>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [<function register_ids_argument..add_ids_arguments at 0x045CFA28>, <function register_cache_arguments..add_cache_arguments at 0x045CFA78>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
cli.azure.cli.core.azclierror: Traceback (most recent call last):
File "C:\Users\jaredgorthy.azure\cliextensions\virtual-network-manager\azext_network_manager\action.py", line 25, in get_action
for (k, v) in (x.split('=', 1) for x in values):
^^^^^^
ValueError: not enough values to unpack (expected 2, got 1)
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 233, in invoke File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 589, in execute File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/parser.py", line 261, in parse_args File "argparse.py", line 1869, in parse_args File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/parser.py", line 281, in parse_known_args File "argparse.py", line 1902, in parse_known_args File "argparse.py", line 2096, in _parse_known_args File "argparse.py", line 2073, in consume_positionals File "argparse.py", line 1978, in take_action File "argparse.py", line 1241, in call File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/parser.py", line 281, in parse_known_args File "argparse.py", line 1902, in parse_known_args File "argparse.py", line 2096, in _parse_known_args File "argparse.py", line 2073, in consume_positionals File "argparse.py", line 1978, in take_action File "argparse.py", line 1241, in call File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/parser.py", line 281, in parse_known_args File "argparse.py", line 1902, in parse_known_args File "argparse.py", line 2096, in _parse_known_args File "argparse.py", line 2073, in consume_positionals File "argparse.py", line 1978, in take_action File "argparse.py", line 1241, in call File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/parser.py", line 281, in parse_known_args File "argparse.py", line 1902, in parse_known_args File "argparse.py", line 2114, in _parse_known_args File "argparse.py", line 2054, in consume_optional File "argparse.py", line 1978, in take_action File "C:\Users\jaredgorthy.azure\cliextensions\virtual-network-manager\azext_network_manager\action.py", line 19, in call action = self.get_action(values, option_string) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\jaredgorthy.azure\cliextensions\virtual-network-manager\azext_network_manager\action.py", line 29, in get_action raise CLIError(f'usage error: {option_string} [KEY=VALUE ...]') from exc knack.util.CLIError: usage error: --network-manager-scopes [KEY=VALUE ...]
cli.azure.cli.core.azclierror: usage error: --network-manager-scopes [KEY=VALUE ...] az_command_data_logger: usage error: --network-manager-scopes [KEY=VALUE ...] cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x04560708>] az_command_data_logger: exit code: 1 cli.main: Command ran in 2.308 seconds (init: 1.176, invoke: 1.132) cli.azure.cli.core.decorators: Suppress exception: Traceback (most recent call last): File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/main.py", line 62, in
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/main.py", line 55, in
SystemExit: 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/decorators.py", line 79, in _wrapped_func File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/telemetry.py", line 532, in _get_secrets_warning_config File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/config.py", line 147, in getboolean ValueError: Not a boolean: None
telemetry.main: Begin splitting cli events and extra events, total events: 1 telemetry.client: Accumulated 0 events. Flush the clients. telemetry.main: Finish splitting cli events and extra events, cli events: 1 telemetry.save: Save telemetry record of length 3449 in cache telemetry.main: Begin creating telemetry upload process. telemetry.process: Creating upload process: "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\cli\telemetry__init__.pyc C:\Users\jaredgorthy.azure" telemetry.process: Return from creating process telemetry.main: Finish creating telemetry upload process.
Expected behavior
I should be able to define multiple subscriptions and management groups during the create/update of the network manager resources. For instance, a valid nm is
{ "name": "jaredgorthy", "location": "eastus", "properties": { "description": "", "networkManagerScopes": { "managementGroups": [ "/providers/Microsoft.Management/managementGroups/alecolson_testmg1", "/providers/Microsoft.Management/managementGroups/alecolson_testmg2" ], "subscriptions": [ "/subscriptions/2d56342a-7652-432b-87a5-56a180b17255", "/subscriptions/2d56342a-7652-432b-87a5-56a180b17345" ], }, "provisioningState": "Succeeded", "networkManagerScopeAccesses": [ "Connectivity", "SecurityAdmin" ], }, }
the customer needs to be able to pass in a list for both subs and mgs
--network-manager-scopes management-groups=[a,b,c] subscriptions=[a,b,c]
Environment Summary
azure-cli 2.57.0
core 2.57.0 telemetry 1.1.0
Extensions: account 0.2.5 azure-devops 0.26.0 virtual-network-manager 1.0.1
Dependencies: msal 1.26.0 azure-mgmt-resource 23.1.0b2
Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe' Extensions directory 'C:\Users\jaredgorthy.azure\cliextensions' Development extension sources: C:\CLI_test\azure-cli-extensions
Python (Windows) 3.11.7 (tags/v3.11.7:fa7a6f2, Dec 4 2023, 19:13:08) [MSC v.1937 32 bit (Intel)]
Legal docs and information: aka.ms/AzureCliLegal
Additional context
No response