Man Page: puppet device

NAME

puppet-device - Manage remote network devices

SYNOPSIS

Retrieves catalogs from the Puppet master and applies them to remote devices.

This subcommand can be run manually; or periodically using cron, a scheduled task, or a similar tool.

USAGE

puppet device [-d|--debug] [--detailed-exitcodes] [--deviceconfig file] [-h|--help] [-l|--logdest syslog|file|console] [-v|--verbose] [-w|--waitforcert seconds] [-f|--facts] [-a|--apply file] [-r|--resource type [name]] [-t|--target device] [--user=user] [-V|--version]

DESCRIPTION

Devices require a proxy Puppet agent to request certificates, collect facts, retrieve and apply catalogs, and store reports.

USAGE NOTES

Devices managed by the puppet-device subcommand on a Puppet agent are configured in device.conf, which is located at $confdir/device.conf by default, and is configurable with the $deviceconfig setting.

The device.conf file is an INI-like file, with one section per device:

[DEVICE_CERTNAME] type TYPE url URL debug

The section name specifies the certname of the device.

The values for the type and url properties are specific to each type of device.

The optional debug property specifies transport-level debugging, and is limited to telnet and ssh transports.

See https://puppet.com/docs/puppet/latest/config_file_device.html for details.

OPTIONS

Note that any setting that's valid in the configuration file is also a valid long argument. For example, 'server' is a valid configuration parameter, so you can specify '--server servername' as an argument.

--debug

Enable full debugging.

--detailed-exitcodes

Provide transaction information via exit codes. If this is enabled, an exit code of '1' means at least one device had a compile failure, an exit code of '2' means at least one device had resource changes, and an exit code of '4' means at least one device had resource failures. Exit codes of '3', '5', '6', or '7' means that a bitwise combination of the preceding exit codes happened.

--deviceconfig

Path to the device config file for puppet device. Default: $confdir/device.conf

--help

Print this help message

--logdest

Where to send log messages. Choose between 'syslog' (the POSIX syslog service), 'console', or the path to a log file. If debugging or verbosity is enabled, this defaults to 'console'. Otherwise, it defaults to 'syslog'.

A path ending with '.json' will receive structured output in JSON format. The log file will not have an ending ']' automatically written to it due to the appending nature of logging. It must be appended manually to make the content valid JSON.

--apply

Apply a manifest against a remote target. Target must be specified.

--facts

Displays the facts of a remote target. Target must be specified.

--resource

Displays a resource state as Puppet code, roughly equivalent to puppet resource. Can be filterd by title. Requires --target be specified.

--target

Target a specific device/certificate in the device.conf. Doing so will perform a device run against only that device/certificate.

--to_yaml

Output found resources in yaml format, suitable to use with Hiera and create_resources.

--user

The user to run as.

--verbose

Turn on verbose reporting.

--waitforcert

This option only matters for daemons that do not yet have certificates and it is enabled by default, with a value of 120 (seconds). This causes +puppet agent+ to connect to the server every 2 minutes and ask it to sign a certificate request. This is useful for the initial setup of a puppet client. You can turn off waiting for certificates by specifying a time of 0.

EXAMPLE

  $ puppet device --target remotehost --verbose

AUTHOR

Brice Figureau

Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License