And underlying question I have is - what effort does every provider do when a new language SDK wants to be added to Pulumi (e.g. if say C++ was desired)? I think that would help me understand how it works.
10/31/2023, 9:37 AM
It's a bit convoluted process and works in an inverted direction than what you think. Providers expose schema.json files and each language SDK has it's own codegen that generates provider packages in said language out of these files.
I think the general direction Pulumi team is taking (disclaimer: I'm not a Pulumi team member, I lead pulumi-scala team at VirtusLab) is that code generators are going to be usable from language plugins so the whole mess with static setup and code generation will go away and generating a provider will be as easy as calling the language plugin's codegen capability against a schema.json file.
11/06/2023, 4:34 PM
That does seem like a nicer world, with some layers of cacheing to avoid generation too frequently.