คุณหมายถึง "test ว่าทรัพยากรมีการกำหนดไว้แล้ว" หรือไม่? หากคุณกำหนดทรัพยากร (เช่นfile {}
ฯลฯ ) หุ่นเชิดจะสร้างสิ่งที่คุณกำลังอธิบายหากไม่มีอยู่แล้ว (สมมติว่าคุณผ่านensure => present
แน่นอน)
ในการตรวจสอบว่ามีการกำหนดทรัพยากรไว้ในแค็ตตาล็อกหรือไม่:
mark-draytons-macbook:~ mark$ cat test.pp
file { "/tmp/foo": ensure => present }
if defined(File["/tmp/foo"]) {
alert("/tmp/foo is defined")
} else {
alert("/tmp/foo is not defined")
}
if defined(File["/tmp/bar"]) {
alert("/tmp/bar is defined")
} else {
alert("/tmp/bar is not defined")
}
mark-draytons-macbook:~ mark$ puppet test.pp
alert: Scope(Class[main]): /tmp/foo is defined
alert: Scope(Class[main]): /tmp/bar is not defined
notice: //File[/tmp/foo]/ensure: created
หมายเหตุ: defined()
คือขึ้นอยู่กับการสั่งซื้อแยก