Operacje na terraform state to coś, czego raczej należy unikać, ale czasami coś tam trzeba zadziałać…
Polecenie
terraform state list
zwraca listę wszystkich zasobów którymi zarządza Terraform. Na tej liście w moim przypadku pojawił sie taki oto wpis:
module.net_conf.azurerm_private_endpoint.private_endpoint[„update_key”]
Ten oto wpis trzeba było usunąć. Zwykle wystarcza do tego polecenie terraform state rm, po którym podaje sie nazwę obiektu do usunięcia, o tak:
terraform state rm module.net_conf.azurerm_private_endpoint.private_endpoint["update_key"]
Niestety polecenie kończyło się brzydkim błędem:
│ Error: Index value required
│ on line 1:
│ (source code not available)
│Index brackets must contain either a literal number or a literal string.
No jak to! Przecież w nawiasie jest „literal string”!
Przyczyna – problemy z interpretacja w linii komend cudzysłowa. Komendę oryginalnie uruchamiałem w powershell. Przeniosłem ją do cmd i delikatnie zmieniłem:
terraform state rm module.net_conf.azurerm_private_endpoint.private_endpoint[\"update_key\"]
Po tej zmianie, wszystko zadziałało!