Puppet : How to use [facter Variable]2023/10/17 |
Facter variables which are the system settings are set automatically, It's possible to use them if need. |
|
[1] | Display facter variables. |
[root@dlp ~]# /opt/puppetlabs/bin/facter aio_agent_version => 7.26.0 augeas => { version => "1.13.0" } disks => { vda => { size => "30.00 GiB", size_bytes => 32212254720, type => "hdd", vendor => "0x1af4" } } dmi => { bios => { release_date => "04/01/2014", vendor => "SeaBIOS", version => "1.16.1-1.el9" }, board => { manufacturer => "Red Hat", product => "RHEL" }, chassis => { type => "Other" }, manufacturer => "Red Hat", product => { name => "KVM", uuid => "be0099a1-1b68-4986-9498-2dc855095e06" } } ..... ..... |
[2] | For example, if OS is [CentOS] and version is [9], apply [sample01] class, if version is not [9], apply [sample02] class, if OS is not [CentOS], apply [sample03] class. |
[root@dlp ~]#
vi /etc/puppetlabs/code/environments/production/manifests/class.pp class sample01 { file { '/home/testfile9.txt': ensure => file, owner => 'root', group => 'root', mode => '0644', content => 'This is the puppet test file.', } } class sample02 { user { 'rocky': ensure => present, home => '/home/rocky', managehome => true, password => '$6$0XTc2rjlxxxxxxxx', } } class sample03 { file { '/home/testfile10.txt': ensure => file, owner => 'root', group => 'root', content => 'test file #10', } } case $operatingsystem { 'CentOS': { if $operatingsystemrelease == '9' { include 'sample01' } else { include 'sample02' } } default: { include 'sample03' } } |
Sponsored Link |