Man page - cdist-type__file(7)
Packages contains this manual
- cdist-type__docker_swarm(7)
- cdist-type__package_zypper(7)
- cdist-type__xymon_config(7)
- cdist-type__grafana_dashboard(7)
- cdist-type__consul_check(7)
- cdist-type__apt_key(7)
- cdist-type__mysql_user(7)
- cdist-type__hwclock(7)
- cdist-type__keyboard(7)
- cdist-type__uci(7)
- cdist-dump(1)
- cdist-type__apt_key_uri(7)
- cdist-type__go_get(7)
- cdist-type__package_dpkg(7)
- cdist-type__key_value(7)
- cdist-type__prometheus_alertmanager(7)
- cdist-type__cron(7)
- cdist-type__debconf_set_selections(7)
- cdist-type__dot_file(7)
- cdist-type__consul_watch_key(7)
- cdist-type__apt_norecommends(7)
- cdist-type__line(7)
- cdist-type__pf_ruleset(7)
- cdist-type__chroot_umount(7)
- cdist-type__postfix_postmap(7)
- cdist-type__ufw_rule(7)
- cdist-type__staged_file(7)
- cdist-type__postgres_role(7)
- cdist-type__ccollect_source(7)
- cdist-type__rsync(7)
- cdist-type__postfix_reload(7)
- cdist-type__zypper_service(7)
- cdist-type__pacman_conf(7)
- cdist-type__package_luarocks(7)
- cdist-type__rbenv(7)
- cdist-type__snakeoil_cert(7)
- cdist-type__install_chroot_umount(7)
- cdist-type__install_mkfs(7)
- cdist-type__apt_source(7)
- cdist-type__install_generate_fstab(7)
- cdist-type__package_upgrade_all(7)
- cdist-type__check_messages(7)
- cdist-type__firewalld_rule(7)
- cdist-type__package_pip(7)
- cdist-type__consul_watch_service(7)
- cdist-type__golang_from_vendor(7)
- cdist-type__prometheus_exporter(7)
- cdist-type__iptables_apply(7)
- cdist-type__consul_watch_event(7)
- cdist-type__config_file(7)
- cdist-type__clean_path(7)
- cdist-type__apt_pin(7)
- cdist-type__apt_ppa(7)
- cdist-type__chroot_mount(7)
- cdist-type__postgres_extension(7)
- cdist-type__package_update_index(7)
- cdist-type__rvm_gem(7)
- cdist-type__user_groups(7)
- cdist-type__postfix_master(7)
- cdist-type__install_coreos(7)
- cdist-type__dpkg_architecture(7)
- cdist-type__package_yum(7)
- cdist-type__mount(7)
- cdist-type__zypper_repo(7)
- cdist-type__package_emerge_dependencies(7)
- cdist-type__package_pacman(7)
- cdist-type__hostname(7)
- cdist-type__link(7)
- cdist-type__install_partition_msdos(7)
- cdist-type__update_alternatives(7)
- cdist-type__start_on_boot(7)
- cdist-type__postfix(7)
- cdist-type__consul_template_template(7)
- cdist-type__iptables_rule(7)
- cdist-type__file(7)
- cdist-type__consul_watch_checks(7)
- cdist-type__firewalld_start(7)
- cdist-type__apt_mark(7)
- cdist-type__install_file(7)
- cdist-type__user(7)
- cdist-type__install_mount(7)
- cdist-type__install_config(7)
- cdist-type__apt_update_index(7)
- cdist-type__install_partition_msdos_apply(7)
- cdist-type__cdist(7)
- cdist-type__install_fstab(7)
- cdist-type__sysctl(7)
- cdist-type__jail(7)
- cdist-type__package_pkg_openbsd(7)
- cdist-type__jail_freebsd9(7)
- cdist-type__docker_compose(7)
- cdist-type__download(7)
- cdist-type__haproxy_dualstack(7)
- cdist-type__yum_repo(7)
- cdist-type__consul_service(7)
- cdist-type__pacman_conf_integrate(7)
- cdist-type__systemd_unit(7)
- cdist-type__install_directory(7)
- cdist-type__docker_secret(7)
- cdist-type__consul_agent(7)
- cdist-type__letsencrypt_cert(7)
- cdist-type__uci_section(7)
- cdist-type__consul(7)
- cdist-type__group(7)
- cdist-type__daemontools_service(7)
- cdist-type__locale(7)
- cdist-type__xymon_apache(7)
- cdist-type__motd(7)
- cdist-type__jail_freebsd10(7)
- cdist-type__install_chroot_mount(7)
- cdist-type__package(7)
- cdist-type__ssh_authorized_key(7)
- cdist-type__sed(7)
- cdist-type__openldap_server(7)
- cdist-type__install_umount(7)
- cdist-type__package_pkgng_freebsd(7)
- cdist-type__consul_watch_nodes(7)
- cdist-type__directory(7)
- cdist-type__rvm_gemset(7)
- cdist-type__docker_config(7)
- cdist-type__qemu_img(7)
- cdist-type__prometheus_server(7)
- cdist-type__sshd_config(7)
- cdist-type__install_stage(7)
- cdist-type__package_apk(7)
- cdist-type__postfix_postconf(7)
- cdist-type__postgres_conf(7)
- cdist-type__cdistmarker(7)
- cdist-type__sensible_editor(7)
- cdist-type__consul_reload(7)
- cdist-type__install_reset_disk(7)
- cdist-type__consul_template(7)
- cdist-type__docker_stack(7)
- cdist-type__unpack(7)
- cdist-type__daemontools(7)
- cdist-type__consul_watch_services(7)
- cdist-type__mysql_database(7)
- cdist-type__package_apt(7)
- cdist-type__issue(7)
- cdist-type__docker(7)
- cdist-type__rvm_ruby(7)
- cdist-type__install_bootloader_grub(7)
- cdist-type__process(7)
- cdist-type__hosts(7)
- cdist(1)
- cdist-type__consul_watch_keyprefix(7)
- cdist-type__ufw(7)
- cdist-type__localedef(7)
- cdist-type__git(7)
- cdist-type__install_reboot(7)
- cdist-type__ping(7)
- cdist-type__package_pkg_freebsd(7)
- cdist-type__systemd_service(7)
- cdist-new-type(1)
- cdist-type__package_opkg(7)
- cdist-type__xymon_client(7)
- cdist-type__apt_default_release(7)
- cdist-type__xymon_server(7)
- cdist-type__apt_unattended_upgrades(7)
- cdist-type__ssh_dot_ssh(7)
- cdist-type__package_rubygem(7)
- cdist-type__apt_backports(7)
- cdist-type__mysql_privileges(7)
- cdist-type__ssh_authorized_keys(7)
- cdist-type__rvm(7)
- cdist-type__service(7)
- cdist-type__pf_apply_anchor(7)
- cdist-type__dog_vdi(7)
- cdist-type__locale_system(7)
- cdist-type__acl(7)
- cdist-type__block(7)
- cdist-type__timezone(7)
- cdist-type__pyvenv(7)
- cdist-type__filesystem(7)
- cdist-type__package_emerge(7)
- cdist-type__postgres_database(7)
apt-get install cdist
Manual
CDIST-TYPE__FILE
NAMEDESCRIPTION
REQUIRED PARAMETERS
OPTIONAL PARAMETERS
MESSAGES
EXAMPLES
AUTHORS
COPYING
COPYRIGHT
NAME
cdist-type__file - Manage files.
DESCRIPTION
This cdist type allows you to create files, remove files and set file attributes on the target.
If the file
already exists on the target, then if it is a:
regular file, and state is:
present
replace it with the source file if they are not equal
|
exists |
do nothing |
symlink
replace it with the source file
directory
replace it with the source file
One exception is that when state is pre-exists, an error is raised if the file would have been created otherwise (e.g. it is not present or not a regular file).
In any case, make sure that the file attributes are as specified.
REQUIRED PARAMETERS
None.
OPTIONAL PARAMETERS
|
state |
'present', 'absent', 'exists' or 'pre-exists', defaults to 'present' where: |
present
the file is exactly the one from source
|
absent |
the file does not exist |
||
|
exists |
the file from source but only if it doesn't already exist |
pre-exists
check that the file exists and is a regular file, but do not create or modify it
|
group |
Group to chgrp to. Defaults to root . |
||
|
mode |
Unix permissions, suitable for chmod. Defaults to a very secure 0600 . |
||
|
owner |
User to chown to. Defaults to root . |
||
|
source |
If supplied, copy this file from the host running cdist to the target. If not supplied, an empty file or directory will be created. If source is '-' (dash), take what was written to stdin as the file content. |
onchange
The code to run if file is modified.
MESSAGES
chgrp <group>
Changed group membership
chown <owner>
Changed owner
chmod <mode>
Changed mode
|
create |
Empty file was created (no --source specified) |
||
|
remove |
File exists, but state is absent, file will be removed by generated code. |
||
|
upload |
File was uploaded |
EXAMPLES
# Create
/etc/cdist-configured as an empty file
__file /etc/cdist-configured
# The same thing
__file /etc/cdist-configured --state present
# Use __file from another type
__file /etc/issue --source
"$__type/files/archlinux" --state present
# Delete existing file
__file /etc/cdist-configured --state absent
# Supply some more settings
__file /etc/shadow --source "$__type/files/shadow"
\
--owner root --group shadow --mode 0640 \
--state present
# Provide a default file, but let the user change it
__file /home/frodo/.bashrc --source
"/etc/skel/.bashrc" \
--state exists \
--owner frodo --mode 0600
# Check that the file is present, show an error when it is
not
__file /etc/somefile --state pre-exists
# Take file content from stdin
__file /tmp/whatever --owner root --group root --mode 644
--source - << DONE
Here goes the content for /tmp/whatever
DONE
AUTHORS
Nico Schottelius < nico-cdist--@--schottelius.org >
COPYING
Copyright (C) 2011-2013 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.
COPYRIGHT
ungleich GmbH 2021