如何将厨师食谱中的一种资源的价值传递到另一种资源?

2023-11-30

我正在尝试更改一个资源中的属性,并希望在另一资源中使用更新后的值,但更新后的值未反映在另一资源中。请帮我

Code

node[:oracle][:asm][:disks].each_key do |disk|
    Chef::Log.info("I am in #{cookbook_name}::#{recipe_name} and current disk count #{node[:oracle][:asm][:test]}") 

    bash "beforeTest" do
        code <<-EOH
            echo #{node[:oracle][:asm][:test]}
        EOH
    end
    ruby_block "test current disk count" do
        block do
            node.set[:oracle][:asm][:test] = "#{node[:oracle][:asm][:test]}".to_i+1
        end
    end
    bash "test" do
        code <<-EOH
            echo #{node[:oracle][:asm][:test]}
        EOH
    end
end

我试图更新的值是存储在node[:oracle][:asm][:test]


你的问题是code变量是在 Chef 的编译阶段、Ruby 块更改属性值之前设置的。您需要在代码块周围添加一个惰性初始化程序。

Chef::Log.info("I am in #{cookbook_name}::#{recipe_name} and current disk count #{node[:oracle][:asm][:test]}") 

bash "beforeTest" do
  code lazy{ "echo #{node[:oracle][:asm][:test]}" }
end

ruby_block "test current disk count" do
  block do
    node.set[:oracle][:asm][:test] = "#{node[:oracle][:asm][:test]}".to_i+1
  end
end

bash "test" do
  code lazy{ "echo #{node[:oracle][:asm][:test]}" }
end

