Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Chef infra 厨师烹饪书名称中允许的字符(带有LWRP)_Chef Infra - Fatal编程技术网

Chef infra 厨师烹饪书名称中允许的字符(带有LWRP)

Chef infra 厨师烹饪书名称中允许的字符(带有LWRP),chef-infra,Chef Infra,我在我的食谱中定义了LWRP资源-如上所述 因此,让我们假设我的烹饪书名称是某个名称,所以我有文件(正如您可以猜到的,这个LWRP是基于代码的): 文件/some name/recipes/some-kind.rb的内容包括: 在调用knife cookbook时,我上传了一些名称: 问题是我的食谱包含破折号(“-”)字符。若我并没有在食谱上写破折号,那个么一切都没问题 所以问题是:如果愿意使用LWRPs,有没有办法在烹饪书名称中使用破折号字符?某种类型的转义?连字符在资源名称中变成下划线,因此

我在我的食谱中定义了LWRP资源-如上所述

因此,让我们假设我的烹饪书名称是某个名称,所以我有文件(正如您可以猜到的,这个LWRP是基于代码的):

文件/some name/recipes/some-kind.rb的内容包括:

在调用knife cookbook时,我上传了一些名称:

问题是我的食谱包含破折号(“-”)字符。若我并没有在食谱上写破折号,那个么一切都没问题


所以问题是:如果愿意使用LWRPs,有没有办法在烹饪书名称中使用破折号字符?某种类型的转义?

连字符在资源名称中变成下划线,因此这应该是
一些\u name\u manage
。这是因为在Ruby方法名称中不允许使用连字符。

如果您想知道一个名称是否有效,请尝试用该名称定义一个Ruby方法,如果Ruby允许您这样做,它是一个ok名称。
./some-name/recipes/default.rb
./some-name/recipes/some-kind.rb
./some-name/providers/manage.rb
./some-name/resources/manage.rb
some-name_manage "some-kind" do
  data_bag "some-kind"
end
FATAL: Cookbook file recipes/some-kind.rb has a ruby syntax error: 
FATAL: /path/to/chef-repo/cookbooks/some-name/recipes/some-kind.rb:2: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '(' 
FATAL: some-name_manage "some-kind" do
FATAL:                   ^
FATAL: /path/to/chef-repo/cookbooks/some-name/recipes/some-kind.rb:2: syntax error, unexpected keyword_do, expecting keyword_end
FATAL: /path/to/chef-repo/cookbooks/some-name/recipes/some-kind.rb:8: syntax error, unexpected keyword_end, expecting $end