gpt4 book ai didi

puppet - 在 Puppet list 中使用 `before` 或 `require` 吗?

转载 作者:行者123 更新时间:2023-12-01 01:01:30 25 4
gpt4 key购买 nike

好的,我刚刚开始学习 Puppet 并阅读文档。就我所见:

  • requirebefore 相同
  • subscribenotify 相同

  • 显然,这些是在依赖关系的两侧添加的,但你明白我的意思。

    从代码可读性和可维护性方面来看,使用一个(每对)比另一个更好吗?我应该同时使用两者以获得最大的清晰度还是会使维护变得麻烦?想法?

    最佳答案

    任何一个变体都可以正常工作。不过,它们有一些具体用途。

  • 让意图更清晰

  • 例如。
    exec { "initialize-footool": require => Package["footool"] }
    file { "/etc/default/footool": before => Exec["initialize-footool"] }

    读起来更像英语,而不仅仅是对 exec 的要求。
  • 与不了解相关资源的其他资源建立关系

  • 例如。
    include apache
    exec { "apache2ctl graceful": require => Package[apache] } # package inside class apache

    不过,后者是非常糟糕的做法。我发现最明显的好处之一在于这些元参数能够以整个类为目标。
    include apache
    exec { "apache2ctl graceful": require => Class["apache"] }
    file { "/etc/default/apache2": before => Class["apache"] }

    意图限制自己的人,例如 require而不是曾经使用 before 可以 诉诸这种语法
    class { "apache": require => File["/etc/default/apache2"] }

    不过,社区不鼓励 class {} 样式声明,因为
  • 它不能用于多次声明同一个类
  • 即使与 include 混合,它也会强加解析顺序问题同一类的语句
  • 关于puppet - 在 Puppet list 中使用 `before` 或 `require` 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22894921/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com