当资源声明为抽象资源类型时,puppet清单给出错误
我了解到,也可以使用清单中的Resource[]语法声明资源。我写了下面的清单,但它给出了错误当资源声明为抽象资源类型时,puppet清单给出错误,puppet,puppet-enterprise,Puppet,Puppet Enterprise,我了解到,也可以使用清单中的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 produ
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不支持您使用的声明类型。无论哪种方式,您都应该使用标准的
文件{'dfsf':}
资源声明,因为它与更多版本的puppet兼容。我检查了资源,没有看到抽象资源,但这并不意味着该功能不存在。尽管如此,我还是在页面上找到了以下信息和示例。在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文档时要特别小心。在计划对生产环境进行更改时,请确保始终查看正在运行的版本,而不仅仅是了解即将推出的功能等
我希望这有帮助 您使用的是什么版本的puppet?puppet--版本3.8.2