繁体   English   中英

在事实中使用事实事实来执行命令

[英]Using a Facter Fact within a fact for command execution

我正在尝试编写一个自定义事实模块,通过命令字符串和事实事实变量的串联将事实合并到命令的事实中:

Facter.add("customfact") do
  setcode do
    $string_to_parse = Facter::Util::Resolution.exec('somecommand' + $::fact)
  end
end

Ruby和Puppet的新手... 1.这样做的正确语法是什么?

  1. 有什么方法可以将输出解析为事实数组,或者是在$ string_to_parse中搜索所需内容的正确方法是什么。

这是使用命令生成的输出的示例:

TAG     security-group  sg-0a7a8a61     aws:cloudformation:stack-name   awseb-e-5tzgj9fq5b-stack

我需要安全组和堆栈名称。

您想在新事实中使用Facter.value(:sourcefact)来访问变量。 至于获取单个值,您可能希望将它们作为单独的事实,但是可以通过管道'somecommand' + Facter.value(:sourcefact) + ' | awk {"print $3"}' 'somecommand' + Facter.value(:sourcefact) + ' | awk {"print $3"}'将为您提供安全组(例如)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM