The provisioners feature is provided as a last resort for situations where no other option is available, and so the feature is not designed for broad use.
In your case, it seems like Vultr has the concept of “startup scripts” which are intended to help you run shell commands on system boot, without the need to connect to the system over SSH and run the commands directly. I don’t have personal experience with that feature (or indeed, with Vultr at all) but I would encourage you to consider using the startup scripts feature instead of using
From reviewing the provider docs it seems like startup scripts are a separate entity from servers and so you can set up a single startup script using
vultr_startup_script and associate it with many servers using the
script_id argument to the various server resource types. That means you only need to find a solution to make the appropriate
script_id to all of your modules that create servers, instead of sharing the content of the script itself.