# Too late in the day to split iam module?

**URL:** <https://forum.ansible.com/t/too-late-in-the-day-to-split-iam-module/19509>\
**Category:** Ansible Developer\
**Created:** [October 15, 2015, 2:36am UTC](https://forum.ansible.com/t/too-late-in-the-day-to-split-iam-module/19509 "2015-10-15T02:36:11Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rob\_White](https://avatars.discourse-cdn.com/v4/letter/r/71c47a/32.png) [@Rob\_White](https://forum.ansible.com/u/Rob_White)\
**Post date:** [October 15, 2015, 2:36am UTC](https://forum.ansible.com/t/too-late-in-the-day-to-split-iam-module/19509/1 "2015-10-15T02:36:11Z")

</div>

I was just wondering peoples thoughts on splitting out the functionality in the iam module before 2.0 ships.

Rather than just iam we could have…

iam\_user  
iam\_role  
iam\_access\_key  
iam\_group

It just seems to make more sense as these are all pretty self contained units and it will remove complexity from one monolithic module.

The iam module returns somewhat arbitrary values. E.g. when you create a role, it will return a list of IAM roles in the account rather than detail on the role just created. I would be easier to focus in on the return values if the module was separated out.

Boto3 supports attaching managed policies to roles and this is something i’d like to implement but this kind of work is not small so again it seems to make sense to do it in a specific iam\_role module.

I’m happy to do the work but just thought i’d ask for some feedback first.

---

<div class="post-metadata">

**Author:** ![andy2](https://avatars.discourse-cdn.com/v4/letter/a/b9bd4f/32.png) [@andy2](https://forum.ansible.com/u/andy2)\
**Post date:** [October 16, 2015, 4:44am UTC](https://forum.ansible.com/t/too-late-in-the-day-to-split-iam-module/19509/2 "2015-10-16T04:44:05Z")

</div>

plus one on making these separate modules…

when using ansible in an inventory driven way, simple one trick pony modules trump swiss army knives every time

Andy

---

<div class="post-metadata">

**Author:** ![Brian\_Coca](https://avatars.discourse-cdn.com/v4/letter/b/6de8d8/32.png) [@Brian\_Coca](https://forum.ansible.com/u/Brian_Coca)\
**Post date:** [October 16, 2015, 2:38pm UTC](https://forum.ansible.com/t/too-late-in-the-day-to-split-iam-module/19509/3 "2015-10-16T14:38:04Z")

</div>

too late for 2.0, but lets plan this for 2.1

---

<div class="post-metadata">

**Author:** ![Conor\_Schaefer](https://avatars.discourse-cdn.com/v4/letter/c/c2a13f/32.png) [@Conor\_Schaefer](https://forum.ansible.com/u/Conor_Schaefer)\
**Post date:** [October 16, 2015, 4:50pm UTC](https://forum.ansible.com/t/too-late-in-the-day-to-split-iam-module/19509/4 "2015-10-16T16:50:18Z")

</div>

Breaking up the modules would definitely make them easier to work with, particularly ad-hoc.

---

<div class="post-metadata">

**Author:** ![Michael\_Weinrich](https://avatars.discourse-cdn.com/v4/letter/m/b19c9b/32.png) [@Michael\_Weinrich](https://forum.ansible.com/u/Michael_Weinrich)\
**Post date:** [October 17, 2015, 12:39pm UTC](https://forum.ansible.com/t/too-late-in-the-day-to-split-iam-module/19509/5 "2015-10-17T12:39:47Z")

</div>

+1 that would really help

---

<div class="post-metadata">

**Author:** ![Jonathan\_Davila](https://avatars.discourse-cdn.com/v4/letter/j/e0b2c6/32.png) [@Jonathan\_Davila](https://forum.ansible.com/u/Jonathan_Davila)\
**Post date:** [October 20, 2015, 4:49pm UTC](https://forum.ansible.com/t/too-late-in-the-day-to-split-iam-module/19509/6 "2015-10-20T16:49:44Z")

</div>

This is okay with me. I’d certainly welcome the PRs for this.

---

<div class="post-metadata">

**Author:** ![Rob\_White](https://avatars.discourse-cdn.com/v4/letter/r/71c47a/32.png) [@Rob\_White](https://forum.ansible.com/u/Rob_White)\
**Post date:** [November 22, 2015, 9:18am UTC](https://forum.ansible.com/t/too-late-in-the-day-to-split-iam-module/19509/7 "2015-11-22T09:18:11Z")

</div>

Just to keep people in the loop, started work on these today.

Should hopefully be ready for 2.1
