puppet dynamic environment