16.39. cdist-type__directory(7)¶
16.39.1. NAME¶
cdist-type__directory - Manage a directory
16.39.2. DESCRIPTION¶
This cdist type allows you to create or remove directories on the target.
16.39.3. REQUIRED PARAMETERS¶
None.
16.39.4. OPTIONAL PARAMETERS¶
- state
'present', 'absent', 'exists' or 'pre-exists', defaults to 'present' where:
- present
the directory exists and the given attributes are set.
- absent
the directory does not exist.
- exists
the directory exists, but its attributes are not altered if it already existed.
- pre-exists
check that the directory exists and is indeed a directory, but do not create or modify it.
- group
Group to chgrp to.
- mode
Unix permissions, suitable for chmod.
- owner
User to chown to.
16.39.5. BOOLEAN PARAMETERS¶
- parents
Whether to create parents as well (mkdir -p behaviour). Warning: all intermediate directory permissions default to whatever mkdir -p does.
Usually this means root:root, 0700.
- recursive
If supplied the chgrp and chown call will run recursively. This does not influence the behaviour of chmod.
16.39.6. MESSAGES¶
- chgrp <group>
Changed group membership
- chown <owner>
Changed owner
- chmod <mode>
Changed mode
- create
Empty directory was created
- remove
Directory exists, but state is absent, directory will be removed by generated code.
- remove non directory
Something other than a directory with the same name exists and was removed prior to create.
16.39.7. EXAMPLES¶
# A silly example
__directory /tmp/foobar
# Remove a directory
__directory /tmp/foobar --state absent
# Ensure /etc exists correctly
__directory /etc --owner root --group root --mode 0755
# Create nfs service directory, including parents
__directory /home/services/nfs --parents
# Change permissions recursively
__directory /home/services --recursive --owner root --group root
# Setup a temp directory
__directory /local --mode 1777
# Take it all
__directory /home/services/kvm --recursive --parents \
--owner root --group root --mode 0755 --state present
16.39.8. AUTHORS¶
Nico Schottelius <nico-cdist--@--schottelius.org>
16.39.9. COPYING¶
Copyright (C) 2011 Nico Schottelius. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.