diff options
Diffstat (limited to 'ansible_collections/cisco/iosxr/plugins/action')
34 files changed, 1947 insertions, 0 deletions
diff --git a/ansible_collections/cisco/iosxr/plugins/action/__init__.py b/ansible_collections/cisco/iosxr/plugins/action/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/__init__.py diff --git a/ansible_collections/cisco/iosxr/plugins/action/acl_interfaces.py b/ansible_collections/cisco/iosxr/plugins/action/acl_interfaces.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/acl_interfaces.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/acls.py b/ansible_collections/cisco/iosxr/plugins/action/acls.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/acls.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/banner.py b/ansible_collections/cisco/iosxr/plugins/action/banner.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/banner.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/bgp.py b/ansible_collections/cisco/iosxr/plugins/action/bgp.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/bgp.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/bgp_address_family.py b/ansible_collections/cisco/iosxr/plugins/action/bgp_address_family.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/bgp_address_family.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/bgp_global.py b/ansible_collections/cisco/iosxr/plugins/action/bgp_global.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/bgp_global.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/bgp_neighbor_address_family.py b/ansible_collections/cisco/iosxr/plugins/action/bgp_neighbor_address_family.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/bgp_neighbor_address_family.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/command.py b/ansible_collections/cisco/iosxr/plugins/action/command.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/command.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/config.py b/ansible_collections/cisco/iosxr/plugins/action/config.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/config.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/facts.py b/ansible_collections/cisco/iosxr/plugins/action/facts.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/facts.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/hostname.py b/ansible_collections/cisco/iosxr/plugins/action/hostname.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/hostname.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/interface.py b/ansible_collections/cisco/iosxr/plugins/action/interface.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/interface.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/interfaces.py b/ansible_collections/cisco/iosxr/plugins/action/interfaces.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/interfaces.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/iosxr.py b/ansible_collections/cisco/iosxr/plugins/action/iosxr.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/iosxr.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/l2_interfaces.py b/ansible_collections/cisco/iosxr/plugins/action/l2_interfaces.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/l2_interfaces.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/l3_interfaces.py b/ansible_collections/cisco/iosxr/plugins/action/l3_interfaces.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/l3_interfaces.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/lacp.py b/ansible_collections/cisco/iosxr/plugins/action/lacp.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/lacp.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/lacp_interfaces.py b/ansible_collections/cisco/iosxr/plugins/action/lacp_interfaces.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/lacp_interfaces.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/lag_interfaces.py b/ansible_collections/cisco/iosxr/plugins/action/lag_interfaces.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/lag_interfaces.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/lldp_global.py b/ansible_collections/cisco/iosxr/plugins/action/lldp_global.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/lldp_global.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/lldp_interfaces.py b/ansible_collections/cisco/iosxr/plugins/action/lldp_interfaces.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/lldp_interfaces.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/logging.py b/ansible_collections/cisco/iosxr/plugins/action/logging.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/logging.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/logging_global.py b/ansible_collections/cisco/iosxr/plugins/action/logging_global.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/logging_global.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/netconf.py b/ansible_collections/cisco/iosxr/plugins/action/netconf.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/netconf.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/ntp_global.py b/ansible_collections/cisco/iosxr/plugins/action/ntp_global.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/ntp_global.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/ospf_interfaces.py b/ansible_collections/cisco/iosxr/plugins/action/ospf_interfaces.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/ospf_interfaces.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/ospfv2.py b/ansible_collections/cisco/iosxr/plugins/action/ospfv2.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/ospfv2.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/ospfv3.py b/ansible_collections/cisco/iosxr/plugins/action/ospfv3.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/ospfv3.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/prefix_lists.py b/ansible_collections/cisco/iosxr/plugins/action/prefix_lists.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/prefix_lists.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/snmp_server.py b/ansible_collections/cisco/iosxr/plugins/action/snmp_server.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/snmp_server.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/static_routes.py b/ansible_collections/cisco/iosxr/plugins/action/static_routes.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/static_routes.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/system.py b/ansible_collections/cisco/iosxr/plugins/action/system.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/system.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/cisco/iosxr/plugins/action/user.py b/ansible_collections/cisco/iosxr/plugins/action/user.py new file mode 100644 index 00000000..d1ba1e15 --- /dev/null +++ b/ansible_collections/cisco/iosxr/plugins/action/user.py @@ -0,0 +1,59 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) + + +display = Display() + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["iosxr_config", "config"] else False + force_cli = module_name in ("iosxr_netconf", "iosxr_config", "iosxr_command", "iosxr_facts") + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if (not force_cli and persistent_connection not in ("netconf", "network_cli")) or ( + force_cli and persistent_connection != "network_cli" + ): + return { + "failed": True, + "msg": "Connection type %s is not valid for this module" + % self._play_context.connection, + } + + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result |