The file lookup plugin is your friend.
I'm using the following task for launching Windows instances and
configuring PowerShell remoting:
- ec2:
aws_access_key: '{{ aws_access_key }}'
aws_secret_key: '{{ aws_secret_key }}'
region: '{{ win_ec2_region }}'
instance_type: '{{ win_ec2_instance_type }}'
instance_tags:
Name: '{{win_ec2_name_prefix}}-{{item.name}}'
group: '{{ win_ec2_security_group }}'
key_name: '{{ win_ec2_key_name }}'
image: '{{ item.id }}'
user_data: "{{ lookup('file', 'win_ec2_user_data') }}"
exact_count: 1
count_tag:
Name: '{{win_ec2_name_prefix}}-{{item.name}}'
wait: yes
with_items: win_ec2_images
register: win_ec2
My win_ec2_user_data file contains:
<powershell>
iex ((new-object net.webclient).DownloadString('
https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1'
))
</powershell>
On Fri, Oct 24, 2014 at 8:00 PM, Michael DeHaan <[email protected]> wrote:
> I don't believe YAML takes Python-like docstrings.
>
> So you would need to start with a single or double quote and escape any
> internal quotes as need be.
>
> The "file" lookup plugin may also be helpful.
>
> On Fri, Oct 24, 2014 at 12:06 PM, Erick Barros <[email protected]>
> wrote:
>
>> I got the following error:
>>
>> ERROR: Syntax Error while loading YAML script, /etc/ansible/playbooks/
>> search/roles/aws/tasks/main.yml
>> Note: The error may actually appear before this position: line 13,
>> column 17
>>
>>
>> state: running
>> user_data: """#!/bin/bash
>> ^
>> This one looks easy to fix. It seems that there is a value started
>> with a quote, and the YAML parser is expecting to see the line ended
>> with the same kind of quote. For instance:
>>
>>
>> when: "ok" in result.stdout
>>
>>
>> Could be written as:
>>
>>
>> when: '"ok" in result.stdout'
>>
>>
>> or equivalently:
>>
>>
>> when: "'ok' in result.stdout"
>>
>>
>>
>>
>>
>>
>> On Saturday, August 16, 2014 12:04:59 PM UTC-3, Michael DeHaan wrote:
>>>
>>> (a) can you please show the line from your playbook where you are using
>>> the user data variable?
>>>
>>> (b) with the above, how are you determining the way it fails? I.e.
>>> what does failure look like?
>>>
>>>
>>> On Fri, Aug 15, 2014 at 5:36 PM, Jonathan Nakatsui <[email protected]>
>>> wrote:
>>>
>>>> From the ansible docs the ec2 module (http://docs.ansible.com/ec2_
>>>> module.html) mentions a user_data field. However, there is no example
>>>> showing the use of user_data.
>>>>
>>>> I've tried a variety of things to pass through to the user field to no
>>>> avail including
>>>>
>>>> user_data: file.txt
>>>>
>>>> user_data: "{{ lookup('file', file.txt') }}"
>>>>
>>>> user_data: """#!/bin/bash
>>>> apt-get update
>>>> apt-get install htop"""
>>>>
>>>> And variations thereof. My googlefu has failed me so far to find any
>>>> results for how to solve this issue.
>>>>
>>>> Thanks if you have any input.
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Ansible Project" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>> msgid/ansible-project/64b86c47-036a-471f-8a64-
>>>> 9cbd38c04f5c%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/ansible-project/64b86c47-036a-471f-8a64-9cbd38c04f5c%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "Ansible Project" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/ansible-project/a1c6540e-6ece-49b8-84f8-83802cb97ebb%40googlegroups.com
>> <https://groups.google.com/d/msgid/ansible-project/a1c6540e-6ece-49b8-84f8-83802cb97ebb%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgyG79kBFTw3O_i62_FTd7MeBtuvLWUNnEauFLfNkQw66w%40mail.gmail.com
> <https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgyG79kBFTw3O_i62_FTd7MeBtuvLWUNnEauFLfNkQw66w%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/CAH%2BKTJ4a1FEW0%2BMzyb9Pm-VZq5y21kHpo8abQLEE_4h0rd3u-A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.