# ec2\_ami launch\_permissions to multiple accounts

**URL:** <https://forum.ansible.com/t/ec2-ami-launch-permissions-to-multiple-accounts/24260>\
**Category:** Ansible Project\
**Tags:** aws\
**Created:** [April 20, 2017, 8:16am UTC](https://forum.ansible.com/t/ec2-ami-launch-permissions-to-multiple-accounts/24260 "2017-04-20T08:16:05Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shmulik\_Alfandari](https://avatars.discourse-cdn.com/v4/letter/s/58f4c7/32.png) [@Shmulik\_Alfandari](https://forum.ansible.com/u/Shmulik_Alfandari)\
**Post date:** [April 20, 2017, 8:16am UTC](https://forum.ansible.com/t/ec2-ami-launch-permissions-to-multiple-accounts/24260/1 "2017-04-20T08:16:05Z")

</div>

Hi,

I am creating AMI in AWS using ec2\_ami module. I need to create the AMI and to give permissions to multiple accounts,however it failed. When I am doing it with one account it’s ok.  
Below the code to create AMI with permission to 1 account which is working fine.

**# Create AMI**  
**- name: Create AMI**  
**local\_action:**  
**module: ec2\_ami**  
**instance\_id: “{{ item.id }}”**  
**wait: yes**  
**wait\_timeout: 3600**  
**aws\_access\_key: “{{ AWSAccessKey }}”**  
**aws\_secret\_key: “{{ AWSSecretKey }}”**  
**region: “{{ region }}”**  
**name: “OCCM-AUTO-AMI-4-E2E -TEST - {{ date }}”**  
**description: “OCCM automatically created ami for E2E”**  
**launch\_permissions:**  
**user\_ids: [‘66602923934’]**  
**device\_mapping:**  
**- device\_name: /dev/sda1**  
**size: 50**  
**volume\_type: gp2**

Could you please let me know how to pass multiple accounts to: **user\_ids ?**

Thanks,  
Shmulik.

---

<div class="post-metadata">

**Author:** ![groupfiles14](https://avatars.discourse-cdn.com/v4/letter/g/54ee81/32.png) [@groupfiles14](https://forum.ansible.com/u/groupfiles14)\
**Post date:** [April 20, 2017, 8:29am UTC](https://forum.ansible.com/t/ec2-ami-launch-permissions-to-multiple-accounts/24260/2 "2017-04-20T08:29:37Z")

</div>

**You can use with\_items as shown below**  
**# Create AMI**  
**- name: Create AMI**  
**local\_action:**  
**module: ec2\_ami**  
**instance\_id: “{{ [item.id](http://item.id/) }}”**  
**wait: yes**  
**wait\_timeout: 3600**  
**aws\_access\_key: “{{ AWSAccessKey }}”**  
**aws\_secret\_key: “{{ AWSSecretKey }}”**  
**region: “{{ region }}”**  
**name: “OCCM-AUTO-AMI-4-E2E -TEST - {{ date }}”**  
**description: “OCCM automatically created ami for E2E”**  
**launch\_permissions:**  
**user\_ids: {{item}}**  
**with\_items:**  
**-**  **66602923934**  
**-**  **66602923934**  
**-**  **66602923934**  
**device\_mapping:**  
**- device\_name: /dev/sda1**  
**size: 50**  
**volume\_type: gp2**

---

<div class="post-metadata">

**Author:** ![Shmulik\_Alfandari](https://avatars.discourse-cdn.com/v4/letter/s/58f4c7/32.png) [@Shmulik\_Alfandari](https://forum.ansible.com/u/Shmulik_Alfandari)\
**Post date:** [April 20, 2017, 10:18am UTC](https://forum.ansible.com/t/ec2-ami-launch-permissions-to-multiple-accounts/24260/3 "2017-04-20T10:18:24Z")

</div>

Thanks for the answer. I’ve done it but I got an error:

**# Create AMI**  
**- name: Create AMI**  
**local\_action:**  
**module: ec2\_ami**  
**instance\_id: i-036c3f075aebfb3ce**  
**#instance\_id: “{{ item.id }}”**  
**wait: yes**  
**wait\_timeout: 3600**  
**aws\_access\_key: “{{ AWSAccessKey }}”**  
**aws\_secret\_key: “{{ AWSSecretKey }}”**  
**region: “{{ region }}”**  
**name: “OCCM-AUTO-AMI-4-E2E -TEST - {{ date }}”**  
**description: “OCCM automatically created ami for E2E”**  
**launch\_permissions:**  
**user\_ids: “{{ item }}”**  
**with\_items:**  
**- 66602923934**  
**- 71827345521**  
**device\_mapping:**  
**- device\_name: /dev/sda1**  
**size: 50**  
**volume\_type: gp2**

fatal: [localhost]: FAILED! =\> {“failed”: true, “msg”: “the field ‘args’ has an invalid value, which appears to include a variable that is undefined. The error was: ‘item’ is undefined\n\nThe error appears to have been in ‘/etc/ansible/playbook/E2E/create\_occm\_linux\_ami.yml’: line 96, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n# Create AMI\n - name: Create AMI\n ^ here\n”}  
to retry, use: --limit @/etc/ansible/playbook/E2E/create\_occm\_linux\_ami.retry

בתאריך יום חמישי, 20 באפריל 2017 בשעה 11:29:37 UTC+3, מאת Suporter:

---

<div class="post-metadata">

**Author:** ![groupfiles14](https://avatars.discourse-cdn.com/v4/letter/g/54ee81/32.png) [@groupfiles14](https://forum.ansible.com/u/groupfiles14)\
**Post date:** [April 20, 2017, 11:01am UTC](https://forum.ansible.com/t/ec2-ami-launch-permissions-to-multiple-accounts/24260/4 "2017-04-20T11:01:30Z")

</div>

**userid seems to need square brackets, add them up and try**
