Puppet Class: nfs

Summary

The toplevel of the NFS class

Overview

This class is the toplevel of the NFS class. It mostly just includes other private classes to try and keep the behavior self contained

Parameters:

  • client (Boolean)

    Boolean, should this host be an NFS client

  • client_nfsv3_support (Boolean)

    Boolean, should NFS client have NFSv3 support

  • client_nfsv4_support (Boolean)

    Boolean, should NFS client have NFSv4 support

  • client_kerberos_support (Boolean)

    Boolean, should NFS client have kerberos support

  • manage_client_packages (Boolean)

    Boolean, should this module manage the NFS client packages

  • client_packages (Array[String[1]])

    Array of packages for NFS clients

  • manage_services (Boolean)

    Boolean, should this module manage the NFS services

  • client_services (Array[Systemd::Unit])

    Array of services for any type of NFS client

  • client_v3_helper_services (Array[Systemd::Unit])

    Array of services for NFSv3 clients

  • client_v4_helper_services (Array[Systemd::Unit])

    Array of services for NFSv4 clients

  • client_kerberos_services (Array[Systemd::Unit])

    Array of services for NFS kerberos clients

  • server (Boolean)

    Boolean, should this host be an NFS server

  • server_nfsv3_support (Boolean)

    Boolean, should NFS server have NFSv3 support

  • server_nfsv4_support (Boolean)

    Boolean, should NFS server have NFSv4 support

  • server_kerberos_support (Boolean)

    Boolean, should NFS server have kerberos support

  • manage_server_packages (Boolean)

    Boolean, should this module manage the NFS server packages

  • server_packages (Array[String[1]])

    Array of packages for NFS servers

  • server_services (Array[Systemd::Unit])

    Array of services for any type of NFS server

  • server_v3_helper_services (Array[Systemd::Unit])

    Array of services for NFSv3 servers

  • server_v4_helper_services (Array[Systemd::Unit])

    Array of services for NFSv4 servers

  • server_kerberos_services (Array[Systemd::Unit])

    Array of services for NFS kerberos servers

  • use_gssproxy (Boolean)

    Boolean, should GSSProxy be configured (via the gssproxy module)

  • gssproxy_services (Hash[String, Variant[Data, Array[String[1]], Undef]])

    Hash of GSSProxy services to define

  • rpcbind_config_opt_file (Stdlib::Absolutepath)

    Path to file sourced by the rpcbind.service

  • rpcbind_config_opt_key (String)

    String listing the Env Var used by rpcbind.service to set options

  • rpcbind_config_opt_values (Array)

    Array of arguments to set on rpcbind

  • exportfs (Stdlib::Absolutepath)

    Path to the exportfs command

  • exportfs_arguments (Array[String])

    Array of arguments to use with exportfs

  • exports_file (Stdlib::Absolutepath)

    Full path to your /etc/exports

  • exports_d (Stdlib::Absolutepath)

    Full path to your /etc/exports.d/

  • purge_unmanaged_exports (Boolean)

    Boolean, Should unmanaged files in /etc/exports.d/ be removed?

  • exports (Hash[String, Hash[Enum['export_path', 'config_file', 'comment', 'clients'], Variant[String[1], Hash[String, Array[String[1], 1]]]]])

    Hash of NFS exports to create, see examples for structure

  • idmapd_config_file (Stdlib::Absolutepath)

    Path to your /etc/idmapd.conf

  • idmapd_config_hash (Hash[String, Hash[String, Data]])

    Hash of settings you want in /etc/idmapd.conf

  • vendor_idmapd_config_hash (Hash[String, Hash[String, Data]])

    Hash of vendor default settings in /etc/idmapd.conf

  • nfs_conf_file (Stdlib::Absolutepath)

    Path to your /etc/nfs.conf

  • nfs_conf_d (Stdlib::Absolutepath)

    Path to your /etc/nfs.conf.d

  • purge_unmanaged_nfs_conf_d (Boolean)

    Boolean, remove any unmanaged files in /etc/nfs.conf.d

  • nfs_conf_hash (Hash[String, Hash[String, Data]])

    Hash of settings you want in /etc/nfs.conf

  • vendor_nfs_conf_hash (Hash[String, Hash[String, Data]])

    Hash of vendor default settings in /etc/nfs.conf

  • nfsmount_conf_file (Stdlib::Absolutepath)

    Path to your /etc/nfsmount.conf

  • nfsmount_conf_d (Stdlib::Absolutepath)

    Path to your /etc/nfsmount.conf.d

  • purge_unmanaged_nfsmount_conf_d (Boolean)

    Boolean, remove any unmanaged files in /etc/nfsmount.conf.d

  • nfsmount_conf_hash (Hash[String, Variant[Hash[String, Data], Undef]])

    Hash of settings you want in /etc/nfsmount.conf

  • vendor_nfsmount_conf_hash (Hash[String, Hash[String, Data]])

    Hash of vendor default settings in /etc/nfsmount.conf



