Commit graph

186 commits

Author SHA1 Message Date
Ivan Bojer
3c06e2585a PanOS module for admin password change using PanOS API as the transport (#2930)
* PanOS module that allows admin password change.

* fixed a typo

* empty __init__.py

* added require ansible Python extension .py

* added version string

* added return docstring

* changed version to 2.2

* - changes to the format and module as requested by @privateip

* changed version back to 2.2 as 2.3 was failing automated tests

* Revert "changed version back to 2.2 as 2.3 was failing automated tests"

reverting version info

This reverts commit 71d520f3b4b69eb017c2b9f287a74cb77fae9d1c.
2016-12-08 11:34:57 -05:00
Tim Rupp
79895061b4 Fixes broken documentation in two modules (#3150)
The modules listed in this PR were using YAML that resulted in
blockquote tages being inserted into the generated RestructedText.

This PR fixes that so that the documentation once again looks correct
2016-12-08 11:34:57 -05:00
Peter Sprygada
00cc7c03fa Revert "update mask_passwords argument to be more descriptive in asa_config (#3109)" (#3110)
This reverts commit 271e300745b7200fc57383916d87efd6640d093e.
2016-12-08 11:34:56 -05:00
Peter Sprygada
1b6a424375 update mask_passwords argument to be more descriptive in asa_config (#3109)
This changes the passwords argument to mask_passwords to make the
argument more descriptive of its intended function
2016-12-08 11:34:56 -05:00
Peter Sprygada
d698a9b5f7 fixes asa_config to allow config to include passwords, defaults or none (#3102)
The fix allows the asa_config module to request the config to contain
all default statements or password information necessary for vpn
tunnel endpoints
2016-12-08 11:34:56 -05:00
Peter Sprygada
817881d64f fixes problem where wrong ACL could be selected (#3099)
This fixes a bug where the wrong acl name could be matched in the running
config if the desired acl name is a starting subset.
2016-12-08 11:34:56 -05:00
Tim Rupp
6f0477a780 Fixes the enabled_vlans argument (#3061)
This argument had a couple of issues with it. First, as it was
being interpreted in the code, it did not check for idempotency.

Second, the model of having the parameters be "all_*" is going to
hinder the ability to "undo", so-to-speak, what the user did while
maintaining legibility.

Consider if the user specified "all_enabled_vlans='net1'" and then
decided they wanted to backout of this decision. What is the proper
argument to fulfill this wish? "all_enabled_vlans='...?'

This patch changes the all_enabled_vlans argument to be "enabled_vlans",
ensures that idempotency works, and also provides for a way to "undo" a
change to the enabled VLANs by allowing the user to specify the special
case VLAN named "ALL" (all capitals).

This makes the parameter more intuitive because the users will specify
which vlans they want to make the virtual available on

  * enabled_vlans="net1"

but also allows them to "undo" what they did by setting it back with
the case of all

  * enabled_vlans="ALL"
2016-12-08 11:34:56 -05:00
Tim Rupp
223d5cc7ee Adds copyright line for F5 contributed modules (#3081)
I was asked to do this as part of the contribution effort in house
2016-12-08 11:34:56 -05:00
Tim Rupp
de08965ab3 Corrects the required SDK version (#3095)
The SDK version that was mentioned originally was incorrect
2016-12-08 11:34:56 -05:00
John R Barker
66eaa464ee Typos in doc's strings (#3071) 2016-12-08 11:34:55 -05:00
John R Barker
3a3612f57b asa_template is now deprecated (#2992)
* asa_template is now deprecated

* Delete asa_template

Since asa_template was added during 2.2 development, rather than
deprecate them
2016-12-08 11:34:55 -05:00
John R Barker
94bd3a70e5 Correct typos (#3055) 2016-12-08 11:34:55 -05:00
Tim Rupp
781dd9c459 Distinguish between untagged and tagged vlans
We were incorrectly making VLANS always be untagged when they could
be either tagged or untagged. This change corrects the arguments to
the vlan module to allow for specifying either untagged or tagged
interfaces. The arguments are mutually exclusive
2016-12-08 11:34:55 -05:00
Ryan Saunders
b48e1e9b65 Fix documentation typos and broken URL (#3039) 2016-12-08 11:34:54 -05:00
Tim Rupp
15df1c84ad Fixes the bigip_selfip module to respect traffic groups (#3009)
The code for traffic groups was not being tested and therefore
had errors associated with it. It is now covered in coverage tests
and bugs that were found in it have been fixed.

See this issue for details
https://github.com/F5Networks/f5-ansible/issues/28
2016-12-08 11:34:54 -05:00
Tim Rupp
5abc8a1927 Corrects an implied map() usage as list (#3010)
In the six package, the map() function returns an iterator instead
of a list. This code was continuing to use the map() return value
as if it were a list and this broke the address_class facts.

This patch changes the code to use the list() method on the return
value of map().
2016-12-08 11:34:53 -05:00
perbly
ec05027c7e added enabled vlan functionality for f5 vip (#2988)
* added vlan functionality for f5 vip

* line 91, : was missing after description
2016-12-08 11:34:53 -05:00
Tim Rupp
4e8566739e Fixes domains method not defined (#2907)
The domains method was not defined, and therefore when specifying
a parent domain during route domain creation, the process would
fail.

Tests have been added to detect this going forward
2016-12-08 11:34:50 -05:00
Peter Sprygada
4932df69bc updates to asa_config module for Ansible 2.2
* clean up functions and remove unneeded code
* config difference now includes keyword argument
* module reports changed when save argument is yes with or without check_mode
* updated fail_json return with exc kwargs
* fixed up import statements
2016-12-08 11:34:50 -05:00
Peter Sprygada
dc52d3627a fixes a number of nagging issues in asa_acl due to refactoring
* fixes issues with import error
* removes need for filter attribute in Cli instance
* now filters config either from device or provided via config argument

ref: #2890
2016-12-08 11:34:50 -05:00
Peter Sprygada
7ce98f52cf bug fix in asa_acl module for missing candidate config
This bug was introduced accidentally when refactoring to 2.2.  The instance
of the candidate config was deleted.  This adds the candidate config
instance back

fixes #2890
2016-12-08 11:34:50 -05:00
John R Barker
3f1c3a0532 Document a10_server new options (#2876)
* Document write_config and validate_certs
2016-12-08 11:34:49 -05:00
Tim Rupp
7e36f4f302 Adds bigip_ssl_certificate module (#2831)
Adds bigip_ssl_certificate module

This module is another in the ongoing "bootstrapping saga" that is
being undertaken. With this module you can manage the lifecycle of
the SSL certificates on a BIG-IP. This includes those used for
SSL offloading.

Tests for this module can be found here

https://github.com/F5Networks/f5-ansible/blob/master/roles/__bigip_ssl_certificate/tasks/main.yaml

Platforms this was tested on are

12.0.0
12.1.0
2016-12-08 11:34:49 -05:00
Michael Scherer
f8b7ab1e10 Do not crash if the system do not have required modules (#2852) 2016-12-08 11:34:49 -05:00
Peter Sprygada
32bbddee23 update asa_config module
* removes get_module() factory method for NetworkModule
* add src argument to provide path to config file
* add new choice to match used to ignore current running config
* add update argument with choices merge or check
* add backup argument to backup current running config to control host
* add defaults argument to control collection of config with or withoutdefaults
* add save argument to save current running config to startup config
2016-12-08 11:34:48 -05:00
Peter Sprygada
e2e0029fab roll up of updates to asa_template
This updates the asa_template module with updates for Ansible 2.2.

* removes get_module() in favor of NetworkModule
* fixes up import statements
2016-12-08 11:34:48 -05:00
Peter Sprygada
283cc51fdb added new functionality to asa_command
* commands argument now accepts a dict arguments
* only show commands are allowd when check mode is specified
* config mode is no longer allowed in the command stack
* add argument match with valid values any, all
2016-12-08 11:34:48 -05:00
Peter Sprygada
8e45ec9734 roll up updates to asa_acl module
* remove get_module() in favor of NetworkModule
* fix up import statements
* roll up fixes for NetworkConfig object handling
2016-12-08 11:34:48 -05:00
Tim Rupp
f48791e8bc Bugfix bigip_facts that was trying to check the length of an iterator (#2842)
Recently, a user reported that the bigip_facts module was failing with the error

    received exception: object of type 'itertools.imap' has no len()

This reported was occurring at line 1657 of the bigip_facts module

bug report is here

https://github.com/F5Networks/f5-ansible/issues/25

Upon further investigation, the map function for returning the specified
includes was returning an iterator, and calling len() on an iterator does
not work.

I believe this problem was caused by part of the Python 3.x effort insofar
as the inclusion of this line

https://github.com/ansible/ansible/blob/devel/lib/ansible/module_utils/basic.py#L143

seems to affect our usage of map(), probably for the better anyway, and we need
to change our expectations in our module's code to no longer assume a list, but
instead assume an iterator.

After trawling through the module_utils/basic code, I think a list
comprehension is more appropriate here anyway, so I'm changing it to be
that. The affected user reported it works this way, and my own testing
on 2.2.0 supports that.
2016-12-08 11:34:47 -05:00
Tim Rupp
acdbe5cb3f Adds allow_service parameter to bigip_selfip (#2808)
This parameter can be used to open up access to (among other things)
the mgmt address of a BIG-IP. It is necessary for configuring bigips
in an HA configuration.
2016-12-08 11:34:47 -05:00
Adam Števko
d56c34ea9e Add modules to configure Solaris/illumos networking (1st batch) (#2416)
* Add modules to configure Solaris/illumos networking (1st batch)

* Add choices to temporary flags
2016-12-08 11:34:44 -05:00
René Moser
d7b68e0e80 new modules for managing exoscale DNS (#2788) 2016-12-08 11:34:44 -05:00
Tim Rupp
e4ddd4358c Fixes documentation bugs in bigip_irule (#2797)
The return docs were incorrect for this module. This patch fixes them
and adds some additional return values
2016-12-08 11:34:43 -05:00
Massimo Gervasini
c934ab7e8b when write_config is no, we should not try to write any configuration changes 2016-12-08 11:34:43 -05:00
Tim Rupp
97d41d54ab Adds provision info to bigip facts (#2783)
This patch adds provision information to the bigip_facts module
through a "provision" include.
2016-12-08 11:34:43 -05:00
Tim Rupp
e5f629500d New module bigip_irule
This module can be used to maintain the iRules for both LTM and GTM
on a BIG-IP. iRules should be supplied in their string form using
normal strings (unlikely), file lookups (likely), or template
lookups (likely).

Tests for this module can be found here

https://github.com/F5Networks/f5-ansible/blob/master/roles/__bigip_irule/tasks/main.yaml

Platforms this was tested on are

11.6.1
12.0.0
12.1.0
2016-12-08 11:34:43 -05:00
Tim Rupp
d84e3b6ed7 This module can be used as part of the bootstrapping of a BIG-IP. It allows one to configure the various NTP settings that are part of a BIG-IP.
Tests for this module can be found here

https://github.com/F5Networks/f5-ansible/blob/master/roles/__bigip_device_ntp/tasks/main.yaml

Platforms this was tested on are

11.6.0
12.0.0
12.1.0
12.1.0 HF1
2016-12-08 11:34:43 -05:00
Tim Rupp
57c3ae838d Addition of bigip_device_sshd module
This module can be used as part of the bootstrapping of a BIG-IP. It
allows one to configure the various SSHD settings that are part of
a BIG-IP.

Tests for this module can be found here

https://github.com/F5Networks/f5-ansible/blob/master/roles/__bigip_device_sshd/tasks/main.yaml

Platforms this was tested on are

11.6.0
12.0.0
12.1.0
12.1.0 HF1
2016-12-08 11:34:43 -05:00
Tim Rupp
9ff52723a9 Adds documentation fragment to bigip modules
This patch removes the common documentation bits and replaces them
with a doc fragment that already exists in core
2016-12-08 11:34:42 -05:00
Adrian Likins
9fb53e12ce Add a 'requirements:' field to cloudflare_dns doc (#2631)
cloudflare_dns.py makes use of the python
2.6 features (the string .format() method).
2016-12-08 11:34:42 -05:00
Angus Williams
692fb45e26 bigip_pool_member: fix idempotency with session_state argument (#2745) 2016-12-08 11:34:42 -05:00
Tim Rupp
68d819e342 Another bootstrapping module, this module allows for one to manage route domains on a BIG-IP.
Tests for this module can be found here

https://github.com/F5Networks/f5-ansible/blob/master/roles/__bigip_routedomain/tasks/main.yaml

Platforms this was tested on are

11.6.0
12.0.0
12.1.0
12.1.0 HF1
2016-12-08 11:34:42 -05:00
Tim Rupp
f84b4f1168 Adds the bigip_selfip module
Another bootstrapping module, this module allows for one to manage
self IP addresses on a BIG-IP.

Tests for this module can be found here

https://github.com/F5Networks/f5-ansible/blob/master/roles/__bigip_selfip/tasks/main.yaml

Platforms this was tested on are

11.5.4 HF1
11.6.0
12.0.0
12.1.0 HF1
2016-12-08 11:34:42 -05:00
Shinichi TAMURA
a3860ecf1e Allow value to be bool where 'yes'/'no' are in choices (#2593)
* Changed type of 'details' argument to bool on ecs_service_facts module.

* Changed type of 'autostart' argument to bool on virt_* modules.

* Changed types of 'autoconnect' and 'stp' argument to bool on nmcli module.
('create_connection_bridge(self)' and 'modify_connection_bridge(self)' are not implemented yet?)

* Added conversion of 'value' argument when 'vtype' is boolean on debconf module.
2016-12-08 11:34:41 -05:00
Tim Rupp
e68aa4747f Introduces the bigip_gtm_datacenter module (#1000)
This module can be used to manipulate data centers in a BIG-IP.
It supports both the iControl SOAP and iControl REST APIs, but default
to the REST API. With this module, you can perform operations similar
to those available in tmsh to create data centers and set the contact,
location, and description of those data centers.

This module is most useful in the initial provisioning of a BIG-IP
2016-12-08 11:34:41 -05:00
Tim Rupp
a32f37c9b6 Introduces the bigip_sys_db module (#998)
This module can be used to directly manipulate the system database
variables in a BIG-IP. It supports both the iControl SOAP and iControl
REST APIs, but default to the REST API. With this module, you can
perform operations similar to those available in tmsh to set system
variables such as turning off the default setup screen.

This module is most useful in the initial provisioning of a BIG-IP
2016-12-08 11:34:41 -05:00
Tim Rupp
e624a794ac Adds bigip_vlan module (#2661)
This module can be used to manage VLANs in BIG-IP on various software
versions. It is part of a bootstrapping effort underway to provide
modules necessary to bootstrap core settings in a BIG-IP.

Tests for this module can be found here

https://github.com/F5Networks/f5-ansible/blob/master/roles/__bigip_vlan/tasks/main.yaml

Platforms this was tested on are

  - 11.5.4 HF1
  - 11.6.0
  - 12.0.0
  - 12.1.0 HF1
2016-12-08 11:34:40 -05:00
Tim Rupp
a367a9ac01 Adds style conventions for bigip_node (#2697)
A number of coding conventions have been adopted for new F5 modules
that are in development. To ensure common usage across the modules,
this module needed to be updated to reflect those conventions.

No functional code changes were made.
2016-12-08 11:34:39 -05:00
Tim Rupp
9ca08e5596 Bugfixes and code style (#2627)
A number of coding conventions have been adopted for new F5 modules
that are in development. To ensure common usage across the modules,
this module needed to be updated to reflect those conventions.

Additionally, this patch fixes a couple bugs in the module that were
preventing it from being idempotent.
2016-12-08 11:34:34 -05:00
Loïc
0a968bbe35 Fix argument type to bool. By default shutdown_sessions is always true then it should'nt. (#2596) 2016-12-08 11:34:33 -05:00