Commit Graph

1601 Commits (301d561420cd80b749db4973ff9a057ea829c9f2)

Author SHA1 Message Date
Tyler Schwend daca7fa584 fix: return a list, specifically (#54537)
tags.keys() returns a list of the keys, sure. But in Python 3 it's a 
"dict_keys" class, and BOTO is expecting a list. So let's make this work 
in Python 3.

list(tags) returns a list of the keys in Python 2 and Python3. That 
seems to be what we want.
2019-04-05 12:09:48 +10:00
psharkey a39051067b Adding support for memcached1.5 and redis5.0 parameter group families. (#54571) 2019-04-05 11:01:02 +10:00
dthvt b2ce30c845 ec2_eip_facts - Add link to describe-address filters doc (#54609)
* ec2_eip_facts - Add link to describe-address filters doc

* ec2_eip_facts - Added U() for URL linking

Co-Authored-By: dthvt <daniel@kickidle.com>
2019-03-30 19:11:07 +00:00
psharkey 627c5e7f50 Correcting return types for subscriptions_confirmed and subscriptions_deleted. (#54624) 2019-03-30 11:45:02 +10:00
Chris Stevens 6167ab125c Fix elasticache documentation of security_group_ids (#54522)
When creating an ElastiCache redis cluster/instance via this module using a list of security group names (i.e. "FooSG") with `security_group_ids`, the module will fail to create the redis cluster/instance.

When using the security group ID (i.e. "sg-XXXXXXXX"), the cluster is created successfully. Tested with Ansible v2.7.8.

+label: docsite_pr
2019-03-28 16:43:57 -05:00
dgadmin 8de00e3e1c To ipv6 network (#48572)
* Add to_ipv6_subnet function

* Use the correct function for subnet

* Corrected code style and tests

* Corrected testcase assertion

64 bits make 8 octets, or 4 hextets

* Import from correct module directly
2019-03-27 11:20:27 -04:00
Hendy Chen a5a7c7cb80 [ec2_group] fix mutating rules which result in the warning message 'Ran out of time waiting for sg-xxx' (#53374) 2019-03-26 11:02:25 -05:00
Daryl Banttari 4351326850 Fix ec2_asg_facts so it doesn't fail when using templates instead of configurations (#53017) 2019-03-26 11:00:50 -05:00
Sergey Trukhin 4035e1fd6b rds_instance - Fixed CloudWatch logs export for existing RDS instances (#52989) 2019-03-26 11:00:19 -05:00
Abhijeet Kasurde d241fc7844 ec2: Fix documentation (#54081)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-22 09:38:24 -05:00
Ben Carter f99f88b034 fixing status option in documentation (#53785)
changing status option to statuses in the documentation

Adding choices to the argument spec to match the documentation from AWS.
Adding 'REVOKED', 'FAILED' to statuses documentation to match implementation.

Removing E322, E323 ignores for aws_acm_facts
2019-03-21 15:39:36 -05:00
Abhijeet Kasurde 3fa39ac818 ec2_vpc_vpn: Add delay and wait_timeout parameter (#53940)
* ec2_vpc_vpn: Add delay and wait_timeout parameter

Fixes: #53481

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* Fix unit tests

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-18 11:05:51 -05:00
Sloane Hertel 7da565b3ae
parse botocore.endpoint logs into a list of AWS actions (#49312)
* Add an option to parse botocore.endpoint logs for the AWS actions performed during a task

Add a callback to consolidate all AWS actions used by modules

Added some documentation to the AWS guidelines

* Enable aws_resource_actions callback only for AWS tests

* Add script to help generate policies

* Set debug_botocore_endpoint_logs via environment variable for all AWS integration tests

Ensure AWS tests inherit environment

(also remove AWS CLI in aws_rds inventory tests and use the module)
2019-03-18 08:29:03 -05:00
IMMORTALxJO 9308b2c8e0 modules: elb_target_group_facts: added targets_health_description (#53902)
* MODULE: elb_target_group_facts add targets_health

* MODULE: elb_target_group_facts remove trailing whitespace

* MODULE: elb_target_group_facts version_added for collect_targets_health

* MODULE: elb_target_group_facts fix sample case

* MODULE: elb_target_group_facts improve targets_health_description documentation
2019-03-18 10:09:55 +10:00
Doug Bridgens 410a1d2161 aws_ecs_taskdefinition: container memory value from string to int (#53915) 2019-03-17 23:21:57 +10:00
Abhijeet Kasurde b8da83cfe0
AWS: add capabilities parameter in cloudformation (#53624)
User can now specify capabilities that stack template provides.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-14 17:06:25 +05:30
Bob Boldin b67505d271 AWS: new module ec2_transit_gateway fixes #49376 (#53651)
* AWS: new module ec2_transit_gateway fixes #49376

* Add permissions neeeded for integration tests

* uncomment nolog on creds

* add unsupported to integration test aliases

* remove the shippable/aws/group alias so doesn't conflict with unsupported
2019-03-14 09:42:33 +10:00
Jason Witkowski acdb4c3ede Fix min_size reference where type is None (#53669) 2019-03-12 21:31:03 -04:00
Mahesh Paolini-Subramanya be7b8dc047 Update elb_target_group.py (#52882)
* Update elb_target_group.py

`successful_response_codes` only gets set when the `health_check_protocol` parameter is set
2019-03-09 09:32:18 -06:00
dthvt a1457a6276 ec2_vpc_dhcp_option_facts - fix filters ref URL (#53468) 2019-03-08 14:29:16 -06:00
Andrea Tartaglia 5c6b16edc3 Fix ec2_instance eventual consistency when wait: false (#51885)
* Do not return 'instances' when wait is false

* Added integration tests for wait: false

* Added changelog fragment

* Fix test suite to work with ec2_instance

* Additional permissions
* Enforce boto3 version
* Fix broken tests
* Improve error messages

* fix linter issues
2019-03-06 22:46:37 +10:00
Tad Merchant b979b26a74 Add launch type to ecs task (#49081)
* adds fargate launch_type to ecs_task module

* White space changes

* fix documentation for running ecs task on fargate

* remove extraneous example from ecs_task

* White space changes

* Adds changelog fragment

* Pluralize minor_changes in changelog fragment

* Add Stop and Start task permissions
2019-03-06 22:40:32 +10:00
Sloane Hertel 4cf7854ca3
If the private_ip has been provided for the new network interface it shouldn't also be added to top level parameters for run_instances (#52579)
changelog
2019-03-04 12:55:37 -06:00
John R Barker 2033b3d066 Minor formatting (#53178) 2019-03-04 07:28:48 -06:00
Sloane Hertel 8a02f894a6 replace uses of sort_json_policy_dict with compare_policies (#52943)
* replace uses of sort_json_policy_dict with compare_policies which is compatible with Python 3 and remove sort_json_policy_dict from the AWS guidelines since it only works on Python 2

* Sort any lists containing only strings

* Sort the original policy too
2019-02-28 17:09:00 -05:00
Will Thames 91eee48f1b aws_kms tags fix (#53088)
* Fix TagName and TagValue in aws_kms

Fixes #53061

* Improve test suite to check for tags

Also fixed some obvious failures, need to run the test suite from time
to time!
2019-02-28 12:54:18 -06:00
Brandon Bui 1aae196cfa add boto3_tag_list_to_ansible_dict to ec2_vpc_peering_facts.py, and parameter checking to ec2_vpc_peer.py (#52307)
* add boto3_tag_list_to_ansible_dict to ec2_vpc_peering_facts.py

* Add parameter checking to ec2_vpc_peer and give helpful error message

* Fixed modules --> module typo in ec2_vpc_peer

* Added required_if logic and fixed incorrect boolean check for absent peering connection

* Changed error message to one of the following is

* Added changelog fragments for ec2_vpc_peer changes

* Changed changelog fragment as per request
2019-02-27 16:19:34 +10:00
Tad Merchant b538e34a32 Ecs service add features (#50059)
* Support UpdateService forceNewDeployment in ecs_service module

* Fixes for review

* Add force_new_deployment option to ecs_service.py

cherrypicks changes from via/ansible
Adds tests for pull request #42518
fixes backwards compatability with boto<1.8.4

* WIP commit so I don't have to stash

* WIP commit for healthcheck grace period

* WIP commit; ecs_module handles service registries

* Fix bad check for desired_count

* Add scheduling strategy test, comment out service registry test

* Fix names in ecs_cluster role main task.

* move full test run back to the end

* Change botocore version for full test to support scheduling strategy

* fix bug with desired_count==0 in amazon/ecs_service

* Fix changed checking for scheduling strategy DAEMON in ecs_service

* Pass testS

* Fix some unhelpful comments

* Add changelog for ecs_service
2019-02-27 13:20:19 +10:00
AndyG fe7cbc2554 Update ec2_elb_lb.py (#52729)
*Calls out that the module can update as well as create and delete ELBs

Co-Authored-By: biohazd <biohazd@users.noreply.github.com>
2019-02-25 15:56:24 -06:00
Andrea Scarpino f5c0ae82fc redshift_subnet_group: improve error message (#52900)
Adds more detail to region-not-specified error.
2019-02-25 15:43:09 -06:00
Rémi REY 30b3ce0f81 Add aws_secret module for managing secretsmanager on AWS (#48486)
* Adding module for managing AWS Secrets Manager resources

* adding aws_secret lookup plugin

Also use the data returned by describe_secret everywhere.

* replace the explicit /root use by a temporary dir

* aws_secret: rework module

Reworked module to use a class avoiding using client and module in every
functions.

* Added support of "recovery_window" parameter to allow user to provide
recovery period.

* updated return value to be the api output providing more details about
  the secret.

* Fix Python 3 bug in tests if the role is not removed

* Add unsupported alias due to issue restricting resource for creating secrets
2019-02-25 14:27:33 -06:00
Andrea Scarpino 76b5a9fb52 rds: improve error message (#52901) 2019-02-25 09:30:32 +10:00
Andrea Scarpino bb80316afa ec2: minor fix in the documentation (#52686)
AWS_REGION is also read (in addition to EC2_REGION)
2019-02-22 17:11:05 -06:00
Rafael Driutti c68838fb13 AWS Redshift: port module to boto3 and fix parameters check (#37052)
* fix parameters check and port module to boto3

* begin with integration tests

* allow redshift iam policy

* Wait for cluster to be created before moving on to delete it

* Allow sts credentials so this can be run in CI

Don't log credentials

ensure cluster can be removed

* - Replace DIY waiters with boto3 waiters
- test multi node cluster

* catch specific boto3 error codes

* remove wait from test

* add missing alias for shippable

* - Rework modify function.
- Default unavailable parameters to none.
- Add cluster modify test

* Ensure resources are cleaned up if tests fail

* Ensure all botocore ClientError and BotoCoreError exceptions are handled
2019-02-21 17:04:42 -06:00
Ted Timmons 4876e9a48a specify basic minimum botocore version for this module (#52417)
Bump the version and give a warning. It took me 30+ mins to carefully look through botocore to find the minimum version. Grumble.
Fixes #52393, partially helps #39085.

* Update lib/ansible/modules/cloud/amazon/cloudformation.py

Co-Authored-By: tedder <ted@perljam.net>
2019-02-21 09:02:56 -06:00
Matt Martz b5c2b407d6
Fix tuples to actually be tuples (#52591) 2019-02-19 13:29:51 -06:00
Sayed Anisul Hoque 7d6a94e7dc Fixed typos (#52426) 2019-02-17 22:49:40 +01:00
Dag Wieers c2fb581414 Fix various sonarcloud issues
This fixes various reported bugs through sonarcloud at:
https://sonarcloud.io/project/issues?id=Rodney-Reis_ansible&resolved=false&types=BUG
2019-02-15 07:19:04 -08:00
Dag Wieers f9ab9b4d68 Assorted pylint fixes 2019-02-15 06:54:47 -08:00
Dag Wieers 203caf2570
Fix module issues (#52209) 2019-02-15 12:57:20 +01:00
Dag Wieers cd9471ef17 Introduce new 'required_by' argument_spec option (#28662)
* Introduce new "required_by' argument_spec option

This PR introduces a new **required_by** argument_spec option which allows you to say *"if parameter A is set, parameter B and C are required as well"*.

- The difference with **required_if** is that it can only add dependencies if a parameter is set to a specific value, not when it is just defined.
- The difference with **required_together** is that it has a commutative property, so: *"Parameter A and B are required together, if one of them has been defined"*.

As an example, we need this for the complex options that the xml module provides. One of the issues we often see is that users are not using the correct combination of options, and then are surprised that the module does not perform the requested action(s).

This would be solved by adding the correct dependencies, and mutual exclusives. For us this is important to get this shipped together with the new xml module in Ansible v2.4. (This is related to bugfix https://github.com/ansible/ansible/pull/28657)

```python
    module = AnsibleModule(
        argument_spec=dict(
            path=dict(type='path', aliases=['dest', 'file']),
            xmlstring=dict(type='str'),
            xpath=dict(type='str'),
            namespaces=dict(type='dict', default={}),
            state=dict(type='str', default='present', choices=['absent',
'present'], aliases=['ensure']),
            value=dict(type='raw'),
            attribute=dict(type='raw'),
            add_children=dict(type='list'),
            set_children=dict(type='list'),
            count=dict(type='bool', default=False),
            print_match=dict(type='bool', default=False),
            pretty_print=dict(type='bool', default=False),
            content=dict(type='str', choices=['attribute', 'text']),
            input_type=dict(type='str', default='yaml', choices=['xml',
'yaml']),
            backup=dict(type='bool', default=False),
        ),
        supports_check_mode=True,
        required_by=dict(
            add_children=['xpath'],
            attribute=['value', 'xpath'],
            content=['xpath'],
            set_children=['xpath'],
            value=['xpath'],
        ),
        required_if=[
            ['count', True, ['xpath']],
            ['print_match', True, ['xpath']],
        ],
        required_one_of=[
            ['path', 'xmlstring'],
            ['add_children', 'content', 'count', 'pretty_print', 'print_match', 'set_children', 'value'],
        ],
        mutually_exclusive=[
            ['add_children', 'content', 'count', 'print_match','set_children', 'value'],
            ['path', 'xmlstring'],
        ],
    )
```

* Rebase and fix conflict

* Add modules that use required_by functionality

* Update required_by schema

* Fix rebase issue
2019-02-15 10:57:45 +10:00
Matt Clay 3e778d3f8f Fix pycodestyle E117 issues. 2019-02-13 23:35:39 -08:00
Will Thames 46fbcf08bc
aws_kms enhancements (#31960)
* Allow creation and deletion of keys (deletion just schedules for
  deletion, recreating an old key is just cancelling its deletion)
* Allow grants to be set, thus enabling encryption contexts to be
  used with keys
* Allow tags to be added and modified
* Add testing for KMS module
* Tidy up aws_kms module to latest standards
2019-02-13 13:06:58 +10:00
Abhijeet Kasurde c20722474a
ec2_vol_facts: set filters to default value (#51589)
Fixes: #51554

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-07 21:53:25 +05:30
Viktor Utkin d40f0313e2 spot instance request stay opened when module exit with timeout (#51535)
Fixes: #51534

* set valid_until equal to current time + spot_wait_timeout
* add setting ValidUntil to  value
* add changelog fragment
* fix shebang issue
2019-02-07 21:38:19 +05:30
Andrea Tartaglia b8790abcbe Added description to single net interface (#51602)
* Added description to single net interface

* ec2_instance single iface description changelog
2019-02-01 13:19:33 +00:00
Sebastien Rosset 1ec782900d ec2_vpc_nacl fails when the VPC is configured with IPv6 (#49979)
* Issue #41079. Failed to apply rule if there is a default IPv6 NACL

* Issue #41079. Failed to apply rule if there is a default IPv6 NACL

* Issue #41079. Failed to apply rule if there is a default IPv6 NACL

* Simplify logic to skip default deny-all rules

* Simplify logic to skip default deny-all rules

* Remove unnecessary tmp variables
2019-01-23 18:36:49 -05:00
Aaron Smith 214b4407aa Adding digital_ocean_space alias for s3_bucket module (#39774)
* Adding digital_ocean_space alias for s3_bucket module

* skipping alias to see if doc-build test passes

* undoing last change

* removing symlink

* oops -- readding module ref

* removing more of my changes

* removing unneeded doc line

* correcting another mistake
2019-01-22 21:13:03 +00:00
eahorning 6c96f29699 ec2_asg: doc: fix health_check_period default to match arg spec 2019-01-19 19:17:41 +01:00
Abhijeet Kasurde db8702cdb8 Close all open filehandle (#50544)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-11 10:14:08 -05:00