By DSL, do you mean you have your own config structure that translates into TF HCL?
Adapting this shouldn't be too difficult, pulumi makes use of TF providers, so it's a case of initialising objects in your chosen language instead of outputting files, including outputting pulumi yaml