diff --git a/README.md b/README.md index 557ee45..1de55ba 100644 --- a/README.md +++ b/README.md @@ -113,7 +113,7 @@ nscd::dbconfig: ## Usage Generated puppet strings documentation with examples is available from -https://voxpupuli.org/puppet-nscd/ +[REFERENCE.md](REFERENCE.md) ## Authors diff --git a/REFERENCE.md b/REFERENCE.md new file mode 100644 index 0000000..f7d6d2b --- /dev/null +++ b/REFERENCE.md @@ -0,0 +1,212 @@ +# Reference + + + +## Table of Contents + +### Classes + +#### Public Classes + +* [`nscd`](#nscd): Configures /etc/ncsd.conf and controls nscd service. +* [`nscd::config`](#nscd--config): == Class nscd::config Configures nscd. + +#### Private Classes + +* `nscd::install`: installs nscd +* `nscd::service`: controls nscd service + +### Data types + +* [`Nscd::Database`](#Nscd--Database): hash of configuration in nscd.conf +* [`Nscd::Database::Settings`](#Nscd--Database--Settings): all possible settings an nscd database can have + +## Classes + +### `nscd` + +nscd class. + +Note for each database at least the `enable-cache` key +must be specified. + +#### Examples + +##### + +```puppet +class{'nscd': + dbconfigs => { + 'passwd' => {'enable-cache' => true, + 'maximum-time-to-live' => 100, + }, + 'group' => {'enable-cache' => true, + 'maximum-time-to-live' => 100, + }, + + } +``` + +#### Parameters + +The following parameters are available in the `nscd` class: + +* [`pkg_ensure`](#-nscd--pkg_ensure) +* [`service_ensure`](#-nscd--service_ensure) +* [`service_enable`](#-nscd--service_enable) +* [`threads`](#-nscd--threads) +* [`max_threads`](#-nscd--max_threads) +* [`paranoia`](#-nscd--paranoia) +* [`restart_interval`](#-nscd--restart_interval) +* [`user`](#-nscd--user) +* [`stat_user`](#-nscd--stat_user) +* [`debug_level`](#-nscd--debug_level) +* [`reload_count`](#-nscd--reload_count) +* [`logfile`](#-nscd--logfile) +* [`dbconfig`](#-nscd--dbconfig) + +##### `pkg_ensure` + +Data type: `Enum['present','absent','latest']` + +state of nscd package. + +Default value: `'present'` + +##### `service_ensure` + +Data type: `Boolean` + +state of nscd service ensure + +Default value: `true` + +##### `service_enable` + +Data type: `Boolean` + +state of nscd service enable + +Default value: `true` + +##### `threads` + +Data type: `Integer` + +number of threads. + +Default value: `5` + +##### `max_threads` + +Data type: `Integer` + +maximum number of threads. + +Default value: `32` + +##### `paranoia` + +Data type: `Boolean` + +enable internal restart mode. + +Default value: `false` + +##### `restart_interval` + +Data type: `Optional[Integer]` + +nscd internal restart interval + +Default value: `undef` + +##### `user` + +Data type: `String[1]` + +specify which user should run nscd + +Default value: `'root'` + +##### `stat_user` + +Data type: `Optional[String[1]]` + +which users can query statistics + +Default value: `undef` + +##### `debug_level` + +Data type: `Integer` + +debug level + +Default value: `0` + +##### `reload_count` + +Data type: `Integer` + +any many reload attempts to make + +Default value: `5` + +##### `logfile` + +Data type: `Optional[Stdlib::UnixPath]` + +specify a debug log file location. + +Default value: `undef` + +##### `dbconfig` + +Data type: `Nscd::Database` + +configuration for each of the passwd, group, hosts and service database. + +### `nscd::config` + +== Class nscd::config +Configures nscd. + +## Data types + +### `Nscd::Database` + +hash of configuration in nscd.conf + +Alias of + +```puppet +Struct[{ + Optional['passwd'] => Nscd::Database::Settings, + Optional['group'] => Nscd::Database::Settings, + Optional['hosts'] => Nscd::Database::Settings, + Optional['services'] => Nscd::Database::Settings, + Optional['netgroup'] => Nscd::Database::Settings, + }] +``` + +### `Nscd::Database::Settings` + +all possible settings an nscd database can have + +Alias of + +```puppet +Struct[{ + 'enable-cache' => Boolean, + Optional['positive-time-to-live'] => Integer, + Optional['negative-time-to-live'] => Integer, + Optional['suggested-size'] => Integer, + Optional['check-files'] => Boolean, + Optional['persistent'] => Boolean, + Optional['shared'] => Boolean, + Optional['max-db-size'] => Integer, + Optional['auto-propagate'] => Boolean, + }] +``` + diff --git a/manifests/init.pp b/manifests/init.pp index 7689f9b..492f5fa 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -22,15 +22,15 @@ # @param service_enable state of nscd service enable # @param threads number of threads. # @param max_threads maximum number of threads. -# @prarm paranoia enable internal restart mode. +# @param paranoia enable internal restart mode. # @param restart_interval nscd internal restart interval # @param user specify which user should run nscd # @param stat_user which users can query statistics # @param debug_level debug level # @param reload_count any many reload attempts to make # @param logfile specify a debug log file location. -# @dbconfig configuration for each of the passwd, group, hosts and service database. - +# @param dbconfig configuration for each of the passwd, group, hosts and service database. +# class nscd ( Nscd::Database $dbconfig, Enum['present','absent','latest'] $pkg_ensure = 'present', diff --git a/manifests/install.pp b/manifests/install.pp index daf6107..622a5bc 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -1,3 +1,6 @@ +# @summary installs nscd +# @api private +# class nscd::install ( $pkg_ensure = $nscd::pkg_ensure ) { diff --git a/manifests/service.pp b/manifests/service.pp index 3b7fd44..0e0b20f 100644 --- a/manifests/service.pp +++ b/manifests/service.pp @@ -1,3 +1,6 @@ +# @summary controls nscd service +# @api private +# class nscd::service ( $service_ensure = $nscd::service_ensure, $service_enable = $nscd::service_enable, diff --git a/types/database.pp b/types/database.pp index 35a88d6..fe65165 100644 --- a/types/database.pp +++ b/types/database.pp @@ -1,3 +1,4 @@ +# @summary hash of configuration in nscd.conf type Nscd::Database = Struct[ { Optional['passwd'] => Nscd::Database::Settings, diff --git a/types/database/settings.pp b/types/database/settings.pp index 5be55d5..986a3de 100644 --- a/types/database/settings.pp +++ b/types/database/settings.pp @@ -1,3 +1,5 @@ +# @summary all possible settings an nscd database can have +# type Nscd::Database::Settings = Struct[ { 'enable-cache' => Boolean,