मैं कठपुतली के साथ एक निर्देशिका और इसकी सामग्री को कैसे पुनरावृत्ति कर सकता हूं?


14

मान लीजिए कि मेरे पास एक मॉड्यूल है files/etc/foo/{conf0, conf1, conf2, conf3, etc}। जब इनकी संख्या छोटी हो तो इनमें से प्रत्येक फाइल को रखना काफी सरल है:

file { 'conf0':
    path => '/etc/foo/conf0',
    ensure => true,
    source => 'puppet:///.../etc/foo/conf0',
}

और दोहराओ। लेकिन इसमें कुछ हद तक दोहराव शामिल है, और यह बनाए रखने के लिए थकाऊ है कि क्या कई कॉन्फ़िगरेशन फाइलें हैं। मैं यह सुनिश्चित करना चाहूंगा कि files/etc/foo/किसी दिए गए मार्ग पर प्रतिबिंबित किया जाए। यानी,

file { 'etc foo confs':
   path => '/etc/foo',
   ensure => recursive,
   source => 'puppet:///.../etc/foo',
}

बनाना होगा /etc/foo/conf0, /etc/foo/conf1और इसी तरह। क्या यह संभव है?

जवाबों:


22

सुनिश्चित करें - filesप्रकार में एक recurseविकल्प होता है (और recurselimitयदि आप यह सीमित करना चाहते हैं कि यह कितनी गहराई तक जाता है)।

file { 'etc foo confs':
   path => '/etc/foo',
   source => 'puppet:///.../etc/foo',
   recurse => true,
}

5
ऐसा करने के लिए ध्यान रखने योग्य बात यह है कि कठपुतली के पास कनेक्शन रखने के लिए फाइलों की संख्या है। फाइल डिस्क्रिप्टर से बाहर निकलने में देर नहीं लगेगी और कठपुतली मुसीबत में दौड़ने लगेगी। मैंने इस कार्य को करने से पहले इस समस्या में भाग लिया है।
जेरेमी बोस

@JeremyBouse धन्यवाद; यह बहुत उपयोगी जानकारी है।
ट्राउटविन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.