Ogólnie, pracując ze złożonymi modułami marionetkowymi, ustawiam zmienne na poziomie węzła lub wewnątrz klasy. na przykład,
node 'foo.com' {
$file_owner = "larry"
include bar
}
class bar {
$file_name = "larry.txt"
include do_stuff
}
class do_stuff {
file { $file_name:
ensure => file,
owner => $file_owner,
}
}
Jak / kiedy / dlaczego klasy parametryzowane pomagają w takiej sytuacji? Jak wykorzystujesz sparametryzowane klasy do struktury modułów marionetkowych?
$bar::file_name
i$::file_owner
uzyskać dostęp do tych odpowiednich zmiennych. Jednak podczas korzystania z parametryzowanych klas zmienne przekazywane do klasy przez parametry stają się zmiennymi o zasięgu lokalnym.