第一个块实际上并不需要惰性,但我将其放入其中,以防其他地方的值也发生变化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将厨师食谱中的一种资源的价值传递到另一种资源? 的相关文章

  • Rails:CSRF 令牌不工作但已设置

    我在 Heroku 上有我的 Rails 3 应用程序 当我发送银行信息时 我得到 WARNING Can t verify CSRF token authenticity但我的 CSRF 令牌已设置 https gist github c
  • 通过推送通知唤醒

    Suppose 有一些对象 例如 一个数组a 和依赖于对象的条件 例如 a empty 当前线程以外的某些线程可以操作该对象 a 因此条件评估值的真实性会随着时间的推移而变化 如何让当前线程在代码中的某个时刻休眠 并在条件满足时通过推送通知
  • Watir 更改 Mozilla Firefox 首选项

    我正在使用 Watir 运行 Ruby 脚本来自动执行一些操作 我正在尝试自动将一些文件保存到某个目录 因此 在我的 Mozilla 设置中 我将默认下载目录设置为桌面并选择自动保存文件 然而 当我开始运行脚本时 这些更改并未反映出来 似乎
  • 如何在 Rails 4 中使用 params.require

    我有一个像这样的私有方法 用于有四个字段的注册表单 firstname email password and confirm password 我不知道如何检查password confirmation def user params pa
  • yard 0.7.3 无法在 Markdown 和 Textile 中构建我的自述文件

    我决定将我的项目中的 README 文件转换为 Markdown 并一直使用yard 验证文档是否正确呈现 所以我安装了 rdiscount 将 README 更改为 README md 并尝试 yard doc README md 这给了
  • 如何从 Ruby 程序发送邮件?

    我想从 Ruby 应用程序发送电子邮件 核心语言中是否有调用来执行此操作 或者是否有我应该使用的库 最好的方法是什么 如果你不想使用行动邮递员 http wiki rubyonrails org rails pages ActionMail
  • Rails/Nginx 中的超时——最佳实践

    我正在开发一个应该在 Nginx 服务器上运行的 Rails 应用程序 根据输入 应用程序可能需要很长时间来处理请求 或者在出现错误时挂起 因此我想防止进程永远运行 除了确保客户端收到超时信号的 Nginx 配置之外 我想我可能仍然需要确保
  • 如何从 ruby​​ 中的字符串中删除所有非数字?

    用户输入数字的形式如下 1 800 432 4567 800 432 4567 800 432 4566 800 432 4567 1 800 432 4567 800 432 4567 我希望所有这些都变成没有特殊字符的剥离版本 例如18
  • 已定义方法的 Ruby 钩子?

    我一直在谷歌上搜索这个问题 但找不到答案 这让我认为答案是否定的 但我想我会在这里问 以防有人确切知道 Ruby 是否有一个钩子来定义方法 即在模块或类上 如果没有 是否有人足够熟悉该实施的情况main对象以了解它到底如何将方法复制到Obj
  • 我无法让 ruby​​ 开发工具包适用于 Windows XP

    所以 我一生都无法让它正常工作 我的最终目标是安装 dbd odbc gem 并使其正常工作 从我读过的多篇文章来看 我需要安装ODBC 绑定 http www ch werner de rubyodbc 对于 ruby 以及 dbd od
  • 在 Ruby 中创建一个空文件:相当于“touch”?

    创建一个的最佳方式是什么emptyRuby 中的文件 类似于 Unix 命令的东西 touch https en wikipedia org wiki Touch 28Unix 29 touch file txt FileUtils tou
  • 红宝石接球和效率

    catch在 Ruby 中意味着跳出深度嵌套的代码 在 Java 中 例如用Java也可以达到同样的效果try catch用于处理异常 但它被认为是糟糕的解决方案 而且效率非常低 在 Ruby 中 我们有处理异常的方法begin raise
  • Ruby 中的 DateTime.parse() 是否依赖于语言环境?

    我想知道以下示例的输出 解析时01 03 它会被解决为Mar 1st or Jan 3rd Ruby 不依赖于语言环境 因为红宝石是一个服务器端语言而不是客户端像 JavaScript 一样的语言 Ruby 使用系统时钟yourWeb 应用
  • 带有 OAuth2 的 YouTube API v3:更新和删除失败并出现“权限不足”错误

    我在尝试着update and delete视频使用YouTube API v3 https developers google com youtube v3 docs videos with OAuth2 用于身份验证 https dev
  • Watir Webdriver 加载 Chrome 扩展

    我正在尝试使用 Watir 加载 chrome 扩展 但遇到了问题 我发现这个相关问题 能够启动带有 watir webdriver 加载扩展的 chrome https stackoverflow com questions 125867
  • ruby 认为我正在引用顶级常量,即使我指定了完整的命名空间

    在我的应用程序中我有 class User include User Foo end User Foo定义在 app models user foo rb 中 现在我正在使用一个定义自己的库Foo班级 我收到此错误 警告 User Foo
  • 我可以让这个 Ruby 代码更快并且/或使用更少的内存吗?

    我有一个Array of StringRuby 中的对象由如下单词组成 animals cat horse dog cat dog bird dog sheep chicken cow 我想将其转换为另一个Array of String对象
  • Ruby ActiveRecord 和 sql 元组支持

    ActiveRecord 是否支持 where 子句中的元组 假设底层数据库支持 结果 where 子句看起来像这样 where name address in John 123 Main St I tried Person where n
  • Ruby 动态变量名

    有没有办法在 Ruby 中创建具有动态名称的变量 我正在读取一个文件 当我找到一个字符串时 会生成一个哈希值 e g file File new games log r file lines do l l split do p if p 1
  • 使用正则表达式搜索 Ruby 数组

    你好 我有一个小的 ruby 函数 它可以分割出一个 Ruby 数组 如下所示 def rearrange arr from to sidx arr index from eidx arr index to arr sidx arr sid

