Puppet поддерживает функции, как и любой другой язык программирования, поскольку базовым языком разработки Puppet является Ruby. Он поддерживает два типа функций, известных под названием оператор и функции-значения.
-
Заявления стоят сами по себе, и у них нет никакого типа возврата. Они используются для выполнения отдельных задач, таких как импорт других модулей Puppet в новый файл манифеста.
-
Rvalue возвращает значения и может использоваться только тогда, когда для оператора требуется значение, например, для присваивания или оператора case.
Заявления стоят сами по себе, и у них нет никакого типа возврата. Они используются для выполнения отдельных задач, таких как импорт других модулей Puppet в новый файл манифеста.
Rvalue возвращает значения и может использоваться только тогда, когда для оператора требуется значение, например, для присваивания или оператора case.
Ключ к выполнению функции в Puppet заключается в том, что она выполняется только на мастере Puppet, и они не выполняются на клиенте или агенте Puppet. Следовательно, они имеют доступ только к командам и данным, доступным на мастере Puppet. Существуют различные виды функций, которые уже присутствуют, и даже пользователь имеет право создавать пользовательские функции в соответствии с требованиями. Несколько встроенных функций перечислены ниже.
Функция файла
Файловая функция файлового ресурса состоит в том, чтобы загрузить модуль в Puppet и вернуть желаемый результат в виде строки. Аргументы, которые он ищет, это ссылка <module name> / <file>, которая помогает в загрузке модуля из каталога файлов модуля Puppet.
Как скрипт / tesingscript.sh будет загружать файлы из <имя модуля> /script/files/testingscript.sh. Функция имеет возможность считывать и принимать абсолютный путь, который помогает в загрузке файла из любой точки диска.
Включить функцию
В Puppet функция включения очень похожа на функцию включения в любом другом языке программирования. Он используется для объявления одного или нескольких классов, что приводит к оценке всех ресурсов, присутствующих внутри этих классов, и, наконец, их добавлению в каталог. Это работает так: функция include принимает имя класса, список классов или список имен классов через запятую.
При использовании оператора include следует иметь в виду, что в классе его можно использовать несколько раз, но есть ограничение на включение одного класса только один раз. Если включаемый класс принимает параметр, функция включения автоматически ищет значения для них, используя <имя класса> :: <имя параметра> в качестве ключа поиска.
Функция include не приводит к тому, что класс будет содержаться в классе при их объявлении, для этого нам нужно использовать содержащуюся функцию. Он даже не создает зависимости в объявленном классе и окружающих его классах.
В функции include допускается только полное имя класса, относительные имена не допускаются.
Определенная функция
В Puppet определенная функция помогает определить, где задан данный класс или тип ресурса, и возвращает логическое значение или нет. Можно также использовать определение, чтобы определить, определен ли определенный ресурс или определенная переменная имеет значение. При использовании определенной функции следует помнить, что эта функция принимает как минимум один строковый аргумент, который может быть именем класса, именем типа, ссылкой на ресурс или ссылкой на переменную в форме «$ name».
Определите проверки функций как для собственного, так и для определенного типа функции, включая типы, предоставляемые модулями. Тип и класс соответствуют их именам. Функция соответствует замедлению ресурса, используя ссылку на ресурс.