从 hiera 创建系统组

Create system group from hiera

是否可以从 hiera 创建系统组? 我知道如何通过 class 在清单中创建系统组,但我未能将其移动到 hiera

任何在 hiera 中使用 gid“1000”创建系统组 "foo" 的示例将不胜感激。

谢谢

Hiera 是一项 数据 服务。它可以提供有关系统组或任何类型资源的数据,但您至少需要在某个地方使用一些清单代码来从中进行资源声明。例如,这会将所有详细信息从清单中推送到 Hiera(或其他清单代码)中:

class mymodule::groups(Hash[String, Hash] $groupdata) {
    $groupdata.each |$gname, $params| {
        group { $gname: * => $params }
    }
}

class 的 Hiera 数据馈送可能如下所示:

mymodule::groups::groupdata:
  group1:
    system: true
  group2:
    gid:    42
    system: true
  group3:
    ensure: absent

$groupdata 的值正如 class 所声明的那样,是一个哈希中的哈希。键是组名,值是 属性 名称的散列和内置 Group 资源类型的值。

还有许多其他方法可以实现这一点,各有优缺点。我介绍这个是因为它是最简单的。