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

21051 commits

Author SHA1 Message Date
Alex Stephen
e177cf5831 New module: GCP Pubsub Topics (#38627) 2018-05-04 14:32:28 -04:00
Alex Stephen
e116c6cee8 New module: GCP Pubsub Subscriptions (#38626) 2018-05-04 14:31:34 -04:00
Alex Stephen
478759a686 New module: GCP Compute Subnetworks (#38621) 2018-05-04 14:29:38 -04:00
Alex Stephen
01f0e4ac6f New module: GCP Compute Networks (#38618) 2018-05-04 14:28:11 -04:00
Alex Stephen
768a81dd4b New module: GCP Compute Routes (#38619) 2018-05-04 14:27:29 -04:00
Martin Krizek
c57d476871
import_role docs: loop is not supported (#39725) 2018-05-04 19:36:33 +02:00
Ondra Machacek
39d9ff9d2c ovirt: Don't return ID as list in fetch_nested (#39736)
* ovirt: Don't return ID as list in fetch_nested

* ovirt_permissions_facts: Fix pylint
2018-05-04 11:40:17 -05:00
Matt Martz
3d5a7d6dc2
Allow using action/local_action on includes and imports (#37260)
* Prevent using action/local_action on includes and imports. Fixes #28822

* Use ModuleArgsParser to determine action instead of disallowing action/local_action with import/include

* Add to_native

* switch back to block in task_ds, use ModuleArgsParse otherwise

* var should be task_ds

* Add test validating action+include_tasks
2018-05-04 11:10:50 -05:00
Trishna Guha
dddcbb7198
use show run instead of section pipeline ios_l2_interface (#39658)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-05-04 21:22:09 +05:30
Matt Martz
d44fd70d02
Fix E126, E123 pep8 errors, and ansible-format-automatic-specification pylint error (#39740) 2018-05-04 09:40:08 -05:00
Ondra Machacek
dda31aa3f7 ovirt: Return ID for permissions facts (#39721) 2018-05-04 04:03:34 -04:00
Trishna Guha
9eff1f1d74
Handle nxos_feature issue where json isn't supported (#39150)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-05-04 12:21:58 +05:30
Yuwei Zhou
9348809184 Fixes #37731 Create Internal Loadbalancers with azure_rm_loadbalancer, support SKU (#38077)
* create internal loadbalancer

* fix test

* remove duplicate test

* clean up

* fix doc

* lint

* add sku support

* update version

* change to the version the same as CLI

* add pip support sku

* fix lint

* fix test

* Update main.yml

* add changelog entry
2018-05-04 13:17:05 +08:00
Pilou
a5d320f8e7 vdirect modules: fix 'import' sanity test (#39706)
* vdirect modules: fix 'import' sanity test

* Remove passing file from import skip list.

* vdirect modules: fix validate-modules warnings

- Arguments with a default should not be marked as required
- add choices in doc

* vdirect_runnable: use formatting function
2018-05-03 18:13:06 -07:00
Toshio Kuratomi
6b159fdb03 Fix for file module with recursive permission setting and broken symlinks
There was a traceback when setting permissions on a directory tree when
there were broken symlinks inside of the tree and follow=true.  chmod -R
ignores broken symlinks inside of the tree so we've fixed the file
module to do the same.

Fixes #39456
2018-05-03 17:54:34 -07:00
Toshio Kuratomi
4f664f8ff6
Fix for file module with symlinks to nonexistent target (#39635)
* Fix for file module with symlinks to nonexistent target

When creating a symlink to a nonexistent target, creating the symlink
would work but subsequent runs of the task would fail because it was
trying to operate on the target instead of the symlink.

Fixes #39558
2018-05-03 17:50:43 -07:00
Jordan Borean
f75b7a9437
win_get_url: Fixed a few issues with using FTP and added tests (#39646)
* win_get_url: Fixed a few issues with using FTP and added tests

* Fixed typo in docs
2018-05-04 08:39:37 +10:00
Brian Coca
df1001577f
rebase base playbook base (#39533)
* rebase base playbook base

fixes issues with loop control allowing generic attributes it shouldn't
2018-05-03 18:29:47 -04:00
Kevin Breit
c8d287fece Meraki organization module (#38773)
* Initial commit

Query an organization within Meraki. No support is in place for managing
or creating yet

* Change output_level method and make the state parameter required.

* Implemented listing all organizations

- Updated documentation
- Parse results and return all organizations
- Parse results and return specified organization

* Framework for creating an organization

- Documentation example for organization creation
- Framework exists for creating organizations, pending PR 36809
- Created functions for HTTP calls
- Renamed from dashboard.meraki.com to api.meraki.com
- Added required_if for state

* Remove absent state

- Meraki API does not support deleting an organization so absent is removed
- Updated documentation to call it state instead of status

* Small change to documentation

* Support all parameters associated to organization

- Added all parameters needed for all organization actions.
- None of the added ones work at this time.
- Added documentation for clone.

* Integration test for meraki_organization module

* Rename module to meraki for porting to module utility

* Meraki documentation fragment

- Created initial documentation fragment for Meraki modules

* Add meraki module utility to branch. Formerly was on a separate branch.

* CRU support for Meraki organization module

* CRU is supported for Meraki organizations
* There is no DELETE function for organizations in the API
* This code is very messy and needs cleanup
* Create and Update actions don't show status as updated, must fix

* Added Meraki module utility to module utility documentation list

* Added support for organization cloning
* Renamed use_ssl to use_https
* Removed define_method()
* Removed is_org()
* Added is_org_valid() which does all org sanity checks

* Fixes for ansibot
- Changed default of use_proxy from true to false
- Removed some commented out code
- Updated documentation

* Changes for ansibot
- Removed requirement for state parameter. I may readd this.
- Updated formatting

diff --git a/lib/ansible/module_utils/network/meraki/meraki.py b/lib/ansible/module_utils/network/meraki/meraki.py
index 3acd3d1038..395ac7c4b4 100644
--- a/lib/ansible/module_utils/network/meraki/meraki.py
+++ b/lib/ansible/module_utils/network/meraki/meraki.py
@@ -42,7 +42,7 @@ def meraki_argument_spec():
     return dict(auth_key=dict(type='str', no_log=True, fallback=(env_fallback, ['MERAKI_KEY'])),
                 host=dict(type='str', default='api.meraki.com'),
                 name=dict(type='str'),
-                state=dict(type='str', choices=['present', 'absent', 'query'], required=True),
+                state=dict(type='str', choices=['present', 'absent', 'query']),
                 use_proxy=dict(type='bool', default=False),
                 use_https=dict(type='bool', default=True),
                 validate_certs=dict(type='bool', default=True),
diff --git a/lib/ansible/modules/network/meraki/meraki_organization.py b/lib/ansible/modules/network/meraki/meraki_organization.py
index 923d969366..3789be91d6 100644
--- a/lib/ansible/modules/network/meraki/meraki_organization.py
+++ b/lib/ansible/modules/network/meraki/meraki_organization.py
@@ -20,11 +20,9 @@ short_description: Manage organizations in the Meraki cloud
 version_added: "2.6"
 description:
 - Allows for creation, management, and visibility into organizations within Meraki
-
 notes:
 - More information about the Meraki API can be found at U(https://dashboard.meraki.com/api_docs).
 - Some of the options are likely only used for developers within Meraki
-
 options:
     name:
         description:
@@ -32,21 +30,18 @@ options:
         - If C(clone) is specified, C(name) is the name of the new organization.
     state:
         description:
-        - Create or query organizations
-        choices: ['query', 'present']
+        - Create or modify an organization
+        choices: ['present', 'query']
     clone:
         description:
         - Organization to clone to a new organization.
-        type: string
     org_name:
         description:
         - Name of organization.
         - Used when C(name) should refer to another object.
-        type: string
     org_id:
         description:
         - ID of organization
-
 author:
     - Kevin Breit (@kbreit)
 extends_documentation_fragment: meraki
@@ -86,7 +81,6 @@ RETURN = '''
 response:
     description: Data returned from Meraki dashboard.
     type: dict
-    state: query
     returned: info
 '''

@@ -103,6 +97,7 @@ def main():
     argument_spec = meraki_argument_spec()
     argument_spec.update(clone=dict(type='str'),
+                         state=dict(type='str', choices=['present', 'query']),
                          )

@@ -125,11 +120,9 @@ def main():

     meraki.function = 'organizations'
     meraki.params['follow_redirects'] = 'all'
-    meraki.required_if=[
-                           ['state', 'present', ['name']],
-                           ['clone', ['name']],
-                           # ['vpn_PublicIP', ['name']],
-                       ]
+    meraki.required_if = [['state', 'present', ['name']],
+                          ['clone', ['name']],
+                          ]

     create_urls = {'organizations': '/organizations',
                    }
@@ -162,23 +155,16 @@ def main():

-
-    # method = None
-    # org_id = None
-
-
-    # meraki.fail_json(msg=meraki.is_org_valid(meraki.get_orgs(), org_name='AnsibleTestOrg'))
-
     if meraki.params['state'] == 'query':
-      if meraki.params['name'] is None:  # Query all organizations, no matter what
-        orgs = meraki.get_orgs()
-        meraki.result['organization'] = orgs
-      elif meraki.params['name'] is not None:  # Query by organization name
-        module.warn('All matching organizations will be returned, even if there are duplicate named organizations')
-        orgs = meraki.get_orgs()
-        for o in orgs:
-          if o['name'] == meraki.params['name']:
-            meraki.result['organization'] = o
+        if meraki.params['name'] is None:  # Query all organizations, no matter what
+            orgs = meraki.get_orgs()
+            meraki.result['organization'] = orgs
+        elif meraki.params['name'] is not None:  # Query by organization name
+            module.warn('All matching organizations will be returned, even if there are duplicate named organizations')
+            orgs = meraki.get_orgs()
+            for o in orgs:
+                if o['name'] == meraki.params['name']:
+                    meraki.result['organization'] = o
     elif meraki.params['state'] == 'present':
         if meraki.params['clone'] is not None:  # Cloning
             payload = {'name': meraki.params['name']}
@@ -193,7 +179,10 @@ def main():
             payload = {'name': meraki.params['name'],
                        'id': meraki.params['org_id'],
                        }
-            meraki.result['response'] = json.loads(meraki.request(meraki.construct_path('update', org_id=meraki.params['org_id']), payload=json.dumps(payload), method='PUT'))
+            meraki.result['response'] = json.loads(meraki.request(meraki.construct_path('update',
+                                                                                        org_id=meraki.params['org_id']),
+                                                                  payload=json.dumps(payload),
+                                                                  method='PUT'))

diff --git a/lib/ansible/utils/module_docs_fragments/meraki.py b/lib/ansible/utils/module_docs_fragments/meraki.py
index e268d02e68..3569d83b99 100644
--- a/lib/ansible/utils/module_docs_fragments/meraki.py
+++ b/lib/ansible/utils/module_docs_fragments/meraki.py
@@ -35,6 +35,7 @@ options:
         description:
         - Set amount of debug output during module execution
         choices: ['normal', 'debug']
+        default: 'normal'
     timeout:
         description:
         - Time to timeout for HTTP requests.
diff --git a/test/integration/targets/meraki_organization/aliases b/test/integration/targets/meraki_organization/aliases
new file mode 100644
index 0000000000..ad7ccf7ada
--- /dev/null
+++ b/test/integration/targets/meraki_organization/aliases
@@ -0,0 +1 @@
+unsupported

* Formatting fix

* Minor updates due to testing
- Made state required again
- Improved formatting for happier PEP8
- request() now sets instance method

* Fix reporting of the result

* Enhance idempotency checks
- Remove merging functionality as the proposed should be used
- Do check and reverse check to look for differences

* Rewrote and added additional integration tests. This isn't done.

* Updated is_update_required method:
- Original and proposed data is passed to method
- Added ignored_keys list so it can be skipped if needed

* Changes per comments from dag
- Optionally assign function on class instantiation
- URLs now have {} for substitution method
- Move auth_key check to module utility
- Remove is_new and get_existing
- Minor changes to documentation

* Enhancements for future modules and organization
- Rewrote construct_path method for simplicity
- Increased support for network functionality to be committed

* Changes based on Dag feedback and to debug problems

* Minor fixes for validitation testing

* Small changes for dag and Ansibot
- Changed how auth_key is processed
- Removed some commented lines
- Updated documentation fragment, but that may get reverted

* Remove blank line and comment

* Improvements for testing and code simplification
- Added network integration tests
- Modified error handling in request()
	- More testing to come on this
- Rewrote construct_path again. Very simple now.

* Remove trailing whitespace

* Small changes based on dag's response

* Removed certain sections from exit_json and fail_json as they're old
2018-05-04 00:01:05 +02:00
Julien Vey
a6d5656dd8 ec2_instance: add a retry to run_instance to help with ec2 consistency 2018-05-03 15:46:15 -04:00
Julien PRIGENT
1905a6e8fb ec2_vpc_route_table: Update matching_count parsing on find_subnets fu… (#38707)
* ec2_vpc_route_table: Update matching_count parsing on find_subnets function and tests

* ec2_vpc_route_table: Update matching_count parsing on find_subnets function
2018-05-03 15:05:24 -04:00
Sloane Hertel
923f676836
[ec2_vpc_vgw] [ec2_vpc_vpn] stabilize modules for PR 35983 (#38666)
* Stabilize ec2_vpc_vgw and ec2_vpc_vpn so tests for ec2_vpc_vpn_facts in PR 35983 can be run in CI

* Add updated placebo recordings

* ensure find_vgw uses the virtual gateway id if available

Add AWSRetry.jittered_backoff to attach_vpn_gateway to deal with errors when attaching a new VPC directly after detaching

Add integrations tests for ec2_vpc_vgw

* Sort VPN Gateways by ID
2018-05-03 14:19:19 -04:00
saichint
f99bae1776 Fix for nxos_snmp_host issues (#39642)
* fix snmp_host issues

* source files

* fix shippable

* remove defaults to match arg spec
2018-05-03 21:36:33 +05:30
saichint
99748cbfa4 fix nxos_snmp_traps issues (#39444)
* fix snmp_traps code

* add IT cases

* fix shippable

* fix shippable without ignore
2018-05-03 21:34:25 +05:30
Adam Miller
d49a09d05e
fix sanity checks to make shippable happy (#39685)
Signed-off-by: Adam Miller <admiller@redhat.com>
2018-05-03 10:36:08 -05:00
Seuf
cc477ba8cc Don't split line when no version available for plugin (#37907)
* Don't split line when no version available for plugin

* Fixed author github account
2018-05-03 11:10:18 -04:00
Mário Santos
947aa52327 Add new OpenStack module for managing cinder volume snapshots (#19122)
* Add os_volume_snapshot Ansible Module

* Add missing RETURN documentation

* Fix YAML syntax

* Add ANSIBLE_METADATA

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Bump the ansible version

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Add support for check_mode

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>

* Fix sanity tests

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>
2018-05-03 09:15:39 -05:00
Sloane Hertel
151f9d2ebf [cloud] aws_direct_connect_connection: improve return docs (#37677)
Fixes #29381

Fix uses of AWSRetry

Fix exception handling

Update module to use AnsibleAWSModule
2018-05-03 08:45:38 -04:00
Will Thames
29770a297a Fail with nice error message if elb target_type=ip not supported (#38313)
* Add helpful failure message if target_type=ip is not supported

Create test case for target_type=ip not supported

* Update elb_target_group module to latest standards

Use AnsibleAWSModule
Improve exception handling
Improve connection handling
2018-05-03 08:36:52 -04:00
wang shuang
918b29f0fc [doc] fix a typo in ec2_eni docs (#36571) 2018-05-03 08:36:30 -04:00
Will Thames
b5488b4e45 Change aws_acm_facts name parameter to be domain_name (#36986)
Match AWS's naming for domain name, but provide backward
compatible alias.
2018-05-03 08:35:55 -04:00
Felix Fontein
cb4db82354 Route53 check mode (#37273)
* Adding check mode for route53.

* flake8
2018-05-03 08:29:57 -04:00
Vinay Dandekar
ada2ea4387 Fix ec2_metadata_facts documentation (#37546)
- ec2_metadata_facts does not extend `url`
- Remove url_argument_spec for ec2_metadata_facts
2018-05-03 08:29:14 -04:00
cahlchang
e2908ae8df [aws] Add aws_iam_role check mode support (#39002)
* Check mode when adding

* Check mode when deleting

* Add check mode
2018-05-03 08:00:36 -04:00
Sloane Hertel
910bc892c6 ec2_ami: Properly delete snapshots (#39606) 2018-05-03 07:48:29 -04:00
Ganesh Nalawade
afdc2364f2
Fix eos_vlan associated interface check (#39661)
* Fix eos_vlan associated interface check

Fix eos_vlan associated interface check by comparing
the interface in want and have without converting the
interface name to lower

* Update eos_vlan docs
2018-05-03 17:07:30 +05:30
Loïc Blot
88df583af7 New module: AWS storage gateway facts (#39491)
* Add a module to get storage gateway facts

* Review fixes

* Last review fixes

* Add filtering gathering & some fixes

* doc fix

* API error handling

* Remove ec2_argument_spec import

Use imported BotoCoreError and ClientError rather than botocore.exceptions
2018-05-03 07:10:05 -04:00
aaronk1
ca36e07be0 update win_psmodule.py (#39631)
<!--- Fix minor typo in Powershell version requirement -->

+label: docsite_pr
2018-05-03 14:51:00 +10:00
vab2048
8d84039aa8 [ec2_vpc_route_table] Use 'network_interface_id' rather than 'interface_id' (#38499)
Updated documentation to refer to 'network_interface_id' rather than 'interface_id' as the latter results in an error: 'Parameter validation failed: Unknown parameter in input: \"InterfaceId\"'
2018-05-02 22:28:08 -04:00
Alex Stephen
b6aa132033 New module: GCP Compute Backend Services (#38611) 2018-05-02 16:59:27 -04:00
Alex Stephen
394abba1b9 New module: GCP Compute Backend Buckets (#38610) 2018-05-02 14:57:00 -04:00
Ryan S. Brown
9a607283aa Terraform module: pass plan_file argument correctly
Per #39611 the `terraform` module wasn't properly building plan-only
files.
2018-05-02 13:45:24 -04:00
Abhijit Menon-Sen
0a119c391a Only expand '~' based on become_user/remote_user
Change brought forward from #00c023e in stable-2.5.

Closes #39281 (bug report)
Closes #39540 (PR with substantially the same change)
2018-05-02 22:50:41 +05:30
Brian Coca
70d89b5487 use actual ssh executable as it might not be ssh 2018-05-02 12:10:25 -04:00
wznoinsk
f2db9d59c7 Update set_stats.py
<!--- Your description here -->

+label: docsite_pr
2018-05-02 11:10:52 -04:00
Ganesh Nalawade
eb5e15e7e0
Fix fetching ios default running config (#39475)
If default option is enable in that case only
add 'all' or 'full' flag
2018-05-02 19:27:56 +05:30
Michele Zuccala
9577cef3ba [cloud] route53_zone: create public zones associated to a reusable delegation set (#39502)
* Add option to specify reusable delegation set while creating public zones

* Add mutual exclusion argument spec for delegation set and VPC/private zone

* Get zone delegation set ID when updating a public zone
2018-05-02 09:25:15 -04:00
Ondra Machacek
17928ff666 ovirt_vms: Fix the module to work with check mode (#37916)
Fixes: https://github.com/ansible/ansible/issues/36712
2018-05-02 08:47:30 -04:00
Sharon Gratch
8bfc92fb27 Add Numa support. (#35838) 2018-05-02 03:52:16 -04:00
Yanis Guenane
dc420fc5fa Allow non-inclusion of setup task in junit report
The JUnit callback pushes every tasks in the report. Even the setup
tasks that - sometime - might clutter the report rather than being
useful, based on one needs.

This PR allows one to specify whether or not the setup tasks should be
part of the final report, defaulting to True to be backward compatible
to what is already in place today.
2018-05-02 00:00:36 -07:00