Skip to content
Snippets Groups Projects
init.pp 976 B
Newer Older
# Provide arbitrary named facts - cannot match name of facter plugin (from
# module path)
#
#
# Example
#
#       fact { "su_sysadmin0": value => "SunetID" }
#       fact { "su_sysadmin1": value => "SunetID2" }
#       fact { "su_support": value => "IDG" }
#       fact { "su_restricted": value => "true" }
#

define fact ($ensure=present,
                     $value='NOSRC') {
    $factsdir = "/var/lib/puppet/sufact"
    case $ensure {
        absent: {
            file { "$factsdir/$name": ensure => absent }
        }
        present: {
            case $value {
                'NOSRC': {
                    fail "value required for fact define"
                }
                default: {
                    file { "$factsdir/$name": 
                        content => "$value\n",
                        require => File[$factsdir],
                    }
                }
            }
        }
        default: { crit "Invalid ensure value: $ensure." }
    }

}