Skip to content

Instantly share code, notes, and snippets.

@maxlinc
Created June 28, 2013 14:39
Show Gist options
  • Save maxlinc/5885186 to your computer and use it in GitHub Desktop.
Save maxlinc/5885186 to your computer and use it in GitHub Desktop.
roles
# -*- encoding : utf-8 -*-
module Puppet::Parser::Functions
newfunction(:has_role, :type => :rvalue) do |role|
has_role?(role)
end
end
def has_role?(role)
pool = lookupvar "#{role.first}_pool"
if pool
pool_items = pool.split(',')
pool_items.include?(lookupvar 'fqdn') || pool_items.include?(lookupvar 'ipaddress')
else
false
end
end
define truth::roles_check() {
if has_role($name) {
class {"apps::my_${name}":
ensure => present,
}
} else {
class {"apps::my_${name}":
ensure => absent,
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment