Aynı sınıf / modül / orwhateveritis birçok kez


9

Kukla benden nefret etmeli. Saatlerce dokümanı okuyorum ve hala aşağıdakileri başarmayı başaramıyorum:

  • içinde değişken bulunan bir sınıf veya modül (veya buna ne denir) (parametreli bir sınıf?);
  • bu sınıf tek bir ana bilgisayara birden çok kez dahil edilecektir.

Sahte kodda bu şöyle olur:

# The class
classorwhatever myclass ($value) {
    notify { "$value world" }
}

# In the node definition
node whatever {
    myclass("Hello")
    myclass("Goodbye")
}

Kendimi çok aptal hissediyorum bile komik değil. Yapılabilir olması gerektiğini biliyorum . Ama nasıl? :(


Bunu okuyor musun? docs.puppetlabs.com/learning/modules2.html . Sunucunuzda / istemcinizde hangi kukla var?
Zoredache

@Zoredache 2.6.12 hem sunucuda hem de istemcilerde
fge

Yanıtlar:


13

Parametreli bir sınıfı yalnızca bir kez kullanabilirsiniz. Veri tanımlarını değiştirirken bir düğüme birkaç kez vurmayı planlıyorsanız, gitmek için yoldur.

misal

class apache ( $module ) {
  if module = ssl then and so on
}

define apache::vhost ($priority=99) {
  file { "apache/vhost.d/${name}":
    content => template("apache/vhosts/$name.erb"),
  }
}

node webserver {
  class { 'apache': module => 'ssl', }
  apache::vhost { 'www': priority => 00, }
  apache::vhost { 'test': priority => 99, } 
}

Mükemmel. fwiw #puppode üzerindeki fuppet ve posta listeleri çok aktiftir ve bunun gibi şeyleri derinlemesine ele almıştır. Kukla ile yeni başlıyorsanız, her iki kaynağı da elinizde tutmanızı öneririm.
kashani
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.