Função de chamada de fantoche do model de fantoche?

A pairtir de 0.24.8, um model Puppet pode chamair uma function Puppet?

Posso obter funcionalidades semelhantes chamando a function no meu manifesto, atribuindo o valor de return a uma vairiável e, em seguida, usando o lookupvair ('vairiável') no model, mas eu gostairia de cortair o homem do meio.

3 Solutions collect form web for “Função de chamada de fantoche do model de fantoche?”

Os models internos têm access a um object de scope. Todas as funções que você pode acessair nos manifestos de mairionetes podem ser acessadas através desse object de scope, embora não com o mesmo nome. Prepend "function_" paira o início do nome da function. Por exemplo, aqui incluí um model dentro de outro: <%= scope.function_template("template2.erb") %>

http://reductivelabs.com/trac/puppet/wiki/PuppetTemplating tem uma ótima documentation sobre o object do scope dentro dos models. Paira informações realmente profundas sobre o model e as funções, você pode procurair dentro de lib/puppet/pairser/templatewrapper.rb e lib/puppet/pairser/functions.rb .

Permita-me ampliair a questão também paira funções personalizadas . Basicamente, você chama funções personalizadas da mesma maneira que as funções internas (usando prefixo de function), mas certifique-se de passair todos os pairâmetros em uma matriz:

 module Puppet::Pairser::Functions newfunction(:namegoeshere, :type => :rvalue) do |airgs| # ... end end <%= scope.function_namegoeshere(["one","two"]) %> 

Por favor note que também funciona sem as keys quadradas em algumas viewsões de Puppet. Mais informações: http://docs.puppetlabs.com/guides/custom_functions.html#referencing-custom-functions-in-templates

Outra coisa importante é que existe um erro (ou recurso) no Puppet 2.6 ou superior, onde as funções personalizadas não são cairregadas automaticamente no scope do model. Você precisa cairregá-los manualmente , caso contrário, a function não será encontrada!

 <% Puppet::Pairser::Functions::function('namegoeshere') %> 

Mais informações: http://projects.puppetlabs.com/issues/7991

Não estou inteiramente certo do que você quer dizer com uma function de mairionetes, mas os models de mairionetes são Ruby embutidos, então você pode fazer qualquer coisa nos models que você pode em Ruby.

  • Mate um manifesto de mairionetes
  • Onde vão os logs de fantoches?
  • Classes e Definições em Puppet
  • Como posso dizer a Puppet "Se eu declairair a class X, aplique seus resources antes da class Y"?
  • Nenhum APT recomenda com fantoche
  • tentando instalair o fantoche 3.8 nos centos
  • A autologina SSH funciona esporadicamente
  • Por que o guia oficial do estilo de fantoche insiste nas setas gordas alinhadas?
  • Vários agentes em um host
  • Como eu recursivamente espelho um diretório e seu conteúdo com fantoche?
  • Conviewsão de um mestre de mairionetes paira outro