`az network public-ip create` doco: --resource-group semantics and args to a couple options
- Dominant language
- Python
- Stars
- 4.6k
- Forks
- 3.5k
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 60
Description
### Describe the bug
A couple questions or clarification requests on the documentation to `az network public-ip create` on the page https://learn.microsoft.com/en-us/cli/azure/network/public-ip?view=azure-cli-latest#az-network-public-ip-create:
### Args to --name and --resource-group
The code snippet in the synopsis starts off like this:
```
az network public-ip create --name
--resource-group
[--allocation-method {Dynamic, Static}]
[...]
```
From what I understand, the `--name` and `--resource-group` options each take arguments, so maybe this should look like:
```
az network public-ip create --name
--resource-group
[--allocation-method {Dynamic, Static}]
[...]
```
### Semantics of --resource-group
The `--resource-group` option is documented like this:
```
--resource-group -g
Name of resource group. You can configure the default group using az configure --defaults group=.
```
I *did* guess that the `--resource-group` option specifies the resource group. But I think it would be useful to say more about how the resource group is *used* in the behavior of this subcommand, at least in the `public-ip create` case and in conjunction with the `--public-ip-prefix` option. Does it specify the resource group under which the new IP address is created? Does it specify the resource group under which to find the specified IP Prefix from which to create the IP Address? Are those required to be the same resource group?
For example, I just tried this (redacted):
```
PS C:\Users\Andrew.Janke> az network public-ip create --allocation-method Static --location eastus --public-ip-prefix /subscriptions/2o3894723897-REDACTED/resourceGroups/MyResourceGroup/providers/Microsoft.Network/publicIPPrefixes/genpurp-1-ippre --resource-group Blah --name hello-01-ip
(ResourceNotFound) The Resource 'Microsoft.Network/publicIPPrefixes/genpurp-1-ippre' under resource group 'Blah' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
Code: ResourceNotFound
Message: The Resource 'Microsoft.Network/publicIPPrefixes/genpurp-1-ippre' under resource group 'Blah' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
```
I was not expecting that. I had assumed that the `--resource-group` option only affected where the new IP Address would be created, and since the "MyResourceGroup" RG was (I think) specified in the resource ID passed to `--public-ip-prefix`, that it would not need or use the `--resource-group` argument for locating the IP Prefix to be used here. Some details about what exactly the `--resource-group` option controls could be helpful here.
I read through the page referenced in the error message and didn't see an obvious fix here. But I'm an `az` newbie, maybe I'm just missing something.
### Related command
`az network public-ip create`
### Errors
(ResourceNotFound) The Resource 'Microsoft.Network/publicIPPrefixes/genpurp-1-ippre' under resource group 'Blah' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
Code: ResourceNotFound
Message: The Resource 'Microsoft.Network/publicIPPrefixes/genpurp-1-ippre' under resource group 'Blah' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
### Issue script & Debug output
Sorry, I don't have time to properly redact the `--debug` output of this, and this bug ticket is intended as a documentation suggestion about the web page and not `az` functionality per se. At least for now.
### Expected behavior
I had expected the `az network public-ip create` subcommand, when passing a resource ID instead of name to the `--public-ip-prefix` option, to use the `--resource-group` option to control which RG the new IP address is created in, but not use it for finding the IP Prefix to create it from and instead use the RG embedded in the IP Prefix's ID to locate the prefix. (I'm assuming that you can use an IP Prefix to create IP addresses in a different RG from the RG that the IP Prefix is in.)
### Environment Summary
```
PS C:\Users\Andrew.Janke> az --version
azure-cli 2.40.0 *
core 2.40.0 *
telemetry 1.0.8 *
Extensions:
ssh 1.1.3
Dependencies:
msal 1.18.0b1
azure-mgmt-resource 21.1.0b1
Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\Andrew.Janke\.azure\cliextensions'
Python (Windows) 3.10.5 (tags/v3.10.5:f377153, Jun 6 2022, 15:58:59) [MSC v.1929 32 bit (Intel)]
Legal docs and information: aka.ms/AzureCliLegal
You have 3 update(s) available. Consider updating your CLI installation with 'az upgrade'
PS C:\Users\Andrew.Janke>
```
### Additional context
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.