puppet dynamic environments