1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
Commit graph

904 commits

Author SHA1 Message Date
simplesteph
d811b1d942 added deployment configuration as an option. this fixes #2434 2017-01-26 12:24:45 -05:00
Michał Masłowski
c10c7aa67b lambda: Remove the note about supporting S3 uploads only (#20562)
The module supports also ZIP uploads which are documented.

Refer to the correct boto3 function in the return value description.
2017-01-24 11:21:32 -05:00
Andrej Svenke
491b67f114 Fixed bug in ecs_taskdefinition for new task with forced revision 1. (#20561) 2017-01-24 11:19:22 -05:00
naslanidis
8a01f209ac new AWS module for ec2 VPC vgw facts (#19021)
* new AWS module for ec2 VPC vgw facts

* fixed documentation as suggested by reviewers

* changed iteritems to items for py 3

* improvements to bring in line with #19787

* corrected documentation

* updated doco and exception path
2017-01-24 09:54:49 -05:00
Will Thames
75437bbe3c Fix ec2_vpc deprecation docs
Clarify the CHANGELOG with deprecation timeline
Correct name of `ec2_vpc_net` module to be used instead
2017-01-19 17:07:57 -08:00
Robert Sax
9d26d8b605 fixing mime types in s3_sync module (#20059) 2017-01-19 15:14:05 -05:00
Ross Williams
592c79e837 Add support for registering Amazon Machine Images from EBS snapshots. (#19020) 2017-01-19 13:06:36 -05:00
Fabio Alessandro Locati
b2acba0d16 Improve examples and remove shell (#19208) 2017-01-19 17:15:24 +00:00
Will Thames
75a7ebe900 Deprecate ec2_vpc module (#20344)
* Deprecate ec2_vpc module

The deprecation of ec2_vpc module has been discussed for
2 years and is causing duplication of effort as changes
are implemented for ec2_vpc rather than for the newer
alternatives

* Improve module deprecation documentation

Update the developing modules documentation with the latest
instructions on how to deprecate a module.
2017-01-19 11:25:28 +00:00
Pascal Bach
c6621aa0ae ec2_vol: Add key selection support for EBS volume encryption. (#19570)
* Fixes: #3217 - Add a new parameter for the kms_key_id to the ec2_vol module.

* Fixes: #3217 - Correcting comment string as requested.

* Fixes: #3217 - Adding boto version when kms_key_id is used. Also re-adding accidentally removed comment line.

* Cleanup of EBS volume key pull request
2017-01-18 10:02:54 -05:00
David M. Lee
fde551fa2a Adding support for Amazon ECR (#19306)
* Adding support for Amazon ECR

This patch adds a new module named ecr, which can create, update or
destroy Amazon EC2 Container Registries. It also handles the management
of ECR policies.

* ecs_ecr: addressed review feeback

 * Renaming ecr to ecs_ecr
 * Fixed docs
   * Removed bad doc about empty string handling
   * Added example of `delete_policy`
 * Removed `policy_text` option; switched policy to `json` type so
   it can accept string or dict
 * Added support for specifying registry_id
 * Added explicit else after returned if clauses
 * Added `force_set_policy` option
 * Improved `set_repository_policy` error handling
 * Fixed policy comparisons when AWS doesn't keep the ordering stable
 * Moved `boto_exception` into the module
2017-01-17 14:45:43 -05:00
David M. Lee
b8dd4dd52b amazon: added boto3_conn to GUIDELINES.md (#20305)
* amazon: added boto3_conn to GUIDELINES.md

* Update GUIDELINES.md

Light edits. Good to go.
2017-01-16 21:00:45 -08:00
Jasper Lievisse Adriaanse
64692e7a89 Annotate boto3 dependency in the standard location. 2017-01-13 14:36:17 -05:00
defunct
92b26a28b8 Update ec2_ami_copy to boto3, fix encrypted support (#20009)
* Update ec2_ami_copy to boto3, fix encrypted support

* docs, backwards compat options, more verbose exception handling

* minor option changes, fix documentation

* update documentation
2017-01-12 19:39:32 -05:00
BRAMILLE Sébastien
110753502e Update rds_subnet_group.py 2017-01-11 12:37:31 -05:00
Michał Masłowski
5a1395a486 sns_topic: Do not attempt to unsubscribed deleted subscriptions (#20086) 2017-01-11 06:57:24 -05:00
Willem van Ketwich
1ee69c07cc New module (cloud): cloudfront_facts (#19727)
* initial commit of cloudfront_facts.py

* modification as per review from @georgepsarakis

* fixed shippable build error

* fixed shippable build error

* removed wildcard imports and replaced with specific imports from ansible.module_utils.ec2 as advised by @georgepsarakis

* renamed all instances of cloud_front_origin_access_identity to origin_access_identity as advised by @georgepsarakis

* added input option requirements where missing. fixed a typo in an error message, added '.' to the end of sentences.

* fixed typo in documentation

* simplified paginated_response method as advised by @georgepsarakis

* set default option to list_defaults when no option specified as advised by @ryansb

* bumped version to 2.3 as advised by @ryansb

* removed double-nesting of ansible_facts as advised by @ryansb

* show facts based on alias and distribution id for easy referencing as advised by @ryansb. have done for both distribution and distribution_config

* made comments clearer

* fixed incorrect logic for default list_distributions, fixed list_distributions_by_web_acl - wasn't passing web_acl_id, fixed list_invalidations keyword args missing DistributionId

* neatened up logic for list_distributions default

* facts now return Etag as well as specific facts. modified paginated_response to handle this. also all requests that use distribution id also list the facts under the corresponding alias now.

* fixed last fact added clobbering all previous facts for an alias or an id

* removed list_ prefix from list keys

* removed unnecessary boto fields. made list_distributions and list_streaming_distributions dictionaries with id/alias as key. fixed list_invalidations.

* fixed incorrectly named list_distributions_by_web_acl to ..web_acl_id. added id/alias dict for list_distributions_by_web_acl_id

* minor doc changes

* removed merge tag

* fixed more of merge
2017-01-10 11:27:54 -05:00
Toshio Kuratomi
08d6990e67 Fix code-blocks to use correct syntax highlighting 2017-01-08 09:18:45 -08:00
howinator
90002e06ae Add subnet associations to route tables dict
The main purpose of this PR is to add the subnet associations to the
dict returned by ec2_vpc_route_table_facts. This commit also
re-formats code to make it PEP8 compliant.
2017-01-06 12:30:54 -05:00
Will Thames
4bf7bf0b94 Add postgres-9.6 to rds_param_group module
Support postgres-9.6 as an engine choice for rds_param_group
2017-01-06 12:29:37 -05:00
John R Barker
40ecc3188f Use M() to link to the replacement module. (#19976) 2017-01-06 16:21:39 +00:00
Emlyn Stokes
1154aca746 Paginate ASG results (#19944) 2017-01-05 16:12:30 -05:00
Ted Timmons
12495e4b42 New module: aws_kms for managing access grants on AWS KMS keys (#19309)
New module by @tedder for handling granting/revoking access to KMS secrets. 

For example:

```
- name: grant user-style access to production secrets
  kms:
  args:
    mode: grant
    key_alias: "alias/my_production_secrets"
    role_name: "prod-appServerRole-1R5AQG2BSEL6L"
    grant_types: "role,role grant"
```
2017-01-05 09:42:59 -05:00
Enis Ozgen
d4d9a48205 Fix typo in ec2_vpc_peer.py documentation 2017-01-04 16:51:26 -08:00
Ryan S. Brown
8772e4387b Update ec2_facts with new ap-south region 2017-01-04 10:27:48 -05:00
Rob
927218d99d Fix backward compat change - create custom required_together statement (#19642) 2017-01-04 14:11:56 +00:00
Kash
dceace6bb2 ecs_taskdefinition: Fix missing import camel_dict_to_snake_dict (#19560)
ecs_taskdefinition: Fix missing import camel_dict_to_snake_dict
2017-01-04 13:50:13 +00:00
Kash
8e0119b24c ecs_taskdefinition: more accurate description in doc (#19204) 2016-12-30 12:30:04 -05:00
Rob
36213e8b21 Fix to fail when task_definition or desired_count not defined and state=present, define that role is required with load_balancers parameter and a few pep8 fixes (#19490) 2016-12-30 10:50:09 -05:00
Rob White
62dfa2ad11 Add helper function so that IAM policies can be compared for equality and update s3_bucket to take advantage of helper function 2016-12-30 10:41:22 -05:00
Tom Paine
e66501b0b7 [docs] update ec2_ami_copy docs to clarify encrypted snapshots (#19641)
Docs formatting.
2016-12-30 10:37:25 -05:00
Tom Paine
7ba746dc1e Update ec2_ami.py (#19636)
- Consistent capitalisation in the descriptions
- Removed redundant 'optional' notes when this is covered by the Boolean `optional` column
- Clarified `instance_id` description
2016-12-30 10:36:29 -05:00
Lujeni
427cfd6162 Fix the certificates bodies compare into iam_cert module (#19684) 2016-12-30 10:34:18 -05:00
joernheissler
a5145a41a8 Add 3 new Amazon AWS regions (#19687) 2016-12-30 10:32:21 -05:00
Laurent Goujon
e2c50baf3f Fix broken ec2 volume creation breaks with older boto versions (#1773) (#19723)
Fix issue which prevents creating ec2 instance with extra volumes when
using a older version of boto not supporting volume encryption.

Fix issue #1173
2016-12-30 10:31:35 -05:00
Sean Summers
f8fa772a55 ec2_ami_find: set is_public to 'true' or 'false' (#19250)
* set is_public 'true' or 'false'

Despite being a boolean property, https://github.com/melta/boto/blob/master/boto/ec2/image.py:63 sets is_public = True only if the argument is passed in as the string 'true'. Likewise for False/'false'.

This is a workaround for that bug in boto2, to allow the documented parameter to work with valid yaml values.

fixes #5600

* only set is_public if true
2016-12-30 10:28:13 -05:00
Ivan Nikolov
fcb1a2b6cc Fixed ec2_eip.py when assigning a standard elastic IP. (#19238) 2016-12-30 10:27:04 -05:00
Chris Soyars
e0d4050612 ec2_facts: Add support for ca-central-1 (#19260) 2016-12-30 10:26:09 -05:00
Gaël Lambert
647bf4eceb doc: fix indentation in amazon/rds.py example docs (#19734)
Actual doc give this error

```
fatal: [localhost]: FAILED! => {
    "changed": false,
    "failed": true,
    "invocation": {
        "module_args": {
            "command": "facts",
            "register": "new_database_facts"
        },
        "module_name": "rds"
    },
    "msg": "unsupported parameter for module: register"
}
```

Register should be at the module `rds` level and not at args level in this example :

```
 - rds:
     command: facts
     instance_name: new-database
-    register: new_database_facts
+  register: new_database_facts
```
2016-12-29 08:46:40 -05:00
Rob
69c14bd003 New module - iam_role (#19486)
* New module - iam_role

* Change policy type to json. Remove wildcard import
2016-12-22 13:58:38 +00:00
Rob
cfa8ce767b Add new parameters to taskdefinition module - network_mode and task_r… (#19493)
* Add new parameters to taskdefinition module - network_mode and task_role_arn

* Add version_added field for doco

* Change version_added parameter to 2.3
2016-12-19 18:16:35 +00:00
Rob
b77ab1a6c9 Add support to ec2_eip to associate with a secondary ip address (#19484) 2016-12-19 15:45:38 +00:00
Alex Sergeyev
28a3a13656 Support MariaDB engine version 10.1 (#19483) 2016-12-19 14:28:29 +00:00
Ryan S. Brown
5204024f35 s3_sync module: Add ANSIBLE_METADATA parameter 2016-12-16 09:28:45 -05:00
tedder
be7a568b33 New module s3_sync: boto3-powered s3 synchronization
Syncs groups of files faster than the `s3` module and support content
type detection/overriding and globbing.
2016-12-16 09:26:30 -05:00
Ryan S. Brown
197658aff4 Handle when the AMI launch permissions are unset.
Use an empty list to avoid a TypeError because `'NoneType' is not iterable``
2016-12-14 19:45:14 -05:00
Carlos E. Garcia
0b8011436d minor spelling changes 2016-12-13 13:51:13 -05:00
Toshio Kuratomi
51491c9904 Remove itervalues (not available on py3) 2016-12-13 05:40:48 -08:00
Andrea Tartaglia
ef391a11ec Removed dict.iteritems() in modules. (#18859)
This is for py3 compatibility, addressed in #18506
2016-12-12 15:16:23 -08:00
Kash
6b1586748f Fixes #4538 passing int params as required by boto (#18999) 2016-12-09 14:39:02 -05:00
Yury V. Zaytsev
395b59ea6c Update ec2_vpc_peer.py (#19069)
Document `peering_id` module parameter.
2016-12-09 11:24:48 -05:00
José Sabater Montes
66ced41485 Add new Amazon EBS volume types. Fixes issue 4041 of ansible-modules-core 2016-12-09 10:27:54 -05:00
Adam Chainz
0b8aada1bc Cloudformation - allow re-using an existing template (#19009)
* Allow re-using an existing template when updating a stack by not passing 'template' or 'template_url'. This is a big one for me as our deploy process creates a new stack and then modifies the old one; to avoid changing the resources inside the old one, we have had to avoid using the Ansible module and use the AWS CLI instead in order to pass `--use-previous-template`.
* Split create and update logic into separate functions
* Remove dead `update` variable
2016-12-09 10:24:10 -05:00
Maarten Bezemer
7b4eb078c6 Leave current secutiry groups as-is if not provided (#19043) 2016-12-09 10:21:16 -05:00
Tom Paine
1d80f5cf0f Update ec2_group.py (#19033)
PR move of https://github.com/ansible/ansible-modules-core/pull/3588

##### ISSUE TYPE
- Docs Pull Request

##### COMPONENT NAME
ec2_group.py

##### ANSIBLE VERSION

```
ansible 2.0.2.0
  config file = /Users/tpai/src/cm-secure/ansible.cfg
  configured module search path = Default w/o overrides
```
##### SUMMARY

Make it clear you can specify the created group in the rules list, allowing idempotent use for group<->group networking rules.

This is a really useful feature that isn't obvious enough in the docs.
2016-12-09 10:11:17 -05:00
Andy Freeland
cb9b5ab146 Include volume encryption status in 'ec2_vol_facts' module (#19017) 2016-12-09 10:01:13 -05:00
Andy Freeland
72310ff3e8 Fix wait parameter in ec2 module docs (#19037)
Fixes #18913.
2016-12-09 05:51:43 -05:00
Matt Clay
c709b22e5c Fix differences with devel. 2016-12-08 11:35:21 -05:00
James Cammarata
011ea55a8f Relocating extras into lib/ansible/modules/ after merge 2016-12-08 11:35:18 -05:00
James Cammarata
8afa090417 Resolving differences in core modules post-merge 2016-12-08 11:25:36 -05:00
Toshio Kuratomi
7319104552 Refreshed metadata for core modules 2016-12-08 11:25:35 -05:00
Adam Chainz
46ca2b8bcd Cloudformation - remove dead invoke_with_throttling_retries function (#5690)
Unused since f040d63403f6c459a278918fa48fa8cb87754506.
2016-12-08 11:25:35 -05:00
Fabio Alessandro Locati
c8fd24ee04 Call main in conditional way - cloud/amazon 2016-12-08 11:25:35 -05:00
Fabio Alessandro Locati
ca047c3881 Unquote urls in YAML - cloud (#5797) 2016-12-08 11:25:34 -05:00
Ted Timmons
367f675420 use 'six' for urlparse compatability (#5777)
* use 'six' for urlparse compatability
2016-12-08 11:25:34 -05:00
Rob White
3f81a65e53 Fail if specifying an ENI as device but in_vpc is not true 2016-12-08 11:25:34 -05:00
tedder
78f8ef267c update formatted lines to use named identifiers 2016-12-08 11:25:32 -05:00
tedder
c77f7af765 add .format indexes for 2.6 compatability
Fixes #5551; the "".format() style needs to have `{0}` instead of the implied `{}` version for compatability with 2.6.
2016-12-08 11:25:32 -05:00
Sam Doran
38c0769abb Examples syntax batch5 (#5622)
* Change example syntax on supervisorctl module

* Change example syntax or _ec2_ami_search module

* Change example syntax on cloudformation module

* Change example syntax on ec2 module

* Change example syntax on ec2_facts module

* Change example syntax on ec2_eip module

* Change example syntax on rds module

* Change example syntax on route53 module

* Change example syntax on s3 module

* Change example syntax on digital_ocean module

* Change example syntax on docker_service module

* Change example syntax on cloudformation module

* Change example syntax on gc_storage module

* Change example syntax on gce module

* Change example syntax on gce_mig module

* Change example syntax on _glance_image module

* Change example syntax on _keystone_user module

* Change example syntax on _nova_keypair module

* Change example syntax on _quantum_floating module

* Change example syntax on _quantum_floating_ip_associate module

* Change example syntax on _quantum_network module

* Change example syntax on _quantum_router module

* Change example syntax on _quantum_router_gateway module

* Change example syntax on _quantum_router_interface module

* Change example syntax on _quantum_subnet module

* SQUASH _quantum_subnet

* Add missing quotes
2016-12-08 11:25:31 -05:00
Ben Tomasik
0de338824a Set suspend_processes version_added to 2.3 2016-12-08 11:25:29 -05:00
Ben Tomasik
f2af5b8664 Add support for suspending scaling processes Ref: http://docs.aws.amazon.com/autoscaling/latest/userguide/as-suspend-resume-processes.html 2016-12-08 11:25:29 -05:00
einarc
22df46d168 Avoid TypeError when desired_capacity is not provided to ec2_asg module (#5501)
Moving the "check if min_size/max_size/desired_capacity..." code to execute BEFORE the desired_capacity code is used in the following operation:
num_new_inst_needed = desired_capacity - len(new_instances)

Otherwise the following exception occurs when desired_capacity is not specified and you're replacing instances:
    num_new_inst_needed = desired_capacity - len(new_instances)
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'

Stack Trace:

An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
  File "/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg", line 3044, in <module>
    main()
  File "/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg", line 3038, in main
    replace_changed, asg_properties=replace(connection, module)
  File "/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg", line 2778, in replace
    num_new_inst_needed = desired_capacity - len(new_instances)
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'

fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_name": "ec2_asg"}, "module_stderr": "Traceback (most recent call last):\n  File \"/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg\", line 3044, in <module>\n    main()\n  File \"/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg\", line 3038, in main\n    replace_changed, asg_properties=replace(connection, module)\n  File \"/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg\", line 2778, in replace\n    num_new_inst_needed = desired_capacity - len(new_instances)\nTypeError: unsupported operand type(s) for -: 'NoneType' and 'int'\n", "module_stdout": "", "msg": "MODULE FAILURE", "parsed": false}
	to retry, use: --limit @
2016-12-08 11:25:28 -05:00
Zaius Dr
d8c21b153d Improve ec2 module Python3 Support (#5497)
Imported six module from ansible module_utils for backwards compatibility.
2016-12-08 11:25:27 -05:00
Andrew Gaffney
2ef59561ba Fix bare variable references in docs (#5554) 2016-12-08 11:25:27 -05:00
Ryan Brown
e45e25c257 Fix cloudformation error when stack-rollback fails (#5550)
In cases where a CFN stack could not complete (due to lack of
permissions or similar) but also failed to roll back, the gathering of
stack resources would fail because successfully deleted items in the
rollback would no longer have a `PhysicalResourceId` property.

This PR fixes that by soft-failing when there's no physical ID
associated to a resource.
2016-12-08 11:25:27 -05:00
Ryan S. Brown
bf9077bfad Fix doc examples for ec2_elb_lb module
The examples had the listeners as a list item for each param, when they
really need to be their own objects.
2016-12-08 11:25:27 -05:00
Ryan S. Brown
5dd9372ff8 Fail gracefully in ec2_asg module when there are no matching launch configurations 2016-12-08 11:25:27 -05:00
jctanner
06e1141106 replace type() with isinstance() (#5541)
Replace all use of type() with isintance()

Addresses https://github.com/ansible/ansible/issues/18310
2016-12-08 11:25:27 -05:00
Ryan S. Brown
2744fde7c9 Fix link in cloudformation module docs 2016-12-08 11:25:27 -05:00
Sean Summers
59b11be65d added requires for botocore with RoleARN support
Added a requires for the minimum botocore version required to support RoleARN
2016-12-08 11:25:27 -05:00
Sean Summers
67934ac7db add role_arn to support Service Role
Add `role_arn` to support [AWS CloudFormation Service Role](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html)
2016-12-08 11:25:27 -05:00
mickael-ange
23eba8fd97 Added aws and ec2 extends_documentation_fragment to cloud/amazon/rds module. (#3951) 2016-12-08 11:25:26 -05:00
Eduard Iskandarov
8ec5757789 Fixes: #4516 add placement_group argument for ec2_asg module 2016-12-08 11:25:26 -05:00
Jamie Dyer
4ac3b0c5d5 Make the RDS endpoint available if AWS returns it. Fixes #3865 (#4143) 2016-12-08 11:25:25 -05:00
Charles Paul
f6676f4957 add id: back to documentation 2016-12-08 11:25:24 -05:00
Ryan S. Brown
422ec08649 Remove unused YAML import from cloudformation 2016-12-08 11:25:22 -05:00
Ryan Brown
dfd57942f9 Support native YAML in CloudFormation module (#5327)
Support the new native YAML format in the CloudFormation API. This means
the existing `template_format` parameter is deprecated. This commit also
adds a warning for the deprecated parameter.
2016-12-08 11:25:22 -05:00
Ryan S. Brown
08b119df33 Fix cloudformation module return parameter documentation
Always return stack outputs, even if only an empty dict
2016-12-08 11:25:21 -05:00
tedder
d01bfa6a72 Cloudformation module fix unintentional changed=true
- Don't rewrite the result; this is causing 'changed=true' on update
- Move AWSRetry import to top since it's a decorator, and is needed at definition-time
2016-12-08 11:25:21 -05:00
tedder
763399830d Boto3 rewrite of cloudformation module
- removed star-imports, which wasn't possible in Ansible 1.x
- boto doesn't have any of the modern features (most notably, changesets), so this rewrite goes all-in on boto3.
- tags are updateable, at least in boto3. Fix documentation.
- staying with "ansible yaml to json conversion" because I'm trying to keep this scoped properly. The next PR will have AWS-native yaml support.
- documented the output. Tried to leave it backwards-compatible but the changes to 'events' might break someone's flow. However, the existing data wasn't terribly useful so I don't assume it will hurt.
- split up the code into functions. This should make unit testing possible.
- added forward-facing code: 'six' for iterating, started using AWSRetry, common tag conversion.
- add todo list
- Pass `exception` parameter to fail_json
2016-12-08 11:25:21 -05:00
Ryan S. Brown
adc56e52d8 Fix fail_json invocation in cloudformation module 2016-12-08 11:25:21 -05:00
John R Barker
25b6492d37 Bulk spelling improvement to modules-core (#5225)
* Correct spelling mistakes

* Correct more spelling issues

* merge conflict

* Revert typo in parms
2016-12-08 11:25:20 -05:00
John Barker
bca8bbe7c2 Correct functional typos 2016-12-08 11:25:19 -05:00
jjshoe
706bdbf284 Catch the rare condition where ami creation failed, this is critical when you have a 10-15 minute wait on ami creation. This rarely happens, and is tough to reproduce, but it does happen. (#5106) 2016-12-08 11:25:19 -05:00
Elena Washington
91e433594a Make is so that the params param truly isn't required (fix for #3860) 2016-12-08 11:25:19 -05:00
Ryan Brown
b091d39baf Handle termination_protection parameter when restarting instances (#5076)
* Restart EC2 instances with multiple network interfaces

A previous bug, #3234, caused instances with multiple ENI's to fail when being
started or stopped because sourceDestCheck is a per-interface attribute, but we
use the boto global access to it (which only works when there's a single ENI).

This patch handles a variant of that bug that only surfaced when restarting an
instance, and catches the same type of exception.

* Default termination_protection to None instead of False

AWS defaults the value of termination_protection to False, so we don't
need to explicitly send `False` when the user hasn't specified a
termination protection level. Before this patch, the below pair of tasks
would:

1. Create an instance (enabling termination_protection)
2. Restart that instance (disabling termination_protection)

Now, the default None value would prevent the restart task from
disabling termination_protection.

```
- name: make an EC2 instance
  ec2:
    vpc_subnet_id: {{ subnet  }}
    instance_type: t2.micro
    termination_protection: yes
    exact_count: 1
    count_tag:
       Name: TestInstance
    instance_tags:
       Name: TestInstance
    group_id: {{ group }}
    image: ami-7172b611
    wait: yes
- name: restart a protected EC2 instance
  ec2:
    vpc_subnet_id: {{ subnet  }}
    state: restarted
    instance_tags:
       Name: TestInstance
    group_id: {{ group }}
    image: ami-7172b611
    wait: yes
```
2016-12-08 11:25:18 -05:00
Pradeep
b405931e8b Typo Fix 2016-12-08 11:25:18 -05:00
Ryan Brown
135b92bf4e Check status of finished spot instance requests (#4990)
Per #3877, the code to wait for spot instance requests to finish would
hang for the full wait time if any spot request failed for any reason.
This commit introduces status checks for spot requests, so if the
request fails, finishes, or is cancelled the task will fail/succeed
accordingly.

One edge case introduced here is tha if a user terminates the instance
associated with the request manually it won't fail the play, under the
presumption that the user *wants* the instance terminated.
2016-12-08 11:25:15 -05:00
Denis Tiago
c0c5b9a50a fix health instances count when we have more than one lb in asg 2016-12-08 11:25:13 -05:00
Ryan S. Brown
93737f819a Accept JSON type as the content of policy_json parameter on iam_policy module 2016-12-08 11:25:12 -05:00
René Moser
cb9ec9f802 iam_cert: remove choice list for dup_ok type bool (#4940)
See 8879931f0cd727244587b6e58a7279d9125c96a2
2016-12-08 11:25:12 -05:00
Ryan S. Brown
10e0ec84fb Fix version_added for ec2_asg feature 2016-12-08 11:25:09 -05:00
Shawn Siefkas
cff256b057 Adding SNS notification support to ec2_asg module
Addresses #1844
2016-12-08 11:25:07 -05:00
Ryan Brown
6dff21bd42 Stop sorting of termination_policies in ec2_asg (#4883)
The AWS API requires that any termination policy list that includes
`Default` must end with Default. The attribute sorting caused any list
of attributes to be lexically sorted, so a list like
`["OldestLaunchConfiguration", "Default"]` would be changed to
`["Default", "OldestLaunchConfiguration"]` because default is earlier
alphabetically. This caused calls to fail with BotoServerError per #4069

This commit also adds proper tracebacks to all botoservererror fail_json
calls.

Closes #4069
2016-12-08 11:25:06 -05:00
mzizzi
eaef333215 cloudformation stack events itertools.imap bugfix (#4868) 2016-12-08 11:25:05 -05:00
Christopher Kotfila
f916dae700 Unpack AWS reservations while waiting to terminate (#4012)
Previously calculation of the number of instances that have been
terminated assumed all instances were in the first reservation returned
by AWS.  If this is not the case the calculated number of instances
terminated never reaches the number of instances and the module always
times out. By unpacking the instances we get an accurate number and the
module correctly exits.
2016-12-08 11:25:05 -05:00
Ryan Brown
1a02005b8d Handle EC2 instances with multiple network interfaces (#4766)
Currently instances with multiple ENI's can't be started or stopped
because sourceDestCheck is a per-interface attribute, but we use the
boto global access to it (which only works when there's a single ENI).

This patch handles multiple ENI's and applies the sourcedestcheck across
all interfaces the same way.

Fixes #3234
2016-12-08 11:25:05 -05:00
Ryan Brown
6ae4e50e47 Fix failure when powering on/off EC2 instances by tag only. (#4767)
If you apply `wait=yes` and use `instance_tags` as your filter for
stopping/starting EC2 instances, this stack trace happens:

```
An exception occurred during task execution. The full traceback is:                                                                          │~
Traceback (most recent call last):                                                                                                           │~
  File "/tmp/ryansb/ansible_FwE8VR/ansible_module_ec2.py", line 1540, in <module>                                                            │~
    main()                                                                                                                                   │~
  File "/tmp/ryansb/ansible_FwE8VR/ansible_module_ec2.py", line 1514, in main                                                                │~
    (changed, instance_dict_array, new_instance_ids) = startstop_instances(module, ec2, instance_ids, state, instance_tags)                  │~
  File "/tmp/ryansb/ansible_FwE8VR/ansible_module_ec2.py", line 1343, in startstop_instances                                                 │~
    if len(matched_instances) < len(instance_ids):                                                                                           │~
TypeError: object of type 'NoneType' has no len()                                                                                            │~
                                                                                                                                             │~
fatal: [localhost -> localhost]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_name": "ec2"}, "module_stderr": "Traceb│~
ack (most recent call last):\n  File \"/tmp/ryansb/ansible_FwE8VR/ansible_module_ec2.py\", line 1540, in <module>\n    main()\n  File \"/tmp/│~
ryansb/ansible_FwE8VR/ansible_module_ec2.py\", line 1514, in main\n    (changed, instance_dict_array, new_instance_ids) = startstop_instances│~
(module, ec2, instance_ids, state, instance_tags)\n  File \"/tmp/ryansb/ansible_FwE8VR/ansible_module_ec2.py\", line 1343, in startstop_insta│~
nces\n    if len(matched_instances) < len(instance_ids):\nTypeError: object of type 'NoneType' has no len()\n", "module_stdout": "", "msg": "│~
MODULE FAILURE", "parsed": false}
```

That's because the `instance_ids` variable is None if not supplied
in the task. That means the instances that result from the instance_tags
query aren't going to be included in the wait loop. To fix this, a list
needs to be kept of instances with matching tags and that list needs to
be added to `instance_ids` before the wait loop.
2016-12-08 11:25:03 -05:00
Abhijit Menon-Sen
841ceb808d Fix spot instance creation by ignoring instance_initiated_shutdown_behavior (#4741)
Before this, all spot instance requests would fail because the code
_always_ called module.fail_json when the parameter was set (which it
always was, because the module parameter's default was set to 'stop').

As the comment said, this parameter doesn't make sense for spot
instances at all, so the error message was also misleading.
2016-12-08 11:25:02 -05:00
Florian Dambrine
2adc325ef6 Fix ec2 module source_dest_check when running on non VPC instances (EC2 Classic) (#3243) 2016-12-08 11:25:02 -05:00
Matt Ferrante
d88f5f6808 Properly support tag updates on CloudFormation stack-update actions (#3638) 2016-12-08 11:25:02 -05:00
Kenny Woodson
3cb42fc5dd Fix for validate rule. Ensure rule is a dict. (#4640) 2016-12-08 11:24:59 -05:00
Kenny Woodson
f1db594e9f Getting rid of a None type error when no resource tags are defined. (#4638) 2016-12-08 11:24:59 -05:00
Ryan Brown
c85d854c84 Remove spurious changed state on iam_policy module (#4381)
Due to a mixup of the group/role/user and policy names, policies with
the same name as the group/role/user they are attached to would never be
updated after creation. To fix that, we needed two changes to the logic
of policy comparison:

- Compare the new policy name to *all* matching policies, not just the
  first in lexicographical order
- Compare the new policy name to the matching ones, not to the IAM
  object the policy is attached to
2016-12-08 11:24:55 -05:00
Rick Mendes
503c2b6158 Fixes #3144 (#4305) 2016-12-08 11:24:55 -05:00
Ilja Bauer
729486809e Replaced use of bare variables with full variable syntax (#4149) 2016-12-08 11:24:54 -05:00
Richard Adams
b0135fadea Add parameter to ec2 module to control instance shutdown behavior (stop|terminate) 2016-12-08 11:24:52 -05:00
Shawn Siefkas
e9bf046c26 Check mode fixes for ec2_vpc_net module (#2179)
* Check mode fixes for ec2_vpc_net module

Returns VPC object information

Detects state change for VPC, DHCP options, and tags in check mode

* Early exit on VPC creation in check mode
2016-12-08 11:24:47 -05:00
Shawn Siefkas
0b95051039 Fix #2526 (#2527)
Fail on unhandled exception in ec2_asg rather than raise
2016-12-08 11:24:47 -05:00
Shawn Siefkas
66f1f6d537 Check mode fix for ec2_group module (#2184)
The default VPC egress rules was being left in the egress rules for
purging in check mode.  This ensures that the module returns the correct
change state during check mode.
2016-12-08 11:24:47 -05:00
Rick Mendes
be33879152 Fixes #4227: just changing messaging 2016-12-08 11:24:46 -05:00
Rick Mendes
eae75cf727 Fix #3549, failure to reference module in ec2_eip module 2016-12-08 11:24:46 -05:00
Lyle Mantooth
f57ece661f Remove file extension from policy names (#3805)
Fixes #3804.

Prevents `__file__` from contributing ".", which is an illegal character in ELB policy names.
2016-12-08 11:24:46 -05:00
Rick Mendes
4fad93561a please remove me as maintainer 2016-12-08 11:24:46 -05:00
Rick Mendes
d6cc007380 Fixes #4227 2016-12-08 11:24:46 -05:00
Jasmine Hegman
f5c3f4dd6b Update docs to indicate ec2_asg state defaults to present (#4046)
* Update docs to indicate ec2_asg state defaults to present

Hopefully fixes Issue #4016

* Forgot to flip required to false
2016-12-08 11:24:46 -05:00
Shaun Brady
7b8d625546 Make ec2_elb_lb respect VPCs when resolving groups
AWS security groups are unique by name only by VPC (Restated, the VPC
and group name form a unique key).

When attaching security groups to an ELB, the ec2_elb_lb module would
erroneously find security groups of the same name in other VPCs thus
causing an error stating as such.

To eliminate the error, we check that we are attaching subnets (implying
that we are in a VPC), grab the vpc_id of the 0th subnet, and filtering
the list of security groups on this VPC.  In other cases, no such filter
is applied (filters=None).
2016-12-08 11:24:46 -05:00
Shaun Brady
3b32b60338 Remove trailing white space 2016-12-08 11:24:46 -05:00
Shaun Brady
04199140c5 Make group_name resolution VPC aware
EC2 Security Group names are unique given a VPC.  When a group_name
value is specified in a rule, if the group_name does not exist in the
provided vpc_id it should create the group as per the documentation.

The groups dictionary uses group_names as keys, so it is possible to
find a group in another VPC with the name that is desired.  This causes
an error as the security group being acted on, and the security group
referenced in the rule are in two different VPCs.

To prevent this issue, we check to see if vpc_id is defined and if so
check that VPCs match, else we treat the group as new.
2016-12-08 11:24:46 -05:00
chrisweaver
531954e2f6 Enforce boolean type for dup_ok
Stop "choices" from being interpreted as strings.
2016-12-08 11:24:45 -05:00
Matthew Martin
4d952d6e6e Add CAPABILITY_NAMED_IAM to cloudformation capabilities
While from the documentation[1] one would assume that replacing
CAPABILITY_IAM with CAPABILITY_NAMED_IAM; this as empirically been shown
to not be the case.

1: "If you have IAM resources, you can specify either capability. If you
have IAM resources with custom names, you must specify
CAPABILITY_NAMED_IAM."
http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html
2016-12-08 11:24:45 -05:00
Michael Baydoun
3818cc2b95 fixes issues where iam_policy incorrected reported changed 2016-12-08 11:24:45 -05:00
Kai Kousa
4a8a052e2e Improve documentation on security_groups-option 2016-12-08 11:24:44 -05:00
Adrian Moisey
28716f565c Add default port for aurora (#4102)
If a port isn't specified, it's looked up. The lookup breaks without
this.

Related: https://github.com/ansible/ansible-modules-core/pull/3414
2016-12-08 11:24:42 -05:00
Ryan Brown
d4cec5ccc1 Remove double-assignment of EC2 parameters (#4081)
The `source_dest_check` and `termination_protection` variables are being
assigned twice in ec2.py, likely due to an incorrect merge somewhere
along the line.
2016-12-08 11:24:40 -05:00
Hrishikesh Barua
cf9bfc3459 Fix for #16518 - added missing regions 2016-12-08 11:24:40 -05:00
Ryan S. Brown
a2e6ac6ca8 IAM group modules need module passed
The IAM group modules were not receiving the `module` object, but they
use `module.fail_json()` in their exception handlers. This patch passes
through the module object so the real errors from boto are exposed,
rather than errors about "NoneType has no method `fail_json`".
2016-12-08 11:24:39 -05:00
Javier M. Mellid
49f9404cd2 Add s3_url requirement in doc when rgw support is enabled in s3.py
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2016-12-08 11:24:38 -05:00
Javier M. Mellid
6346cad9d0 Add proper version_added for rgw option in s3.py
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2016-12-08 11:24:38 -05:00
Javier M. Mellid
0b156aae16 Add Ceph RGW S3 compatibility
Ceph Object Gateway (Ceph RGW) is an object storage interface built on top of
librados to provide applications with a RESTful gateway to Ceph Storage
Clusters:

http://docs.ceph.com/docs/master/radosgw/

This patch adds the required bits to use the RGW S3 RESTful API properly.

Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2016-12-08 11:24:38 -05:00
Adam Butler
0c7ec1e860 Fixes incorrect key name protocols -> protocol (#3963) 2016-12-08 11:24:38 -05:00
Toshio Kuratomi
53a22ce93a Finish python3 syntax compilation fixing for core repo 2016-12-08 11:24:37 -05:00
Bradley Phipps
17985f9917 added missing colons to documentation (#3913) 2016-12-08 11:24:36 -05:00
Matt Davis
81e7720f62 Iam trust policy (#3885)
* added support for trust policies

* added version_added to new params in DOC string

* update version_added on new iam args to 2.2
2016-12-08 11:24:36 -05:00
mansunkuo
be6ce922a6 Add an example to delete Route53 alias record set (#3834) 2016-12-08 11:24:35 -05:00
Elena Washington
cf31b4d8b5 Add support for PostgreSQL 9.5 in rds_param_group (fix for #3846) 2016-12-08 11:24:35 -05:00
Jonathan A. Sternberg
97917121a6 Paginate the results from boto.iam
The default pagination is every 100 items with a maximum of 1000 from
Amazon. This properly uses the marker returned by Amazon to concatenate
the various pages from the results.

This fixes #2440.
2016-12-08 11:24:34 -05:00
Michael Pappas
585003c546 Prevent ec2group from deleting sgs during check_mode runs 2016-12-08 11:24:34 -05:00
@
3fa745eef9 Fixing error exception handling for python3. Does not need to be compa… (#3840)
* Fixing error exception handling for python. Does not need to be compatible with Python2.4 b/c boto is Python 2.6 and above.

* Fixing error exception handling for python. Does not need to be compatible with Python2.4 b/c boto is Python 2.6 and above.

* Fixing compile time errors IRT error exception handling for Python 3.5.
This does not need to be compatible with Python2.4 b/c Boto is Python 2.6 and above.
2016-12-08 11:24:34 -05:00
@
1573066ec1 Fixing error exception handling for python. Does not need to be compatible with Python2.4 b/c boto is Python 2.6 and above. (#3839) 2016-12-08 11:24:33 -05:00
David Fischer
adec050165 Add MariaDB to valid RDS engines (#3337)
* Add MariaDB to valid RDS engines

* Update RDS module documentation
2016-12-08 11:24:32 -05:00
Roberto Bampi
375884464e Add an example for SRV record in route53 (#3749) 2016-12-08 11:24:31 -05:00
Doug Luce
9167abdd10 Fix S3 unavailable region error
This is to address this error:

  fatal: [site]: FAILED! => {"changed": false, "failed": true, "msg": "Failed to connect to S3: Region  does not seem to be available for awsmodule boto.s3. If the region definitely exists, you may need to upgrade boto or extend with endpoints_path"}

Commit 0dd58e9 changed the logic so an exception is thrown (by
`connect_to_aws`) before the `s3 is None` check is performed. This
changes the `None` check to a catch so the old logic can compensate.
2016-12-08 11:24:30 -05:00
Kenny Woodson
cd09aab9b4 Unindenting the delete to user (#3147) 2016-12-08 11:24:30 -05:00
Ryan Brown
962a446238 Allow users to pick AWS Aurora as an RDS engine (#3414)
Per the [RDS docs](http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html),
add `aurora` as a valid DB engine.
2016-12-08 11:24:30 -05:00
Nathan Brown
c053fa5378 Do not expect the elb to have policies or instances. Fixes #3593 (#3595) 2016-12-08 11:24:30 -05:00
kwerey
963cb64337 Add option to make RDS param groups for the MySQL 5.7 engine family. (#3695) 2016-12-08 11:24:30 -05:00
Lloyd Hazlett
20e86d1062 Add path type to argument_spec where applicable (#3040) 2016-12-08 11:24:30 -05:00
Kaz Cheng
ff1c591c3e Allow create_iam_role to return an additional value of role_result and (#2418)
instance_profile_result, in addition to the existing role list and change value
2016-12-08 11:24:29 -05:00
hyperized
82cefd7ce1 Added restart functionality to ec2.py 2016-12-08 11:24:26 -05:00
John R Barker
d13046a905 ansible-validate-modules part 4: Enable check on ansible-modules-core (#3526)
* Call ansible-validate-modules

* Correct quotes + add newline
2016-12-08 11:24:26 -05:00
cspollar
7dc0dcc59e Add missing periods to description items.
Current theme used by docs.ansible.com displays description items on one line. Adding periods helps readability.
2016-12-08 11:24:25 -05:00
Brian Coca
fdcc1fe763 clarified docs on overwrite 2016-12-08 11:24:25 -05:00
Ryan Brown
52edeeca4c Fix capitalization of AWS in ec2_lc module documentation 2016-12-08 11:24:24 -05:00
Bill W
0fcc2d8973 Add more example on how to use module ec2_tags to list tags on an ins… (#3530)
* Add more example on how to use module ec2_tags to list tags on an instance

* Add more example on how to use module ec2_tags to list tags on an instance
2016-12-08 11:24:24 -05:00
deyvsh
3775d8e684 Extend example to demonstrate usage of ephemeral disks. (#3550) 2016-12-08 11:24:24 -05:00
Sumit Roy
b8204774dd Support tagging ELBs using boto 2.0. (#2844) 2016-12-08 11:24:20 -05:00
Brian Coca
4e08f94a34 corrected return docs sample 2016-12-08 11:24:20 -05:00
Constantin
404f07af8e Added improvements and documented return structure (#2320) 2016-12-08 11:24:19 -05:00
jjshoe
87946920d8 Fix an issue where by a call to ec2.get_image wasn't wrapped in a try/except, and would occasionally throw an exception in the wild. Also greatly simplifies two of the ugliest known loops to man down into a single loop. (#2554) 2016-12-08 11:24:19 -05:00
Dennis Conrad
70b0891f95 Fix UnboundLocalError if 'access_key_ids' not supplied
'key_ids' is referenced before it is assigned, causing the module to fail with a UnboundLocalError instead of failing gracefully with a helpful error message.  This very small patch moves the assignment of 'key_ids' to before the variable is referenced.
2016-12-08 11:24:19 -05:00
Marcin
c3ebc84689 rebase for #2477, ready_for_review (#2581) 2016-12-08 11:24:18 -05:00
Joel Thompson
1db444cdc2 Add exponential backoff retries to ec2_elb_lb (#3379)
ec2_elb_lb doesn't react well to AWS API throttling errors. This
implements an exponential backoff operation around some of the AWS API
calls (with random jitter, in line with AWS recommendations) to make
this more resilient.
2016-12-08 11:24:18 -05:00
Michael Moussa
0494dced3a Fixes read replica create BC break (#3365) 2016-12-08 11:24:17 -05:00
William Holroyd
42d784c24b Added ap-northeast-2 region (#2849) 2016-12-08 11:24:17 -05:00
Rob
5a48a2e93e Fix to ensure youngest snapshot is retrieved rather than oldest (#3115) 2016-12-08 11:24:17 -05:00
jjshoe
5b8d209b7e Speed up AMI code by not attempting to create the AMI without checkin… (#2551)
* Speed up AMI code by not attempting to create the AMI without checking on the name first. Also simplifies code for reporting errors from AMI creation, greatly.

* remove sys.exit
2016-12-08 11:24:17 -05:00
Marcin
ea57d8b005 Check if identifier is specified for geo,weighted or failover routing. Don't fail if record set already exist. Set choices for failover - capital PRIMARY and SECONDARY. (#2470) 2016-12-08 11:24:17 -05:00
Kalle Lehtonen
02f737cdee Fix and add more error handling for role policies
In case role policy was deleted, we did not handle at all if there

was authorization issue to do the deletion. Also add message when

role is not found and the policy is skipped.
2016-12-08 11:24:16 -05:00
Brian Coca
ff755da1e5 fixed doc quoting 2016-12-08 11:24:15 -05:00
Brian Coca
37513ca8bb corrected required docs as only boolean is allowed
these complex values were not displayed and would always show the fields as requried
2016-12-08 11:24:15 -05:00
Christian Aistleitner
51e3c6c49b Guard against too old boto library
route53 creates Record objects using `health check` and `failover`
parameters. Those parameters only became available in boto 2.28.0.
As some prominent LTS Linux releases (e.g.: Ubuntu 14.04) only ship
older boto versions (e.g.: 2.20.1 for Ubuntu 14.04), users are getting
unhelpful error messages like

  TypeError: __init__() got an unexpected keyword argument 'health_check'

when running Ansible 2 against their LTS install's default boto.
We improve upon this error message by checking the boto version
beforehand.

Fixes ansible/ansible#13646
2016-12-08 11:24:14 -05:00
Arnaud Lachaume
50622b4e6a fix aws elasticache idempotency 2016-12-08 11:24:14 -05:00
whiter
dadf835a06 Remove access_key and secret_key as these are provided by aws doc fragment Remove ec2 doc fragment as region is not required for IAM 2016-12-08 11:24:14 -05:00
Ashwanth Kumar
7c5b4b142a Doing exponential backoff on route53 upon AWS throttling 2016-12-08 11:24:14 -05:00
Brian Coca
d035961d1c added version added 2016-12-08 11:24:13 -05:00
Ted Timmons
8c6741b2bb fix typo in documentation
let's -> lets
2016-12-08 11:24:13 -05:00
Taras Lipatov
b5fb47e28e Fixed typo json_fail to fail_json 2016-12-08 11:24:13 -05:00
Fabian Fülling
eaa7e717a2 Fixes #2039 Convert None to 0 when checking if ELB cookie expiration has changed 2016-12-08 11:24:12 -05:00
Jonathan Davila
f24c3fb40e Clarified IAM module doc 2016-12-08 11:24:12 -05:00
Neil Saunders
83039b93f0 Fix for issue #3109: Executing ec2_group with rules fails with "Invalid rule parameter '['" 2016-12-08 11:24:11 -05:00
Nate Brown
b891b0c9bc ELB Proxy Protocol support for backends 2016-12-08 11:24:11 -05:00
Joel
e3de705d0c Allow us to sort by all available datatypes 2016-12-08 11:24:11 -05:00
Brian Coca
b61d531dfc corrected typo on aws connection arguments var 2016-12-08 11:24:10 -05:00
Constantin07
33079b2b7f Treat 'is_public' option as a bool 2016-12-08 11:24:10 -05:00
Tom Bamford
1cace51ed6 Bugfix: Permit SOA record type 2016-12-08 11:24:09 -05:00
Ryan-Neal Mes
2fa3f16012 Indented code so it only executes tag comparison for matching cird values 2016-12-08 11:24:09 -05:00
Will Thames
52accd7d1f Use connect_to_aws where possible
`connect_to_aws` fixes a bug with security tokens in AWS.
Modules should use that rather than calling
`boto.x.connect_to_region`
2016-12-08 11:24:09 -05:00
Jonathan Davila
7f338e13ff Updated ec2_lc docs 2016-12-08 11:24:08 -05:00
Constantin07
3dde5196aa Added explicit type for 'tags' option 2016-12-08 11:24:08 -05:00
Constantin07
94345349a6 Fixing issue #3057 - AttributeError: 'str' object has no attribute 'items' 2016-12-08 11:24:07 -05:00
Scott Brown
ba2bc1dbfe Fixing missing interpolation variable 2016-12-08 11:24:07 -05:00
Daniel Petty
f26199d962 replaced sudo with become 2016-12-08 11:24:06 -05:00
Matt Martz
aaf762573e Various simple linting type cleanups on modules 2016-12-08 11:24:06 -05:00
jjshoe
56f1d6f794 Less engrish 2016-12-08 11:24:04 -05:00
Michael Baydoun
7234ead259 Update ec2.py
Documentation is not clear that tag used in count_tags must be an existing instance_tag
2016-12-08 11:24:04 -05:00
Ben Visser
8769c33e46 changing default of cache_security_groups to none, removing the ['default']
OCD is making me fix the inconsistency with how None is typed. First Letter Capitalized All Over Now.

cleaning up the default object that was created for the cache_security_groups and removing checks dealing with it.

clean up space

Changing default cache_security_groups from [default] to None.
2016-12-08 11:24:02 -05:00
Toshio Kuratomi
f6aa1ff9a4 Remove duplicate documentation fields 2016-12-08 11:24:01 -05:00
Shawn Silva
12be401c11 The parameters 'template' and 'template_url' are incorrectly required in all cases.
If the state is 'absent' they should not be required. A few lines below the correct check is already in place.
2016-12-08 11:24:01 -05:00
techraf
896dcd9787 Fixed typo in example playbook 2016-12-08 11:24:00 -05:00
Brian Coca
a0204b80dc tabs are bad 2016-12-08 11:24:00 -05:00
Tom Bamford
68f76c50d8 Remove explicit region parameter from ec2_ami_find 2016-12-08 11:24:00 -05:00
Ben Visser
18ff22348a fixed grammatical issue in iam.py. exit -> exist. 2016-12-08 11:24:00 -05:00
Yoichi Imai
b9b08666f5 Fix iam_policy pdoc variable 2016-12-08 11:24:00 -05:00
Jason Paige
a2f4d46c9b updating choices for rds parameter engines 2016-12-08 11:24:00 -05:00
Bermudez, Jaime
efbdea909e Simplify logic around "present" state and skip dupes. If the policy doesn't exist or the policy document doesn't match or if we're not skipping dupes, then we go ahead and update the respective user/group/role policy. 2016-12-08 11:23:59 -05:00
Henrique Rodrigues
c2e62ed9a9 Fix misspelling of the word 'certificate' 2016-12-08 11:23:59 -05:00
Brian Coca
6e73c61298 added version_added 2016-12-08 11:23:59 -05:00
Constantin07
f36c567022 Added delete_on_termination option for volume attachment 2016-12-08 11:23:59 -05:00
Matt Ferrante
2dd53a8d91 updated s3 module documentation 2016-12-08 11:23:59 -05:00
Brian Coca
f50fbe9dd2 updated s3 docs to reflect mode choices
fixes #2318
2016-12-08 11:23:58 -05:00
autotune
90631aef1b 1113 fix ec2 subnet tags 2016-12-08 11:23:58 -05:00
Brian Coca
a5e4969dc4 updated version_added 2016-12-08 11:23:58 -05:00
Joost Cassee
267dcc8eb6 Add wait_timeout option to route53 module
This option is used to make sure the module does not block forever.
2016-12-08 11:23:58 -05:00
Joost Cassee
e91bcba078 Add wait option to route53 module
This option makes the module wait for the changes to replicate to all
Amazon DNS servers.
2016-12-08 11:23:58 -05:00
Ben Visser
cfed7e11d8 two choices for cache engine. adding them.
revert spacing

undoing quotes around default. will do another pull requests

Making documentation more explicit for elasticache engine choices.
2016-12-08 11:23:58 -05:00
krdlab
c680611fe4 Fix self.changed value in ElbManager (ec2_elb_lb) 2016-12-08 11:23:57 -05:00
Brian Coca
351de21ee7 made port default depending on db engine 2016-12-08 11:23:57 -05:00
Brian Coca
1fe3387971 crrected version added 2016-12-08 11:23:57 -05:00
Jon Hadfield
d0e37fa542 return allocation id for vpc address. 2016-12-08 11:23:56 -05:00
Ben Visser
a01fe88263 staging that num_nodes is required when state=present 2016-12-08 11:23:56 -05:00
Brian Coca
1367e73c94 be smarter when dealing with policy_json input
Now module will assume that if the argument is a string it is already formated as json
and will only try to convert non strings into json string.
Also removed unused 'msg' var declarations and the ifs that set them
fixes #2009
2016-12-08 11:23:56 -05:00
Etherdaemon
eba78d08f9 Update to wait and wait_timeout with a maximum of 10 minutes timeout 2016-12-08 11:23:55 -05:00
Etherdaemon
cd3f306518 Proposing a wait_for function to ensure elb has been successfully removed 2016-12-08 11:23:55 -05:00
Mike Buzzetti
f20b09e2ec Add evaluate taget health for alias based records 2016-12-08 11:23:55 -05:00
Andy Nelson
444895f889 Update to ec2_vpc.py to: 1 allow interface ids and vpc peering connections as route targets 2 set state to "terminated" when VPC is removed 3 fix some comment typos
updates per PR comments
2016-12-08 11:23:54 -05:00
HAMSIK Adam
2af105bcbc Convert enabled value to boolean to actually work, make sure we can set expiration period to 0(None) to disable it 2016-12-08 11:23:53 -05:00
Brian Coca
9259b51c97 updated module docs, added choices to state 2016-12-08 11:23:53 -05:00
Michel Alexandre Salim
325a979876 Set the argument type for ec2_vol's encrypted parameter
If this is not set, Ansible parses the parameter as a string.
This is fine if the parameter is not provided by the caller, but
if it is set to False or True explicitly, ec2_vol receives this as
the string 'False' or the string 'True', both of which are truthy.

Thus, without this fix, setting the parameter results in encryption
always enabled.
2016-12-08 11:23:52 -05:00
Arthur Clement
7c8d3d9b20 Example of single instance with ssd gp2 root volume creation 2016-12-08 11:23:50 -05:00
Toshio Kuratomi
6cb1606005 Don't raise or catch StandardError in amazon modules 2016-12-08 11:23:50 -05:00
Jay Rogers
bef2b75857 Update in Amazon IAM Policy Documentation
There were typos in the documentation that made the examples seem misleading of what was being demonstrated. This update fixes that.
2016-12-08 11:23:49 -05:00
Michel Alexandre Salim
fba26fda1c Fix ec2_snapshot documentation
last_snapshot_min_age is added in 2.0, not 1.9
2016-12-08 11:23:49 -05:00
Max Rothman
086038cb4f Fix rds "promote" command never promoting
Previously, the `promote` command in the `rds` module would always return OK and never actually promote an instance. This was because `promote_db_instance()` had its conditions backwards: if the instance had the `replication_source` attribute indicating that it **was** a replica, it would set `changed = False` and do nothing. If the instance **wasn't** a replica, it would attempt to run `boto.rds.promote_read_replica()`, which would always fail.
2016-12-08 11:23:49 -05:00
joshuaeke
88f221fd9f Update ec2.py remove state tag
'exact_count' and 'state' are mutually exclusive options they should not be in the following examples:
- # Enforce that 5 running instances named "database" with a "dbtype" of "postgres" example and
- # Enforce that 5 instances with a tag "foo" are running
2016-12-08 11:23:49 -05:00
Toshio Kuratomi
a90de29ceb Minor simplification of code 2016-12-08 11:23:49 -05:00
Brian Coca
2efb97e9d5 corrected version_added, removed empty alias 2016-12-08 11:23:49 -05:00
Keith Hassen
f7dfcc153e Fail if any group name is not resolved to an ID. 2016-12-08 11:23:48 -05:00
Daniel Donckers
5c7f72233f Fixes #822 2016-12-08 11:23:48 -05:00
Mike Riddle
f0156dda0d Fixed error message: TypeError: fail_json() takes exactly 1 argument (2 given) 2016-12-08 11:23:48 -05:00
Brian Coca
0425d6be39 fixed break order 2016-12-08 11:23:48 -05:00
Tom Paine
0bf5fa1c23 Update ec2_elb_lb.py 2016-12-08 11:23:48 -05:00
Marcin Stolarek
d3029a6059 Save changes of special characters to rset, without that comparison rset.to_xml() == wanted_rset.to_xml() will fail if record contains * or @ characters. 2016-12-08 11:23:48 -05:00
Marcin Stolarek
3c7787c05c It may be string with int comparison, if ansible user specifies identifier as int 2016-12-08 11:23:48 -05:00
J Levitt
502717d387 Add rds restore example to list of examples
There was no db restore example. I've provided one that shows how to do the restore, then add a security group (you cannot add the security group during the restore step -- it has to be done in a modify step afterward). Also, I show how to get the endpoint.
2016-12-08 11:23:48 -05:00
Rabenstein
8eb04fe0d3 Squash of 3 commits for bugfix.
Absent unction was not working on user with login profile
also fixed the exception handling

fixed the delete user function
now works with or without loginprofile (password)

typo
2016-12-08 11:23:47 -05:00
Rabenstein
4c08545974 Absent unction was not working on user with login profile also fixed the exception handling 2016-12-08 11:23:47 -05:00
Brian Coca
7517e6366e use marker instead of is_truncated which does not seem to work 2016-12-08 11:23:47 -05:00
Brian Coca
90d084d82b loop to get all load balancers, boto limited to 400 at a time fixes #2115 2016-12-08 11:23:47 -05:00
Kevin Falcone
35e6684163 Mark this as a string so it is rendered in the docs
When this was treated as a boolean, sphinx was leaving the Default
column on http://docs.ansible.com/ansible/ec2_module.html blank,
implying it would use AWS's default.  In reality, it passes False, which
overrides the defaults at AWS (it's possible to boot an instance which
AWS claims will always have EBS optimization without it because of this
silently passed False).
2016-12-08 11:23:46 -05:00
whiter
c0d135e44c Allow iam_policy to maintain idempotentce if the role referenced has been removed 2016-12-08 11:23:46 -05:00
Adrian Bridgett
6bc4c877fc remove unneeded aliases 2016-12-08 11:23:46 -05:00
Adrian Bridgett
f90bcfee1f add idle_timeout support 2016-12-08 11:23:46 -05:00
Kai Webber
4a8bd74f52 Added launch group support for ec2 module 2016-12-08 11:23:46 -05:00
Toshio Kuratomi
66a4cb5c13 Make cache_parameter_group the name of this new param to match with similar params (leave old name as an alias) 2016-12-08 11:23:46 -05:00
Toshio Kuratomi
a692b2e4af Revert "Expose cache_parameter_group_name in elasticache module"
This PR #1950 implements duplicate functionality to #1353
This reverts commit b04efa22c4403ca869e94e7918721306d23afa8d.

Conflicts:
	cloud/amazon/elasticache.py
2016-12-08 11:23:46 -05:00
Brian Coca
4d74c1d508 added missing version added 2016-12-08 11:23:46 -05:00
Greg DeKoenigsberg
248ea2deea Remove @ralph-tice from maintainership per his request 2016-12-08 11:23:45 -05:00
Greg DeKoenigsberg
1c0b231e29 Clarity of owner, even though module is deprecated 2016-12-08 11:23:45 -05:00
Greg DeKoenigsberg
742b452dc1 @lorin stepping down as maintainer 2016-12-08 11:23:45 -05:00
Gilad Peleg
9cb4388f9e Add state=running on some ec2 examples
`state=running` was missing in some of the ec2 module examples
2016-12-08 11:23:45 -05:00
Sarah Haskins
3ad19e75cc Expose cache_parameter_group_name in elasticache module
The cache_parameter_group_name was not previously exposed in
elasticachy.py, I have exposed it, as optional.
2016-12-08 11:23:45 -05:00
Etherdaemon
63c8c40a37 Update try statement as pointed out by defionscode 2016-12-08 11:23:42 -05:00
Toshio Kuratomi
a5d95b4047 Another fix for docs 2016-12-08 11:23:42 -05:00
Toshio Kuratomi
ac58ef1404 Correct docs build 2016-12-08 11:23:42 -05:00
Constantin Bugneac
55afa7e944 Added documentation for returned structure 2016-12-08 11:23:42 -05:00
Etherdaemon
9fe689eaec fixes #12831 by updating the boto iam connection method to connect_to_region 2016-12-08 11:23:42 -05:00
Constantin Bugneac
aa887ce49f Included 'block_device_mapping' in the output of module and other missing attributes 2016-12-08 11:23:42 -05:00
Brian Coca
9f503540f1 added missing version_added to new accesslogs feature 2016-12-08 11:23:42 -05:00
Brian Coca
28749a794a added note on when reboot command became available fixes #2050 2016-12-08 11:23:41 -05:00
Gilad Peleg
295a28e128 Docs: remove redundant quotes in ec2_elb docs 2016-12-08 11:23:41 -05:00
Gilad Peleg
c340587bb8 Docs: add state choices to ec2_elb_lb
add state options (`present` and `absent`) to `ec2_elb-lb` doc
2016-12-08 11:23:41 -05:00
Val Komarov
0b294d69c5 Remove duplicate logic 2016-12-08 11:23:41 -05:00
whiter
9ee13c4e55 Add region to doc and handle missing region parameter 2016-12-08 11:23:40 -05:00
Rob
11c0be06fb Update ec2_vol.py
Changed=true now reported on new volume.
Only detach volume when instance is specified as 'None' or '' rather than whenever instance is not specified at all
Fix regression caused by 6b27cdc where by no volume is created if id or Name is not supplied
Remove unnecessary empty aliases
Corrected example to use acceptable parameter for ions
Added exception handling to get_all_instances call
Moved the attachment state validation code to attach_volume function rather than create_volume function
Refactored attach_volume and detach_volume so that changed state can be passed back to call
Created get_volume_info function so that state=present and state=list can return the same data.  Also added instance_id as a returned value in attachment_set dict
Updated aws connection method so that boto profile can be used
2016-12-08 11:23:40 -05:00
Constantin Bugneac
7dd5ec5373 Added deleteOnTermination in the output of list option 2016-12-08 11:23:40 -05:00
Abhijit Menon-Sen
e9071c62ba Add missing variable initializations
Without this, «ec2: state=stopped instance_ids=…» would fail with a
traceback like this:

    if inst.get_attribute('sourceDestCheck')['sourceDestCheck'] != source_dest_check:
NameError: global name 'source_dest_check' is not defined
2016-12-08 11:23:40 -05:00
Frank van Tol
5872e0a493 Update ec2_asg.py 2016-12-08 11:23:40 -05:00
Rob
ed3d248234 Move import statements for easier debugging (correct line numbers) 2016-12-08 11:23:40 -05:00
Rob
61af70c087 Set default of dimensions parameter to be empty dict 2016-12-08 11:23:39 -05:00
fperks
11dbd985b6 Fix error on ec2 status change
Both `source_dest_check` and `termination_protection` variables are not
available within the scope of the startstopec2 instance method. This just
pulls them from module.params.
2016-12-08 11:23:39 -05:00
Gerard Lynch
27f93bef40 minor doc fix 2016-12-08 11:23:39 -05:00
Shayne Clausson
92f88a4cb4 Replaces 'old' get_ec2_creds connection method with get_aws_connection_info to support passing in security_token for temporary creds. 2016-12-08 11:23:38 -05:00
Alex Kessinger
4d227e508d Fix a argument mismatch in elasticache
I think in this commit 720aeffca2bd2ae1eca158abc2d1463a8597afb6

There was bug introduced where the ElastiCacheManager init method has
a number of positional arguments like so.

```py
    def __init__(self, module, name, engine, cache_engine_version, node_type,
                 num_nodes, cache_port, parameter_group, cache_subnet_group,
                 cache_security_groups, security_group_ids, zone, wait,
                 hard_modify, region, **aws_connect_kwargs):
```

But then later in the code the positional arguments are passed in
like this.

```py
    elasticache_manager = ElastiCacheManager(module, name, engine,
                                             cache_engine_version, node_type,
                                             num_nodes, cache_port,
                                             cache_subnet_group,
                                             cache_security_groups,
                                             security_group_ids, parameter_group, zone, wait,
                                             hard_modify, region, **aws_connect_kwargs)
```

If you count, you can see that cache_subnet_group, is being passed in
where the manager expects to see parameter_group.
2016-12-08 11:23:38 -05:00
Jens Carl
00f9dfac34 Change type of parameter 'template' to 'path'. 2016-12-08 11:23:38 -05:00
Gerard Lynch
f85a8ac746 allow use of volume_type in volumes dict 2016-12-08 11:23:37 -05:00
Jens Carl
507111f090 Fix to handle user directory within parameter 'template'. 2016-12-08 11:23:37 -05:00
Tom Bamford
dbf882a600 Clarify available options for device_mapping parameter of ec2_ami module 2016-12-08 11:23:37 -05:00
Shawn Silva
2962dabeda Fix for modifying the size of an RDS instance. When attempting to modify the size of an RDS instance Ansible succeeds and returns a "changed" status. However, no changes are applied to the RDS instance. Boto is looking for a keyword parameter of "allocated_storage" to update the size, and this parameter wasn't being included. 2016-12-08 11:23:37 -05:00
Selivanov Pavel
63d2575f9f ec2_group.py: added ICMP rule example 2016-12-08 11:23:37 -05:00
Nathaniel Felsen
ec14a5c728 Adding support for access logs in ELB 2016-12-08 11:23:37 -05:00
whiter
82c898be5a Remove 'str' type so that json is properly quoted 2016-12-08 11:23:36 -05:00
evanccnyc@users.noreply.github.com
ff81aa11c0 Fixing ec2_asg termination_policy
If this isnt set, it wont launch the instances because it needs to default to "Default" despite what boto docs say.
2016-12-08 11:23:36 -05:00
Frank van Tol
db6c6ec5c9 Update s3.py
We are copying from S3,  the bucket is the source, not the target.
2016-12-08 11:23:36 -05:00
Rob
08999ecfd1 Update iam_policy.py
Fixed doc for policy_name - it is a required field
Removed empty aliases
2016-12-08 11:23:36 -05:00
Gerard Lynch
3339749017 order params, add missing tag param. update examples 2016-12-08 11:23:36 -05:00
Toshio Kuratomi
29cfd80220 Fix improper indentation 2016-12-08 11:23:36 -05:00
Evan Carter
5cd3217fc8 fixing termination policies for ec2_asg 2016-12-08 11:23:35 -05:00
Evan Carter
e9c04cfdfd Fixing bug #2058 and adding some backwards compatibility 2016-12-08 11:23:35 -05:00
Rob
4f9bb86e58 Add exception handling to iam 2016-12-08 11:23:35 -05:00
wimnat
540061c9fc Remove unnecessary json.loads 2016-12-08 11:23:35 -05:00
Tom Fotherby
135e7c60de Fix #1984 - allow load_balancer_port as a variable 2016-12-08 11:23:35 -05:00
Yanchek99
ebbd206e86 Fixed typo for instance_tags documentation 2016-12-08 11:23:35 -05:00
Taneli Lepp
fb317c72b6 Added option to set multiple ACLs for S3 objects. Also verifies the selected permissions against Boto's canned ACL strings list. 2016-12-08 11:23:35 -05:00
Bret Martin
b1c5b17155 Use general-purpose parameter mutual exclusion code for network_interfaces 2016-12-08 11:23:35 -05:00
Bret Martin
0afa813324 Add alias network_interface and accept a string for a single ENI 2016-12-08 11:23:35 -05:00
Bret Martin
df8b2d45bc Add network_interfaces example 2016-12-08 11:23:35 -05:00
Bret Martin
96d8401fb4 Remove aliases specification from documentation since there are none 2016-12-08 11:23:35 -05:00
Brian Coca
281a92bbdd corrected whitepace 2016-12-08 11:23:34 -05:00
Toshio Kuratomi
b952dff2c1 correct documentation formatting 2016-12-08 11:23:34 -05:00
Bret Martin
df713192b4 Add network_interfaces parameter to ec2 module to support launch-time ENIs 2016-12-08 11:23:34 -05:00
Toshio Kuratomi
33f5afa779 Make sure listener ports are ints.
May fix #1984
2016-12-08 11:23:34 -05:00
Bruno Galindro da Costa
6f36629d13 Added termination_policies option 2016-12-08 11:23:33 -05:00
Toshio Kuratomi
ffbd1efaa7 Remove non-ascii quote char 2016-12-08 11:23:33 -05:00
Rick Mendes
8048c4482a using single device_id and enabling release on disassociation 2016-12-08 11:23:33 -05:00
Timothy Appnel
488749500e Clarified and cleaned up grammar of error messages. 2016-12-08 11:23:33 -05:00
Timothy Appnel
d811a51744 Fixed call to undefined attribute when RDS module timeouts waiting. 2016-12-08 11:23:33 -05:00
Till Backhaus
e005ef0c36 Delete dead and broken code 2016-12-08 11:23:33 -05:00
James Cammarata
b9ca912ffe Fixing region requirement regarding euca clusters
Fixes ansible/ansible#11023
2016-12-08 11:23:32 -05:00
Jason Cowley
2c511a9470 Add support for S3 canned permissions. resolves #1939 2016-12-08 11:23:32 -05:00
David M. Lee
4cd2fcf917 ec2_vol: Added missing "needs 2.0" doc
The ability to find-or-create a volume was added in 2.0. Added note to
the example.
2016-12-08 11:23:32 -05:00
Evan Carter
c1526ff87b Adding the ability to associate eips with network interfaces 2016-12-08 11:23:31 -05:00
Scot Spinner
0fff871819 one thing missed 2016-12-08 11:23:31 -05:00
HAMSIK Adam
217764ba3c Rebase start/stop instance pull code 2016-12-08 11:23:31 -05:00
Michael J. Schultz
c7eb08b217 Return an iterable instead of None
By default `.get()` will return `None` on a key that doesn't exist. This
causes a `TypeError` in the `for` loop a few lines down. This change simply
returns an iterable type to avoid the error.
2016-12-08 11:23:30 -05:00
Toshio Kuratomi
a765411284 Another way that the serialization of the boto results can fail 2016-12-08 11:23:30 -05:00
Toshio Kuratomi
cae0c2741c Another launchconfig field needs to be explicitly converted for json serialization
Fixes #1848
2016-12-08 11:23:30 -05:00
Ted Timmons
7027de77b7 fix ugly documentation
current version dumps a character per line in the docs: http://docs.ansible.com/ansible/cloudformation_module.html
2016-12-08 11:23:29 -05:00
Scot Spinner
bcc57875ed adding parameter group option 2016-12-08 11:23:29 -05:00
Rowan Wookey
7d85477acb Fixes #542 error when ec2_asg arguments aren't specified
If max_size/min_size/desired_capacity are omitted
when updating an autoscaling group use the existing values
2016-12-08 11:23:28 -05:00
Robb Wagoner
aed7d903ee Include a CFN stack's resources in the result 2016-12-08 11:23:28 -05:00
Matt Ferrante
74b4882415 ec2_ami can update an ami's launch_permissions 2016-12-08 11:23:28 -05:00
Robert Jailall
6530e76880 Refactor ec2_snapshot to make it more testable 2016-12-08 11:23:28 -05:00
Hagai Kariti
83aff77c26 made wait default to True in ec2_snapshot 2016-12-08 11:23:28 -05:00
Hagai Kariti
fcd2b354b2 Add to the ec2_snapshot module the ability to create a snapshot only if one hasn't recently been created
- Added snapshot_max_age parameter
- Updated docs
- Made the default value of wait to be false, as it used to be
2016-12-08 11:23:28 -05:00
Toshio Kuratomi
49ee99fe73 result is now a dict and so needs different access syntax
Fixes #1848
2016-12-08 11:23:27 -05:00
Toshio Kuratomi
b91684b8ad Remove unneeded urllib2 import 2016-12-08 11:23:27 -05:00
James Cammarata
99075976a8 Fix missing params to download_s3file in s3 2016-12-08 11:23:27 -05:00
James Cammarata
689f13548f Fixing s3 failures when bucket names contain dots 2016-12-08 11:23:27 -05:00
Luke Rohde
05974273b3 Use msg kwarg to pass error message in ec2_snapshot 2016-12-08 11:23:27 -05:00