Можно ли настроить атрибуты, доступные по рецептам? Если да, то как? Я настроил атрибуты для каждого рецепта, но есть значительное повторение, которое я бы хотел устранить.Атрибуты доступа по рецептам
ответ
Способ работы шеф-повара заключается в том, что в начале конвергенции шеф-повар выполняет итерацию через все кулинарные книги, в которых есть рецепты, которые будут выполняться на узле (либо непосредственно в списке запуска, либо через include_recipe
). Для каждой поваренной книги шеф-повар будет читать в все файлов атрибутов, хранящихся в папке attributes
, и добавить атрибуты в хэш-код node
.
Важно отметить, что атрибуты не имеют никакого отношения к рецептам, которые вы выполняете, и все рецепты будут видеть одинаковый вид загруженных атрибутов.
Ваше описание немного расплывчато, но из того, что я могу собрать, у вас есть кулинарная книга с несколькими рецептами, и для каждого рецепта вы создаете соответствующий файл атрибута. В каждом из этих файлов атрибутов вы повторно определяете один и тот же атрибут (например, default['myapp']['foo'] = "blah"
).
Это необязательно из-за процесса, который я описал в начале. Во время конвергенции Chef будет читать все ваши файлы атрибутов независимо от того, какие рецепты вы используете. Это означает, что загруженный второй (или третий или четвертый и т. Д.) Файл атрибута просто перезапишет атрибут node['myapp']['foo']
, который был установлен ранее загруженным файлом атрибутов.
В этой ситуации общий шаблон должен содержать файл атрибута default.rb
, который определяет все общие атрибуты, которые будут использоваться всеми вашими рецептами. При необходимости вы можете перенести атрибуты, относящиеся к рецепту/компоненту, в их собственный файл атрибутов.
В этой ситуации нужно знать, что шеф-повар загружает файлы атрибутов в алфавитном порядке. Если ваш файл атрибута, специфичный для рецепта (например, client.rb
), ссылается на один из атрибутов, определенный в default.rb
, тогда вам нужно будет использовать директиву include_attribute
, чтобы заставить шеф-повара загрузить default.rb
перед вашим client.rb
, в противном случае все атрибуты от default.rb
будут по-прежнему быть ноль.
- 1. Атрибуты доступа из CSS
- 2. Атрибуты доступа скомпилированной директивы
- 3. Передача переменных рецептам шеф-повара и синхронизация
- 4. модуль доступа атрибуты вне модуля
- 5. доступа атрибуты ActiveRecord :: Ассоциация :: CollectionProxy
- 6. Атрибуты тела доступа запроса узла
- 7. слоев доступа атрибуты имени слоя
- 8. Атрибуты доступа Multigraph в NetworkX
- 9. as3 - динамические атрибуты класса доступа
- 10. доступа атрибуты внутри хэшируются колонки
- 11. формы Grails доступа атрибуты контроллер
- 12. C# Пользовательские атрибуты доступа к базе данных
- 13. Атрибуты полей формы доступа в шаблоне Django
- 14. По умолчанию атрибуты
- 15. Алгоритм соответствия ингредиентов рецептам в AS3 (высокий уровень)
- 16. Swift NSOderedSet Итерирование для доступа Атрибуты - CoreData
- 17. Python - объект доступа атрибуты, как в словаре
- 18. поля модели доступа и атрибуты в django
- 19. Атрибуты доступа к ресурсам из Rails Formbuilder
- 20. Атрибуты элемента доступа в файле XML
- 21. Атрибуты доступа из XML в оболочке
- 22. Объединить атрибуты с использованием доступа sql vba
- 23. Атрибуты доступа к объектам внутри объектов ruby
- 24. Как обновить существующие атрибуты папки общего доступа?
- 25. Директивы AngularJS атрибуты доступа от контроллера
- 26. список доступа к dicts через атрибуты класса
- 27. Атрибуты доступа класса, связанные с GameObject
- 28. MVC: атрибуты данных доступа в контроллере
- 29. Атрибуты доступа в модели в блоке after_validation
- 30. Angularjs доступа директивы атрибуты элементов контейнера
Как обмениваться атрибутами между кулинарами? – sixty4bit