Acessar arrays / hashes em fatos do facter 2

4

No facter 2, agora você pode ter matrizes / hashes como fatos.

Por exemplo:

os => {
  "name"=>"CentOS",
  "family"=>"RedHat",
  "release"=>{
    "major"=>"7",
    "minor"=>"0",
    "full"=>"7.0.1406"
  }
}

Qual é o formato para acessar os=>release=>major de um manifesto?

    
por chriscowley 04.10.2014 / 21:26

3 respostas

6

Por exemplo, assim:

notify { $::os[release][major] : }

Observe que você precisa definir a opção stringify_facts como false para isso para trabalhar (padrão como de escrever com Puppet 3.7.1: true).

    
por 04.10.2014 / 22:34
2

Deve ser possível acessá-lo como um tipo de dado usual: link

$myhash = {os => {
  "name"=>"CentOS",
  "family"=>"RedHat",
  "release"=>{
    "major"=>"7",
    "minor"=>"0",
    "full"=>"7.0.1406"
  }
 }
}

notice( $myhash[os][release][major] )
    
por 04.10.2014 / 22:26
1

Você pode acessar fatos de manifestos usando hashes, como este:

notify { $::os['release']['major']: }

Exemplo:

# puppet apply -e 'notify { $::os['release']['major']: }'
Notice: Compiled catalog for mon.adriatic.local in environment production in 0.04 seconds
Notice: 6
Notice: /Stage[main]/Main/Notify[6]/message: defined 'message' as '6'
Notice: Applied catalog in 0.28 seconds
    
por 18.03.2016 / 01:42

Tags