Unable to create an APIM api with a blank url suffix
- Dominant language
- Python
- Stars
- 4.6k
- Forks
- 3.5k
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 60
Description
### Describe the bug
Through the az apim api update command it is possible to set the path (i.e. url suffix).
Through the Azure portal, it is possible to set the path to be blank for a single API per APIM instance.
The az apim api update command does not accept a blank string or null for the path parameter, so it isn't possible to automate this.
### Related command
az apim api update --service-name $apimName --resource-group $apimResourceGroup --api-id $apiName --path $null
or
az apim api update --service-name $apimName --resource-group $apimResourceGroup --api-id $apiName --path ""
### Errors
argument --path: expected one argument
### Issue script & Debug output
$apiName = 'test-api'
$apimName = 'my-apim'
$apimResourceGroup = 'my-apim'
az apim api update --service-name $apimName --resource-group $apimResourceGroup --api-id $apiName --path $null --debug
cli.knack.cli: Command arguments: ['apim', 'api', 'update', '--service-name', 'my-apim', '--resource-group', 'my-apim', '--api-id', 'test-api', '--path', '--debug']
cli.knack.cli: __init__ debug log:
Enable color in terminal.
cli.knack.cli: Event: Cli.PreExecute []
cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [, , ]
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate []
cli.azure.cli.core: Modules found from index for 'apim': ['azure.cli.command_modules.apim']
cli.azure.cli.core: Loading command modules:
cli.azure.cli.core: Name Load Time Groups Commands
cli.azure.cli.core: apim 0.011 14 68
cli.azure.cli.core: Total (1) 0.011 14 68
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: Total (0) 0.000 0 0
cli.azure.cli.core: Loaded 14 groups, 68 commands.
cli.azure.cli.core: Found a match in the command table.
cli.azure.cli.core: Raw command : apim api update
cli.azure.cli.core: Command table: apim api update
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate []
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to 'C:\Users\david\.azure\commands\2023-10-03.22-50-27.apim_api_update.77604.log'.
az_command_data_logger: command args: apim api update --service-name {} --resource-group {} --api-id {} --path --debug
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [.add_subscription_parameter at 0x044D65C8>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [.add_ids_arguments at 0x044E5580>, .add_cache_arguments at 0x044E5610>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
urllib3.connectionpool: Starting new HTTPS connection (1): app.aladdin.microsoft.com:443
urllib3.connectionpool: https://app.aladdin.microsoft.com:443 "GET /api/v1.0/suggestions?query=%7B%22command%22%3A+%22apim+api+update%22%2C+%22parameters%22%3A+%22--path%2C--api-id%2C--service-name%2C--resource-group%22%7D&clientType=AzureCli&context=%7B%22versionNumber%22%3A+%222.53.0%22%2C+%22errorType%22%3A+%22ExpectedArgument%22%2C+%22correlationId%22%3A+%22d001b157-a9cb-494d-a6be-177f1528bf48%22%2C+%22subscriptionId%22%3A+%22b617bc33-3d67-451e-a132-4cc2153bdff0%22%2C+%22eventId%22%3A+%22f38191a5-a3a3-4a70-a997-e7a8d6db9ea6%22%7D HTTP/1.1" 200 None
cli.azure.cli.core.azclierror: Traceback (most recent call last):
File "argparse.py", line 1859, in parse_known_args
File "argparse.py", line 2072, in _parse_known_args
File "argparse.py", line 2002, in consume_optional
File "argparse.py", line 2167, in _match_argument
argparse.ArgumentError: argument --path: expected one argument
cli.azure.cli.core.azclierror: argument --path: expected one argument
az_command_data_logger: argument --path: expected one argument
### Expected behavior
So long as there is only one API with a blank path, the command should accept a blank path.
### Environment Summary
azure-cli 2.53.0
core 2.53.0
telemetry 1.1.0
Extensions:
arcdata 1.5.5
automation 0.2.1
Dependencies:
msal 1.24.0b2
azure-mgmt-resource 23.1.0b2
### Additional context
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.