16.38. cdist-type__directory(7)

16.38.1. NAME

cdist-type__directory - Manage a directory

16.38.2. DESCRIPTION

This cdist type allows you to create or remove directories on the target.

16.38.3. REQUIRED PARAMETERS

None.

16.38.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.38.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.38.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.38.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.38.8. AUTHORS

Nico Schottelius <nico-cdist--@--schottelius.org>

16.38.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.