[英]puppet manifest giving error when resources are declared as abstract resource types
我在木偶中读到,也可以在清单中使用Resource []语法声明资源。 我在下面的清单中写了,但给出了错误
Error: Could not parse for environment production: Syntax error at 'NO'; expected '}' at /etc/puppet/manifests/no.pp:3 on node pk-docker-01.cs1cloud.internal
Error: Could not parse for environment production: Syntax error at 'NO'; expected '}' at /etc/puppet/manifests/no.pp:3 on node pk-docker-01.cs1cloud.internal
file { '/var/NO/tmp' : ensure => directory,
}
Resource[User] {"NO":
ensure => present ,
password => 'admin@123',
}
group { no :
ensure => present ,
}
谢谢
您参考的文档适用于Puppet 4.2。 您可以在此处找到Puppet 3.8参考。
3.8不支持您使用的声明类型。 无论哪种方式,都应使用标准file{ 'dfsf': }
资源声明,因为它与更多版本的puppet兼容。
我检查了Puppet 3.8文档中的资源,没有看到抽象资源,但这并不意味着该功能不存在。 话虽如此,我还在“ 数据资源类型”页面上找到了以下信息和示例。 在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文档时要特别小心。 在计划对生产环境进行更改时,请确保始终查看正在运行的版本,而不仅仅是尝试了解即将发布的功能等。
我希望这有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.