Commit graph

99 commits

Author SHA1 Message Date
Will Thames
cc59760ac9 Improved handling of already terminated instances
It is possible to create an instance, terminate the instance and then
attempt to recreate the instance with the same parameters. In this case
`ec2.run_instances` returns a reservation list containing the instance ids
but the logic gets stuck waiting for the instance to exist in the call to
`ec2.get_all_instances`, even if wait is no).
2014-08-04 11:58:57 +10:00
Lorin Hochstein
42df1f890a ec2 module: document valid states 2014-07-31 15:29:52 -06:00
Damjan Georgievski
16e5b1b9e6 return the most up-to-date info about an instance when starting/stopping it
otherwise the module will return the info about the instance that it got prior to the action taken
So if you had a task to start an instance:

      ec2:
         instance_ids: ...
         state: running
      register: ec2_info

the registered data would have empty public_dns_name, public_ip, private_dns_name, private_ip
2014-07-30 15:15:49 +02:00
James Laska
d51e10a3f4 Correct BotoServerError typo in ec2 module
Resolves a traceback due to an undefined 'BotoSeverError' exception.
2014-07-26 12:11:25 -04:00
Michael Peters
45cf1dbbc5 Fixing issue #7906
Catch any InvalidInstanceID.NotFound errors coming from the boto library
when trying to find the newly created instance. When this happens We should
just wait and try again.
2014-06-23 16:58:07 -04:00
James Cammarata
1c3a654912 Conditionally try to get ebs_optimized parameter from instance 2014-06-20 14:26:21 -05:00
willthames
a1aec8dadd Delay instance tagging to later in the instance creation process
Tagging recently created instances can result in
InvalidInstanceID.NotFound errors.

By delaying the tagging until the last part of instance creation,
we should be typically more fortunate (avoiding all such race
conditions might need more work)
2014-06-19 11:21:28 +10:00
Atlas Health
26c2491583 Stopped instances can also be terminated 2014-05-21 07:18:30 -07:00
James Cammarata
0215134907 Fixing a doc mistake in the ec2 module from 4269bb6 2014-05-09 00:21:35 -05:00
James Cammarata
48e2a5e5a2 Merge branch 'ec2-start-stop' of https://github.com/sayap/ansible into sayap-ec2-start-stop 2014-05-09 00:04:34 -05:00
Yap Sok Ann
4269bb6a45 ec2: Fix bug with running/stopped state and wait=yes.
If `get_all_instances` returns multiple reservations, the old wait loop only
dealt with the first reservation. Thus, the wait loop may end before all
instances get to be running/stopped.

Also clean up the code a little.
2014-05-09 11:35:48 +08:00
evanccopengeo
ac64f3c8cf cleaning up the code a bit more 2014-04-15 18:16:34 -04:00
evanccopengeo
88b30a74d2 fixing bug where if both private_ip and assign_public_p are set ansible fails out 2014-04-15 17:55:26 -04:00
willthames
509561f658 Moved AWS modules over to common module fragments
Created common module doc fragment, and applied to all
modules that use ec2_connect or connect_to_aws as
they definitely share the common doc fragments
2014-04-09 21:19:12 +10:00
Michael DeHaan
dfa8aef408 Merge pull request #6850 from atlashealth/ec2_set_ebs_optimized
ec2: added ability to set EBS optimized instances
2014-04-07 15:57:34 -04:00
James Tanner
b2701d0d76 Fixes #6780 Update version_added for source_dest_check in ec2 module 2014-04-07 12:44:34 -04:00
Atlas Health
97a7df7644 moved ebs_optimized param out of main request hash 2014-04-06 15:35:22 -07:00
Atlas Health
2657bbcefa ec2: added ability to set EBS optimized instances
added version
2014-04-03 12:38:43 -07:00
Ian Pointer
bebb11afeb Adding type int for count (in line with other cloud modules) 2014-03-23 13:51:54 -04:00
jjshoe
1f980b6880 assign_public_ip was actually added in 1.5
Checked 1.4.5 and this option doesn't exist. Will check/update/pull docs next.
2014-03-20 09:21:10 -05:00
joehack3r
815115f792 Update example to include delete on termination 2014-03-18 15:49:27 -05:00
James Cammarata
67e9cbe637 Merge branch 'josephtate-devel' into devel 2014-03-11 11:00:40 -05:00
James Cammarata
5d4980459f Merge branch 'drcapulet/ec2-sourcedestcheck' of https://github.com/drcapulet/ansible into drcapulet-drcapulet/ec2-sourcedestcheck 2014-03-11 10:56:44 -05:00
James Cammarata
8ca3bb4137 Updating profile/security_token version_added labels 2014-03-11 10:48:16 -05:00
James Cammarata
430cce9df3 Merge branch 'ec2_security_token' of https://github.com/willthames/ansible into willthames-ec2_security_token 2014-03-11 10:45:38 -05:00
willthames
4a093a9709 Make it easier to determine whether instance creation or tagging fails 2014-03-06 16:30:39 +10:00
Will Thames
b9a7352e0a Work to allow security tokens and profiles to work with Ansible
Allow security tokens and profiles to be used as arguments
to the 'common' ec2 modules

