So building off of @bitter-oil-46081’s old dotnet branch I've got to the point where I can run a basic update on OpenStack with C# pulumi code. Lots of rough corners left (most obv I'm not handling sub-structures at all, and no stack outputs) but it's a start.
The OpenStack code is from tfgen with C# support, not hand rolled.