Azure / azure-cli

Azure Command-Line Interface
MIT License
4.01k stars 2.98k forks source link

Create Application Gateway resource with 'Basic' sku tier #30045

Open TommyNeeld opened 2 weeks ago

TommyNeeld commented 2 weeks ago

Describe the bug

Application Gateway Basic sku tier is available in preview - see here. I can create a Basic sku resource in the Azure portal as per the link, however the azure-cli command (az network application-gateway create) fails with:

az network application-gateway create: 'Basic_v2' is not a valid value for '--sku'. Allowed values: Standard_Small, Standard_Medium, WAF_Medium, WAF_Large, Standard_v2, WAF_v2

Related command

az network application-gateway create --name $APPGW_NAME_BASIC --resource-group $RGNAME --sku Basic_v2

Errors

az network application-gateway create: 'Basic_v2' is not a valid value for '--sku'. Allowed values: Standard_Small, Standard_Medium, WAF_Medium, WAF_Large, Standard_v2, WAF_v2

Issue script & Debug output

Script:

az network application-gateway create --name $APPGW_NAME_BASIC --resource-group $RGNAME --sku Basic_v2 --public-ip-address $APPGW_PUBLIC_IP_NAME_BASIC --vnet-name $VNET_NAME --subnet $SUBNET_NAME_APPGW_BASIC --routing-rule-type Basic --priority "1" --capacity 1 --debug

Debug output:

cli.knack.cli: Command arguments: ['network', 'application-gateway', 'create', '--name', 'flock-appgw-basic2-dev', '--resource-group', 'rg-flock-services-dev', '--sku', 'Basic_v2', '--public-ip-address', 'flock-appgw-pip-basic2-dev', '--vnet-name', 'flock-vnet-dev', '--subnet', 'flock-subnet-appgw-basic2-dev', '--routing-rule-type', 'Basic', '--priority', '1', '--capacity', '1', '--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 0x104d57560>, <function OutputProducer.on_global_arguments at 0x10556ca40>, <function CLIQuery.on_global_arguments at 0x105592520>]
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']
cli.azure.cli.core: Loading command modules:
cli.azure.cli.core: Name                  Load Time    Groups  Commands
cli.azure.cli.core: network                   0.352       119       364
cli.azure.cli.core: privatedns                0.010        14        60
cli.azure.cli.core: Total (2)                 0.362       133       424
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 132 groups, 424 commands.
cli.azure.cli.core: Found a match in the command table.
cli.azure.cli.core: Raw command  : network application-gateway create
cli.azure.cli.core: Command table: network application-gateway create
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging at 0x1062ba3e0>]
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to '/Users/tommy/.azure/commands/2024-10-08.08-00-14.network_application-gateway_create.43598.log'.
az_command_data_logger: command args: network application-gateway create --name {} --resource-group {} --sku {} --public-ip-address {} --vnet-name {} --subnet {} --routing-rule-type {} --priority {} --capacity {} --debug
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [<function register_global_subscription_argument.<locals>.add_subscription_parameter at 0x1062eff60>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [<function register_ids_argument.<locals>.add_ids_arguments at 0x10630f560>, <function register_cache_arguments.<locals>.add_cache_arguments at 0x10630f6a0>, <function register_upcoming_breaking_change_info.<locals>.update_breaking_change_info at 0x10630f740>]
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+%22network+application-gateway+create%22%2C+%22parameters%22%3A+%22--capacity%2C--name%2C--priority%2C--sku%2C--routing-rule-type%2C--resource-group%2C--subnet%2C--vnet-name%2C--public-ip-address%22%7D&clientType=AzureCli&context=%7B%22versionNumber%22%3A+%222.64.0%22%2C+%22errorType%22%3A+%22InvalidParameterValue%22%2C+%22correlationId%22%3A+%22b74afb6c-f521-43eb-81c5-c26428439dbd%22%2C+%22subscriptionId%22%3A+%227b990c8e-ae0f-483c-9182-03ab20a5b282%22%2C+%22eventId%22%3A+%22d6f734b1-c8d4-44d1-b517-b7061dd8de54%22%7D HTTP/1.1" 200 None
cli.azure.cli.core.azclierror: NoneType: None

cli.azure.cli.core.azclierror: az network application-gateway create: 'Basic_v2' is not a valid value for '--sku'. Allowed values: Standard_Small, Standard_Medium, WAF_Medium, WAF_Large, Standard_v2, WAF_v2.
az_command_data_logger: az network application-gateway create: 'Basic_v2' is not a valid value for '--sku'. Allowed values: Standard_Small, Standard_Medium, WAF_Medium, WAF_Large, Standard_v2, WAF_v2.

Examples from AI knowledge base:
az network application-gateway create --capacity 2 --frontend-port MyFrontendPort --http-settings-cookie-based-affinity Enabled --http-settings-port 80 --http-settings-protocol Http --location westus2 --name MyAppGateway --public-ip-address MyAppGatewayPublicIp --resource-group MyResourceGroup --sku Standard_Small --subnet MySubnet --vnet-name MyVNet
Create an application gateway. (autogenerated)

https://docs.microsoft.com/en-US/cli/azure/network/application-gateway#az_network_application_gateway_create
Read more about the command in reference docs
cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x1062ba660>]
az_command_data_logger: exit code: 2
cli.__main__: Command ran in 0.567 seconds (init: 0.099, invoke: 0.468)
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 4391 in cache file under /Users/tommy/.azure/telemetry/20241008080014678
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "/opt/homebrew/Cellar/azure-cli/2.64.0/libexec/bin/python /opt/homebrew/Cellar/azure-cli/2.64.0/libexec/lib/python3.11/site-packages/azure/cli/telemetry/__init__.py /Users/tommy/.azure /Users/tommy/.azure/telemetry/20241008080014678"
telemetry.process: Return from creating process 43603
telemetry.main: Finish creating telemetry upload process.

Expected behavior

Creation of the resource with --sku tier basic, in the same way as the deployement guide

Environment Summary

azure-cli                         2.65.0

core                              2.65.0
telemetry                          1.1.0

Extensions:
aks-preview                      9.0.0b6

Dependencies:
msal                              1.31.0
azure-mgmt-resource               23.1.1

Additional context

No response

yonzhan commented 2 weeks ago

Thank you for opening this issue, we will look into it.

github-actions[bot] commented 2 weeks ago

Hi, this inquiry has been well received albeit being triaged as non-security related ask.

Azure CLI is currently prioritizing direct SFI requirements and items and this request does not seem to be related to SFI. We'll retain it in our backlog at this point. Please reach out to AzPyCli@microsoft.com if you'd justify it's highly customer-impacted and need to be escalated.

Thank you,

Azure CLI team