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.