Puppet : 利用方法 [facter 変数]2025/10/15 |
|
[facter] 変数というシステム関連の情報が自動でセットされた変数が用意されており、必要に応じて利用することができます。 |
|
| [1] | facter 変数の一覧を表示する。 |
|
root@dlp:~# facter
augeas => {
version => "1.14.1"
}
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.3-2.el9"
},
board => {
manufacturer => "Red Hat",
product => "RHEL"
},
chassis => {
type => "Other"
},
manufacturer => "Red Hat",
product => {
name => "KVM",
uuid => "66486b81-7a0a-4f8c-8ff7-fa11c1532487"
}
.....
.....
|
| [2] | 例として、OS が [Debian] で 且つ リリース番号が [13] の場合は [sample01] クラスを適用、リリース番号がそれ以外の場合は [sample02] クラスを適用、OS が [Debian] 以外の場合は [sample03] クラスを適用する。 |
|
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 { 'duke':
ensure => present,
home => '/home/duke',
managehome => true,
password => '$6$9GoE2liT6.P.U/a*****',
}
}
class sample03 {
file { '/home/testfile10.txt':
ensure => file,
owner => 'root',
group => 'adm',
content => 'test file #10',
}
}
case $facts['os']['distro']['id'] {
'Debian': {
if $facts['os']['distro']['release']['major'] == '13' { include 'sample01' }
else { include 'sample02' }
}
default: { include 'sample03' }
}
|
| Sponsored Link |
|
|