Microsoft.Network/dnsResolvers/inboundEndpoints の subnet 指定のIDはリソースIDじゃないから注意(ARMテンプレート, Bicep)
Microsoftのドキュメントを読んでフンフンフーンとBicepを書いていたらドハマりしたので共有。
なにが起こったか
DNSプライベートリゾルバを使用するとき、DNSへのインバウンド通信に使用するIPを定義する「inboundEndpoints」というリソースがあるんですが、ドキュメントを読んで適当に実装すると死にます。
というのも、IP指定を行う IpConfiguration のパラメータには以下のような記載があります。

これをそのまま真に受けて、「subnet の id はリソースIDを指定すればいいんだな」と考えてしまい、
subnet: { id: inboundSubnet.id }
とか書いてしまうと、デプロイ時にエラーが起こります。
で、今回は別モジュールでbicepを書いていたので、該当デプロイのログを見ようとすると・・・

なぜか404…
解決方法
解決方法はサンプルにありました。
ここによると、サブネットのID指定は ${resolverVnet.id}/subnets/${inboundSubnetName}(著者編集) で行う必要があるみたいですね。
終わりに
あんまサブネットを指定するケースってなかったので今回ハマってしまったのですが、「<VNET_ID>/subnets/<SUBNET_NAME>」って指定するのが一般的なんでしょうか?
結構注意が必要ですね