Validation Puppet:如何在使用validate_cmd时为tempfile强制执行特定的文件扩展名

Validation Puppet:如何在使用validate_cmd时为tempfile强制执行特定的文件扩展名,validation,puppet,consul,Validation,Puppet,Consul,我正在使用puppet生成领事配置文件。我还想使用validate_cmd验证文件。不幸的是,puppet生成的文件名类似于my-service.json20171026-6787-5on04g,但领事验证需要.json扩展名 如何强制puppet生成扩展名为.json的临时文件 file { "${consul_clientconfig_dir}/${name}.json": ... content => template("${module_name}/templat

我正在使用puppet生成领事配置文件。我还想使用validate_cmd验证文件。不幸的是,puppet生成的文件名类似于my-service.json20171026-6787-5on04g,但领事验证需要.json扩展名

如何强制puppet生成扩展名为.json的临时文件

file { "${consul_clientconfig_dir}/${name}.json":
  ...
  content      => template("${module_name}/template.json.erb"),
  validate_cmd => "${consul_binary_dir}/consul validate %",
  notify       => Exec['consul_reload']
}

我使用的是领事1.0.0和一个相当古老的傀儡版本3.8。

目前似乎不可能看到上面的@MattSchuchard评论


幸运的是,concur 1.0.1提供了一个选项,它不回答我最初的问题,但解决了我的问题。

此资源将生成一个.json。生成奇数扩展名的资源在哪里?@MattSchuchard最后一个文件的扩展名是.json,对吗。但是使用validate_cmd会创建一个带有奇数扩展名的临时文件,并用于验证步骤。好的,明白了。不幸的是,答案似乎是否定的,因为它嵌套在内部。与备份不同,没有指定文件扩展名的选项。