我对puppet resource
命令的输出有点困惑,文档对我没有帮助。
puppet resource user myuser
例如,如果我运行,它会产生:
user { 'myuser':
ensure => 'present',
comment => 'Ubuntu',
gid => '1000',
groups => ['cdrom', 'floppy', 'sudo', 'audio', 'dip', 'video', 'plugdev', 'netdev'],
home => '/home/myuser',
shell => '/bin/bash',
uid => '1000',
}
无论用户帐户是否被 Puppetized,此命令都会给出相同的输出。在这种情况下,该节点没有应用影响该用户的 Puppet 清单。我可以删除此帐户,并且不会重新创建它。那么,这个输出告诉我什么?该ensure => present
属性当然不会告诉我 Puppet 将确保该帐户存在。
这基本上是在告诉我'如果您希望 Puppet 将此用户帐户保持在当前配置状态,这就是您要在清单中保留的内容'?还是我完全误解了这一点?
Puppet 可用于审核系统的状态。审核系统状态的部分功能是能够实际读取某些资源的状态。Puppet 仅在资源不符合预期时更改系统上的内容。它必须能够加载资源的当前状态以决定是否需要更改。
该
puppet resource
命令只是公开了该功能。它不经常直接使用,但有时对调试很有用。如果需要,您当然可以使用它来帮助您弄清楚如何编写清单。无论如何,puppet 的主要功能绝对需要该功能。puppet 资源只是暴露出来的一部分管道,因为它偶尔有用。