Commit Graph

1566 Commits

Author SHA1 Message Date
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
Peter Kirby
5a8aa7ca1f Fixes #37209 - Added complex return value, instance (#49989) 2019-01-03 09:48:25 -06:00
curry9999
9fb4e24660 Documentation remove escape r (#50277)
* A colon is not described

* dddd

* Update branch
2018-12-27 13:14:20 +00:00
curry9999
4fe346da18 Add colon after module name (#50274)
* A colon is not described

* dddd

* Update aws_kms_facts.py
2018-12-23 00:26:36 +01:00
Dag Wieers
05c6ff79f9 Convert to reduced list of known types (#50010) 2018-12-19 07:25:30 +10:00
Abhijeet Kasurde
1e4ab5a038 Return correct error message to user
botocore.exceptions.ClientError does not have message, which
fails fail_json.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-18 12:23:18 -08:00
Aleksander Kovtunenko
ba562043e1 changed if logic Type to boolean (#49628)
* changed Type to boolean

* fix after review

* created fragment
2018-12-17 16:21:36 -05:00
Toshio Kuratomi
175f3b51e5 Ensure that current uses of BaseException are required
* In some cases, it appears that Exception should have been used instead
  as there's no need to catch sys.exit KeyboardInterrupt and similar.
* In a few cases, it appears that BaseException is used because
  a library we depend on calls sys.exit() contrary to good coding
  design.  Comment those so that we know that those have been audited
  and found to be correct and change to use (Exception, SystemExit)
  instead.
2018-12-16 15:03:19 -08:00
Toshio Kuratomi
3fba006207 Update bare exceptions to specify Exception.
This will keep us from accidentally catching program-exiting exceptions
like KeyboardInterupt and SystemExit.
2018-12-16 15:03:19 -08:00
Abhijeet Kasurde
1558f77081 AWS: make jittered_backoff API parameter configurable (#49086)
* AWS: make jittered_backoff API parameter configurable
* Review comments
* minor doc changes

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-16 11:07:59 +05:30
Abhijeet Kasurde
013c42b14f Misc typo fixes (#49816)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-14 15:12:58 +05:30
s-hertel
bf065e853f Lowercase task name and format variable with spaces 2018-12-12 17:05:55 -05:00
ipvsean
2a67ff1a75 adding example for route53_facts using start_record_name
this example shows two things not shown here already->
- dynamically looking up hosted zone id using the route53_zone module (vs knowing the ID we can use the name)
- showing an example of start_record_name which takes an entire record, not just a partial name
2018-12-12 17:05:55 -05:00
Peter Kirby
41a6c1d220 Update rds.py (#49674)
Adds endpoint and port to the instance return values for rds.py.  Partial fix for #37209
2018-12-10 16:47:55 -06:00
Abhijeet Kasurde
d8859a7352 Update lambda documentation for runtimes (#49595)
There is no API or AWS command to list down latest available
runtimes. Updated documentation with AWS official lambda docs.

Fixes: #49552

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-06 10:58:58 -05:00
Abhijeet Kasurde
2af4761677 Documentation update for route53_facts (#49525)
Updates details about required parameters.

Fixes: #49450

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-05 10:21:17 +00:00
Abhijeet Kasurde
1763c8123b AWS: Add support for available db types (#48703)
Add several database types which are supported by AWS in valid engine type.

Fixes: #48623

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-05 08:59:36 +05:30
Bianca Henderson
5499ee30d4 Change GB to GiB in some AWS modules (#49304) 2018-12-04 15:46:34 -05:00
Sloane Hertel
a3e8917b73 [s3_bucket] Handle error paginating object versions when bucket does not exist (#49396) 2018-12-04 15:42:14 -05:00
Łukasz Tomaszkiewicz
9d62cbc2af Fix TargetDBInstanceIdentifier assignment in wrong place (issue #46689) (#47710) 2018-12-04 12:43:49 +00:00
Abhijeet Kasurde
a13d1eba93 Correct usages of custom error class (#48778)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-04 00:56:04 -05:00
Frank Zwart
329922e2dd ec2_instance: add placement_group support (#49286)
* add placement_group support
2018-12-03 10:27:54 +00:00
John Kerkstra
672acbea68 Adds redshift_cross_region_snapshots module (#35527)
* add redshift_cross_region_snapshots module, unit tests.

* fix errors

* use ec2_argument_spec as the basis for the argument spec. fixed
metadata_version

* follow best practices by naming example tasks.

* code review changes

* fix linting errors

* Update version added
2018-12-03 08:34:53 +00:00
maxstack
0dbac3f3b8 add default nolog param for VPN PreSharedKey (#47788) 2018-11-30 10:37:17 +00:00
Gaël Lambert
ad7798c26a Add the ability to download a specific version of an S3 object (#47867)
Add the ability to download a specific version of a S3 Object

Fixes: #47864
2018-11-30 08:59:12 +05:30
Ryan Brown
a51eca364f New module: AWS EC2 Launch Template (#46972)
* Add launch template integration tests
2018-11-29 13:59:10 -05:00
Isakov Anton
5a7f2b6b08 Update elb_application_lb_facts.py (#48983)
<!--- Added example how to see the facts about specific ALB -->
2018-11-29 11:38:46 -05:00
Ryan Brown
af6427bf40 VPC peer module unhandled exception on bad peering ID (#45306)
* Improve error handling for VPC peer module when a bad peering-id is specified

* changelog
2018-11-29 08:54:16 -05:00
Ryan Brown
7f7c059a04 ec2_asg: Retry Autoscaling Group delete calls when scaling activity is in progress (#46124)
* Retry delete calls when scaling activity is in progress

* changelog
2018-11-29 08:42:55 -05:00
John Nelson
571749f3ed ec2_vpc_nacl: Don't default name into Name unless able (#48889)
This fixes ansible/ansible#issues/48832
2018-11-29 09:52:17 +00:00
Selivanov Pavel
0b380b09bf ec2_instance_facts.py: documentation: add example (#49010)
Add an example of using multiple states for instance-state-name in filters. Not obvious how it works until you try.
2018-11-28 19:42:38 +00:00
Pierre Allix
965dec6a9a Clarify volume unit in the ec2_vol module (#49242)
"GiB" is more appropriate than "GB" since the volume size in AWS is
expressed in gibibytes.
2018-11-28 13:32:39 -06:00
Vinay Dandekar
ff9b86f560 Revert back to getting the AWS role name from the URI with a small change (#49113)
- The role name and instance profile name _can_ be different
- Change the delimiter to `:` for keys that are discovered through the JSON parsing (which is not a valid delimiter for AWS IAM role names), this delimiter is still converted to underscore
- Now checks for the existence of that delimiter to remove the cases where the JSON keys are appended to the role name to find the role name
2018-11-27 17:52:24 -05:00
Abhijeet Kasurde
9b732df436 E325 removal - Part I (#49136)
Remove E325 from Amazon modules

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-11-27 20:41:01 +05:30
Tad Merchant
4b2356ff55 Ecs service force new deployment (#47983)
* Support UpdateService forceNewDeployment in ecs_service module

* Force update to be called if force_new_deployment set

* 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

* change version_added to 2.8 for force_new_deployment

* remove extra lines from test

* remove more unnecessary whitespace
2018-11-24 11:26:44 +10:00
kcd83
3143abc8dc ec2_metadata_facts: Handle missing identity_document_region (#49040)
* Handle missing identity_document_region

* Fix indentation size to match standard
2018-11-24 10:51:50 +10:00