使用资源的数组

你可以将一切均视为 Puppet 的资源,你也可以使用数组资源。 使用这种想法,可以重构你的配置清单,使其更加简洁而清晰。

操作步骤

  1. 在你的配置清单中,将同一类型资源的几个实例定义在一个类中,例如:packages:

    package { "sudo" : ensure => installed }
    package { "unzip" : ensure => installed }
    package { "locate" : ensure => installed }
    package { "lsof" : ensure => installed }
    package { "cron" : ensure => installed }
    package { "rubygems" : ensure => installed }
    
  2. 使用如下的方法用数组将它们组织在一起并用一个 package 资源代替:

    package { [ "cron",
                "locate",
                "lsof",
                "rubygems"
                "screen",
                "sudo"
                "unzip" ]:
        ensure => installed,
    }
    

工作原理

绝大多数的 Puppet 资源类型都可以使用数组来替换单个的资源名, 并会为每个数组的元素创建一个实例。 你为资源提供的所有参数(例如:ensure => installed)都会分配给每个新的资源实例。

参见本书