2.8 KiB
profile::mkresource::files
profile::mkresource::files is a puppet
define (a.k.a. function) which easily allows
the creation of files through the puppet file resource
(through the create_resources puppet function.
This define is intended to be called in a controlled way
from a role or from another profile, through
an Array list. However, it also allows the possibility to
provide freedom by calling it through a Hash of files.
Further information is explained below":
Array: In order to have more control on the files that are being created. In example:# Begin: puppet class class role::hpc::ui ( Array $scratch = hiera('base::scratch', []), ... ) { ... profile::mkresource::files { "scratch": files => $scratch, defaults => { mode => '1777' }; } ... } # End: puppet class # Begin: hiera call base::scratch: - '/scratch' - '/ssd-scratch' # End: hiera callHash: This will provide more flexibility from the user side. Only really strange cases will be allowed. Example:# Begin: puppet class class role::hpc::ui ( Array $scratch = hiera('base::scratch', {}), ... ) { ... profile::mkresource::files { "scratch": files => $scratch; } ... } # End: puppet class # Begin: hiera call base::scratch: '/scratch': ensure: directory mode: '1777' owner: 'root' group: 'root' '/ssd-scratch' ensure: directory mode: '1770' group: 'svc-cluster_merlin5' # End: hiera call
Parameters
| Name | Type | Default |
|---|---|---|
| $files | Variant[Array, Hash] | {} |
| $defaults | Hash | {} |
files
Defaults to Hash type {}. Whenever is an
Array, it will be converted to Hash as
create_resources is used and it always expects a
Hash.
Two different call examples:
Hash:base::scratch: '/scratch': ensure: directory mode: '1777' owner: 'root' group: 'root' '/ssd-scratch' ensure: directory mode: '1770' group: 'svc-cluster_merlin5'Array:base::scratch: - '/scratch' - '/ssd-scratch'
defaults
Defaults to empty Hash. Should contain file
resource parameters (in example, mode, owner,
group, ensure, etc.) Example:
profile::mkresource::files { "scratch":
files => [ '/scratch', '/ssd-scratch' ],
defaults => { mode => '1777' };
}