# Reference
## Table of Contents
### Classes
#### Public Classes
* [`klipper`](#klipper): Installs and manages klipper
#### Private Classes
* `klipper::configure`: Handles configuration of klipper
* `klipper::install`: Perform baseline install of Klipper
* `klipper::service`: Manage the klipper service
## Classes
### `klipper`
Installs and manages klipper
#### Examples
#####
```puppet
include klipper
```
#### Parameters
The following parameters are available in the `klipper` class:
* [`src_path`](#src_path)
* [`version`](#version)
* [`user`](#user)
* [`python_dir`](#python_dir)
* [`config_dir`](#config_dir)
* [`log_path`](#log_path)
##### `src_path`
Data type: `Stdlib::Absolutepath`
The filesystem path to clone the klipper source code to
Default value: `"/home/${klipper::user}/klipper"`
##### `version`
Data type: `String`
The version of klipper to install
Default value: `'present'`
##### `user`
Data type: `String`
The account to run klipper under
Default value: `'pi'`
##### `python_dir`
Data type: `Stdlib::Absolutepath`
The path to place the klipper python virtualenv
Default value: `"/home/${klipper::user}/klippy-env"`
##### `config_dir`
Data type: `Stdlib::Absolutepath`
The path to place klipper config files
Default value: `"/home/${klipper::user}/klipper_config"`
##### `log_path`
Data type: `Stdlib::Absolutepath`
Where to store the klipper logs
Default value: `"/home/${klipper::user}/klipper_logs"`