无论如何通过munge
电话或类似的东西来标准化标题值?
我有一个自定义类型/提供程序,用于管理Windows计算机上的本地组成员身份(我们需要更多粒度而不是组成员身份,而不仅仅是用户/组类型。
group_member{"Group => Member":
ensure=>present,
}
group_member{"Group => DOMAIN\Member":
ensure=>present,
}
resources{'group_member':
purge =>true,
}
一般来说,当一切都一致时,一切都很好。问题在于windows / active目录不区分大小写。因此,当self.instances
被调用时,它会生成资源Group_member["Users => DOMAIN\SomeGroup"]
,但在我们的puppet清单中,Users
是硬编码的,DOMAIN
来自事实,SomeGroup
来自一个hiera值。
我们一直在与puppet的案例敏感性斗争大约5年,我们的大多数管理员已经习惯于确保域和yaml配置之间的案例匹配。
现在,我们遇到了一个新问题......某种程度上DOMAIN
正在搞乱。在新的测试域上,NETBIOS名称是小写的。我们返回DOMAIN的事实仍然返回大写,但Windows ADSI返回小写形式。如果我们不使用resources{'group_member': purge=>true}
,这不会是一个问题,但现在在这个测试环境中,这些组被添加(通过各自的.pp文件)并被移除(通过resources{'group_member': purge=>true}
})每个木偶运行
理想情况下,我想在self.instances
和所有.pp文件中将所有内容规范化为小写,但我们有400个木偶模块,我们使用group_member 120次,由不同的团队管理。如果我只能munge
标题元参数,那将会更加容易。
有什么建议吗?
答案 0 :(得分:0)
所以,我正在处理这个问题的方法是重命名现有的类型/提供程序,并将其包装在一个以title
为小写的定义类型中。