mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			27 lines
		
	
	
		
			843 B
		
	
	
	
		
			Puppet
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			843 B
		
	
	
	
		
			Puppet
		
	
	
	
	
	
define example::expiringhost($ip, $timestamp) {
 | 
						|
 | 
						|
  # Calculate the age of this resource by comparing 'now' against $timestamp
 | 
						|
  $age = inline_template("<%= require 'time'; Time.now - Time.parse(timestamp) %>")
 | 
						|
 | 
						|
  # Max age, in seconds.
 | 
						|
  $maxage = 60
 | 
						|
 | 
						|
  if $age > $maxage {
 | 
						|
    $expired = true
 | 
						|
    notice("Expiring resource $class[$name] due to age > $maxage (actual: $age)")
 | 
						|
  } else {
 | 
						|
    $expired = false
 | 
						|
    notice("Found recently-active $class[$name] (age: $age)")
 | 
						|
  }
 | 
						|
 | 
						|
  # I set target to a /tmp path so you can run this example as non-root.
 | 
						|
  # In production, you probabyl won't set target as it defaults to /etc/hosts
 | 
						|
  # (or wherever puppet thinks your platform wants it)
 | 
						|
  host {
 | 
						|
    $name:
 | 
						|
      ip => $ip,
 | 
						|
      target => "/tmp/expiring-hosts-example-output",
 | 
						|
      ensure => $expired ? { true => absent, false => present };
 | 
						|
  }
 | 
						|
}
 |