非常简单的问题我希望,我正在使用流浪汉,在我的木偶文件中我有以下
class iptables {
package { "iptables":
ensure => present
}
service { "iptables":
require => Package["iptables"],
hasstatus => true,
status => "true",
hasrestart => false,
}
file { "/etc/sysconfig/iptables":
owner => "root",
group => "root",
mode => 600,
replace => true,
ensure => present,
source => "/vagrant/files/iptables.txt",
require => Package["iptables"],
notify => Service["iptables"],
}
}
class { 'iptables': }
现在我的问题是class iptables {}
和class { 'iptables': }
之间有什么不同,还是需要接下来呢?
提前致谢
答案 0 :(得分:1)
请查看有关include功能的说明。
使用include
和class
创建实例之间存在一个重要区别。
请考虑以下示例:
例如1:
include some_class
include some_class # no additional effect; the class is only declared once
e.g。 2:
class { "some_class": }
class { "some_class": } # this will not compile !
当您尝试重用您的木偶配置时,通过include
制作实例变得尤为重要。例如,您已定义node1
和node2
,它们都是类some_class
的实例。接下来,您要创建包含两个节点的single_node
。
E.g。 single_node.pp
清单:
include node1
include node2
如果some_class
声明了class{ 'some_class': }
,它将产生冲突并且清单将无法编译。另一方面,使用include some_class
,manifest将编译,没有任何“已定义”的错误。
在我看来,使用include
比推荐更多。
答案 1 :(得分:0)
符号的顺序无关紧要。
class { 'iptables': }
只是另一种方式或写作
include iptables
后者通常应该优先考虑。