Howdy. I feel like I am missing something really simply with regards to the way that Puppet works and I am wondering if someone can point me in the write direction.
I have written a class that downloads, uncompresses, compiles, and installs Python from source. So far so good. The problem is that it only needs to do this once, when Python is not already in place (or some other custom indicator of the Python version). I have my 3 calls to exec doing their checks just fine, but my calls to wget::fetch and archive::untar both fire during every apply. Specifically, archive::untar takes about 30 seconds to run and I'd prefer it if it only ran conditionally. What is the best way to make sure that this code: wget::fetch { "python-${version}": source => "http://python.org/ftp/python/${version}/Python-${version}.tgz", destination => "/tmp/Python-${version}.tgz", } archive::untar {"/tmp/python-${version}": source => "/tmp/Python-${version}.tgz", compression => 'gz', rootdir => "Python-${version}", require => Wget::Fetch["python-${version}"], } only runs when some condition is met? I can easily put a custom file in place to look for, but how do I make these commands dependent on its absence? I tried making such a file and subscribing to it, but these commands still ran each time. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/5H8zJOulvoAJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.