I've had a disastrous experience with Pulumi several months ago trying to set up some basic Azure setup - it wasn't anything like Terraform, so, I switched to CDKTF for that, and it was nice except that I first attempted using Go, but, ideally, it went with TypeScript as it was significantly more ergonomic.