Как использовать пользовательское имя ресурса Chef в качестве переменной? - PullRequest
1 голос
/ 15 июня 2019

Если мы определяем ресурс так, что он будет использоваться следующим образом:

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 ]

1 голос
/ 17 июня 2019

По умолчанию все пользовательские ресурсы имеют свойство name, к которому вы можете получить доступ

new_resource.name

Если вам нужно другое свойство, чтобы стать имя свойства , как file ресурсимеет path свойство в качестве имени, вы должны добавить name_property: true к его объявлению в вашем ресурсе следующим образом:

property :some_property, String, name_property: true

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

1 голос
/ 15 июня 2019

в вашем пользовательском ресурсе, вы можете ссылаться на атрибут name так же, как и на другие атрибуты, используя new_resource.name

для получения дополнительной информации, оформить заказ:

...