如何使用Chef自定义资源名称作为变量?

时间:2019-06-15 05:37:03

标签: chef

如果我们定义的资源将被这样使用:

custom_resource 'name' do  
  some_property some_value
  action :create
end

是否可以在自定义资源定义中使用name作为变量?类似于file资源将名称用作路径的方式。

file '/var/www/myfile.php' do
  content '<html>Some HTML</html>'
  mode '0755'
  owner 'web_admin'
  group 'web_admin'
end

2 个答案:

答案 0 :(得分:1)

在您的自定义资源中,您可以使用name来引用new_resource.name属性和其他属性

有关更多信息,请结帐:

答案 1 :(得分:1)

默认情况下,所有自定义资源都具有您可以访问的name属性

new_resource.name

如果您需要一些其他属性来成为 name属性,因为file资源具有path属性作为名称,则必须将name_property: true添加到其声明中这样的资源:

property :some_property, String, name_property: true

https://docs.chef.io/custom_resources.html#define-properties