随机推荐

  • 在 RXjava 中应用重试

    我想使用 RXJava 运行重试方法 return Observable just myObj flatMap doc gt myFunc myObj doOnError e gt log Error onErrorResumeNext m
  • 如何:实现 BatchMessageListenerContainer 以批量使用 JMS 队列

    我最近在 Spring Integration 中遇到了对 JMS 使用者的需求 能够消耗大量的突发数据 而不会给我的目标 Oracle 数据库带来过多的提交压力 DefaultMessageListenerContainer 似乎不支持除
  • 预声明所有私有/局部变量?

    这可能是一个基本问题 但它让我想了很长一段时间 我应该将所有私有 局部变量声明为私有吗 或者这仅对 重要 变量是必要的 例如 我有计算的 临时 结果 我应该预先声明这个变量吗 希望有人能指出这一点 既然你说的是private protect
  • Google App Engine 自动随机重启

    我们在 GAE 上运行节点服务器 由于某种原因 我们的服务器每天会离线几次 有时可能需要几分钟才能恢复在线 全天的请求都是相同的 也没有例外会导致重新启动 没有请求激增或任何可能导致这种情况的特殊请求 发生时记录 2020 04 18T23
  • 从泽西岛的 URI 获取处理程序?

    里面一个ContainerResponseFilter我想得到 处理程序 即所在的班级 Path和 GET PUT 带注释的方法与我将提供的 URL 匹配 Example someJerseyVariable getHandlerForUR
  • 计算div标签的平均高度和平均宽度

    我需要获取 html 文档的平均 div 高度和宽度 我已经尝试过这个解决方案 但它不起作用 import numpy as np average width np mean div attrs width for div in my do
  • UITextField 格式为 xx-xx-xxx

    我正在使用 UITextField 我希望它应该采用 xx xx xxx 数字格式的字符 有什么帮助吗 需要对具有可变格式的电话号码很好地做到这一点 这就是我写的 随意重用 首先 我有一种过滤格式化字符串的方法 其中 是数字 任何其他字符都
  • 虚拟化 ItemControl?

    我有一个ItemsControl但是包含我想要虚拟化的数据列表VirtualizingStackPanel IsVirtualizing True 似乎不适用于ItemsControl 确实是这样吗 还是有另一种我不知道的方法可以做到这一点
  • 使用委托在视图控制器之间进行通信

    在提出一些问题后 我学会了如何将订单从一个视图控制器发送到另一个视图控制器 并设法编写其工作代码 但没有任何反应 在我的项目中 我有两个视图控制器 名为sayfa1 and sayfa23 当按钮位于sayfa1单击它将打开sayfa23并
  • 如何使用dom解析器java解析xml中的同名标签?

    如何使用dom解析器java解析xml中的相同名称标签 我有以下 xml 文件 我想使用 java 中的 dom 解析器来解析该文件
  • scanf("%c") 自动读取 10

    void main int cnt 1 char i while cnt lt 4 printf nenter the character scanf c i if i gt 64 i lt 91 printf ncharacter is
  • 用于标记代码的 Eclipse 插件

    有没有Eclipse插件可以标记代码 就像用荧光笔一样 有人知道这是否可能吗 您可以用书签标记要突出显示的行 然后设置背景颜色以突出显示书签 你必须进去 preferences gt General gt Editors gt Text E
  • TypeORM 查找 where 条件 AND OR 链接

    我正在尝试使用存储库查找来编写查询 但似乎没有找到适合我的查询的解决方案 我知道这可以通过查询生成器或 Raw 条件实现 但如果可能的话 我想使用存储库查找 我想要达到的条件是字段1 字符串 AND 字段2为空OR字段2 gt 日期 目前唯
  • 合并两个相同类型的案例类,除了某些字段

    如果您有这样的案例类 case class Foo x String y String z String 你有两个实例 例如 Foo x1 y1 z1 Foo x2 y2 z2 是否可以将实例 1 合并到实例 2 中 除了字段 z 之外 结
  • 在 Android 中使用 cURL

    我想在我的 android 应用程序中以本机代码使用 cURL 库 使用最新的 NDK r5b 经过在线研究后 似乎在 android 中使用 cURL 的唯一方法是构建包含curl 的整个 android 源代码树 并且以某种方式生成 c
  • iDevice for Dummies:一台设备可以分配多个配置(个人/企业)吗? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 是否可以为一个 iDevice 分配多个规定 老实说
  • 触发器从另一个表更新总和 MySQL

    我有一个数据库 用于跟踪我所在联赛的统计数据和平均值 我有一个结果表和一个排名表 我将结果中的 分数 添加到排名中的总体 分数 中 我目前有一个查询 它成功地将结果中的分数添加到积分表中 但是 当我添加新结果时 排名不会更新 这是我的查询
  • C / C++ / C#:如何执行“mount -a”

    问题 在 C C C 中 我需要 C 但 C 和 C 也可以 如何在 Linux 上执行 mount a 我的意思是 以编程方式 without开始一个像这样的过程 system mount a Edit 注意 a 我的问题实际上不是关于如
  • Express.JS:将 cookie 附加到静态提供的内容

    我使用 Express JS 来提供静态内容 express use express static When index html服务完成后 我想在响应旁边发送一个 cookie 指示用户是否已登录 通常应该使用res cookie 但我不
  • 如何将厨师食谱中的一种资源的价值传递到另一种资源?

    我正在尝试更改一个资源中的属性 并希望在另一资源中使用更新后的值 但更新后的值未反映在另一资源中 请帮我 Code node oracle asm disks each key do disk Chef Log info I am in c