Mostly refactoring to provide two new methods,
`get_aws_connection_info`, which results in a dict that can be
passed through to the boto `connect_to_region` calls, and
`connect_to_aws` that can pass that dict through to the
`connect_to_region` method of the appropriate module.

Tidied up some variable names

Works around boto/boto#2100

profiles don't work with boto < 2.24, but this detects for that
and fails with an appropriate message. It is designed to work
if profile is not passed but boto < 2.24 is installed.

Modifications to allow empty aws auth variables to be passed
(this is useful if wanting to have the keys as an optional
parameter in ec2 calls - if set, use this value, if not set,
use boto config or env variables)

Reworked validate_certs improvements to work with refactoring

Added documentation for profile and security_token to affected modules
2014-03-06 16:28:30 +10:00
Michael DeHaan
bbb88517ef Since the ec2 parameter is named 'key_name' and 'keypair' is just an alias, use
the primary name of the parameter in the examples.
2014-02-28 13:52:47 -05:00
James Cammarata
3274785350 Merge pull request #5689 from pgehres/devel
Adding the region to the output of the ec2 module's creation of a new in...
2014-02-26 14:45:12 -06:00
James Cammarata
bb5da4c5f6 Merge branch 'devel' of https://github.com/josephtate/ansible into josephtate-devel
Conflicts:
	library/cloud/ec2
2014-02-26 13:57:07 -06:00
James Cammarata
8a7c68dc18 Merge branch 'ec2-params' of https://github.com/scottanderson42/ansible into scottanderson42-ec2-params
Conflicts:
	lib/ansible/module_utils/ec2.py
	library/cloud/ec2
2014-02-26 09:37:26 -06:00
James Laska
dbd3194e9c Resolves issue#6067 by allowing exact_count=0 2014-02-19 16:29:15 -05:00
Peter Gehres
b5761750c4 Adding the region to the output of the ec2 module's creation of a new instance. 2014-02-13 22:40:49 -08:00
James Cammarata
056d54ebd3 Adding 'validate_certs' option to EC2 modules
When disabled, the boto connection will be instantiated without validating
the SSL certificate from the target endpoint. This allows the modules to connect
to Eucalyptus instances running with self-signed certs without errors.

Fixes #3978
2014-02-13 12:32:49 -06:00
Will Thames
c8127ea874 ec2 module fails when state is not absent
tagged_instances is initialised in a scope not visible
when state is not absent.
2014-02-13 19:51:33 +10:00
Michael DeHaan
d3c1b8de78 Merge pull request #5883 from amirhhz/improve-ec2-module-docs
Improve ec2 module docs
2014-02-09 14:07:35 -05:00
Scott Anderson
baf508a379 Change standard AWS access and secret key parameter names to aws_access_key and aws_secret_key. Fixes an authentication problem with the rds module and standardizes the naming convention on something more encompassing than ec2_*_key. 2014-02-08 18:35:26 -05:00
James Tanner
a62af82757 Make ec2 exact_count and count mutually exclusive 2014-02-07 13:42:43 -05:00
James Tanner
70ebb05190 Return a tagged_instances list for hosts that matched the count_tag 2014-02-07 13:07:34 -05:00
James Tanner
f101768a9d Make an example that sets the instance Names 2014-02-07 10:49:13 -05:00
James Tanner
005ef837d9 Update docstrings 2014-02-07 10:34:45 -05:00
James Tanner
fd919062cb Add exact_count and count_tag to the ec2 module. 2014-02-06 23:25:57 -05:00
Will Thames
7600c664fe Create a common EC2 connection argument spec for EC2 modules
Refactor the currently well-factored ec2 modules (i.e. those that already use ec2_connect) to
have a common argument spec. The idea is that new modules can use this spec without duplication
of code, and that new functionality can be added to the ec2 connection code (e.g. security
token argument)
2014-02-06 15:27:41 +10:00
Amir H. Hajizamani
843f4e7d7c Neaten up example YAML with 2-space indenting 2014-02-05 15:14:44 +00:00
Amir H. Hajizamani
7c38e8a225 Example should put instance_ids list in quotes for avoid YAML error 2014-02-05 15:12:41 +00:00
Timur Batyrshin
658c15930e reword "except Error as e:" into "except Error, e:" to be compatible with Python 2.5 (#5852) 2014-02-03 13:00:40 -06:00
James Tanner
5cbe24913f Fix start/stop example in ec2 2014-01-27 17:48:42 -05:00
James Tanner
1641361057 Merge branch 'feat/ec2_start_stop' of git://github.com/Geryon/ansible into Geryon-feat/ec2_start_stop 2014-01-27 17:39:24 -05:00
willthames
de659af82b Added the ability to add volumes to instances at creation time
This allows a volume to be cloned from a snapshot, a brand new
volume to be created, or an ephemeral volumes to be associated
at time of instance creation.

This avoids any race conditions associated with creating extra volumes
after instance creation (e.g. writes happening before the volume is
mounted).

In addition, this allows the root volume to be edited
2014-01-25 12:38:41 +10:00
willthames
8fb5a66944 keypair is not absolutely required when creating ec2 instances 2014-01-14 09:12:01 +10:00