Need assist with syntax to launch with EC2 profile

3,473 views
Skip to first unread message

mark david mcCreary

unread,
Apr 15, 2014, 5:52:51 PM4/15/14
to ansible...@googlegroups.com
- name: Launch instance
  local_action: ec2 keypair={{ keypair }}  instance_type={{ instance_type }} 
                image={{ image }} region={{ region }} 
                aws_access_key={{ aws_access_key }} 
                aws_secret_key={{ aws_secret_key }} 
                group={{ security_group }} wait=true   
                instance_profile_name=arn:aws:iam::127847392001:instance-profile/administrator
  register: ec2


and Ansible says

#  Instance Profile ARN(s) arn:aws:iam::127847392001:instance-profile/administrator

# TASK: [ec2 | Launch instance] ************************************************* 
# failed: [localhost] => {"failed": true, "item": ""}
# msg: Instance creation failed => InvalidParameterValue: Value (arn:aws:iam::127847392001:instance-profile/administrator) for parameter iamInstanceProfile.name is invalid. Invalid IAM Instance Profile name


Have also tried with double quotes around name

                instance_profile_name="arn:aws:iam::127847392001:instance-profile/administrator"

Looking at  Amazon console I see a role named - administrator.  I can launch instances without Ansible using the above profile.

Is this a syntax problem, or am I in the wrong environment or something.

Thaks

mark

Will Thames

unread,
Apr 15, 2014, 7:32:05 PM4/15/14
to ansible...@googlegroups.com
I wonder if you should just use administrator (rather than the full ARN) for instance_profile_name.

From http://boto.readthedocs.org/en/latest/ref/ec2.html#boto.ec2.connection.EC2Connection.run_instances
  • instance_profile_arn (string) – The Amazon resource name (ARN) of the IAM Instance Profile (IIP) to associate with the instances.
  • instance_profile_name (string) – The name of the IAM Instance Profile (IIP) to associate with the instances.
The ec2 module only uses the latter, I think, although it could presumably be tweaked to use the former in addition.

Will

mark david mcCreary

unread,
Apr 16, 2014, 4:22:48 PM4/16/14
to ansible...@googlegroups.com
Will

Thank you.

Yes, you are correct, I had the wrong value for the argument I was using.

                instance_profile_name=administrator

is now working for me.

The complete stanza is

- name: Launch instance
  local_action: ec2 keypair={{ keypair }}  instance_type={{ instance_type }} 
                image={{ image }} region={{ region }} 
                aws_access_key={{ aws_access_key }} 
                aws_secret_key={{ aws_secret_key }} 
                group={{ security_group }} wait=true   
                instance_profile_name=administrator
   register: ec2




Thanks much.

mark
Reply all
Reply to author
Forward
0 new messages