答案 0 :(得分:0)
您引用的文档适用于Puppet 4.2。你可以找到Puppet 3.8参考here。
3.8中不支持您使用的声明类型。无论哪种方式,您都应该使用标准create_table :attachments do |t|
t.attachment :file
t.string :name
t.string :surname
t.belongs_to :user
t.timestamps null: false
end
资源声明,因为它与更多版本的puppet兼容。
答案 1 :(得分:0)
我检查了Puppet 3.8 Documentation的资源,但没有看到抽象资源,但这并不意味着该功能不存在。话虽如此,我还在Data Resource Type页面上找到了以下信息和示例。在3.8中,资源类型可能需要引用字符串,如下例所示:
# A resource declaration using a resource data type:
File { "/etc/ntp.conf":
mode => "0644",
owner => "root",
group => "root",
}
# Equivalent to the above:
Resource["file"] { "/etc/ntp.conf":
mode => "0644",
owner => "root",
group => "root",
}
# A resource default:
File {
mode => "0644",
owner => "root",
group => "root",
}
因此,您可以尝试以下代码,看看它是否解决了问题:
file { '/var/NO/tmp' : ensure => directory,
}
Resource["user"] {"NO":
ensure => present ,
password => 'admin@123',
}
group { no :
ensure => present ,
}
我最好的建议是在查看Puppet文档时要特别小心。确保在计划更改生产环境时始终查看正在运行的版本,而不仅仅是尝试了解即将推出的功能等。
我希望这有帮助!