---
name: "torrus_ttproclist"
section: "8"
platform: "linux"
package: "torrus-common"
version: "3.00-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/torrus_ttproclist"
---

# torrus\_ttproclist(8)

Process a template with a nodelist

## NAME

ttproclist - Process a template with a nodelist

## SYNOPSIS

**torrus ttproclist** --tmpl=*TFILE* --out=*OFILE* --nodes=*NFILE* \[*options...*\]

## DESCRIPTION

This command takes a Template-Toolkit template and a list of nodes (usually SNMP devices) as input. The output file is a result of template substitution, according to the specified options. Command-line options **--tmpl**, **--out** and **--nodes** are mandatory.

This utility can be used to generate the discovery instructions XML out of a predefined template and a dynamically generated list of devices. Alternatively, it can produce Torrus XML configuration for a given list of objects, etc.

The following variables are predefined when the template is processed:

- •

  `"nodes"`

  Hash array of nodes. Hash keys are the node names. Values are symbolic names. If symbolic names are not defined, values are the same as keys.

- •

  `"param"`

  Hash array of command-line parameters given in **--param** option.

- •

  `"nodesfile"`, `"creator"`

  Informative variables. They can be used to produce the creation note in the resulting files. `"nodesfile"` returns the file name of nodes, and `"creator"` returns a detailed information how the file was generated, with timestamp and command line options.

## OPTIONS

- **--tmpl**=*TFILE*

  The file name of the input template. Relative names are looked in the current directory and in */etc/torrus/templates*. The file name may also be an absolute path.

- **--out**=*OFILE*

  Output file name. If no absolute path given, the file is written in the current directory.

- **--nodes**=*NFILE*

  The name of the nodes list. Nodes should be separated by space or tab character or newline. Additional information, referred to as symbolic name, can be supplied after a colon, of the form NODENAME:SYMBOLICNAME.

- **--param**=*NAME:VALUE,NAME:VALUE...*

  List of optional parameters that may be used in the template.

## EXAMPLES

The following example gerenates `"devdiscover"` input file from a template. The template is as follows:

```
 <?xml version="1.0" encoding="UTF8"?>
 <snmp-discovery>
 >>> usual DDX parameters here, like SNMP community and data-dir
  <param name="snmp-community" value="private"/>
  <param...
 >>> This loop generates per-host entries
  [% FOREACH n = nodes.keys.sort %]
  <host>
    <param name="snmp-host" value="[% n %]"/>
    <param name="symbolic-name" value="[% nodes.$n %]"/>
    <param name="output-file" value="nodes/[% n %].xml"/>
  </host>
  [% END %]
 >>> Generate the bundle file, so that you need only one
 >>> entry in torrus-site-config.pl
  <param name="output-bundle" value="[% param.BUNDLE %].xml"/>
 </snmp-discovery>
```

The following command would generate *MY.ddx* from template file *MY.ddtmpl* as described above. The file *MY.nodes* is a list of SNMP devices, one per line. Then `"devdiscover"` is launched with *MY.ddx* as input. Note also the short form of the command line wrapper.

```
 torrus ttproclist --tmpl=MY.ddtmpl \
   --nodes=MY.nodes \
   --out=/usr/local/etc/torrus/discovery/MY.ddx \
   --param=BUNDLE:MYNODES
 torrus dd --in=MY.ddx --verbose
```

In addition, you may put some common parameters in Template BLOCK statement in a separate file, and INCLUDE it in your templates. See the Template-Toolkit documentation for more detail.

## NOTES

See more documentation at Torrus home page: http://torrus.org

## SEE ALSO

Template-Toolkit documentation: http://template-toolkit.org/

[**torrus**(8)](/torrus/8.md), [**torrus\_devdiscover**(8)](/torrus_devdiscover/8.md)

## AUTHOR

Stanislav Sinyagin \<ssinyagin@k-open.com\>
