Install Asterisk from source with puppet?

Does anyone know how to install Asterisk from source using puppet?

I’m on Ubuntu and what I get from the repo doesn’t give me all the options I need.

As an alternative, if other distro’s have repo’s that work, I’m pretty sure I can spin up a container for it. My primary goal is to control my configuration through puppet.