Debian 12 bookworm
Sponsored Link

Puppet : How to use [facter Variable]2023/08/10

 

Facter variables which are the system settings are set automatically, It's possible to use them if need.

[1] Display facter variables.
root@dlp:~#
facter

augeas => {
  version => "1.14.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"
  },
.....
.....
[2] For example, if OS is [Debian] and version is [12.1], apply [sample01] class, if version is not [12.1], apply [sample02] class, if OS is not [Debian], apply [sample03] class.
root@dlp:~#
vi /etc/puppet/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 { 'trixie':
    ensure     => present,
    home       => '/home/trixie',
    managehome => true,
    password   => '$6$0XTc2rjlxxxxxxxx',
  }
}
class sample03 {
  file { '/home/testfile10.txt':
    ensure  => file,
    owner   => 'root',
    group   => 'adm',
    content => 'test file #10',
  }
}
case $operatingsystem {
  'Debian': {
    if $operatingsystemrelease == '12.1' { include 'sample01' }
    else                                 { include 'sample02' }
  }
  default:            { include 'sample03' }
}
Matched Content