Forge Home


Puppet module to manage systemd automounts


5,424 latest version

5.0 quality score

Version information

  • 0.1.4 (latest)
  • 0.1.3
  • 0.1.2
  • 0.1.1
  • 0.1.0
released Sep 21st 2018
This version is compatible with:
  • Puppet Enterprise 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 4.2.0 < 6.0.0
  • , , , , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'mzima-systemd_automount', '0.1.4'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add mzima-systemd_automount
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install mzima-systemd_automount --version 0.1.4

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



mzima/systemd_automount — version 0.1.4 Sep 21st 2018


Manage systemd automounts with Puppet

Table of Contents

  1. Description
  2. Setup - The basics of getting started with systemd_automount
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.


This Puppet module can be used to manage Systemd automount units.

Supported Puppet versions

  • Puppet >= 4

Tested OS Versions

Currently only these OS variants are tested, altought other OS distributions with systemd should also work.

  • Redhat/CentOS >= 7
  • SLES >= 12
  • openSUSE Leap >= 42


Example: Using Code

You can use the funtionality of this module in your own .pp files by using the defined resource type systemd_automount::config. The list of associated parameters can be found here: Parameters

The code below will mount the remote NFSv3 share at the local directory /mnt.

 systemd_automount::config { '/mnt' :
  source  => '',
  fstype  => 'nfs',
  options => 'vers=3'

Example: Using YAML (Hiera)

The main class systemd_automount provides the parameter mounts which only accecpts a hash value. The list of associated parameters can be found here: Parameters

The following example will mount the remote CIFS/SMB share // at the local directory /mountpoint1 and the NFS4 share at the directory /mountpoint2.

     'source'  : '//'
     'fstype'  : 'cifs'
     'running' : 'false'
     'source'  : ''


Public Classes


Main class

  • mounts : This parameter accepts an hash describing one or multiple Systemd automount entries. Have a look at class systemd_automount::config to get informations about the posible parameters.


Realizes the configuration of the systemd automount units

  • mountpoint : Directory to use as mountpoint for the source device. Type: string Default: undef Example: '/mnt'
  • source : Source device or network filesystem Type: string Default: undef Example: 'nfsserver:/my/share', 'cifsserver://share'
  • fstype : Filesystem type Type: string Default: nfs4 Example: 'nfs', 'cifs'
  • options : Mount options seperated by "," Type: string Default: empty Example: 'sec=krb5p,intr,noacl'
  • ensure : Set this parameters value to "absent" to remove the automount entry. Type: string Default: present
  • dump : fstab dump entry. See "man fstab". Type: integer Default: 0
  • pass : fstab pass entry. See "man fstab". Type: integer Default: 0
  • atboot : Set this to "false" if you don't want the filesystem to be active after reboot or when "mount -a" is given. Type: boolean Default: true
  • running : Set this to false to disable the systemd mount unit. Type: boolean Default: true

Private Classes


Parameter class. Default parameters are defined here.


  • This Module is limited to Puppet Version >= 4
  • This Module only supports systemd automount configurations