98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# File 'manifests/init.pp', line 98

class nfs (
# lint:ignore:140chars
  Boolean $client,
  Boolean $client_nfsv3_support,
  Boolean $client_nfsv4_support,
  Boolean $client_kerberos_support,
  Boolean $manage_client_packages,
  Array[String[1]] $client_packages,

  Boolean $manage_services,

  Array[Systemd::Unit] $client_services,
  Array[Systemd::Unit] $client_v3_helper_services,
  Array[Systemd::Unit] $client_v4_helper_services,
  Array[Systemd::Unit] $client_kerberos_services,

  Boolean $server,
  Boolean $server_nfsv3_support,
  Boolean $server_nfsv4_support,
  Boolean $server_kerberos_support,
  Boolean $manage_server_packages,
  Array[String[1]] $server_packages,
  Array[Systemd::Unit] $server_services,
  Array[Systemd::Unit] $server_v3_helper_services,
  Array[Systemd::Unit] $server_v4_helper_services,
  Array[Systemd::Unit] $server_kerberos_services,

  Boolean $use_gssproxy,
  Hash[String, Variant[Data, Array[String[1]], Undef]] $gssproxy_services,

  Stdlib::Absolutepath $rpcbind_config_opt_file,
  String $rpcbind_config_opt_key,
  Array $rpcbind_config_opt_values,

  Stdlib::Absolutepath $exportfs,
  Array[String] $exportfs_arguments,
  Stdlib::Absolutepath $exports_file,
  Stdlib::Absolutepath $exports_d,
  Boolean $purge_unmanaged_exports,
  Hash[String, Hash[Enum['export_path', 'config_file', 'comment', 'clients'], Variant[String[1], Hash[String, Array[String[1], 1]]]]] $exports,

  Stdlib::Absolutepath $idmapd_config_file,
  Hash[String, Hash[String, Data]] $idmapd_config_hash,
  Hash[String, Hash[String, Data]] $vendor_idmapd_config_hash,

  Stdlib::Absolutepath $nfs_conf_file,
  Stdlib::Absolutepath $nfs_conf_d,
  Boolean $purge_unmanaged_nfs_conf_d,
  Hash[String, Hash[String, Data]] $nfs_conf_hash,
  Hash[String, Hash[String, Data]] $vendor_nfs_conf_hash,

  Stdlib::Absolutepath $nfsmount_conf_file,
  Stdlib::Absolutepath $nfsmount_conf_d,
  Boolean $purge_unmanaged_nfsmount_conf_d,
  Hash[String, Variant[Hash[String, Data], Undef]] $nfsmount_conf_hash,
  Hash[String, Hash[String, Data]] $vendor_nfsmount_conf_hash,
) {
  contain 'nfs::install'
  contain 'nfs::config'
  contain 'nfs::service'

  Class['nfs::install'] -> Class['nfs::config'] ~> Class['nfs::service']
}