So I think I have a good start on an OpenStack provider. Was mostly a pretty simple copy of the aws/azure providers but had one annoying complexity. The terraform-openstack-provider uses loads of different revisions of gophercloud, and dep doesn't support different revisions in one project. I put together https://github.com/Frassle/terraform-provider-openstack/tree/pulumi-master quickly to just get all gophercloud revisions to the same sha. Could then depend on that repo in the pulumi-openstack provider (https://github.com/Frassle/pulumi-openstack), and I've then managed to build that and use the nodejs module in a little pulumi project to create a compute instance on a public openstack cloud.