Puppet : How to use [facter Variable] |
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' }
} |
No comments:
Post a Comment