【问题标题】:Chef IIS cookbook default resourceChef IIS 食谱默认资源
【发布时间】:2014-10-29 03:11:23
【问题描述】:

使用 IIS 说明书设置共享配置目录

iisconfigsettings.rb

...

default['iis']['conf_dir']   = "#{iis['home']}d:\\configuration"
...

这应该将配置目录更改为 d:\configuration。

在厨师运行后我得到 FATAL: ArgumentError: You must provide a name when declaring a default resource.

我不确定应该在哪里指定名称。根据厨师的文档,这不是太具体,我相信我在这里有合适的参数。 https://github.com/opscode-cookbooks/iis

有没有人有这样的设置经验?

【问题讨论】:

  • 什么是iisconfigsettings.rb?是配方、属性文件还是别的什么??
  • 这是我的 WebServerBuild 食谱中的一个食谱。

标签: chef-infra chef-recipe


【解决方案1】:

我认为您的问题是您在配方上下文中调用 default 方法。这似乎是在尝试创建default 类型的资源,很生气你没有给所述资源命名。坦率地说,我对那里到底发生了什么感到有点困惑,或者你在哪里获得了 default 类型的资源,但幸运的是,解决方案很简单:

iisconfigsettings.rb

...
node.default['iis']['conf_dir'] = "#{iis['home']}d:\\configuration"
...

请注意,我在default 前面添加了node.

另外,我不确定您使用 "#{iis['home']}d:\\configuration" 的目的是什么。这不仅仅是给你d:\configuration,它会预先挂起iis['home']解析到的任何东西。

【讨论】:

  • 这可能是我对如何使用属性的无知。添加 node.default 会导致致命:NameError: No resource, method, or local variable named 'iis' for 'Chef::Recipe "iisconfigsettings".我希望能够使用 iis 食谱中的 node['iis']['conf_dir'] 属性来设置redirection.config 文件以进行共享配置。大部分iis资源我都用过,但是这里不知道怎么利用属性。
  • 看起来正确的用法是:node.default.iis.conf_dr = "d:\configuration" 试图利用 appcmd.exe 来设置配置。但是,在运行 iis 手册如何使用 appcmd.exe 设置这些配置更改后,我认为它不适用于属性 conf_dir。这个实际需要修改的设置在redirection.config 中,据我所知,appcmd.exe 不会触及该文件中的任何部分。
  • NameErrro 来自"#{iss['home']},因为此时您没有任何名为iis 的名称。 node.default... 是正确的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-24
相关资源
最近更新 更多