mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-25 03:41:25 -07:00
Merge branch 'file_new_dirs_perms' of https://github.com/bcoca/ansible into bcoca-file_new_dirs_perms
This commit is contained in:
commit
a9311a5dcb
2 changed files with 16 additions and 9 deletions
|
@ -31,14 +31,14 @@ options:
|
||||||
state:
|
state:
|
||||||
description:
|
description:
|
||||||
- If C(directory), all immediate subdirectories will be created if they
|
- If C(directory), all immediate subdirectories will be created if they
|
||||||
do not exist. If C(file), the file will NOT be created if it does not
|
do not exist, since 1.7 they will be created with the supplied permissions.
|
||||||
exist, see the M(copy) or M(template) module if you want that behavior.
|
If C(file), the file will NOT be created if it does not exist, see the M(copy)
|
||||||
If C(link), the symbolic link will be created or changed. Use C(hard)
|
or M(template) module if you want that behavior. If C(link), the symbolic
|
||||||
for hardlinks. If C(absent), directories will be recursively deleted,
|
link will be created or changed. Use C(hard) for hardlinks. If C(absent),
|
||||||
and files or symlinks will be unlinked. If C(touch) (new in 1.4), an empty file will
|
directories will be recursively deleted, and files or symlinks will be unlinked.
|
||||||
be created if the c(path) does not exist, while an existing file or
|
If C(touch) (new in 1.4), an empty file will be created if the c(path) does not
|
||||||
directory will receive updated file access and modification times (similar
|
exist, while an existing file or directory will receive updated file access and
|
||||||
to the way `touch` works from the command line).
|
modification times (similar to the way `touch` works from the command line).
|
||||||
required: false
|
required: false
|
||||||
default: file
|
default: file
|
||||||
choices: [ file, link, directory, hard, touch, absent ]
|
choices: [ file, link, directory, hard, touch, absent ]
|
||||||
|
|
|
@ -165,8 +165,15 @@ def main():
|
||||||
if prev_state == 'absent':
|
if prev_state == 'absent':
|
||||||
if module.check_mode:
|
if module.check_mode:
|
||||||
module.exit_json(changed=True)
|
module.exit_json(changed=True)
|
||||||
os.makedirs(path)
|
|
||||||
changed = True
|
changed = True
|
||||||
|
curpath = ''
|
||||||
|
for dirname in path.split('/'):
|
||||||
|
curpath = '/'.join([curpath, dirname])
|
||||||
|
if not os.path.exists(curpath):
|
||||||
|
os.mkdir(curpath)
|
||||||
|
tmp_file_args = file_args.copy()
|
||||||
|
tmp_file_args['path']=curpath
|
||||||
|
changed = module.set_fs_attributes_if_different(tmp_file_args, changed)
|
||||||
|
|
||||||
changed = module.set_fs_attributes_if_different(file_args, changed)
|
changed = module.set_fs_attributes_if_different(file_args, changed)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue