hashicorp/go-azure-sdk

Issue with `Network@2023-02-01`: generated Resource ID case issue of `applicationGatewayWebApplicationFirewallPolicies`

wuxu92 opened this issue ยท 1 comments

wuxu92 commented

Is there an existing issue for this?

  • I have searched the existing issues

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Service Used

Network

API Versions Used

2022-09-01, 2022-11-01 and 2023-02-01

Description

the ApplicationGatewayWebApplicationFirewallPolicies segment starts with UpperCase but the generated SDK ID() method is lower-cased. Is this a by-design?

fmtString := "/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/%s"

swagger definition:

https://github.com/Azure/azure-rest-api-specs/blob/c53808ba54beef57059371708f1fa6949a11a280/specification/network/resource-manager/Microsoft.Network/stable/2023-02-01/webapplicationfirewall.json#L122-L127

    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}": {
      "get": {
        "tags": [
          "WebApplicationFirewallPolicies"
        ],
        "description": "Retrieve protection policy with specified name within a resource group.",
        "operationId": "WebApplicationFirewallPolicies_Get",

References

No response

@wuxu92 yes, per the ARM Specification Resource ID Keys are supposed to be camelCased, therefore hashicorp/pandora fixes any data issues such that these are normalized to be camelCased rather than TitleCased or lowercased - as such this is working as intended.

If a resource has shipped within Terraform using the incorrect Resource ID then we'll need to include a State Migration to account for updating this from the older format to the newer format - and ensure that Read functions parsing this Resource ID are parsing this case-insensitively.