Server IP : 85.214.239.14 / Your IP : 52.14.60.56 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /usr/lib/python3/dist-packages/ansible_collections/cisco/iosxr/plugins/modules/ |
Upload File : |
#!/usr/bin/python # -*- coding: utf-8 -*- # Copyright 2022 Red Hat # GNU General Public License v3.0+ # (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) """ The module file for iosxr_ping """ from __future__ import absolute_import, division, print_function __metaclass__ = type DOCUMENTATION = """ module: iosxr_ping short_description: Tests reachability using ping from IOSXR switch. description: - Tests reachability using ping from switch to a remote destination. - For a general purpose network module, see the L(net_ping,https://docs.ansible.com/ansible/latest/collections/ansible/netcommon/net_ping_module.html) module. - For Windows targets, use the L(win_ping,https://docs.ansible.com/ansible/latest/collections/ansible/windows/win_ping_module.html) module instead. - For targets running Python, use the L(ping,https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ping_module.html) module instead. notes: - Tested against IOSXR 7.2.2. - This module works with connection C(network_cli). - For a general purpose network module, see the L(net_ping,https://docs.ansible.com/ansible/latest/collections/ansible/netcommon/net_ping_module.html) module. - For Windows targets, use the L(win_ping,https://docs.ansible.com/ansible/latest/collections/ansible/windows/win_ping_module.html) module instead. - For targets running Python, use the L(ping,https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ping_module.html) module instead. author: Sagar Paul (@KB-perByte) options: count: description: - Repeat count the number of packets to send. type: int afi: description: - Define echo type ipv4 or ipv6. choices: - ipv4 - ipv6 default: ipv4 type: str dest: description: - The IP Address or hostname (resolvable by switch) of the remote node. required: true type: str df_bit: description: - Set the DF bit in IP-header. default: false type: bool sweep: description: - Sweep ping. default: false type: bool validate: description: - Validate return packet. default: false type: bool source: description: - Source address or source interface. type: str size: description: - Datagram size the size of packets to send. type: int state: description: - Determines if the expected result is success or fail. choices: - absent - present default: present type: str vrf: description: - The VRF to use for forwarding. type: str """ EXAMPLES = """ - name: Test reachability to 198.51.100.251 using default vrf cisco.iosxr.iosxr_ping: dest: 198.51.100.251 - name: Test reachability to 198.51.100.252 using prod vrf cisco.iosxr.iosxr_ping: dest: 198.51.100.252 vrf: prod afi: ipv4 - name: Test unreachability to 198.51.100.253 using default vrf cisco.iosxr.iosxr_ping: dest: 198.51.100.253 state: absent - name: Test reachability to 198.51.100.250 using prod vrf and setting count and source cisco.iosxr.iosxr_ping: dest: 198.51.100.250 source: loopback0 vrf: prod count: 20 - name: Test reachability to 198.51.100.249 using df-bit and size cisco.iosxr.iosxr_ping: dest: 198.51.100.249 df_bit: true size: 1400 - name: Test reachability to ipv6 address cisco.iosxr.iosxr_ping: dest: 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff afi: ipv6 """ RETURN = """ commands: description: Show the command sent. returned: always type: list sample: ["ping vrf prod 198.51.100.251 count 20 source loopback0"] packet_loss: description: Percentage of packets lost. returned: always type: str sample: "0%" packets_rx: description: Packets successfully received. returned: always type: int sample: 20 packets_tx: description: Packets successfully transmitted. returned: always type: int sample: 20 rtt: description: Show RTT stats. returned: always type: dict sample: {"avg": 2, "max": 8, "min": 1} """ from ansible.module_utils.basic import AnsibleModule from ansible_collections.cisco.iosxr.plugins.module_utils.network.iosxr.argspec.ping.ping import ( PingArgs, ) from ansible_collections.cisco.iosxr.plugins.module_utils.network.iosxr.config.ping.ping import Ping def main(): """ Main entry point for module execution :returns: the result form module invocation """ module = AnsibleModule(argument_spec=PingArgs.argument_spec) result = Ping(module).execute_module() module.exit_json(**result) if __name__ == "__main__": main()