Включение и класс оба необходимы для использования модуля Puppet - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь использовать кукольный модуль ntp. В инструкциях говорится использовать «include» для установки и включения, но затем использовать «class» для настройки параметров. Нужно ли даже включать «include»?

Setup
Beginning with ntp

include ntp is enough to get you up and running. To pass in parameters specifying which servers to use:

class { 'ntp':
  servers => [ 'ntp1.corp.com', 'ntp2.corp.com' ],
}

Usage

All parameters for the ntp module are contained within the main ntp class, so for any function of the module, set the options you want. See the common usages below for examples.
Install and enable NTP

include ntp

Change NTP servers

class { 'ntp':
  servers => [ 'ntp1.corp.com', 'ntp2.corp.com' ],
}

Я запутался, если мне нужно всегда использовать «include ntp» перед использованием «class {'ntp':», или если этого достаточно, чтобы не использовать "include ntp" и ТОЛЬКО используйте "class {'ntp':" при использовании модуля на моем сайте .pp

Мой вопрос:

1) Когда необходимо использовать только оператор "include" и нет "class" ... это нужно, только если мы используем модуль, но не указываем какие-либо параметры?

2) Разрешено ли исключать оператор "include", и просто использовать оператор "класс"? т. е. допустимо не использовать оператор «include», поскольку оператор class по сути будет делать то же самое, что и оператор include, но также будет включать настроенные параметры? Разве инструкция «include» не является избыточной?

3) Когда я должен использовать ОБА оператор «include» и оператор «class»?

Я не вижу ни одного случая использования оператор "include" необходим, поскольку оператор class делает то же самое, что и оператор include.

1 Ответ

0 голосов
/ 30 апреля 2020

Это хорошо задокументировано на https://puppet.com/docs/puppet/latest/lang_classes.html#reference -4789 .

Чтобы ответить на ваши вопросы

  1. Да, вам нужно использовать class только когда вы указываете параметры
  2. Да, если вы заявили, что используете class, вы также не должны объявлять, используя include
  3. Не используйте оба include и class в тот же манифест. С осторожностью вы можете смешать несколько объявлений include с одним объявлением class для нескольких манифестов, но в пределах одного манифеста просто используйте один или другой
...