# Missing functionality?

**URL:** <https://forum.ansible.com/t/missing-functionality/16399>\
**Category:** Ansible Project\
**Created:** [October 1, 2014, 10:51pm UTC](https://forum.ansible.com/t/missing-functionality/16399 "2014-10-01T22:51:44Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![John\_Oliver](https://avatars.discourse-cdn.com/v4/letter/j/97f17d/32.png) [@John\_Oliver](https://forum.ansible.com/u/John_Oliver)\
**Post date:** [October 1, 2014, 10:51pm UTC](https://forum.ansible.com/t/missing-functionality/16399/1 "2014-10-01T22:51:44Z")

</div>

The ‘file’ module could use the “directory\_mode” directive.

And ‘unarchive’ could use “owner”, “group”, “mode”, “serole”, “setype”, etc. As well as “directory\_mode”

Unless I’m completely missing something, but it seems I should be able to unzip a local archive to the target, set ownership and permissions, etc. in one task instead of two or three.

---

<div class="post-metadata">

**Author:** ![James\_Cammarata](https://avatars.discourse-cdn.com/v4/letter/j/7c8e57/32.png) [@James\_Cammarata](https://forum.ansible.com/u/James_Cammarata)\
**Post date:** [October 2, 2014, 12:25am UTC](https://forum.ansible.com/t/missing-functionality/16399/2 "2014-10-02T00:25:49Z")

</div>

Hi John,

Those options should be available to both of those modules - I believe it is a mistake in the documentation that they are missing. If you have any trouble specifying those options with either module please let us know, and I will get the documentation updated in the mean time.

Thanks!

---

<div class="post-metadata">

**Author:** ![James\_Cammarata](https://avatars.discourse-cdn.com/v4/letter/j/7c8e57/32.png) [@James\_Cammarata](https://forum.ansible.com/u/James_Cammarata)\
**Post date:** [October 2, 2014, 12:33am UTC](https://forum.ansible.com/t/missing-functionality/16399/3 "2014-10-02T00:33:25Z")

</div>

Also, as far as the directory\_mode option goes, the copy module is the only one that uses that, so it is not available in the other modules.

---

<div class="post-metadata">

**Author:** ![John\_Oliver](https://avatars.discourse-cdn.com/v4/letter/j/97f17d/32.png) [@John\_Oliver](https://forum.ansible.com/u/John_Oliver)\
**Post date:** [October 2, 2014, 2:22pm UTC](https://forum.ansible.com/t/missing-functionality/16399/4 "2014-10-02T14:22:36Z")

</div>

Why is that? I can think of a huge array of use cases where I’d want to set different permissions on files vs. directories that already exist or are being created from an ‘unarchive’ action.

---

<div class="post-metadata">

**Author:** ![James\_Cammarata](https://avatars.discourse-cdn.com/v4/letter/j/7c8e57/32.png) [@James\_Cammarata](https://forum.ansible.com/u/James_Cammarata)\
**Post date:** [October 2, 2014, 5:20pm UTC](https://forum.ansible.com/t/missing-functionality/16399/5 "2014-10-02T17:20:00Z")

</div>

That option was a recent addition to copy, but was not written into use for any of the other modules, mainly because copy is the only one of the files which does a recursive copy. Synchronize does, but it’s using rsync under the hood, which manages the permissions via flags (and synchronize does not use the general file parameters like file/copy/template/etc. do).

Unarchive works similarly, since tar and other archive formats can preserve the user/group/permissions as well. Those modules could be extended to make that parameter override whatever’s in the file, but that feature has, until now, not been proposed. You’re more than welcome to open a GitHub feature request issue for that functionality.
