我处于一种情况,为了便于pipe理,我想为两个类使用相同的configuration文件模板。 我只希望configuration文件的一小部分在两者之间是不同的,因为我希望这两个类都包含在大多数节点中,所以我想要一个简单的条件来确定哪个类包含文件。 作为一个例子,我们假设sensor和snuffler都包含在同一个节点中。 我希望模板看起来像这样 <% if scope.name == "sensor" %> include sensor/file1 include sensor/file2 <% else %> include snuffler/file1 include snuffler/file2 <% end %> 这是可能的直接或我需要回落到类定义中的variables定义?
我有一个文件,我想用于几个不同的目的。 该文件是90%相同的使用,只是轻微的差异。 我宁愿不将内容复制到傀儡中的多个文件中,所以有办法做类似的事情 file { "/tmp/file1" : content => template("module/template.erb") } file { "/tmp/file2" : content => template("module/template.erb") } 并在模板中: Jack John James <% if file == "/tmp/file2" %> Jim <% end %>
我们在所有计算机上使用Word 2003; 我们还使用组策略来设置共享的“工作组模板”文件夹,这非常有用,因为我们可以将.DOT文件复制到其中,以便所有用户都可以访问它们。 我们有一个公司政策,所有的文件必须在页脚中有一个文件path和一个页码。 我很想能够覆盖默认的Word模板,如果可能的话包括这些 – 任何人都可以提出一个干净,高效的方式吗? 提前感谢你
在我目前正在使用的模块中,我得到了一些需要设置的configuration选项,它们具有默认值…并且应该被分割成更短的模板文件,否则它将成为滚动的噩梦。 推荐的方式是使用一些第三方模块。 有没有内置的方式?
我试图找出如何构build模板(或文件,因为它的工作方式相同)文件夹的path,然后我可以读取它,并在循环中使用模板资源,所以每个模板文件可以触发通知变化。 我无法使用remote_directory,因为我只想在模板更改时通知服务。 我也想避免手动模板规范,因为这些目录中可能有很多文件。 另外,它可以让我们只改变模板文件夹中的configuration,而无需触摸配方。 主要的问题是像默认,主机,主机版本这些子目录和逻辑厨师通过确定正确的模板文件夹。 我在想,也许我可以从自定义食谱中调用一个厨师类的方法,以达到我的逻辑(循环)的起点。 应该是这样的我想: entry_point = CHEF::…getEntryPointDir entry_point.glob.. .each do template fname do … end end 我将不胜感激任何帮助!
我在傀儡中有以下类和定义: $certDirectory = "/var/lib/ssl/certs" class openssl { package { "openssl": ensure => latest } file { "openssl": path => "/var/lib/ssl", ensure => directory, mode => 0644 } file { "openssl-certs": path => "/var/lib/ssl/certs", ensure => directory, mode => 0644 } define cert($ensure = present) { $certfile = "${certDirectory}/${name}.cert" $keyfile = "${certDirectory}/${name}.key" $pemfile = "${certDirectory}/${name}.pem" file […]
嗨,我想就如何在傀儡erb中编写这个帮助,基本上我有 server::actionhost { 'details': servername[ 'felix', 'washington', ], ipa [ '192.168.43.5', '192.168.43.11', ], enviro [ 'prod', 'uat', ], } 我现在要打印出一个文件,每个数组中的每个元素在一行中,即我的类中的模板文件的输出应该是这样的: felix 192.168.43.5 prod washington 192.168.43.11 uat 当我尝试这个时,我在我的模板文件中写了下面的代码: <% servername.each do |name| -%> <% ipa.each do |ip| -%> <% enviro.each do |env| -%> <%= name %> <%= ip %> <%= env %> <% end -%> <% […]
如果我需要从模板部署Red Hat 7,我想采取推荐的步骤,使我的“黄金形象”干净。 它应该引导到第一启动提示符,并引导用户通过典型的步骤。 在Red Hat 5/6中,我遵循了供应商提供的文档 。 但是,我无法findRed Hat 7的等价物。具体来说, touch /.unconfigured不会触发第一次启动设置。 9.3.1。 将Linux虚拟机作为模板进行部署 概要 在将其作为模板之前,将Linux虚拟机一般化(密封)。 这可以防止从模板部署的虚拟机之间发生冲突。 过程9.6。 密封Linux虚拟机 login到虚拟机。 通过以root身份运行以下命令来标记系统以进行重新configuration: # touch /.unconfigured 删除SSH主机密钥。 跑: # rm -rf /etc/ssh/ssh_host_* 在/etc/sysconfig/network设置HOSTNAME=localhost.localdomain 删除/etc/udev/rules.d/70-*。 跑: # rm -rf /etc/udev/rules.d/70-* 从/etc/sysconfig/network-scripts/ifcfg-eth*删除HWADDR =和UUID =行。 可以从/var/log删除所有日志,并从/root日志。 closures虚拟机。 跑: # poweroff 编辑:步骤1和7可以通过最后运行sys-unconfig进行组合。 或者,从libguestfs-tools-c看一看virt-sysprep ,它的function非常强大 。 [user@hostname ~]$ virt-sysprep –list-operations abrt-data […]
我尝试创build两个不同的文件与一个模板,因为他们只差一行。 file { "/tmp/bootstrap-raid.sh": content => template("pxe/bootstrap.sh.erb"), } file { "/tmp/bootstrap-noraid.sh": content => template("pxe/bootstrap.sh.erb"), } bootstrap.sh.erb: <% if ??? == "???" %> -r yes \ <% else %> -r no \ <% end %> 我不能通过定义两次$raid=yes file{} $raid=no file{}来传递variables,所以我试图在每个file{}定义variables,而不费力气。 那么我想在模板内使用targetfilename,如<% if filename == "/tmp/bootstrap-raid.sh" %>这也是不可能的。 如何使用不同的“参数”来调用两次模板 我的目标是不在清单文件中定义和调用额外的函数,或者创build两个模板。 有任何想法吗? 在模板中是否有任何预定义的默认variables,如目标文件的文件名,templatename,…? 编辑:另一个例子是有两个php.ini文件在debian中,一个用于命令行,另一个用于web服务器。 我只想交换内存限制。 但每个服务器都需要php.ini文件。 我正在寻找一种方法来传递一个硬编码的参数到模板文件或一种方式, if/then/else基于目标文件名。 当然,我知道我可以创build一个新的定义,我可以调用两次。 但我正在寻找一个更简单的方法。
我想要做的是为每个openvpn用户生成多个configuration文件。 我有IP地址和其他configuration的支柱。 例如: openvpn: – user1: ip: 1.2.3.4 config: – line1 – line2 在SLS中,我想要做一些事情: {% for vpnuser in salt['pillar.get']('openvpn') %} /etc/openvpn/ccd/{{ vpnuser }}: file.managed: – template: jinja – source: salt://openvpn/ccdtemplate {% endfor %} 并在ccdtemplate我想生成configuration取决于用户和该用户的configuration数据存储在支柱。 但是为此,我需要知道状态variables“vpnuser”的内容。 是否有可能将variables从一个状态传递给jinja模板?