hashicorp / terraform-provider-azurerm

Terraform provider for Azure Resource Manager
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs
Mozilla Public License 2.0
4.61k stars 4.65k forks source link

azurerm_palo_alto_next_generation_firewall_virtual_hub_panorama changing casing of tags #25685

Open justinlauck opened 7 months ago

justinlauck commented 7 months ago

Is there an existing issue for this?

Community Note

Terraform Version

1.7.3

AzureRM Provider Version

3.100.0

Affected Resource(s)/Data Source(s)

azurerm_palo_alto_next_generation_firewall_virtual_hub_panorama

Terraform Configuration Files

resource "azurerm_palo_alto_next_generation_firewall_virtual_hub_panorama" "cngfw" {

  ...

  tags = {
    Application     = "My Company's Application"
    Technical-Owner = "infrastructure@mycompany.com"
    Business-Owner  = "infrastructure@mycompany.com"
    Environment     = "Production"
    Criticality     = "Critical"
    Sensitivity     = "Medium"
  }
}

Debug Output/Panic Output

Terraform will perform the following actions:
  # azurerm_palo_alto_next_generation_firewall_virtual_hub_panorama.cngfw will be updated in-place
  ~ resource "azurerm_palo_alto_next_generation_firewall_virtual_hub_panorama" "cngfw" {
        id                     = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/PaloAltoNetworks.Cloudngfw/firewalls/myFirewallName"
        name                   = "myFirewallName"
      ~ tags                   = {
          + "Application"     = "My Company's Application"
          + "Business-Owner"  = "infrastructure@mycompany.com"
          + "Criticality"     = "Critical"
          + "Environment"     = "Production"
          + "Sensitivity"     = "Medium"
          + "Technical-Owner" = "infrastructure@mycompany.com"
          - "application"     = "My Company's Application" -> null
          - "business-Owner"  = "infrastructure@mycompany.com" -> null
          - "criticality"     = "Critical" -> null
          - "environment"     = "Production" -> null
          - "sensitivity"     = "Medium" -> null
          - "technical-Owner" = "infrastructure@mycompany.com" -> null
        }
        # (4 unchanged attributes hidden)
        # (16 unchanged blocks hidden)
    }
Plan: 0 to add, 1 to change, 0 to destroy.

Expected Behaviour

The tags should not be changed

Actual Behaviour

The first letter of the tag is changed to lower case.

Steps to Reproduce

Create a panorama configuration using tags that start with an uppercase letter.

Important Factoids

No response

References

No response

neil-yechenwei commented 7 months ago

Thanks for raising this issue. Seems service API would change the first letter of the tag to lower case. So I filed an issue on https://github.com/Azure/azure-rest-api-specs/issues/28777 for tracking this issue. Suggest use "ignore_changes" as workaround. Thanks.