* Add autopublish and autoinstallpolicy behaviour to Checkpoint devices
Up till now we published and installed policy package for every operation,
however operators may not want that and only reconcile changes after a series
of changes.
Added flags to toggle this behaviour, which defaults to autopublish and
autoinstall policy package just as it was till now.
The policy package name defaults to 'standard', since it's the default one
created on the Checkpoint management server on AWS, unsure if that's common
in other setups.
* Change signature for publish and install policy
The module object is not needed
* Fix pep8
* Fix install_policy invocation
Also fix payload in publish/discard, since it seems passing the UID
when it's not needed has issues.
* Add doc fragments
* Remove default value of targets on install_policy method
It's already defaulting to None via checkpoint_arg_spec
* Fix pep8
* Remove doc fragment and push down auto options to resource modules
I realized if I put those options as doc fragments they will show up
on facts module, which do not apply, only on resource modules that
mangle with objects.
* Fix bogus param name and validate modules issues
* Fix bogus param name on checkpoint_host
* Add checkpoint httpapi plugin and access rule facts module
* WIP checkpoint_access_rule module
* Add publish and install policy, plus fix empty json object request for publish
* Refactor publish and install_policy onto module_utils
* Add update resource logic
* Add checkpoint_host_facts module
* Return code and response on get_acess_rule function
* Add checkpoint_host module
* Add checkpoint_run_script module
* Add checkpoint_task_facts module
* Show all tasks if no task id is passed
Note, this is only available on v1.3 of Checkpoint WS API
* Add update logic to checkpoint host
* Add full details on get task call
* Add checkpoint httpapi plugin
* Fix pep8
* Use auth instead of sid property and return False on handle_httperror method
* Fix version in docstring
* Remove constructor
* Remove Accept from base headers
* Do not override http error handler and assign Checkpoint sid to connection _auth
There is scaffolding in the base class to autoappend the token, given
it is assigned to connection _send
* Use new connection queue message method instead of display
* Remove unused display
* Catch ValueError, since it's a parent of JSONDecodeError
* Make static methods that are not used outside the class regular methods
* Add missing self to previously static methods
* Fix logout
Was carrying copy pasta from ftd plugin
* Remove send_auth_request
* Use BASE_HEADERS constant
* Simplify copyright header on httpapi plugin
* Remove access rule module
* Remove unused imports
* Add unit test
* Fix pep8
* Add test
* Add test
* Fix pep8
* Fix backup issue in network config modules
* Fix `get_working_path` not found issue introduced due to
backup config code refactor (PR #50208)
* Further refactor config related action plugins to minimize
duplicate code
* Remove unwated imports in config action plugins
* Add common network class for action plugin and related code refactor
* Fix review comment
* MSC: Various bugfixes and features enhancements
This PR includes:
- Lookups of roles, labels and domains
- Auto-create new labels
- Improvements to comparing complex datastructures
- Force removal of sites
- Support non top-level queries
- Document internal functions
- Add parameter types to modules
- Fix documentation examples
- Improvements to idempotency wrt. returning changed
- Support site locations
- Update permission list
- Various improvements to integration tests
* Fix Ci issues
* Refactoring of cnos_interface module like what followed by other vendors
* To remove cnos-interface from E326 validation ignore list
* Effect of default parameters impacted UT
* Bare minimum rip out cliconf
* nxapi changeover
* Update documentation, move options
* Memoize device_info
* Gratuitous rename to underscore use of local api implementation
Fixup eos module_utils like nxos
* Streamline version and image scans
* Expose get_capabilities through module_utils
* Add load_config to module_utils
* Support rpcs using both args and kwargs
* Add get_config for nxos
* Add get_diff
* module context, pulled from nxapi
We could probably do this correctly later
* Fix eos issues
* Limit connection._sub_plugin to only one plugin
The config parser on NX-OS does not deal with configs that do not end
with a linefeed correctly which leads to various issues when the config
is loaded from startup-config upon reboot. Therefore, ensure that the
config returned is terminated by a linefeed.
This change address a problem where the dict_merge function would fail
due to the value being a nested dict. This will now recursively pass
the value back through the dict_merge function.
* Pluribus Networks pn access list module
* Added shlex import which was missing and added correct author
* Added an extra space which is according to pep8
* Fix iosxr netconf plugin response namespace
* iosxr netconf plugin removes namespace by default
for all the responses as parsing of xml is easier
without namepsace in iosxr module. However to validate
the response received from device against yang model requires
namespace to be present in resposne.
* Add a parameter in iosxr netconf plugin to control if namespace
should be removed from response or not.
* Fix CI issues
* Fix review comment
* Use expect module to copy files
* Remove old and redundant upgrade files
* Return error message instead of code
* Cleanup copy command code
* Fix force issue in nxos_install_os
* new nxos_install_os integration tests
* Uncomment transport tests
* Revert negative test change
* Remove combined option that is no longer required
* Make shippable happy
* Add n5k test files
* FTD modules: bug fixes and upsert functionality
* Fix sanity checks
* Fix unit tests for Python 2.6
* Log status code for login/logout
* Use string formatting in logging
* Making username password etc non mandatory as we use persistence connection.
Some documentation fine tuning also done.
* To update version which was tested against.
* Adding Bacon switch (NE0152T) to device rules
* Qalthos Review catch
* Updating version
* Changing documentation to add Bacon switch. This is effective since 2.8
* Separate networking tools that may be used by modules outside of networking so changes to networking-only utilities don't trigger AWS integration tests
* Add unit tests for moved network utils
* Add comment to prevent imports from being mistakenly removed
* Move to_bits as well
* Various changes to nxos_logging. Plus added purge capibility.
* Made a few new nxapi_logging test cases conditional based on version
and/or platform.
* Addressed PR comments and ansibot shippable. Fixed up nxos_logging documentation format.
* Addressed ansibot shippable issues with whitespaces and documentation.
* Resolved ansibot codestyle trailing whitespace
* Merge issue
* Update cnos_rollback.py
* Updating license for the refactored method
* Update cnos_rollback.py
* Removing the BSD License as suggested by Legal
* To add Documentation for ENOS as well as CNOS
* Merge issue
* Revert "To add Documentation for ENOS as well as CNOS"
This reverts commit 80e6e39054be0c3a8f95d16dc39ca9d93baf8c4b.
* Adding Docs for ENOS and CNOS
* Update cnos.py
* Update cnos_rollback.py
* Update cnos.py
* Update platform_cnos.rst
* Update platform_enos.rst
* Removed version 2.7
* Removing 2.7
* multiple parents issues in diff
* Integration tests for missing functionality
* add testcase for other platforms. vnxos does not support qos so need to find a command chain on v-nxos for multiple parets. junos uses on-device diff so should not need this.
* Fix for issue when any candidate parent did not meet the exact line in running-config
* DCI runs eos_config without become flag
* Refactoring code to adhere to persistence connection.
* Update cnos_rollback.py
* Updating license for the refactored method
* Update cnos_rollback.py
* Removing the BSD License as suggested by Legal
* Adding cnos_image after testing on sftp. Test code is also added
* Removing debug comments
* adding space
* Fix iosxr cli_config module diff issue
* Modify iosxr plugin to support configuration
diff capability (get_diff()) within Ansible
to be in sync with iosxr_config module.
* Fix unit test case failure
* Refactoring code to adhere to persistence connection.
* Update cnos_rollback.py
* Review comment of Qalthos incorporated
* Updating license for the refactored method
* Update cnos_rollback.py
* Removing the BSD License as suggested by Legal
* Add common and Swagger client utils for FTD modules
* Update FTD HTTP API plugin and add unit tests for it
* Add configuration layer handling object idempotency
* Add ftd_configuration module with unit tests
* Add ftd_file_download and ftd_file_upload modules with unit tests
* Validate operation data and parameters
* Fix ansible-doc, boilerplate and import errors
* Fix pip8 sanity errors
* Update object comparison to work recursively
* Add copyright
Fixes#40650Fixes#40245Fixes#41541
* Refactor netconf_config module as per proposal #104
* Update netconf_config module metadata to core network supported
* Refactor local connection to use persistent connection framework
for backward compatibility
* Update netconf connection plugin configuration varaibles (Fixes#40245)
* Add support for optional lock feature to Fixes#41541
* Add integration test for netconf_config module
* Documentation update
* Move deprecated options in netconf_config module
* Remove use of simplejson throughout code base. Fixes#42761
* Address failing tests
* Remove simplejson from contrib and other outlying files
* Add changelog fragment for simplejson removal
* Changing Lenovo Inc to Lenovo and update License file to be consistent.
* Moving code in util file to module file. This is done as per a review comment
* Update cnos_vlag.py
* Update cnos_vlan.py
* Update enos_config.py
This functionality was not considered when the module was written, but
there's no reason why it shouldn't be supported.
We had to rework the query string construction and object filtering.
This new functionality allows to filter on arbitrary keys and supports
None values.
This PR fixes various issues with the existing framework, including
querying specific objects using construct_url_4 (i.e.
aci_epg_to_contract and aci_static_binding_to_epg)
* Refactoring to persistence connection BGP, factory, reload, save, showrun modules
* Refactoring methods from Util to module file
* Removing BGP Utility methods
* Adding to errors that need to be ignored
* Implement initial RouterOS support
* Correct matchers for license prompts
* Documentation updates & mild refactor
* Remove one last Cisco function
* Sanity test fixes
* Move imports to the beginning
* Remove authorize property
* Handle ANSI codes
* Revert to_lines function
* CR fixes
* test(routeros): add unit tests
* Added another test (with ANSI colors and banner in fixture).
* Ignore CRLF line endings in system_package_print file
* fix: review by ganeshrn
* CNOS Vlag module is refactored to use persistence connection instead of paramiko.
* Changing interface and port channel modules to persistent connection and adding UT for them.
* Fixing pep8 issues
* Removing trailing new line
* Removing trailing new line
* Removing trailing new line
* Correcting indentation mistake
* Update cnos_vlag.py
* Removing commented examples
They are commented because those configurations are not meant for L2 ports
* nxos cliconf plugin refactor
Fixes#39056
* Refactor nxos cliconf plugin as per new api definition
* Minor changes in ios, eos, vyos cliconf plugin
* Change nxos httpapi plugin edit_config method to be in sync with
nxos cliconf edit_config
* Fix CI failure
* Fix unit test failure and review comment
* Add support for global IGMP configuration on onyx switches
Signed-off-by: Samer Deeb <samerd@mellanox.com>
* Add support for global IGMP configuration on onyx switches
Signed-off-by: Samer Deeb <samerd@mellanox.com>