diff --git a/Makefile b/Makefile index e8edd8eb8..7c9aaba07 100644 --- a/Makefile +++ b/Makefile @@ -46,7 +46,8 @@ CYTHON_CMD = compileAll RELATED_PKGS = genie.libs.health genie.libs.clean genie.libs.conf genie.libs.ops genie.libs.robot genie.libs.sdk RELATED_PKGS += genie.libs.filetransferutils # pinning the version of pysnmp and pyasn1 to fix the type error when using execute_power_cycle_device api -DEPENDENCIES = restview psutil Sphinx wheel asynctest pysnmp-lextudio==5.0.29 pyasn1==0.4.8 +# Adding pyasyncore pkg to fix pysnmp scripts for python 3.12 +DEPENDENCIES = restview psutil Sphinx wheel asynctest pysnmp-lextudio==5.0.29 pyasn1==0.4.8 pyasyncore DEPENDENCIES += sphinx-rtd-theme==1.1.0 pyftpdlib tftpy\<0.8.1 robotframework DEPENDENCIES += Cython==3.0.0 requests ruamel.yaml grpcio protobuf jinja2 # Internal variables. diff --git a/pkgs/clean-pkg/changelog/2024/february.rst b/pkgs/clean-pkg/changelog/2024/february.rst new file mode 100644 index 000000000..694584b70 --- /dev/null +++ b/pkgs/clean-pkg/changelog/2024/february.rst @@ -0,0 +1,16 @@ +-------------------------------------------------------------------------------- + New +-------------------------------------------------------------------------------- + +* modified and added hasattr + * is_ha triggered error added hasattr and attributes. + + +-------------------------------------------------------------------------------- + Fix +-------------------------------------------------------------------------------- + +* iosxe + * Update failed pattern for install image stage + + diff --git a/pkgs/clean-pkg/sdk_generator/output/github_clean.json b/pkgs/clean-pkg/sdk_generator/output/github_clean.json index b9eb46711..f8fdf22b9 100644 --- a/pkgs/clean-pkg/sdk_generator/output/github_clean.json +++ b/pkgs/clean-pkg/sdk_generator/output/github_clean.json @@ -324,7 +324,7 @@ "uid": "InstallImage", "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/cat3k/stages.py#L12" }, - "doc": "This stage installs a provided image onto the device using the install\nCLI. It also handles the automatic reloading of your device after the\ninstall is complete.\n\nStage Schema\n------------\ninstall_image:\n images (list): Image to install\n\n directory (str): directory where packages.conf is created\n\n\n save_system_config (bool, optional): Whether or not to save the system\n config if it was modified. Defaults to False.\n\n install_timeout (int, optional): Maximum time in seconds to wait for install\n process to finish. Defaults to 500.\n\n reload_timeout (int, optional): Maximum time in seconds to wait for reload\n process to finish. Defaults to 800.\n\n verify_running_image (bool, optional): Compare the image filename with the running\n image version on device. If a match is found, the stage will be skipped.\n Defaults to True.\n\n reload_service_args (optional):\n\n reload_creds (str, optional): The credential to use after the reload is\n complete. The credential name comes from the testbed yaml file.\n Defaults to the 'default' credential.\n\n prompt_recovery (bool, optional): Enable or disable the prompt recovery\n feature of unicon. Defaults to True.\n\n error_pattern (list, optional): List of regex strings to check for errors.\n Default: [r\"FAILED:.* \",]\n\n : \n Any other arguments that the Unicon reload service supports\n\nExample\n-------\ninstall_image:\n images:\n - /auto/some-location/that-this/image/stay-isr-image.bin\n save_system_config: True\n install_timeout: 1000\n reload_timeout: 1000\n\n", + "doc": "This stage installs a provided image onto the device using the install\nCLI. It also handles the automatic reloading of your device after the\ninstall is complete.\n\nStage Schema\n------------\ninstall_image:\n images (list): Image to install\n\n directory (str): directory where packages.conf is created\n\n\n save_system_config (bool, optional): Whether or not to save the system\n config if it was modified. Defaults to False.\n\n install_timeout (int, optional): Maximum time in seconds to wait for install\n process to finish. Defaults to 500.\n\n reload_timeout (int, optional): Maximum time in seconds to wait for reload\n process to finish. Defaults to 800.\n\n verify_running_image (bool, optional): Compare the image filename with the running\n image version on device. If a match is found, the stage will be skipped.\n Defaults to True.\n\n reload_service_args (optional):\n\n reload_creds (str, optional): The credential to use after the reload is\n complete. The credential name comes from the testbed yaml file.\n Defaults to the 'default' credential.\n\n prompt_recovery (bool, optional): Enable or disable the prompt recovery\n feature of unicon. Defaults to True.\n\n error_pattern (list, optional): List of regex strings to check for errors.\n Default: [r\"FAILED:.*?$\",]\n\n : \n Any other arguments that the Unicon reload service supports\n\nExample\n-------\ninstall_image:\n images:\n - /auto/some-location/that-this/image/stay-isr-image.bin\n save_system_config: True\n install_timeout: 1000\n reload_timeout: 1000\n\n", "module_name": "stages.stages", "package": "genie.libs.clean", "uid": "InstallImage", diff --git a/pkgs/clean-pkg/src/genie/libs/clean/__init__.py b/pkgs/clean-pkg/src/genie/libs/clean/__init__.py index 9fb0331a8..9acdebea5 100644 --- a/pkgs/clean-pkg/src/genie/libs/clean/__init__.py +++ b/pkgs/clean-pkg/src/genie/libs/clean/__init__.py @@ -8,7 +8,7 @@ ''' # metadata -__version__ = '24.1' +__version__ = '24.2' __author__ = 'Cisco Systems Inc.' __contact__ = ['asg-genie-support@cisco.com', 'pyats-support-ext@cisco.com'] __copyright__ = 'Copyright (c) 2019, Cisco Systems Inc.' diff --git a/pkgs/clean-pkg/src/genie/libs/clean/recovery/recovery.py b/pkgs/clean-pkg/src/genie/libs/clean/recovery/recovery.py index 88e93005a..ee64dae4f 100644 --- a/pkgs/clean-pkg/src/genie/libs/clean/recovery/recovery.py +++ b/pkgs/clean-pkg/src/genie/libs/clean/recovery/recovery.py @@ -283,8 +283,8 @@ def recovery_processor( # check if device is in any known state log.info(f'Check device {device.name} has valid unicon state.') try: - if device.is_ha: - log.info('Device is HA! checking all the subconnetions.') + if hasattr(device, 'is_ha') and device.is_ha: + log.info('Device is HA! checking all the subconnections.') for index, connection in enumerate(device.subconnections,1): bring_to_any_state(connection, connection_timeout) log.info(f'subconnection {index} is in {connection.state_machine.current_state}') diff --git a/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/cat3k/stages.py b/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/cat3k/stages.py index de651d0db..d1ff7b27e 100644 --- a/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/cat3k/stages.py +++ b/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/cat3k/stages.py @@ -102,7 +102,7 @@ def install_image(self, steps, device, images, save_system_config=SAVE_SYSTEM_CO args=None, loop_continue=False, continue_timer=False), - Statement(pattern=r"FAILED:.* ", + Statement(pattern=r"FAILED:.*?$", action=None, loop_continue=False, continue_timer=False), @@ -111,7 +111,7 @@ def install_image(self, steps, device, images, save_system_config=SAVE_SYSTEM_CO try: device.reload('install add file {} activate commit'.format(images[0]), reply=install_add_one_shot_dialog, - append_error_pattern=['FAILED:.* '], + append_error_pattern=['FAILED:.*$'], timeout=install_timeout, device_recovery=False) except Exception as e: diff --git a/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/cat3k/tests/test_install_image.py b/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/cat3k/tests/test_install_image.py index 6d4b9fd5b..0dc92857f 100644 --- a/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/cat3k/tests/test_install_image.py +++ b/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/cat3k/tests/test_install_image.py @@ -112,6 +112,6 @@ def test_iosxe_install_image(self): cls.install_image(steps=steps, device=device, images=['sftp://server/image.bin']) device.reload.assert_has_calls([ - call('install add file sftp://server/image.bin activate commit', reply=ANY, timeout=500, append_error_pattern=['FAILED:.* '], device_recovery=False)]) + call('install add file sftp://server/image.bin activate commit', reply=ANY, timeout=500, append_error_pattern=['FAILED:.*$'], device_recovery=False)]) self.assertEqual(Passed, steps.details[0].result) \ No newline at end of file diff --git a/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/stages.py b/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/stages.py index 212846510..438d93c12 100644 --- a/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/stages.py +++ b/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/stages.py @@ -546,7 +546,7 @@ class InstallImage(BaseStage): feature of unicon. Defaults to True. error_pattern (list, optional): List of regex strings to check for errors. - Default: [r"FAILED:.* ",] + Default: [r"FAILED:.*?$",] : Any other arguments that the Unicon reload service supports @@ -570,7 +570,7 @@ class InstallImage(BaseStage): RELOAD_SERVICE_ARGS = { 'reload_creds': 'default', 'prompt_recovery': True, - 'error_pattern': [r"FAILED:.* ",], + 'error_pattern': [r"FAILED:.*?$",], } ISSU = False SKIP_BOOT_VARIABLE = False @@ -731,7 +731,7 @@ def install_image(self, steps, device, images, action='sendline(y)', loop_continue=True, continue_timer=False), - Statement(pattern=r"FAILED:.* ", + Statement(pattern=r"FAILED:.*?$", action=None, loop_continue=False, continue_timer=False), @@ -2160,7 +2160,7 @@ def connect(self, steps, device, via=VIA, alias=ALIAS, timeout=TIMEOUT, try: device.api.configure_rommon_tftp() except Exception as e: - step.failed(f'Failed to set rommon variables. {e}') + step.passx(f'Failed to set rommon variables. {e}') else: log.info("Successfully set the rommon variables") @@ -2172,7 +2172,7 @@ def connect(self, steps, device, via=VIA, alias=ALIAS, timeout=TIMEOUT, # Gets the recovery details from clean yaml device.api.device_rommon_boot() except Exception as e: - step.failed(f'Failed to boot device from rommon. {e}') + step.passx(f'Failed to boot device from rommon. {e}') else: log.info("Successfully booted the device from rommon.") diff --git a/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/tests/test_install_image.py b/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/tests/test_install_image.py index dacc41df8..84475db0c 100644 --- a/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/tests/test_install_image.py +++ b/pkgs/clean-pkg/src/genie/libs/clean/stages/iosxe/tests/test_install_image.py @@ -331,7 +331,7 @@ def test_iosxe_install_image_pass(self): device.reload.assert_has_calls([ call('install add file sftp://server/image.bin activate commit', reply=ANY, - reload_creds='default', prompt_recovery=True, error_pattern=['FAILED:.* '], + reload_creds='default', prompt_recovery=True, error_pattern=['FAILED:.*?$'], timeout=500, device_recovery=False) ]) self.assertEqual(Passed, steps.details[0].result) @@ -358,7 +358,7 @@ def test_iosxe_install_image_grub_boot_image(self): device.reload.assert_has_calls([ call('install add file sftp://server/image.bin activate commit', reply=ANY, - reload_creds='default', prompt_recovery=True, error_pattern=['FAILED:.* '], + reload_creds='default', prompt_recovery=True, error_pattern=['FAILED:.*?$'], grub_boot_image='packages.conf', device_recovery=False, timeout=500) ]) self.assertEqual(Passed, steps.details[0].result) diff --git a/pkgs/conf-pkg/changelog/2024/february.rst b/pkgs/conf-pkg/changelog/2024/february.rst new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/conf-pkg/src/genie/libs/conf/__init__.py b/pkgs/conf-pkg/src/genie/libs/conf/__init__.py index b7bfa8802..7948d47b6 100644 --- a/pkgs/conf-pkg/src/genie/libs/conf/__init__.py +++ b/pkgs/conf-pkg/src/genie/libs/conf/__init__.py @@ -12,7 +12,7 @@ ''' # metadata -__version__ = '24.1' +__version__ = '24.2' __author__ = 'Cisco Systems Inc.' __contact__ = ['pyats-support@cisco.com', 'pyats-support-ext@cisco.com'] __copyright__ = 'Copyright (c) 2018, Cisco Systems Inc.' diff --git a/pkgs/filetransferutils-pkg/changelog/2024/february.rst b/pkgs/filetransferutils-pkg/changelog/2024/february.rst new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/filetransferutils-pkg/src/genie/libs/filetransferutils/__init__.py b/pkgs/filetransferutils-pkg/src/genie/libs/filetransferutils/__init__.py index b06b29442..f2afe0bae 100644 --- a/pkgs/filetransferutils-pkg/src/genie/libs/filetransferutils/__init__.py +++ b/pkgs/filetransferutils-pkg/src/genie/libs/filetransferutils/__init__.py @@ -9,7 +9,7 @@ ''' -__version__ = '24.1' +__version__ = '24.2' __author__ = 'Cisco Systems Inc.' __contact__ = ['pyats-support@cisco.com', 'pyats-support-ext@cisco.com'] __copyright__ = 'Copyright (c) 2018, Cisco Systems Inc.' diff --git a/pkgs/health-pkg/changelog/2024/february.rst b/pkgs/health-pkg/changelog/2024/february.rst new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/health-pkg/src/genie/libs/health/__init__.py b/pkgs/health-pkg/src/genie/libs/health/__init__.py index 0d482d499..ab745bf00 100644 --- a/pkgs/health-pkg/src/genie/libs/health/__init__.py +++ b/pkgs/health-pkg/src/genie/libs/health/__init__.py @@ -8,7 +8,7 @@ ''' # metadata -__version__ = '24.1' +__version__ = '24.2' __author__ = 'Cisco Systems Inc.' __contact__ = ['asg-genie-support@cisco.com', 'pyats-support-ext@cisco.com'] __copyright__ = 'Copyright (c) 2020, Cisco Systems Inc.' diff --git a/pkgs/ops-pkg/changelog/2024/february.rst b/pkgs/ops-pkg/changelog/2024/february.rst new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/ops-pkg/src/genie/libs/ops/__init__.py b/pkgs/ops-pkg/src/genie/libs/ops/__init__.py index ed0cc1d25..21fcd090d 100644 --- a/pkgs/ops-pkg/src/genie/libs/ops/__init__.py +++ b/pkgs/ops-pkg/src/genie/libs/ops/__init__.py @@ -7,7 +7,7 @@ ''' # metadata -__version__ = '24.1' +__version__ = '24.2' __author__ = 'Cisco Systems Inc.' __contact__ = ['pyats-support@cisco.com', 'pyats-support-ext@cisco.com'] __copyright__ = 'Copyright (c) 2018, Cisco Systems Inc.' diff --git a/pkgs/robot-pkg/changelog/2024/february.rst b/pkgs/robot-pkg/changelog/2024/february.rst new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/robot-pkg/src/genie/libs/robot/__init__.py b/pkgs/robot-pkg/src/genie/libs/robot/__init__.py index 24e6c651e..1665933ab 100644 --- a/pkgs/robot-pkg/src/genie/libs/robot/__init__.py +++ b/pkgs/robot-pkg/src/genie/libs/robot/__init__.py @@ -8,7 +8,7 @@ ''' # metadata -__version__ = '24.1' +__version__ = '24.2' __author__ = 'Cisco Systems Inc.' __contact__ = ['pyats-support@cisco.com', 'pyats-support-ext@cisco.com'] __copyright__ = 'Copyright (c) 2018, Cisco Systems Inc.' diff --git a/pkgs/sdk-pkg/changelog/2024/february.rst b/pkgs/sdk-pkg/changelog/2024/february.rst new file mode 100644 index 000000000..e9edf82ea --- /dev/null +++ b/pkgs/sdk-pkg/changelog/2024/february.rst @@ -0,0 +1,77 @@ +-------------------------------------------------------------------------------- + New +-------------------------------------------------------------------------------- + +* iosxe + * Added unconfigure_policy_map_with_pps + * New API to unconfigure policy-map pps + * Added api test_configure_cdp_1 + * added api for validate show interface {interface} + * Added configure_ip_http_client_secure_trustpoint + * API to configure_ip_http_client_secure_trustpoint + * Added hw_module_filesystem_security_lock + * API to enable/disable filesystem's security-lock + * Added API verify_interface_capabilities_multiple_media_types + * Added API to verify the interface media type + * Added API verify_interfaces_transceiver_supported + * Added API to verify the transceivers supported in the device + * Updated `configure_management_gnmi` API to support secure server + * Modified `generate_rsa_ssl_key` API to support legacy 3des + * Modified `get_file_contents` API, added removal of carriage return option + * Modified `configure_pki_import`, added device key and root CA options + * Added new api `generate_pkcs12` to generate pkcs12 file. + * Added API unconfigure_ip_igmp_querier_query_interval + * Added API for unconfigure ip igmp querier query interval + * Added API unconfigure_ip_igmp_querier_max_response_time + * Added API for unconfigure ip igmp querier max response time + * Added API unconfigure_ip_igmp_querier_tcn_query_count + * Added API for unconfigure ip igmp querier tcn query count + * Added API unconfigure_ip_igmp_querier_tcn_query_interval + * Added API for unconfigure ip igmp querier tcn query interval + * Added API unconfigure_ip_igmp_querier_timer_expiry + * Added API for unconfigure ip igmp querier timer expiry + +* api utils + * Add + * check_and_wait decorator + +* makefile + * Added pyasyncore dependency to fix pysnmp script + + +-------------------------------------------------------------------------------- + Fix +-------------------------------------------------------------------------------- + +* linux + * Add api get_valid_ipv4_address + * added api to validate and return ipv4 address + * Add api get_ip_route_for_ipv4 + * added api to get the routing ip form routing table + * Modified get_snmp_snmpwalk + * Added timeout parameter to increase timeout of execute operation + +* iosxe/rommon + * configure + * Updated `configure_rommon_tftp` API to set TFTP_FILE as the rommon variable. + * utils + * Updated `device_rommon_boot` API with a an option to boot using TFTP_FILE. + +* iosxe + * Modified configure_sdm_prefer_custom_template + * added parameters custom_template, entried and priority + * Modified get_snmp_snmpwalk + * Added timeout parameter to increase timeout of execute operation + * `get_running_config_dict` API + * Added `output` parameter to pass the output of `show running-config` command. + + +-------------------------------------------------------------------------------- + Modify +-------------------------------------------------------------------------------- + +* iosxe + * Modified configure_virtual_template + * modified api to configure ipv6_pool_name + + diff --git a/pkgs/sdk-pkg/changelog/changelog_fix_cheetah_ap_execute_archive_download_20240125121356.rst b/pkgs/sdk-pkg/changelog/changelog_fix_cheetah_ap_execute_archive_download_20240125121356.rst new file mode 100644 index 000000000..13100fbb7 --- /dev/null +++ b/pkgs/sdk-pkg/changelog/changelog_fix_cheetah_ap_execute_archive_download_20240125121356.rst @@ -0,0 +1,6 @@ +-------------------------------------------------------------------------------- + Fix +-------------------------------------------------------------------------------- +* CHEETAH + * Modified execute_archive_download: + * Changed if-else logic to make api generic \ No newline at end of file diff --git a/pkgs/sdk-pkg/changelog/changelog_fix_iosxe_get_boot_variables_20241535.rst b/pkgs/sdk-pkg/changelog/changelog_fix_iosxe_get_boot_variables_20241535.rst new file mode 100644 index 000000000..d6b06dd13 --- /dev/null +++ b/pkgs/sdk-pkg/changelog/changelog_fix_iosxe_get_boot_variables_20241535.rst @@ -0,0 +1,5 @@ +-------------------------------------------------------------------------------- + Fix +-------------------------------------------------------------------------------- +* IOSXE + * Updated get_boot_variables diff --git a/pkgs/sdk-pkg/changelog/changelog_fix_iosxe_sisf_get_ip_theft_syslogs_20240205194641.rst b/pkgs/sdk-pkg/changelog/changelog_fix_iosxe_sisf_get_ip_theft_syslogs_20240205194641.rst new file mode 100644 index 000000000..55a61539f --- /dev/null +++ b/pkgs/sdk-pkg/changelog/changelog_fix_iosxe_sisf_get_ip_theft_syslogs_20240205194641.rst @@ -0,0 +1,5 @@ +-------------------------------------------------------------------------------- + Fix +-------------------------------------------------------------------------------- +* IOSXE + * Updated regex to consider interface shorthand without the "/" character diff --git a/pkgs/sdk-pkg/sdk_generator/output/github_apis.json b/pkgs/sdk-pkg/sdk_generator/output/github_apis.json index 0adaff2ee..a27545bcc 100644 --- a/pkgs/sdk-pkg/sdk_generator/output/github_apis.json +++ b/pkgs/sdk-pkg/sdk_generator/output/github_apis.json @@ -32,7 +32,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "analyze_rate", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L590" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L591" } }, "analyze_udp_in_mpls_packets": { @@ -77,7 +77,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "arithmetic_operations", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3943" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3944" } }, "assign_default_ipv4_sgacl": { @@ -176,7 +176,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "bits_to_netmask", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L836" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L837" } }, "cdets_lookup": { @@ -228,7 +228,7 @@ "module_name": "pki.configure", "package": "genie.libs.sdk.apis", "uid": "change_pki_server_state", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/pki/configure.py#L877" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/pki/configure.py#L883" } }, "change_power_cycler_state": { @@ -240,6 +240,15 @@ "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/execute.py#L158" } }, + "check_and_wait": { + "com": { + "doc": "A decorator to check the return value of a function\n and wait until it matches the expected value or timeout.\n Args:\n expect(`bool`): True or False\n max_time(`int`): Maximum time to keep checking. seconds\n poll_time(`int`): How often to check. seconds\n ", + "module_name": "utils", + "package": "genie.libs.sdk.apis", + "uid": "check_and_wait", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4434" + } + }, "check_if_device_in_testbed_yaml": { "nxos": { "doc": " Check if the given device name is part of the devices yaml file\n\n Args:\n device_name ('str'): Name of the device to be found as a string\n yaml_file ('str'): Name(path) of the yaml file where the device\n is to be found as a string\n Return value:\n Boolean. True, if found. False, if error/not found\n\n ", @@ -404,11 +413,11 @@ }, "clear_controllers_ethernet_controller": { "iosxe": { - "doc": " API to clear controllers ethernet-controller\n Args:\n device ('obj'): Device object\n interface ('str', Optional): Interface name to clear controllers\n Returns:\n None\n Raises:\n SubCommandFailure\n ", - "module_name": "controllers.clear", + "doc": " clear controllers ethernet-controller\n Args:\n device ('obj'): device to execute on\n Return:\n None\n Raises:\n SubCommandFailure\n ", + "module_name": "platform.utils", "package": "genie.libs.sdk.apis", "uid": "clear_controllers_ethernet_controller", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/controllers/clear.py#L7" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/platform/utils.py#L505" } }, "clear_counters": { @@ -1365,7 +1374,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "compare_config_dicts", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L242" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L243" } }, "compare_metric_of_route": { @@ -1383,7 +1392,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "compared_with_running_config", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1544" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1545" } }, "concurrent_ssh_sessions": { @@ -1401,7 +1410,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "confgiure_port_channel_min_link", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5853" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5857" } }, "config_access_session_accnt_attr_filter_spec_include_list": { @@ -1653,7 +1662,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "config_interface_prpchannel", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9497" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9501" } }, "config_interface_ripng": { @@ -1689,7 +1698,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "config_ip_domain_lookup", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8428" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8432" } }, "config_ip_multicast_routing_vrf_distributed": { @@ -1788,7 +1797,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "config_link_local_ip_on_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7336" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7340" } }, "config_load_interval_on_interface": { @@ -1797,7 +1806,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "config_load_interval_on_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8083" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8087" } }, "config_mac_aging_time": { @@ -2470,7 +2479,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_access_session_port_control", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5301" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5305" } }, "configure_access_session_single_policy_interface": { @@ -3926,7 +3935,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_console_default_privilege_level", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8719" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8723" } }, "configure_control_plane_control_plane_policy": { @@ -4088,16 +4097,16 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_crypto_map_on_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5126" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5130" } }, "configure_crypto_pki_server": { "iosxe": { - "doc": "Configures crypto pki server on device\n\n Args:\n device (`obj`): Device object\n domain_name ('str'): Name of the domain to be configured\n database_level ('str'): Database level to be configured\n issuer_name ('str'): Issuer name to be configured\n hash ('str'): Hash to be configured\n modulus_size ('str'): Modulus size to be configured\n Password ('str'): Password to be configured\n server_name ('str'): Name of the server to be configured\n\n Returns:\n None\n\n Raise:\n SubCommandFailure: Failed to configure crypto pki server on device\n ", - "module_name": "eaptls.configure", + "doc": " \n Configure crypto pki server\n Args:\n device ('obj'): Device object\n server_name ('str'): Name for the pki server\n auto_rollover_time('str'): Auto rollover time \n cdp_url_server ('str') : cdp url server (http | ldap)\n cdp_url_ip_path ('str') : cdp url ip path \n database_archive_type ('str') : Database archive type either pem or pkcs12\n archive_password ('str') : Database archive password\n archive_encryption_type ('int') : Database archive encryption type (0-9)\n database_level ('str') : Database level (complete|minimum|names)\n database_url_server ('str') : Database server (http | ldap) \n database_ip_path ('str') : Exact path for database file\n database_url_storage_location ('str') : Database url storage location (cnm|crl|crt etc.)\n database_url_publish ('bool') : Database url publish option for cnm, crl,crt\n database_user ('str') : Database username\n eku_options ('str') : eku options that needs to be configured (1 or more)\n grant_mode ('str') : Grant request mode (auto | none | ra-auto)\n grant_rollover_cert ('str') : Grant auto rollover certificate (ca-cert | ra-cert)\n grant_tp_list ('str') : grant trustpoints (upto 5 trustpoints)\n grant_trustpoint ('str') : Label of trustpoint holding trusted CA cert\n hash_type ('str') : Hash algorithm type (md5, sha1, sha256, sha384, sha512)\n issuer_name ('str') : Issuer name to be configured\n ca_cert_life ('str') : Ca certificate lifetime in format or \n cert_life ('str') : Certificate lifetime in format or \n crl_life ('str') : crl lifetime in format or \n enrol_req_life ('str') : enrollment request lifetime in format or \n mode ('str') : Modes (ra|sub-cs)\n mode_ra_transparent ('bool') : True if want to enable transparent in ra mode\n serial_number ('str') : serial number of last issued ceritificate \n enrollment_ip ('str') : Ip address for CA server enrollment URL\n enrollment_path ('str') : Path for CA server enrollment URL\n revoke_chk ('str') : Type of revocation check (none|crl|ocsp)\n key_len ('int') : Key length for RSA keypair \n port ('int') : Port number for CA server enrollment\n Returns:\n True/False\n ", + "module_name": "pki.configure", "package": "genie.libs.sdk.apis", "uid": "configure_crypto_pki_server", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/eaptls/configure.py#L159" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/pki/configure.py#L13" } }, "configure_crypto_transform_set": { @@ -4313,7 +4322,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "configure_device", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L763" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L764" } }, "configure_device_classifier": { @@ -4583,7 +4592,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_dialer_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8933" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8937" } }, "configure_disable_aes_encryption": { @@ -4691,7 +4700,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_downlink_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4541" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4545" } }, "configure_dscp_global": { @@ -4808,7 +4817,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_egress_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4621" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4625" } }, "configure_eigrp_named_networks": { @@ -4988,7 +4997,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_eui_64_over_ipv6_enabled_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6757" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6761" } }, "configure_event_manager": { @@ -5393,7 +5402,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_glbp_details_on_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9323" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9327" } }, "configure_global_dual_active_recovery_reload_disable": { @@ -5411,7 +5420,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_global_interface_template_sticky", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9018" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9022" } }, "configure_global_stackwise_virtual": { @@ -5474,7 +5483,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_hsrp_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5021" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5025" } }, "configure_hsrp_version_on_interface": { @@ -5483,7 +5492,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_hsrp_version_on_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7135" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7139" } }, "configure_hw_module_breakout": { @@ -5735,7 +5744,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_auth_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6613" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6617" } }, "configure_interface_auth_vlan_no_resp": { @@ -5744,7 +5753,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_auth_vlan_no_resp", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6692" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6696" } }, "configure_interface_authentication_violation": { @@ -5753,7 +5762,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_authentication_violation", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8391" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8395" } }, "configure_interface_bandwidth": { @@ -5762,7 +5771,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_bandwidth", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8306" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8310" } }, "configure_interface_channel_group_auto_lacp": { @@ -5771,7 +5780,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_channel_group_auto_lacp", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5898" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5902" } }, "configure_interface_default_snmp": { @@ -5789,7 +5798,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_default_snmp_trap_mac_notification_change", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7612" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7616" } }, "configure_interface_description": { @@ -5816,7 +5825,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_dot1x_eap_profile", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6510" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6514" } }, "configure_interface_dot1x_max_reauth_req": { @@ -5825,7 +5834,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_dot1x_max_reauth_req", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6422" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6426" } }, "configure_interface_dot1x_max_req": { @@ -5834,7 +5843,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_dot1x_max_req", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6354" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6358" } }, "configure_interface_dot1x_timeout_txp": { @@ -5843,7 +5852,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_dot1x_timeout_txp", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6287" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6291" } }, "configure_interface_duplex": { @@ -5852,7 +5861,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_duplex", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5499" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5503" } }, "configure_interface_eigrp_v6": { @@ -5879,7 +5888,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_flow_control", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7640" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7644" } }, "configure_interface_for_authentication": { @@ -5915,7 +5924,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_inherit_disable", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6064" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6068" } }, "configure_interface_interfaces_on_port_channel": { @@ -5951,7 +5960,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_ip_nbar", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9439" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9443" } }, "configure_interface_ip_tcp_adjust_mss": { @@ -5960,7 +5969,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_ip_tcp_adjust_mss", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7188" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7192" } }, "configure_interface_ip_verify_source": { @@ -5969,7 +5978,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_ip_verify_source", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8043" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8047" } }, "configure_interface_ip_verify_unicast_notification": { @@ -5978,7 +5987,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_ip_verify_unicast_notification", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6863" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6867" } }, "configure_interface_ip_verify_unicast_reversepath": { @@ -5987,7 +5996,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_ip_verify_unicast_reversepath", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6833" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6837" } }, "configure_interface_ip_verify_unicast_source": { @@ -5996,7 +6005,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_ip_verify_unicast_source", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6557" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6561" } }, "configure_interface_ip_wccp": { @@ -6005,7 +6014,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_ip_wccp", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8625" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8629" } }, "configure_interface_ipv6_acl": { @@ -6032,7 +6041,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_ipv6_tcp_adjust_mss", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7228" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7232" } }, "configure_interface_ipv6_verify_unicast_reversepath": { @@ -6041,7 +6050,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_ipv6_verify_unicast_reversepath", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6889" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6893" } }, "configure_interface_ipv6_verify_unicast_source": { @@ -6050,7 +6059,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_ipv6_verify_unicast_source", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6659" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6663" } }, "configure_interface_isis_network": { @@ -6068,7 +6077,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_keepalive", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8204" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8208" } }, "configure_interface_l2protocol_tunnel": { @@ -6077,7 +6086,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_l2protocol_tunnel", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8230" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8234" } }, "configure_interface_l3_port_channel": { @@ -6095,7 +6104,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_lacp_fast_switchover", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7444" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7448" } }, "configure_interface_lacp_max_bundle": { @@ -6104,7 +6113,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_lacp_max_bundle", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7501" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7505" } }, "configure_interface_logging_event": { @@ -6113,7 +6122,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_logging_event", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6964" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6968" } }, "configure_interface_mac_address": { @@ -6140,7 +6149,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_macro_auto_port_sticky", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5966" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5970" } }, "configure_interface_monitor_session": { @@ -6176,7 +6185,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_monitor_session_shutdown", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7729" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7733" } }, "configure_interface_monitor_session_shutdown_erspan_dest": { @@ -6212,7 +6221,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_no_switchport_voice_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8994" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8998" } }, "configure_interface_ospfv3": { @@ -6302,7 +6311,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_pvlan_mapping", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9214" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9218" } }, "configure_interface_pvlan_mode_with_submode": { @@ -6329,7 +6338,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_range_no_switchport", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9583" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9587" } }, "configure_interface_reg_segment": { @@ -6356,7 +6365,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_service_policy", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4720" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4724" } }, "configure_interface_snmp_trap_mac_notification_change": { @@ -6365,7 +6374,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_snmp_trap_mac_notification_change", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7556" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7560" } }, "configure_interface_span_cost": { @@ -6374,7 +6383,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_span_cost", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6446" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6450" } }, "configure_interface_span_portfast": { @@ -6392,7 +6401,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_span_vlan_priority", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6333" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6337" } }, "configure_interface_speed": { @@ -6401,7 +6410,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_speed", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5443" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5447" } }, "configure_interface_split_horizon_eigrp": { @@ -6437,7 +6446,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_switchport", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7817" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7821" } }, "configure_interface_switchport_access_vlan": { @@ -6455,7 +6464,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_switchport_block_address", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6918" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6922" } }, "configure_interface_switchport_dot1q_ethertype": { @@ -6464,7 +6473,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_switchport_dot1q_ethertype", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7078" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7082" } }, "configure_interface_switchport_mode": { @@ -6482,7 +6491,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_switchport_port_security_violation", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6235" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6239" } }, "configure_interface_switchport_pvlan_and_native_vlan": { @@ -6563,7 +6572,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_template_sticky", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6006" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6010" } }, "configure_interface_template_with_default_device_tracking_policy": { @@ -6653,7 +6662,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_interface_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9561" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9565" } }, "configure_interface_vlan_priority": { @@ -6983,7 +6992,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ip_dlep", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7837" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7841" } }, "configure_ip_domain_lookup": { @@ -7049,6 +7058,15 @@ "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/platform_licensing/configure.py#L182" } }, + "configure_ip_http_client_secure_trustpoint": { + "iosxe": { + "doc": " Configures the secure trustpoint\n Example : ip http client secure-trustpoint {trustpoint_name}\n\n Args:\n device ('obj'): device to use\n license ('str): secure-trustpoint\n\n Returns:\n None\n\n Raises:\n SubCommandFailure\n ", + "module_name": "platform.configure", + "package": "genie.libs.sdk.apis", + "uid": "configure_ip_http_client_secure_trustpoint", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/platform/configure.py#L5598" + } + }, "configure_ip_http_client_source_interface": { "iosxe": { "doc": " Configure ip http client source-interface\n Args:\n device ('obj'): device to use\n interface_id ('str'): vlan id\n Returns\n None\n Raises:\n SubCommandFailure\n ", @@ -7100,7 +7118,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ip_igmp_join_group", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5589" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5593" } }, "configure_ip_igmp_join_group_source": { @@ -7271,7 +7289,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ip_igmp_static_group", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5530" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5534" } }, "configure_ip_local_pool": { @@ -7321,11 +7339,11 @@ }, "configure_ip_multicast_routing_distributed": { "iosxe": { - "doc": " configure ip multicast routing on device\n Args:\n device (`obj`): Device object\n Returns:\n None\n ", - "module_name": "mcast.configure", + "doc": "Configure IP multicast routing\n Args:\n device (`obj`): Device object\n no_spd (): If True, turn off selective packet discard. Default False.\n punt_limit (`str` or `int`): Punt limit. Acceptable values are:\n integer (packets per second)\n default\n disable\n Return:\n None\n Raise:\n SubCommandFailure: Failure while configuring\n ", + "module_name": "multicast.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ip_multicast_routing_distributed", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/mcast/configure.py#L48" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/multicast/configure.py#L450" } }, "configure_ip_multicast_vrf_routing": { @@ -7361,7 +7379,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ip_on_atm_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9648" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9652" } }, "configure_ip_on_tunnel_interface": { @@ -7559,7 +7577,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ip_ssh_version", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L908" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L912" } }, "configure_ip_subnet_to_sgt_mapping_vrf": { @@ -7595,7 +7613,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ip_unnumbered_on_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5328" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5332" } }, "configure_ip_vrf_forwarding_interface": { @@ -7694,7 +7712,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ipv4_dhcp_relay_helper_vrf", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5638" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5642" } }, "configure_ipv4_object_group_network": { @@ -7802,7 +7820,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ipv6_address_config", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8814" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8818" } }, "configure_ipv6_address_on_hsrp_interface": { @@ -7811,7 +7829,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ipv6_address_on_hsrp_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7155" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7159" } }, "configure_ipv6_destination_guard_attach_policy": { @@ -7847,7 +7865,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ipv6_dhcp_client_pd_on_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8017" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8021" } }, "configure_ipv6_dhcp_client_vendor_class": { @@ -7946,7 +7964,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ipv6_enable", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4487" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4491" } }, "configure_ipv6_flow_monitor": { @@ -8090,7 +8108,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ipv6_mld_static_group", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5561" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5565" } }, "configure_ipv6_mld_vlan": { @@ -8117,7 +8135,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ipv6_mtu", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5077" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5081" } }, "configure_ipv6_multicast_routing": { @@ -8144,7 +8162,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ipv6_nd_dad_processing", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6795" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6799" } }, "configure_ipv6_nd_raguard_on_interface": { @@ -8171,7 +8189,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ipv6_nd_suppress_ra", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8739" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8743" } }, "configure_ipv6_object_group_network": { @@ -8270,7 +8288,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_ipv6_prefix_name_on_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7996" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8000" } }, "configure_ipv6_raguard_policy": { @@ -8799,7 +8817,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_line_vty_needs_enhancement", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L946" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L950" } }, "configure_lineconsole_exectimeout": { @@ -9113,11 +9131,11 @@ }, "configure_mac_address_table_notification_change": { "iosxe": { - "doc": " Config mac-address-table notification change on Device\n Args:\n device (`obj`): Device object\n \n Return:\n None\n Raise:\n SubCommandFailure: Failed configuring flow monitor\n ", - "module_name": "c960.configure", + "doc": "Configure mac-address-table notification change on this device\n Args:\n device ('obj'): Device object\n change_option ('str',optional): change option history-size/interval\n size ('int',optional): Number of MAC notifications to be stored\n interval ('int',optional): Interval between the MAC notifications\n Returns:\n None\n Raises:\n SubCommandFailure\n ", + "module_name": "mac.configure", "package": "genie.libs.sdk.apis", "uid": "configure_mac_address_table_notification_change", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/c960/configure.py#L111" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/mac/configure.py#L265" } }, "configure_mac_address_table_static": { @@ -9198,7 +9216,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_management", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L679" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L683" } }, "configure_management_credentials": { @@ -9207,7 +9225,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_management_credentials", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L12" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L16" } }, "configure_management_gateway": { @@ -9216,16 +9234,16 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_management_gateway", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L238" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L242" } }, "configure_management_gnmi": { "iosxe": { - "doc": "\n Configure device for management via gnmi.\n\n Args:\n device ('obj'): device object\n enable ('bool', optional): Enable and start GNxI. Default is True.\n server ('bool', optional): Enable the GNxI (insecure) server. Default is True.\n port ('int', optional): gnxi (insecure) server port. Default is None.\n Returns:\n None\n ", + "doc": "\n Configure device for management via gnmi.\n\n When secure_server is True, this API will generate keys and certificates using openssl\n for use on the device and by the gNMI connection class. It will install\n the key and certificates on the device and update the gnmi connection with\n the paths to the files generated.\n\n Args:\n device ('obj'): device object\n enable ('bool', optional): Enable and start GNxI. Default is True.\n server ('bool', optional): Enable the GNxI (insecure) server. Default is True.\n port ('int', optional): gnxi (insecure) server port. Default is None.\n secure_server ('bool', optional): Enable the GNxI secure server. Default to False.\n secure_client_auth ('bool', optional): Enable client authentication. Default to False.\n secure_trustpoint ('str', optional): Set GNxI server certificate trustpoint. Default to 'trustpoint1'.\n password ('str', optional): rsa_ssl key generation password Default is ''.\n aes ('bool', optional): Use AES encryption if True, else use 3DES. Default to True.\n rsa_key_size ('int', optional): rsa_key_size value to be used for rsakeypair generation. Default to 2048.\n local_path ('str', optional): Device path where pkcs12 file will be copied. Default to flash:/.\n Returns:\n None\n ", "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_management_gnmi", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L990" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L993" } }, "configure_management_http": { @@ -9234,7 +9252,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_management_http", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L462" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L466" } }, "configure_management_ip": { @@ -9243,7 +9261,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_management_ip", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L92" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L96" } }, "configure_management_netconf": { @@ -9252,7 +9270,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_management_netconf", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L606" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L610" } }, "configure_management_ntp": { @@ -9261,7 +9279,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_management_ntp", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L432" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L436" } }, "configure_management_protocols": { @@ -9270,7 +9288,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_management_protocols", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L634" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L638" } }, "configure_management_routes": { @@ -9279,7 +9297,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_management_routes", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L333" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L337" } }, "configure_management_ssh": { @@ -9288,7 +9306,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_management_ssh", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L489" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L493" } }, "configure_management_telnet": { @@ -9297,7 +9315,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_management_telnet", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L530" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L534" } }, "configure_management_tftp": { @@ -9306,7 +9324,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_management_tftp", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L406" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L410" } }, "configure_management_vrf": { @@ -9315,7 +9333,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_management_vrf", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L46" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L50" } }, "configure_management_vty_lines": { @@ -9324,7 +9342,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_management_vty_lines", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L554" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L558" } }, "configure_masked_unmasked_credentials": { @@ -9450,7 +9468,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_mdns_on_interface_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5199" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5203" } }, "configure_mdns_query_response_mode": { @@ -9848,7 +9866,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_monitor_erspan_source_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8342" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8346" } }, "configure_mpls_label_mode": { @@ -9983,7 +10001,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_mtc", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L783" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L787" } }, "configure_multicast_routing_mvpn_vrf": { @@ -10190,7 +10208,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "configure_netconf_yang_intelligent_sync", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L876" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L880" } }, "configure_network_policy_profile_voice_vlan": { @@ -10722,7 +10740,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_physical_interface_vmi", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7918" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7922" } }, "configure_pim_register_source": { @@ -10754,11 +10772,11 @@ }, "configure_pki_authenticate_certificate": { "iosxe": { - "doc": " Pastes certificate on device\n\n Args:\n device (`obj`): Device object\n certificate ('str'): Certificate to be pasted\n label_name ('str'): Label name\n\n Returns:\n None\n\n Raise:\n SubCommandFailure: Failed to paste certificate on device\n ", - "module_name": "eaptls.configure", + "doc": " Pastes certificate on device\n Args:\n device (`obj`): Device object\n certificate ('str'): Certificate to be pasted\n label_name ('str'): Label name\n Returns:\n None\n Raise:\n SubCommandFailure: Failed to paste certificate on device\n ", + "module_name": "pki.configure", "package": "genie.libs.sdk.apis", "uid": "configure_pki_authenticate_certificate", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/eaptls/configure.py#L38" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/pki/configure.py#L913" } }, "configure_pki_enroll": { @@ -10785,7 +10803,7 @@ "module_name": "pki.configure", "package": "genie.libs.sdk.apis", "uid": "configure_pki_export", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/pki/configure.py#L791" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/pki/configure.py#L797" } }, "configure_pki_export_pem": { @@ -10963,7 +10981,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_port_channel_lacp_max_bundle", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5387" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5391" } }, "configure_port_channel_mode": { @@ -10990,7 +11008,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_port_channel_standalone_disable", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4892" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4896" } }, "configure_port_sgt": { @@ -11008,7 +11026,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_portchannel_dpi_algorithm", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8573" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8577" } }, "configure_power_efficient_ethernet_auto": { @@ -11017,7 +11035,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_power_efficient_ethernet_auto", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7709" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7713" } }, "configure_power_inline": { @@ -11026,7 +11044,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_power_inline", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5762" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5766" } }, "configure_power_inline_auto_max": { @@ -11044,7 +11062,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_pppoe_enable_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4956" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4960" } }, "configure_prefix_list_prefix_list": { @@ -11071,7 +11089,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_print_timestamp_for_show_command", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8700" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8704" } }, "configure_private_vlan_on_vlan": { @@ -11809,7 +11827,7 @@ "module_name": "custom_template.configure", "package": "genie.libs.sdk.apis", "uid": "configure_sdm_prefer", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/custom_template/configure.py#L70" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/custom_template/configure.py#L75" } }, "configure_sdm_prefer_core": { @@ -11818,7 +11836,7 @@ "module_name": "custom_template.configure", "package": "genie.libs.sdk.apis", "uid": "configure_sdm_prefer_core", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/custom_template/configure.py#L53" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/custom_template/configure.py#L58" } }, "configure_sdm_prefer_custom_fib": { @@ -11827,12 +11845,12 @@ "module_name": "custom_template.configure", "package": "genie.libs.sdk.apis", "uid": "configure_sdm_prefer_custom_fib", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/custom_template/configure.py#L28" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/custom_template/configure.py#L33" } }, "configure_sdm_prefer_custom_template": { "iosxe": { - "doc": " Configure SDM Prefer Custom Template\n Args:\n device ('obj'): device to use\n attribute ('str'): sdm prefer custom template value (Ex : commit, vlan)\n\n Returns:\n None\n Raises:\n SubCommandFailure: Failed to configure SDM Prefer Custom Template\n ", + "doc": " Configure SDM Prefer Custom Template\n Args:\n device ('obj'): device to use\n attribute ('str'): sdm prefer custom template value (Ex : commit, vlan)\n custom_template ('str'): sdm prefer custom template value (Ex : pbr)\n entries('int'): number of entries\n priority('int'): priority number\n Returns:\n None\n Raises:\n SubCommandFailure: Failed to configure SDM Prefer Custom Template\n ", "module_name": "custom_template.configure", "package": "genie.libs.sdk.apis", "uid": "configure_sdm_prefer_custom_template", @@ -11908,7 +11926,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_service_instance", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9361" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9365" } }, "configure_service_internal": { @@ -11958,11 +11976,11 @@ }, "configure_service_private_config_encryption": { "iosxe": { - "doc": " \n service private-config-encryption\n Args:\n device ('obj'): Device object\n Returns:\n None\n Raises:\n SubCommandFailure exception\n ", - "module_name": "csdl.configure", + "doc": " service private-config-encryption\n Args:\n device (`obj`): Device object\n Returns:\n None\n Raises:\n SubCommandFailure : Failed configuring device\n ", + "module_name": "sudi.configure", "package": "genie.libs.sdk.apis", "uid": "configure_service_private_config_encryption", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/csdl/configure.py#L33" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/sudi/configure.py#L42" } }, "configure_service_template": { @@ -12304,7 +12322,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_span_monitor_session", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4846" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4850" } }, "configure_spanning_tree": { @@ -12759,11 +12777,11 @@ }, "configure_switch_provision": { "iosxe": { - "doc": " Configures switch provisioning / offline configuration\n Example : switch 3 provision c9300-24h\n\n Args:\n device ('obj'): device to use\n switch_number('int'): switch number (Range 1-16)\n sku_type('str'): type of switch\n\n Returns:\n None\n\n Raises: \n SubCommandFailure\n ", - "module_name": "offline_provisioning.configure", + "doc": " Configure switch provision for switch\n Args:\n device ('obj'): Device object\n switch_number('int'): switch number\n model ('str'): switch model\n Raises:\n SubCommandFailure\n ", + "module_name": "platform.configure", "package": "genie.libs.sdk.apis", "uid": "configure_switch_provision", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/offline_provisioning/configure.py#L11" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/platform/configure.py#L554" } }, "configure_switch_provision_model": { @@ -12781,7 +12799,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_switchport_mode_trunk_snooping_trust", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4594" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4598" } }, "configure_switchport_nonegotiate": { @@ -12835,7 +12853,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_switchport_protected", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8162" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8166" } }, "configure_switchport_pvlan_trunk_allowed_vlan": { @@ -12844,7 +12862,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_switchport_pvlan_trunk_allowed_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9124" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9128" } }, "configure_switchport_pvlan_trunk_native_vlan": { @@ -12853,7 +12871,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_switchport_pvlan_trunk_native_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9170" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9174" } }, "configure_switchport_trunk": { @@ -12871,7 +12889,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_switchport_trunk_allowed_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5359" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5363" } }, "configure_switchport_trunk_allowed_vlan_except": { @@ -12898,7 +12916,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_switchport_trunk_native_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4569" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4573" } }, "configure_switchport_trunk_pruning_vlan": { @@ -12925,7 +12943,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_switchport_trunk_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4746" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4750" } }, "configure_switchport_trunk_vlan_with_speed_and_duplex": { @@ -12934,7 +12952,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_switchport_trunk_vlan_with_speed_and_duplex", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4772" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4776" } }, "configure_switchport_vlan_mapping": { @@ -13277,11 +13295,11 @@ }, "configure_udld_message_time": { "iosxe": { - "doc": " Configures udld message time\n Example : udld message time 30\n Args:\n device ('obj'): device to use\n time ('int'): Time in seconds between sending of messages in steady state\n Returns:\n None\n Raises:\n SubCommandFailure\n ", - "module_name": "platform.configure", + "doc": " Configures UDLD Message Time on Target Device globally \n Args:\n device ('obj') : device to use\n message_time ('int') : Time in seconds between sending of messages 1-90\n Returns:\n None\n Raises:\n SubCommandFailure\n ", + "module_name": "udld.configure", "package": "genie.libs.sdk.apis", "uid": "configure_udld_message_time", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/platform/configure.py#L2491" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/udld/configure.py#L95" } }, "configure_udld_port_aggressive": { @@ -13335,7 +13353,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_uplink_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4510" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4514" } }, "configure_username": { @@ -13362,7 +13380,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_vfi", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4803" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4807" } }, "configure_vfi_context_evpn": { @@ -13394,7 +13412,7 @@ }, "configure_virtual_template": { "iosxe": { - "doc": " Configure virtual-template interface\n\n Args:\n device (`obj`): Device object\n virtual_template_number ('int') : virtual template number\n unnumbered_interface (`str`): Interface name\n auth('bool', optional): check for authentication\n authentication ('str', optional) : PAP, CHAP\n mtu ('str', optional) : mtu value\n mss:('bool', optional): check for mss config\n mss_size('int', optional): Maximum segment size\n load_delay('bool', optional):load_delay check\n load_delay_interval('int', optional): load delay\n no_ip_redirects('bool', optional): no ip redirects option\n no_peer_ip('bool', optional): no peer ip default option\n pool_name('string', optional): peer default ip address pool \n For the arguments that are optional, the default value is None.\n\n Returns:\n None\n Raises:\n SubCommandFailure\n ", + "doc": " Configure virtual-template interface\n\n Args:\n device (`obj`): Device object\n virtual_template_number ('int') : virtual template number\n unnumbered_interface (`str`): Interface name\n auth('bool', optional): check for authentication\n authentication ('str', optional) : PAP, CHAP\n mtu ('str', optional) : mtu value\n mss:('bool', optional): check for mss config\n mss_size('int', optional): Maximum segment size\n load_delay('bool', optional):load_delay check\n load_delay_interval('int', optional): load delay\n no_ip_redirects('bool', optional): no ip redirects option\n no_peer_ip('bool', optional): no peer ip default option\n pool_name('string', optional): peer default ip address pool \n ipv6_pool_name('string', optional): peer default ipv6 pool \n For the arguments that are optional, the default value is None.\n\n Returns:\n None\n Raises:\n SubCommandFailure\n ", "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_virtual_template", @@ -13569,7 +13587,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_vrf_select_source", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5703" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5707" } }, "configure_vrrp_interface": { @@ -13587,7 +13605,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_vrrp_on_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7306" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7310" } }, "configure_vrrp_version_on_device": { @@ -13596,7 +13614,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "configure_vrrp_version_on_device", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7291" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7295" } }, "configure_vtp_domain": { @@ -13686,7 +13704,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "convert_server_to_linux_device", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1490" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1491" } }, "copy_config_from_tftp_to_media": { @@ -13722,7 +13740,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "copy_file_from_tftp_ftp", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L446" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L447" } }, "copy_file_to_running_config": { @@ -13772,7 +13790,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "copy_from_device", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1030" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1031" }, "nxos": { "aci": { @@ -13799,7 +13817,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "copy_pcap_file", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L263" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L264" } }, "copy_running_config_to_flash_memory": { @@ -13860,7 +13878,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "copy_to_device", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L852" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L853" }, "iosxr": { "doc": "\n Copy file from linux server to the device.\n\n Args:\n device (Device): Device object\n remote_path (str): remote file path on the server\n local_path (str): local file path to copy to on the device (default: harddisk:)\n server (str): hostname or address of the server (default: None)\n protocol(str): file transfer protocol to be used (default: http)\n vrf (str): vrf to use (optional)\n timeout(int): timeout value in seconds, default 300\n compact(bool): compress image option for n9k, defaults False\n fu(obj): FileUtils object to use instead of creating one. Defaults to None.\n use_kstack(bool): Use faster version of copy, defaults False\n Not supported with a file transfer protocol\n prompting for a username and password\n http_auth (bool): Use http authentication (default: True)\n\n Returns:\n None\n\n If the server is not specified, a HTTP server will be spawned\n on the local system and serve the directory of the file\n specified via remote_path and the copy operation will use http.\n\n If the device is connected via CLI proxy (unix jump host) and the proxy has\n 'socat' installed, the transfer will be done via the proxy automatically.\n ", @@ -13885,7 +13903,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "copy_to_server", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L376" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L377" } }, "create_dhcp_pool": { @@ -14117,7 +14135,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "delete_file_on_server", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1388" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1389" } }, "delete_files": { @@ -14224,7 +14242,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "destroy_connection", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L752" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L753" } }, "detach_dhcpv6_guard_policy_to_interface": { @@ -14287,7 +14305,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "device_recovery_boot", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4306" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4307" } }, "device_rommon_boot": { @@ -14332,7 +14350,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "diff_configuration", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1561" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1562" } }, "disable_aaa_authentication_login": { @@ -14359,7 +14377,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "disable_autostate_on_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5277" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5281" } }, "disable_bfd_on_isis_ipv6_address": { @@ -14638,7 +14656,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "disable_switchport_trunk_on_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9302" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9306" } }, "disable_system_integrity": { @@ -14674,7 +14692,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "dynamic_diff_create_running_config", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1631" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1632" } }, "dynamic_diff_parameterized_running_config": { @@ -14683,7 +14701,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "dynamic_diff_parameterized_running_config", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1583" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1584" } }, "enable_aaa_authentication_login": { @@ -15101,7 +15119,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "enable_switchport_protected_on_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9604" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9608" } }, "enable_switchport_trunk_on_interface": { @@ -15110,7 +15128,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "enable_switchport_trunk_on_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5253" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5257" } }, "enable_system_integrity": { @@ -15155,7 +15173,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "escape_ansi", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L174" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L175" } }, "exclude_ip_dhcp": { @@ -15254,7 +15272,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "execute_by_jinja2", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/utils.py#L52" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/utils.py#L53" } }, "execute_card_OIR": { @@ -16580,7 +16598,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "extract_tar_gz", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/utils.py#L14" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/utils.py#L15" } }, "force_unconfigure_static_nat_route_map_rule": { @@ -16632,7 +16650,7 @@ "module_name": "openssl.generate", "package": "genie.libs.sdk.apis", "uid": "generate_ca_certificate", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/openssl/generate.py#L71" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/openssl/generate.py#L83" } }, "generate_crypto_key": { @@ -16655,16 +16673,25 @@ }, "generate_ecc_ssl_key": { "linux": { - "doc": "\n Args:\n device(`obj`): Device to configure the SSL key on\n private_key_name(`str`): Name of the private key file\n elliptic_curve(`str`): Specify which elliptic curve to employ\n password(`str`, Optional): Password to encrypt the private key, default None\n aes_key_size(`int`, Optional): AES keysize used to encrypt password if provided. Default 256\n path_to_file(`str`, Optional): Absolute path to the directory where the file should be saved, default None\n Raises:\n SubCommandFailure\n ", + "doc": "\n Args:\n device(`obj`): Device to configure the SSL key on\n private_key_name(`str`): Name of the private key file\n elliptic_curve(`str`): Specify which elliptic curve to employ\n password(`str`, Optional): Password to encrypt the private key, default None\n aes('bool', Optional): Use AES encryption if True, else use 3DES. default to True.\n aes_key_size(`int`, Optional): AES keysize used to encrypt password if provided. Default 256\n path_to_file(`str`, Optional): Absolute path to the directory where the file should be saved, default None\n Raises:\n SubCommandFailure\n ", "module_name": "openssl.generate", "package": "genie.libs.sdk.apis", "uid": "generate_ecc_ssl_key", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/openssl/generate.py#L40" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/openssl/generate.py#L46" + } + }, + "generate_pkcs12": { + "linux": { + "doc": "\n Args:\n device('obj'): Device to configure the SSL key on.\n device_key_file(`str`): Filename or absolute path to a file containing a device key for the certificate.\n device_cert_file(`str`): Filename or absolute path to a file containing a device certificate.\n root_cert_file(`str`): Filename or absolute path to a root certificate.\n output_pkcs12_file(`str`): Filename or absolute path to a output pkcs12 file.\n passin_password(`str`, Optional): The password for the input private key file, if applicable. Default None.\n passout_password(`str`, Optional): The password for the output private key file, if applicable. Default None.\n Raises:\n SubCommandFailure\n ", + "module_name": "openssl.generate", + "package": "genie.libs.sdk.apis", + "uid": "generate_pkcs12", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/openssl/generate.py#L166" } }, "generate_rsa_ssl_key": { "linux": { - "doc": "\n Args:\n device('obj'): Device to configure the SSL key on\n private_key_name(`str`): Name of the certificate file\n key_size(`int`, Optional): RSA key bit length, default 2048\n password(`str`, Optional): Password to encrypt the device key, default None\n aes_key_size(`int`, Optional): AES keysize used to encrypt password if provided. Default 256\n path_to_file(`str`, Optional): Absolute path to the directory where the file should be saved, default None\n Raises:\n SubCommandFailure\n ", + "doc": "\n Args:\n device('obj'): Device to configure the SSL key on\n private_key_name(`str`): Name of the certificate file\n key_size(`int`, Optional): RSA key bit length, default 2048\n password(`str`, Optional): Password to encrypt the device key, default None\n aes('bool', Optional): Use AES encryption if True, else use 3DES. default to True.\n aes_key_size(`int`, Optional): AES keysize used to encrypt password if provided. Default 256\n path_to_file(`str`, Optional): Absolute path to the directory where the file should be saved, default None\n Raises:\n SubCommandFailure\n ", "module_name": "openssl.generate", "package": "genie.libs.sdk.apis", "uid": "generate_rsa_ssl_key", @@ -16677,7 +16704,7 @@ "module_name": "openssl.generate", "package": "genie.libs.sdk.apis", "uid": "generate_ssl_certificate", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/openssl/generate.py#L105" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/openssl/generate.py#L117" } }, "get_RIPng_routes": { @@ -16761,7 +16788,7 @@ "module_name": "platform.get", "package": "genie.libs.sdk.apis", "uid": "get_ap_ip", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L111" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L114" } } }, @@ -17219,7 +17246,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_bool", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4088" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4089" } }, "get_boot_variables": { @@ -17530,7 +17557,7 @@ "module_name": "running_config.get", "package": "genie.libs.sdk.apis", "uid": "get_config_commands_from_running_config", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py#L152" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py#L156" } }, "get_config_dict": { @@ -17539,7 +17566,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_config_dict", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L229" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L230" } }, "get_config_from_file": { @@ -17623,7 +17650,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_connected_alias", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3685" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3686" } }, "get_connection": { @@ -17632,7 +17659,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_connection", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3013" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3014" } }, "get_controller_name": { @@ -17695,7 +17722,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_delta_time_from_outputs", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L573" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L574" } }, "get_device_classifier_profile_names": { @@ -17713,7 +17740,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_device_connections_info", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3385" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3386" } }, "get_device_tracking_counters_vlan_faults": { @@ -17776,7 +17803,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_devices", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3060" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3061" } }, "get_devices_simple": { @@ -17785,7 +17812,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_devices_simple", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3210" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3211" } }, "get_dhcpv4_binding_address_list": { @@ -17857,7 +17884,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_dict_items", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1817" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1818" } }, "get_diffs_platform": { @@ -17882,7 +17909,7 @@ "module_name": "snmp.get", "package": "genie.libs.sdk.apis", "uid": "get_dir_byte_total", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/snmp/get.py#L207" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/snmp/get.py#L208" } }, "get_dscp_cos_qos_queue_stats": { @@ -17901,17 +17928,17 @@ "module_name": "platform.get", "package": "genie.libs.sdk.apis", "uid": "get_fabric_ap_state", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L57" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L60" } } }, "get_file_contents": { "linux": { - "doc": "\n Args:\n device(`obj`)\n filename(`str`): Absolute path to the file\n Returns:\n File contents as a string\n ", + "doc": "\n Args:\n device(`obj`)\n filename(`str`): Absolute path to the file\n remove_cr('str'): Remove carriage return (\r) from the file contents.\n Returns:\n File contents as a string\n ", "module_name": "get", "package": "genie.libs.sdk.apis", "uid": "get_file_contents", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/get.py#L8" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/get.py#L9" } }, "get_file_size": { @@ -17957,7 +17984,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_file_size_from_server", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1209" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1210" } }, "get_file_timestamp": { @@ -18209,7 +18236,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_interface_attr_from_yaml", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3340" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3341" } }, "get_interface_capabilities_multiple_media_types": { @@ -18272,7 +18299,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_interface_from_yaml", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3234" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3235" } }, "get_interface_ifindex": { @@ -18320,7 +18347,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_interface_interfaces", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2012" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2013" }, "iosxe": { "doc": " Get interface and device\n\n Args:\n device ('obj'): Device object\n link_name ('str'): link name\n opposite ('bool'): find opposite device interface\n num ('int'): num of interface to return\n\n Returns:\n topology dictionary\n\n Raises:\n None\n ", @@ -18745,7 +18772,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_interface_type_from_yaml", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3299" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3300" } }, "get_interface_with_mask": { @@ -18781,7 +18808,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_interfaces", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1950" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1951" } }, "get_interfaces_description": { @@ -18897,6 +18924,15 @@ "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/cheetah/ap/get.py#L59" } }, + "get_ip_route_for_ipv4": { + "linux": { + "doc": "\n Args:\n device(`obj`): Device object \n ipv4(`IPv4Address`): the ip that we want to check the routing table for \n Returns:\n ip_route('str'): the string format for ip route\n ", + "module_name": "get", + "package": "genie.libs.sdk.apis", + "uid": "get_ip_route_for_ipv4", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/get.py#L28" + } + }, "get_ip_theft_syslogs": { "iosxe": { "doc": "Gets IP Theft syslog\n\n Args:\n device (obj): device object\n Returns:\n Dictionary\n None\n Raises:\n None\n ", @@ -19206,7 +19242,7 @@ "module_name": "platform.get", "package": "genie.libs.sdk.apis", "uid": "get_lisp_session_state", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L79" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L82" } } }, @@ -19216,7 +19252,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_list_items", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1768" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1769" } }, "get_list_length": { @@ -19225,7 +19261,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_list_length", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4128" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4129" } }, "get_lldp_neighbors_info": { @@ -19264,7 +19300,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_local_ip", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4061" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4062" } }, "get_log_message_time": { @@ -19291,7 +19327,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_longest_server_address", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1368" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1369" } }, "get_mac_aging_timer": { @@ -19328,7 +19364,7 @@ "module_name": "platform.get", "package": "genie.libs.sdk.apis", "uid": "get_matching_line_platform_software", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L176" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L179" } } }, @@ -19339,7 +19375,7 @@ "module_name": "platform.get", "package": "genie.libs.sdk.apis", "uid": "get_matching_line_processes_platform", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L153" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L156" } } }, @@ -19370,7 +19406,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_md5_hash_of_file", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/utils.py#L104" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/utils.py#L105" }, "nxos": { "doc": " Return the MD5 hash of a given file.\n\n Args:\n device (obj): Device to execute on\n file (str): File to calculate the MD5 on\n timeout (int, optional): Max time in seconds allowed for calculation.\n Defaults to 60.\n\n Returns:\n MD5 hash (str), or None if something went wrong\n ", @@ -19598,7 +19634,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_neighbor_address", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L316" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L317" } }, "get_neighbor_count": { @@ -20430,7 +20466,7 @@ "module_name": "platform.get", "package": "genie.libs.sdk.apis", "uid": "get_platform_software_dict", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L221" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L224" } } }, @@ -20528,7 +20564,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_power_cyclers", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2039" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2040" } }, "get_processes_five_seconds_cpu_usage": { @@ -20547,7 +20583,7 @@ "module_name": "platform.get", "package": "genie.libs.sdk.apis", "uid": "get_processes_platform_dict", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L199" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L202" } } }, @@ -20585,7 +20621,7 @@ "module_name": "platform.get", "package": "genie.libs.sdk.apis", "uid": "get_rloc_ip", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L132" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py#L135" } } }, @@ -20926,7 +20962,7 @@ "module_name": "running_config.get", "package": "genie.libs.sdk.apis", "uid": "get_running_config", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py#L115" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py#L119" } }, "get_running_config_all": { @@ -20935,7 +20971,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_running_config_all", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3396" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3397" } }, "get_running_config_dict": { @@ -20954,7 +20990,7 @@ "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/ios/running_config/get.py#L37" }, "iosxe": { - "doc": " Get show running-config output\n\n Args:\n device (`obj`): Device object\n option (`str`): option command\n Returns:\n config_dict (`dict`): dict of show run output\n ", + "doc": " Get show running-config output\n\n Args:\n device (`obj`): Device object\n option (`str`): option command\n output (`str`): output of show running-config\n Returns:\n config_dict (`dict`): dict of show run output\n ", "module_name": "running_config.get", "package": "genie.libs.sdk.apis", "uid": "get_running_config_dict", @@ -20995,7 +21031,7 @@ "module_name": "running_config.get", "package": "genie.libs.sdk.apis", "uid": "get_running_config_hostname", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py#L60" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py#L64" }, "iosxr": { "doc": " Get device hostname\n\n Args:\n device (`obj`): Device object\n Returns:\n hostname (`str`): Device hostname\n ", @@ -21018,7 +21054,7 @@ "module_name": "running_config.get", "package": "genie.libs.sdk.apis", "uid": "get_running_config_section", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py#L135" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py#L139" } }, "get_running_config_section_attr44": { @@ -21043,7 +21079,7 @@ "module_name": "running_config.get", "package": "genie.libs.sdk.apis", "uid": "get_running_config_section_dict", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py#L83" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py#L87" } }, "get_running_image": { @@ -21260,7 +21296,7 @@ "module_name": "running_config.get", "package": "genie.libs.sdk.apis", "uid": "get_show_derived_interface_dict", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py#L245" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py#L249" } }, "get_show_output_exclude": { @@ -21367,7 +21403,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_single_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4015" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4016" } }, "get_slice_id_of_interface": { @@ -21401,7 +21437,7 @@ "module_name": "snmp.get", "package": "genie.libs.sdk.apis", "uid": "get_snmp_cli_dict", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/snmp/get.py#L159" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/snmp/get.py#L160" } }, "get_snmp_dict": { @@ -21410,7 +21446,7 @@ "module_name": "snmp.get", "package": "genie.libs.sdk.apis", "uid": "get_snmp_dict", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/snmp/get.py#L105" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/snmp/get.py#L106" } }, "get_snmp_id_slot_map": { @@ -21419,7 +21455,7 @@ "module_name": "snmp.get", "package": "genie.libs.sdk.apis", "uid": "get_snmp_id_slot_map", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/snmp/get.py#L49" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/snmp/get.py#L50" } }, "get_snmp_information": { @@ -21437,7 +21473,7 @@ "module_name": "snmp.get", "package": "genie.libs.sdk.apis", "uid": "get_snmp_snmpget", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/snmp/get.py#L46" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/snmp/get.py#L47" } }, "get_snmp_snmpgetnext": { @@ -21446,19 +21482,19 @@ "module_name": "snmp.get", "package": "genie.libs.sdk.apis", "uid": "get_snmp_snmpgetnext", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/snmp/get.py#L71" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/snmp/get.py#L72" } }, "get_snmp_snmpwalk": { "iosxe": { - "doc": " Get snmpwalk output from SNMP device\n\n Args:\n device (`obj`): SNMP device\n community (`str`): Community name\n ip_address (`str`): IP address\n oid (`str`): Oid code\n version (`str`): SNMP version\n option (`str`): Optional command\n Returns:\n out (`str`): Executed output of SNMP command\n Raises:\n None\n ", + "doc": " Get snmpwalk output from SNMP device\n\n Args:\n device (`obj`): SNMP device\n community (`str`): Community name\n ip_address (`str`): IP address\n oid (`str`): Oid code\n version (`str`): SNMP version\n option (`str`): Optional command\n timeout (`int`): Optional timeout value. Default is 60 seconds.\n Returns:\n out (`str`): Executed output of SNMP command\n Raises:\n None\n ", "module_name": "snmp.get", "package": "genie.libs.sdk.apis", "uid": "get_snmp_snmpwalk", "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/snmp/get.py#L13" }, "linux": { - "doc": " Get snmpwalk output from SNMP device\n Args:\n device (`obj`): SNMP device\n community (`str`): Community name\n ip_address (`str`): IP address\n oid (`str`): Oid code\n version (`str`, optional): SNMP version. Default is \"2c\"\n option (`str`): Optional command. Default is None\n Returns:\n out (`str`): Executed output of SNMP command\n Raises:\n None\n ", + "doc": " Get snmpwalk output from SNMP device\n Args:\n device (`obj`): SNMP device\n community (`str`): Community name\n ip_address (`str`): IP address\n oid (`str`): Oid code\n version (`str`, optional): SNMP version. Default is \"2c\"\n option (`str`): Optional command. Default is None\n timeout (`int`): Optional timeout value. Default is 60 seconds.\n Returns:\n out (`str`): Executed output of SNMP command\n Raises:\n None\n ", "module_name": "snmp.get", "package": "genie.libs.sdk.apis", "uid": "get_snmp_snmpwalk", @@ -21471,7 +21507,7 @@ "module_name": "snmp.get", "package": "genie.libs.sdk.apis", "uid": "get_snmp_snmpwalk_sysname", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/snmp/get.py#L182" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/snmp/get.py#L183" } }, "get_snmp_snmpwalk_v3": { @@ -21480,7 +21516,7 @@ "module_name": "snmp.get", "package": "genie.libs.sdk.apis", "uid": "get_snmp_snmpwalk_v3", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/snmp/get.py#L96" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/snmp/get.py#L97" } }, "get_snmp_snmpwalk_version3": { @@ -21489,7 +21525,7 @@ "module_name": "snmp.get", "package": "genie.libs.sdk.apis", "uid": "get_snmp_snmpwalk_version3", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/snmp/get.py#L132" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/snmp/get.py#L133" } }, "get_software_version": { @@ -21591,7 +21627,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_structure_output", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3755" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3756" } }, "get_supported_elliptic_curves": { @@ -21789,7 +21825,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_testcase_name", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4106" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4107" } }, "get_the_number_of_telemetry_report_in_system": { @@ -21807,7 +21843,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_time_source_from_output", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L535" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L536" } }, "get_tolerance_min_max": { @@ -21816,7 +21852,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_tolerance_min_max", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2256" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2257" } }, "get_total_asics_cores": { @@ -21943,7 +21979,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_unconfig_line", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L205" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L206" } }, "get_unused_channel": { @@ -21972,7 +22008,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "get_username_password", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1518" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1519" } }, "get_valid_config_from_running_config": { @@ -21988,7 +22024,7 @@ "module_name": "running_config.get", "package": "genie.libs.sdk.apis", "uid": "get_valid_config_from_running_config", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py#L188" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py#L192" }, "iosxr": { "doc": " Returns a configuration from 'show running-config | begin version'.\n The API will exclude any configuration and sub configuration that\n matches regex from exclude. The returned string can be used to\n configure a device.\n\n Args:\n device ('obj'): Device to run on\n exclude ('str'): Regex of config to exclude\n begin ('str'): Begin command for show run\n\n Returns:\n String of configuration\n ", @@ -22005,6 +22041,15 @@ "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/nxos/running_config/get.py#L38" } }, + "get_valid_ipv4_address": { + "linux": { + "doc": " Validate and convert the input IP address into an IPv4Interface instance.\n \n Args:\n device (`obj`) : Device object (local device)\n ip_address (`str` or IPv4Interface): IP address to be validated and converted\n Raise:\n ipaddress.AddressValueError: If IP address cannot be converted to IPv4Interface\n Returns:\n result (`IPv4Address`): The IPv4Address for ip\n ", + "module_name": "utils", + "package": "genie.libs.sdk.apis", + "uid": "get_valid_ipv4_address", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/utils.py#L210" + } + }, "get_vlan_info": { "ios": { "doc": " Api method to call parser and return device vlan information\n Args:\n device ('obj'): Device object\n Returns:\n Dictionary: Vlan information\n ", @@ -22133,7 +22178,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "has_configuration", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L334" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L335" } }, "health_core": { @@ -22289,6 +22334,15 @@ "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/platform/configure.py#L439" } }, + "hw_module_filesystem_security_lock": { + "iosxe": { + "doc": " Enable/Disable Security-lock on filesystem bootflash/harddisk\n Args:\n device ('obj'): Device object\n filesystem('str'): Filesystem (bootflash/harddisk)\n operation('str'): Enable/Disable\n\n ", + "module_name": "hw_module.execute", + "package": "genie.libs.sdk.apis", + "uid": "hw_module_filesystem_security_lock", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/hw_module/execute.py#L58" + } + }, "hw_module_sub_slot_reload": { "iosxe": { "doc": " hw-module sub-slot {slot} reload force\n Args:\n device (`obj`): Device object\n sub_slot (`str`): sub_slot\n\n Returns:\n Shutdown Status\n\n Raises:\n SubCommandFailure : Failed configuring device\n ", @@ -22349,7 +22403,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "int_to_mask", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L351" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L352" } }, "interface_counter_check": { @@ -22969,7 +23023,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "load_dict_from_json_file", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2811" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2812" } }, "load_jinja": { @@ -22978,7 +23032,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "load_jinja", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L488" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L489" } }, "load_jinja_template": { @@ -22996,7 +23050,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "mask_to_int", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L366" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L367" } }, "modify_filename": { @@ -23005,7 +23059,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "modify_filename", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1275" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1276" } }, "modify_pbr_route_map": { @@ -23032,7 +23086,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "netmask_to_bits", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L823" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L824" } }, "number_to_string": { @@ -23041,7 +23095,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "number_to_string", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1718" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1719" } }, "nxapi_method_nxapi_cli": { @@ -23231,7 +23285,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "question_mark", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L120" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L121" } }, "question_mark_retrieve": { @@ -23240,7 +23294,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "question_mark_retrieve", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L139" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L140" } }, "quick_configure_by_jinja2": { @@ -23267,7 +23321,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "reconnect_device", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L778" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L779" } }, "reconnect_device_with_new_credentials": { @@ -23276,7 +23330,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "reconnect_device_with_new_credentials", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L712" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L713" } }, "redistribute_bgp_metric_route_map_under_ospf": { @@ -23833,7 +23887,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "repeat_command_save_output", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2176" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2177" } }, "request_chassis_routing_engine_master_switch": { @@ -23989,7 +24043,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "sanitize", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4421" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4422" } }, "save_dict_to_json_file": { @@ -23998,7 +24052,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "save_dict_to_json_file", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2768" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2769" } }, "save_info_to_file": { @@ -24007,7 +24061,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "save_info_to_file", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1658" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1659" } }, "save_running_config": { @@ -24078,7 +24132,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "scp", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/utils.py#L126" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/utils.py#L127" }, "nxos": { "doc": " copy files from local device to remote device via scp\n Args:\n device (`obj`) : Device object (local device)\n local_path (`str`): path with file on local device\n remote_device (`str`): remote device name\n remote_path (`str`): path with/without file on remote device\n remote_user (`str`): use given username to scp\n Default to None\n remote_pass (`str`): use given password to scp\n Default to None\n remote_via (`str`) : specify connection to get ip\n Default to None\n vrf (`str`): use vrf where scp find route to remote device\n Default to None\n return_filename (`bool`): if True, will return list of copied files\n Returns:\n result (`bool` or `tuple`): True if scp successfully done \n if return_filename is True, return list of copied filename\n\n ", @@ -24110,7 +24164,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "send_email", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2223" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2224" } }, "set_clock": { @@ -24270,7 +24324,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "slugify", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2155" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2156" } }, "snmp_server_engine_id_local": { @@ -24288,7 +24342,7 @@ "module_name": "socat.relay", "package": "genie.libs.sdk.apis", "uid": "socat_relay", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/socat/relay.py#L9" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/socat/relay.py#L11" } }, "source_configured_template": { @@ -24361,6 +24415,15 @@ "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/platform/utils.py#L198" } }, + "start_socat_relay": { + "linux": { + "doc": " Setup UDP/TCP relay using 'socat' command.\n\n Args:\n device (obj): Device object (optional)\n remote_ip (str): remote IP address\n remote_port (str): remote port\n protocol (str): portocol (default: TCP4)\n\n Returns:\n proxy_port (int): Proxy port number or False if not able to setup relay\n socat_pid (int): Process ID for the socat process\n ", + "module_name": "socat.relay", + "package": "genie.libs.sdk.apis", + "uid": "start_socat_relay", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/socat/relay.py#L27" + } + }, "start_trex_process": { "linux": { "doc": " Starts a trex process on the device\n Args:\n location (str): folder location of where the trex executable is at\n Raise:\n FileNotFoundError\n Returns:\n Success (bool): Whether or not the operation was successful\n ", @@ -24422,13 +24485,22 @@ "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/virl/std/utils.py#L45" } }, + "stop_socat_relay": { + "linux": { + "doc": " Stop the relay process by killing the PID\n\n Args:\n socat_pid (int): Process ID for socat process\n ", + "module_name": "socat.relay", + "package": "genie.libs.sdk.apis", + "uid": "stop_socat_relay", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/socat/relay.py#L75" + } + }, "string_to_number": { "com": { "doc": " Converts from number(string) to number(integer)\n Args:\n word (`str`): number (string)\n Raise:\n Exception\n Returns:\n ret_num ('int|float'): number (integer|float)\n\n Example:\n\n >>> dev.api.string_to_number('1')\n 1\n\n >>> dev.api.string_to_number('1.1')\n 1.1\n\n ", "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "string_to_number", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1688" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1689" } }, "switch_vm_power": { @@ -24446,7 +24518,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "tabber", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L83" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L84" } }, "terminal_no_monitor": { @@ -24464,7 +24536,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "tftp_config", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1433" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L1434" } }, "time_to_int": { @@ -24473,7 +24545,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "time_to_int", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L179" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L180" } }, "tokens": [ @@ -24592,7 +24664,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "tunnel_range_shut_unshut", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5616" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5620" } }, "unconfgiure_port_channel_min_link": { @@ -24601,7 +24673,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfgiure_port_channel_min_link", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5876" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5880" } }, "unconfig_access_session_accnt_attr_filter_spec_include_list": { @@ -24655,7 +24727,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfig_diagnostic_monitor_threshold", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8107" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8111" } }, "unconfig_disable_ipv6_routing": { @@ -24790,7 +24862,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfig_interface_prpchannel", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9530" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9534" } }, "unconfig_interface_ripng": { @@ -24808,7 +24880,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfig_ip_domain_lookup", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8453" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8457" } }, "unconfig_ip_multicast_routing_vrf_distributed": { @@ -25733,11 +25805,11 @@ }, "unconfigure_call_home": { "iosxe": { - "doc": " Unconfigures call-home\n Example : no call-home\n Args:\n device ('obj'): device to use\n Returns:\n None\n Raises: \n SubCommandFailure\n ", - "module_name": "call_home.configure", + "doc": " Unconfigures call-home\n Example : no call-home\n\n Args:\n device ('obj'): device to use\n Returns:\n None\n Raises: \n SubCommandFailure\n ", + "module_name": "platform_licensing.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_call_home", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/call_home/configure.py#L404" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/platform_licensing/configure.py#L267" } }, "unconfigure_call_home_profile": { @@ -25884,7 +25956,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_control_policies", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6114" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6118" } }, "unconfigure_controller_policy_service_export": { @@ -25983,16 +26055,16 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_crypto_map_on_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5167" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5171" } }, "unconfigure_crypto_pki_server": { "iosxe": { - "doc": " Unconfigures crypto pki server on device\n\n Args:\n device (`obj`): Device object\n server_name ('str'): Name of the server\n\n Returns:\n None\n\n Raise:\n SubCommandFailure: Failed to unconfigure crypto pki server on device\n ", - "module_name": "eaptls.configure", + "doc": "\n Configure crypto pki server\n Args:\n device ('obj'): Device object\n server_name ('str'): Name for the pki server\n ", + "module_name": "pki.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_crypto_pki_server", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/eaptls/configure.py#L136" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/pki/configure.py#L498" } }, "unconfigure_crypto_transform_set": { @@ -26613,7 +26685,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_eui_64_over_ipv6_enabled_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6776" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6780" } }, "unconfigure_event_manager_applet": { @@ -27135,7 +27207,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_access_session", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7268" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7272" } }, "unconfigure_interface_auth_vlan": { @@ -27144,7 +27216,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_auth_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6637" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6641" } }, "unconfigure_interface_auth_vlan_no_resp": { @@ -27153,7 +27225,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_auth_vlan_no_resp", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6716" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6720" } }, "unconfigure_interface_authentication_violation": { @@ -27162,7 +27234,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_authentication_violation", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8410" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8414" } }, "unconfigure_interface_bandwidth": { @@ -27171,7 +27243,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_bandwidth", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8324" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8328" } }, "unconfigure_interface_channel_group_auto_lacp": { @@ -27180,7 +27252,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_channel_group_auto_lacp", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5919" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5923" } }, "unconfigure_interface_datalink_flow_monitor": { @@ -27207,7 +27279,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_dot1x_eap_profile", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6534" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6538" } }, "unconfigure_interface_dot1x_max_reauth_req": { @@ -27216,7 +27288,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_dot1x_max_reauth_req", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6467" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6471" } }, "unconfigure_interface_dot1x_max_req": { @@ -27225,7 +27297,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_dot1x_max_req", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6378" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6382" } }, "unconfigure_interface_dot1x_timeout_txp": { @@ -27234,7 +27306,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_dot1x_timeout_txp", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6311" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6315" } }, "unconfigure_interface_duplex_mode": { @@ -27243,7 +27315,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_duplex_mode", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8556" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8560" } }, "unconfigure_interface_eigrp_v6": { @@ -27261,7 +27333,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_flow_control", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7664" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7668" } }, "unconfigure_interface_for_dot1x": { @@ -27288,7 +27360,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_inherit_disable", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6089" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6093" } }, "unconfigure_interface_ip_dhcp_relay_information_option_vpn_id": { @@ -27315,7 +27387,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_ip_nbar", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9468" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9472" } }, "unconfigure_interface_ip_tcp_adjust_mss": { @@ -27324,7 +27396,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_ip_tcp_adjust_mss", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7209" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7213" } }, "unconfigure_interface_ip_verify_source": { @@ -27333,7 +27405,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_ip_verify_source", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8064" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8068" } }, "unconfigure_interface_ip_verify_unicast": { @@ -27342,7 +27414,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_ip_verify_unicast", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6593" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6597" } }, "unconfigure_interface_ipv6_tcp_adjust_mss": { @@ -27351,7 +27423,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_ipv6_tcp_adjust_mss", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7249" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7253" } }, "unconfigure_interface_ipv6_verify_unicast": { @@ -27360,7 +27432,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_ipv6_verify_unicast", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6739" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6743" } }, "unconfigure_interface_l2protocol_tunnel": { @@ -27369,7 +27441,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_l2protocol_tunnel", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8272" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8276" } }, "unconfigure_interface_lacp_fast_switchover": { @@ -27378,7 +27450,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_lacp_fast_switchover", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7474" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7478" } }, "unconfigure_interface_lacp_max_bundle": { @@ -27387,7 +27459,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_lacp_max_bundle", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7529" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7533" } }, "unconfigure_interface_logging_event": { @@ -27396,7 +27468,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_logging_event", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6988" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6992" } }, "unconfigure_interface_mac_address": { @@ -27414,7 +27486,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_macro_auto_port_sticky", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5986" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5990" } }, "unconfigure_interface_monitor_session": { @@ -27477,7 +27549,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_pvlan_host_assoc", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9083" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9087" } }, "unconfigure_interface_pvlan_mapping": { @@ -27486,7 +27558,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_pvlan_mapping", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9235" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9239" } }, "unconfigure_interface_pvlan_mode_with_submode": { @@ -27495,7 +27567,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_pvlan_mode_with_submode", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8911" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8915" } }, "unconfigure_interface_range_dhcp_channel_group_mode": { @@ -27531,7 +27603,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_service_policy", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9033" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9037" } }, "unconfigure_interface_snmp_trap_mac_notification_change": { @@ -27540,7 +27612,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_snmp_trap_mac_notification_change", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7584" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7588" } }, "unconfigure_interface_span_cost": { @@ -27549,7 +27621,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_span_cost", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6490" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6494" } }, "unconfigure_interface_span_vlan_priority": { @@ -27558,7 +27630,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_span_vlan_priority", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6401" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6405" } }, "unconfigure_interface_speed": { @@ -27567,7 +27639,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_speed", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9628" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9632" } }, "unconfigure_interface_split_horizon_eigrp": { @@ -27612,7 +27684,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_switchport_block_address", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6941" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6945" } }, "unconfigure_interface_switchport_dot1q_ethertype": { @@ -27621,7 +27693,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_switchport_dot1q_ethertype", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7106" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7110" } }, "unconfigure_interface_switchport_mode_access": { @@ -27630,7 +27702,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_switchport_mode_access", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5940" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5944" } }, "unconfigure_interface_switchport_port_security": { @@ -27639,7 +27711,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_switchport_port_security", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8129" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8133" } }, "unconfigure_interface_switchport_port_security_violation": { @@ -27648,7 +27720,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_switchport_port_security_violation", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6264" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6268" } }, "unconfigure_interface_switchport_pvlan_association": { @@ -27657,7 +27729,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_switchport_pvlan_association", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9060" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9064" } }, "unconfigure_interface_switchport_pvlan_mapping": { @@ -27666,7 +27738,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_switchport_pvlan_mapping", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9102" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9106" } }, "unconfigure_interface_switchport_trunk_allowed_vlan": { @@ -27675,7 +27747,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_switchport_trunk_allowed_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7949" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7953" } }, "unconfigure_interface_template": { @@ -27693,7 +27765,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interface_template_sticky", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6040" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6044" } }, "unconfigure_interface_tunnel_key": { @@ -27774,7 +27846,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_interfaces_on_port_channel", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4653" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4657" } }, "unconfigure_ip_access_group_in_out": { @@ -27963,7 +28035,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ip_dlep", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7888" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7892" } }, "unconfigure_ip_domain_lookup": { @@ -28038,6 +28110,51 @@ "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/multicast/configure.py#L1472" } }, + "unconfigure_ip_igmp_querier_max_response_time": { + "iosxe": { + "doc": "\n Unconfigure ip igmp snooping querier max response time 25\n\n Args:\n device('obj'): Device object\n query_type('str'): max-response-time IGMP querier max response time (sec)\n query_time('int'): <1-500> IGMP querier query response time (sec)\n \n Returns:\n None\n\n Raises:\n SubCommandFailure\n ", + "module_name": "igmp_snooping.configure", + "package": "genie.libs.sdk.apis", + "uid": "unconfigure_ip_igmp_querier_max_response_time", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/igmp_snooping/configure.py#L395" + } + }, + "unconfigure_ip_igmp_querier_query_interval": { + "iosxe": { + "doc": "\n Unconfigure ip igmp snooping querier query-interval 100\n\n Args:\n device('obj'): Device object\n query_type('str'): query-interval IGMP querier query interval (sec)\n query_interval('int'): <1-18000> IGMP querier query interval (sec)\n \n Returns:\n None\n\n Raises:\n SubCommandFailure\n ", + "module_name": "igmp_snooping.configure", + "package": "genie.libs.sdk.apis", + "uid": "unconfigure_ip_igmp_querier_query_interval", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/igmp_snooping/configure.py#L373" + } + }, + "unconfigure_ip_igmp_querier_tcn_query_count": { + "iosxe": { + "doc": "\n Unconfigure ip igmp snooping querier tcn query count 10\n Args:\n device('obj'): Device object\n query_type('str'):tcn IGMP querier TCN related parameters\n action_type('str'): count IGMP querier TCN query count\n query_count('int'):<1-10> IGMP querier TCN query count\n \n Returns:\n None\n Raises:\n SubCommandFailure\n ", + "module_name": "igmp_snooping.configure", + "package": "genie.libs.sdk.apis", + "uid": "unconfigure_ip_igmp_querier_tcn_query_count", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/igmp_snooping/configure.py#L417" + } + }, + "unconfigure_ip_igmp_querier_tcn_query_interval": { + "iosxe": { + "doc": "\n Unconfigure ip igmp snooping querier tcn query interval 255\n Args:\n device('obj'): Device object\n query_type('str'):tcn IGMP querier TCN related parameters\n action_type('str'): interval IGMP querier TCN query interval\n query_interval('int'):<1-500> IGMP querier TCN query count (sec)\n \n Returns:\n None\n Raises:\n SubCommandFailure\n ", + "module_name": "igmp_snooping.configure", + "package": "genie.libs.sdk.apis", + "uid": "unconfigure_ip_igmp_querier_tcn_query_interval", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/igmp_snooping/configure.py#L438" + } + }, + "unconfigure_ip_igmp_querier_timer_expiry": { + "iosxe": { + "doc": "\n Unconfigure ip igmp snooping querier timer expiry 300\n Args:\n device('obj'): Device object\n query_time('int'):<1-500> IGMP querier timer expiry count (sec)\n \n Returns:\n None\n Raises:\n SubCommandFailure\n ", + "module_name": "igmp_snooping.configure", + "package": "genie.libs.sdk.apis", + "uid": "unconfigure_ip_igmp_querier_timer_expiry", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/igmp_snooping/configure.py#L459" + } + }, "unconfigure_ip_igmp_snooping": { "iosxe": { "doc": "UnConfigure IGMP snooping \n Example : no ip igmp snooping \n\n Args:\n device('obj'): Device object\n \n Returns:\n None\n \n Raises:\n SubCommandFailure : Could not unconfigure ip igmp snooping\n \n ", @@ -28175,11 +28292,11 @@ }, "unconfigure_ip_multicast_routing_distributed": { "iosxe": { - "doc": "Unconfigure ip multicast routing on device\n Args:\n device (`obj`): Device object\n Returns:\n None\n ", - "module_name": "mcast.configure", + "doc": "Unconfigure IP multicast routing\n Args:\n device (`obj`): Device object\n no_spd (): Selective packet discard\n punt_limit (`str` or `int`): Punt limit. Acceptable values are:\n integer (packets per second)\n default\n disable\n Return:\n None\n Raise:\n SubCommandFailure: Failure while configuring\n ", + "module_name": "multicast.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ip_multicast_routing_distributed", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/mcast/configure.py#L63" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/multicast/configure.py#L481" } }, "unconfigure_ip_multicast_vrf_routing": { @@ -28206,7 +28323,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ip_on_atm_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9747" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9751" } }, "unconfigure_ip_on_interface": { @@ -28215,7 +28332,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ip_on_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8479" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8483" } }, "unconfigure_ip_ospf_mtu_ignore": { @@ -28323,7 +28440,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ip_route_cache", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5474" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5478" } }, "unconfigure_ip_rsvp_bandwidth": { @@ -28404,7 +28521,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ip_ssh_version", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L927" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L931" } }, "unconfigure_ip_subnet_to_sgt_mapping_vrf": { @@ -28494,7 +28611,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ipv4_dhcp_relay_helper", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7033" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7037" } }, "unconfigure_ipv4_dhcp_relay_helper_vrf": { @@ -28503,7 +28620,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ipv4_dhcp_relay_helper_vrf", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5671" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5675" } }, "unconfigure_ipv4_object_group": { @@ -28562,11 +28679,11 @@ }, "unconfigure_ipv6_acl": { "iosxe": { - "doc": " Unconfigure IPv6 ACL\n\n Args:\n device (`obj`): Device object\n acl_name ('str'): access-list name to unconfigure\n Returns:\n None\n Raises:\n SubCommandFailure\n \n ", - "module_name": "acl.configure", + "doc": " Unconfigure IPv6 ACL\n\n Args:\n device (`obj`): Device object\n acl_name ('str'): access-list name\n\n Returns:\n None\n\n Raises:\n SubCommandFailure\n ", + "module_name": "ogacl.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ipv6_acl", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/acl/configure.py#L479" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/ogacl/configure.py#L372" } }, "unconfigure_ipv6_acl_ace": { @@ -28593,7 +28710,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ipv6_address_autoconfig", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8892" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8896" } }, "unconfigure_ipv6_address_config": { @@ -28602,7 +28719,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ipv6_address_config", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8853" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8857" } }, "unconfigure_ipv6_address_test": { @@ -28611,7 +28728,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ipv6_address_test", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8793" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8797" } }, "unconfigure_ipv6_destination_guard_policy": { @@ -28656,7 +28773,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ipv6_dhcp_relay", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7055" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7059" } }, "unconfigure_ipv6_dhcp_relay_destination_ipv6address": { @@ -28710,7 +28827,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ipv6_enable", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4697" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4701" } }, "unconfigure_ipv6_flow_monitor": { @@ -28845,7 +28962,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ipv6_mtu", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5101" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5105" } }, "unconfigure_ipv6_multicast_routing": { @@ -28863,7 +28980,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ipv6_nd_dad_processing", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6814" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6818" } }, "unconfigure_ipv6_nd_raguard_on_interface": { @@ -28890,7 +29007,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ipv6_nd_suppress_ra", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8757" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8761" } }, "unconfigure_ipv6_object_group_network": { @@ -28998,7 +29115,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_ipv6_redirects", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8775" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8779" } }, "unconfigure_ipv6_route_nexthop_vrf": { @@ -29564,11 +29681,11 @@ }, "unconfigure_mac_address_table_notification_change": { "iosxe": { - "doc": " unConfig mac-address-table notification change on Device\n Args:\n device (`obj`): Device object\n \n Return:\n None\n\n Raise:\n SubCommandFailure: Failed unconfiguring mac-address-table notification change\n ", - "module_name": "c960.configure", + "doc": "Unconfigure mac-address-table notification change on this device\n Args:\n device ('obj'): Device object\n change_option ('str',optional): change option history-size/interval\n size ('int',optional): Number of MAC notifications to be stored\n interval ('int',optional): Interval between the MAC notifications\n Returns:\n None\n Raises:\n SubCommandFailure\n ", + "module_name": "mac.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_mac_address_table_notification_change", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/c960/configure.py#L130" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/mac/configure.py#L289" } }, "unconfigure_mac_address_table_static": { @@ -29640,7 +29757,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_management_netconf", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L972" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L976" } }, "unconfigure_match_service_type_mdns_controller_service_list": { @@ -29739,7 +29856,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_mdns_on_interface_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5229" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5233" } }, "unconfigure_mdns_remote_cache_enable": { @@ -29955,7 +30072,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_monitor_erspan_source_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8366" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8370" } }, "unconfigure_mpls_ldp_graceful_restart": { @@ -30009,7 +30126,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_mtc", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L857" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L861" } }, "unconfigure_mtc_parameters": { @@ -30018,7 +30135,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_mtc_parameters", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L822" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L826" } }, "unconfigure_nat64_interface": { @@ -30207,7 +30324,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_netconf_yang_intelligent_sync", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L892" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L896" } }, "unconfigure_netconf_yang_polling": { @@ -30216,7 +30333,7 @@ "module_name": "management.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_netconf_yang_polling", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L767" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py#L771" } }, "unconfigure_network_policy_profile_number": { @@ -30507,6 +30624,15 @@ "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/policy_map/configure.py#L325" } }, + "unconfigure_policy_map_with_pps": { + "iosxe": { + "doc": " Unconfigures policy-map with police rate in pps\n Args:\n device ('obj'): device to use\n policy_name ('str'): name of the policy name\n class_map_name ('str'): class map name information\n police_rate ('int'): police rate details in pps\n Returns:\n None\n Raises:\n SubCommandFailure\n ", + "module_name": "policy_map.configure", + "package": "genie.libs.sdk.apis", + "uid": "unconfigure_policy_map_with_pps", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/policy_map/configure.py#L963" + } + }, "unconfigure_policy_map_with_type_queue": { "iosxe": { "doc": " Unconfigures policy map with type queueing\n Args:\n device ('obj'): device to use\n policy_type ('str'): Configure Queueing policy type\n queue_name ('str') : queue name to configure\n \n Returns:\n None\n Raises:\n SubCommandFailure\n ", @@ -30522,7 +30648,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_port_channel_ip", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8650" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8654" } }, "unconfigure_port_channel_lacp_max_bundle": { @@ -30531,7 +30657,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_port_channel_lacp_max_bundle", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5415" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5419" } }, "unconfigure_port_channel_mode": { @@ -30549,7 +30675,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_port_channel_standalone_disable", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4923" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4927" } }, "unconfigure_portchannel_dpi_algorithm": { @@ -30558,7 +30684,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_portchannel_dpi_algorithm", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8599" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8603" } }, "unconfigure_power_efficient_ethernet_auto": { @@ -30567,7 +30693,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_power_efficient_ethernet_auto", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7978" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7982" } }, "unconfigure_power_inline": { @@ -30576,7 +30702,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_power_inline", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5809" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5813" } }, "unconfigure_ppk_on_keyring": { @@ -30594,7 +30720,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_pppoe_enable_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4988" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4992" } }, "unconfigure_process_cpu_statistics_limit_entry_percentage_size": { @@ -30621,7 +30747,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_profile_on_tunnel_interface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7683" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L7687" } }, "unconfigure_propagate_sgt": { @@ -31062,7 +31188,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_service_instance", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9406" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9410" } }, "unconfigure_service_internal": { @@ -31112,11 +31238,11 @@ }, "unconfigure_service_private_config_encryption": { "iosxe": { - "doc": " \n no service private-config-encryption\n Args:\n device ('obj'): Device object\n Returns:\n None\n Raises:\n SubCommandFailure exception\n ", - "module_name": "csdl.configure", + "doc": " no service private-config-encryption\n Args:\n device (`obj`): Device object\n Returns:\n None\n Raises:\n SubCommandFailure : Failed configuring device\n ", + "module_name": "sudi.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_service_private_config_encryption", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/csdl/configure.py#L14" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/sudi/configure.py#L60" } }, "unconfigure_service_template": { @@ -31305,7 +31431,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_span_monitor_session", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4871" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4875" } }, "unconfigure_spanning_tree": { @@ -31620,7 +31746,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_subinterface", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6134" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L6138" } }, "unconfigure_svi": { @@ -31634,11 +31760,11 @@ }, "unconfigure_switch_provision": { "iosxe": { - "doc": " Unconfigures switch provisioning\n Example : no switch 3 provision\n\n Args:\n device ('obj'): device to use\n switch_number('int'): switch number (Range 1-16)\n\n Returns:\n None\n\n Raises: \n SubCommandFailure\n ", - "module_name": "offline_provisioning.configure", + "doc": " Unconfigure switch provision for switch\n Args:\n device ('obj'): Device object\n switch_number('int'): switch number\n Raises:\n SubCommandFailure\n ", + "module_name": "platform.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_switch_provision", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/offline_provisioning/configure.py#L33" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/platform/configure.py#L572" } }, "unconfigure_switchport_nonegotiate": { @@ -31656,7 +31782,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_switchport_protected", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8183" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8187" } }, "unconfigure_switchport_pvlan_trunk_allowed_vlan": { @@ -31665,7 +31791,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_switchport_pvlan_trunk_allowed_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9148" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9152" } }, "unconfigure_switchport_pvlan_trunk_native_vlan": { @@ -31674,7 +31800,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_switchport_pvlan_trunk_native_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9192" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9196" } }, "unconfigure_switchport_trunk_allowed_vlan": { @@ -31683,7 +31809,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_switchport_trunk_allowed_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9256" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9260" } }, "unconfigure_switchport_trunk_native_vlan": { @@ -31692,7 +31818,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_switchport_trunk_native_vlan", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9279" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L9283" } }, "unconfigure_switchport_trunk_pruning_vlan": { @@ -31886,11 +32012,11 @@ }, "unconfigure_udld_message_time": { "iosxe": { - "doc": " Unconfigures udld message time\n Example : no udld message time\n\n Args:\n device ('obj'): device to use\n Returns:\n None\n Raises:\n SubCommandFailure\n ", - "module_name": "platform.configure", + "doc": " Unconfigures UDLD Message Time on Target Device globally\n Args:\n device ('obj') : device to use\n Returns:\n None\n Raises:\n SubCommandFailure\n ", + "module_name": "udld.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_udld_message_time", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/platform/configure.py#L2419" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/udld/configure.py#L113" } }, "unconfigure_umbrella_global_parameter_map": { @@ -31935,7 +32061,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_vfi", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4824" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4828" } }, "unconfigure_vfi_context_evpn": { @@ -31971,7 +32097,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_virtual_template", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4459" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L4463" } }, "unconfigure_vlan_configuration": { @@ -32088,7 +32214,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unconfigure_vrf_select_source", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5733" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L5737" } }, "unconfigure_vrrp_interface": { @@ -32169,7 +32295,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "unit_convert", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L645" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L646" } }, "unshut_interface": { @@ -32203,7 +32329,7 @@ "module_name": "interface.configure", "package": "genie.libs.sdk.apis", "uid": "unshut_port_channel", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8678" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py#L8682" } }, "unshutdown_ipv6_eigrp_instance": { @@ -34225,6 +34351,15 @@ "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/verify.py#L571" } }, + "verify_interface_capabilities_multiple_media_types": { + "iosxe": { + "doc": "Verify interface capabilities multiple_media_types in - show interfaces capabilities', 'show interfaces {interface} capabilities'\n Args:\n device (`obj`): Device object\n interface (`str`): Interface name\n expected_multiple_media_types (`str`): 'rj45 - interface type supporting copper connection.\n 'sfp, - interface type supporting fiber connection.\n 'rj45 , 'sfp', 'auto-select' - interface type supporting both fiber and copper connection.\n \n Returns:\n result(`bool`): verify result\n ", + "module_name": "interface.verify", + "package": "genie.libs.sdk.apis", + "uid": "verify_interface_capabilities_multiple_media_types", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/verify.py#L1231" + } + }, "verify_interface_config_carrier_delay": { "iosxe": { "doc": "Verify interface carrier_delay config in - show run interface\n\n Args:\n device (`obj`): Device object\n interface (`str`): Interface name\n max_time (`int`): max time\n check_interval (`int`): check interval\n flag (`bool`): True if verify has carrier delay\n False if verify no carrier delay\n Returns:\n result(`bool`): verify result\n ", @@ -34636,6 +34771,15 @@ "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/junos/interface/verify.py#L15" } }, + "verify_interfaces_transceiver_supported": { + "iosxe": { + "doc": "Verify if the list of transceivers are supported or not\n\n Args:\n device (`obj`): Device object\n transceivers (`list`): List of transceivers to check \n \n Returns:\n result(`bool`): True if supported else False\n ", + "module_name": "interface.verify", + "package": "genie.libs.sdk.apis", + "uid": "verify_interfaces_transceiver_supported", + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/verify.py#L1264" + } + }, "verify_iox_disabled": { "iosxe": { "doc": " \n verify_iox_disabled\n Check show iox and confirm all services are not running\n Args:\n device ('obj') : Device object\n max_time ('int') : max time to wait\n interval ('int') : interval timer\n Returns:\n True\n False\n Raises:\n None\n ", @@ -34946,7 +35090,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_keywords_in_output", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3703" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3704" } }, "verify_l2route_mac_route_flag": { @@ -35192,7 +35336,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_login_with_credentials", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2960" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2961" } }, "verify_lsp_neighbor": { @@ -35375,7 +35519,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_mpls_experimental_bits", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2282" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2283" } }, "verify_mpls_forwarding_table_gid_counter": { @@ -35591,7 +35735,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_no_mpls_header", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2733" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2734" } }, "verify_no_ntp_association_configuration": { @@ -36292,7 +36436,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_pcap_as_path", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3415" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3416" } }, "verify_pcap_capability": { @@ -36301,7 +36445,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_pcap_capability", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3519" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L3520" } }, "verify_pcap_dscp_bits": { @@ -36310,7 +36454,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_pcap_dscp_bits", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2315" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2316" } }, "verify_pcap_has_imcp_destination_unreachable": { @@ -36319,7 +36463,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_pcap_has_imcp_destination_unreachable", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2086" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2087" } }, "verify_pcap_has_imcpv6_destination_unreachable": { @@ -36328,7 +36472,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_pcap_has_imcpv6_destination_unreachable", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2120" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2121" } }, "verify_pcap_ldp_packet": { @@ -36337,7 +36481,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_pcap_ldp_packet", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4252" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4253" } }, "verify_pcap_mpls_packet": { @@ -36346,7 +36490,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_pcap_mpls_packet", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2575" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2576" } }, "verify_pcap_packet": { @@ -36355,7 +36499,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_pcap_packet", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2839" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2840" } }, "verify_pcap_packet_destination_port": { @@ -36364,7 +36508,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_pcap_packet_destination_port", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2545" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2546" } }, "verify_pcap_packet_protocol": { @@ -36373,7 +36517,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_pcap_packet_protocol", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2485" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2486" } }, "verify_pcap_packet_source_port": { @@ -36382,7 +36526,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_pcap_packet_source_port", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2514" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2515" } }, "verify_pcap_packet_type": { @@ -36391,7 +36535,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "verify_pcap_packet_type", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2456" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L2457" } }, "verify_ping": { @@ -37889,7 +38033,7 @@ "module_name": "interface.verify", "package": "genie.libs.sdk.apis", "uid": "verify_tunnel_protection", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/verify.py#L1184" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/verify.py#L1186" } }, "verify_tunnel_stats": { @@ -38039,7 +38183,7 @@ "module_name": "utils", "package": "genie.libs.sdk.apis", "uid": "web_interaction", - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4157" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py#L4158" } }, "write_erase_reload_device": { diff --git a/pkgs/sdk-pkg/sdk_generator/output/github_triggers.json b/pkgs/sdk-pkg/sdk_generator/output/github_triggers.json index da602fe78..38a673971 100644 --- a/pkgs/sdk-pkg/sdk_generator/output/github_triggers.json +++ b/pkgs/sdk-pkg/sdk_generator/output/github_triggers.json @@ -3723,7 +3723,7 @@ "interval": 10, "max_time": 180 }, - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/modify/bgp/iosxe/modify.py" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/modify/bgp/iosxr/modify.py" }, "top": { "contribute": false, @@ -3800,7 +3800,7 @@ "interval": 10, "max_time": 180 }, - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/modify/bgp/iosxe/modify.py" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/modify/bgp/iosxr/modify.py" }, "top": { "contribute": false, @@ -3958,7 +3958,7 @@ "interval": 10, "max_time": 180 }, - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/modify/interface/iosxe/modify.py" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/modify/interface/iosxr/modify.py" }, "top": { "contribute": false, @@ -8503,7 +8503,7 @@ "interval": 10, "max_time": 180 }, - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/shutnoshut/interface/iosxe/shutnoshut.py" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/shutnoshut/interface/iosxr/shutnoshut.py" }, "top": { "contribute": false, @@ -9006,7 +9006,7 @@ "interval": 10, "max_time": 180 }, - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/unconfigconfig/bgp/iosxe/unconfigconfig.py" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/unconfigconfig/bgp/iosxr/unconfigconfig.py" }, "top": { "contribute": false, @@ -9808,7 +9808,7 @@ "interval": 10, "max_time": 180 }, - "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/unconfigconfig/bgp/iosxe/unconfigconfig.py" + "url": "https://github.com/CiscoTestAutomation/genielibs/tree/master/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/unconfigconfig/bgp/iosxr/unconfigconfig.py" }, "top": { "contribute": false, diff --git a/pkgs/sdk-pkg/sdk_generator/output/github_verifications.json b/pkgs/sdk-pkg/sdk_generator/output/github_verifications.json index 606476f39..129f85916 100644 --- a/pkgs/sdk-pkg/sdk_generator/output/github_verifications.json +++ b/pkgs/sdk-pkg/sdk_generator/output/github_verifications.json @@ -4325,7 +4325,7 @@ "attempt": 15, "interval": 5 }, - "schema": "{Any (str) *: {'vrf': , 'interface_status': , 'iod': , Optional (str) ipv4: {Any (str) *: {Optional (str) ip: , Optional (str) prefix_length: , Optional (str) secondary: , Optional (str) route_tag: , Optional (str) ip_subnet: , Optional (str) broadcast_address: , Optional (str) route_preference: }, Optional (str) unnumbered: {'interface_ref': }, 'counters': {'unicast_packets_sent': , 'unicast_packets_received': , 'unicast_packets_forwarded': , 'unicast_packets_originated': , 'unicast_packets_consumed': , 'unicast_bytes_sent': , 'unicast_bytes_received': , 'unicast_bytes_forwarded': , 'unicast_bytes_originated': , 'unicast_bytes_consumed': , 'multicast_packets_sent': , 'multicast_packets_received': , 'multicast_packets_forwarded': , 'multicast_packets_originated': , 'multicast_packets_consumed': , 'multicast_bytes_sent': , 'multicast_bytes_received': , 'multicast_bytes_forwarded': , 'multicast_bytes_originated': , 'multicast_bytes_consumed': , 'broadcast_packets_sent': , 'broadcast_packets_received': , 'broadcast_packets_forwarded': , 'broadcast_packets_originated': , 'broadcast_packets_consumed': , 'broadcast_bytes_sent': , 'broadcast_bytes_received': , 'broadcast_bytes_forwarded': , 'broadcast_bytes_originated': , 'broadcast_bytes_consumed': , 'labeled_packets_sent': , 'labeled_packets_received': , 'labeled_packets_forwarded': , 'labeled_packets_originated': , 'labeled_packets_consumed': , 'labeled_bytes_sent': , 'labeled_bytes_received': , 'labeled_bytes_forwarded': , 'labeled_bytes_originated': , 'labeled_bytes_consumed': }}, Optional (str) multicast_groups: , Optional (str) multicast_groups_address: , 'ip_mtu': , 'proxy_arp': , 'local_proxy_arp': , 'multicast_routing': , 'icmp_redirects': , 'directed_broadcast': , Optional (str) ip_forwarding: , 'icmp_unreachable': , 'icmp_port_unreachable': , 'unicast_reverse_path': , 'load_sharing': , 'int_stat_last_reset': , Optional (str) wccp_redirect_outbound: , Optional (str) wccp_redirect_inbound: , Optional (str) wccp_redirect_exclude: }}", + "schema": "{Any (str) *: {'vrf': , 'interface_status': , 'iod': , Optional (str) mode: ListOf (type) , Optional (str) ipv4: {Any (str) *: {Optional (str) ip: , Optional (str) prefix_length: , Optional (str) secondary: , Optional (str) route_tag: , Optional (str) ip_subnet: , Optional (str) broadcast_address: , Optional (str) route_preference: }, Optional (str) unnumbered: {'interface_ref': }, Optional (str) counters: {'unicast_packets_sent': , 'unicast_packets_received': , 'unicast_packets_forwarded': , 'unicast_packets_originated': , 'unicast_packets_consumed': , 'unicast_bytes_sent': , 'unicast_bytes_received': , 'unicast_bytes_forwarded': , 'unicast_bytes_originated': , 'unicast_bytes_consumed': , 'multicast_packets_sent': , 'multicast_packets_received': , 'multicast_packets_forwarded': , 'multicast_packets_originated': , 'multicast_packets_consumed': , 'multicast_bytes_sent': , 'multicast_bytes_received': , 'multicast_bytes_forwarded': , 'multicast_bytes_originated': , 'multicast_bytes_consumed': , 'broadcast_packets_sent': , 'broadcast_packets_received': , 'broadcast_packets_forwarded': , 'broadcast_packets_originated': , 'broadcast_packets_consumed': , 'broadcast_bytes_sent': , 'broadcast_bytes_received': , 'broadcast_bytes_forwarded': , 'broadcast_bytes_originated': , 'broadcast_bytes_consumed': , 'labeled_packets_sent': , 'labeled_packets_received': , 'labeled_packets_forwarded': , 'labeled_packets_originated': , 'labeled_packets_consumed': , 'labeled_bytes_sent': , 'labeled_bytes_received': , 'labeled_bytes_forwarded': , 'labeled_bytes_originated': , 'labeled_bytes_consumed': }}, Optional (str) multicast_groups: , Optional (str) multicast_groups_address: , Optional (str) ip_mtu: , Optional (str) proxy_arp: , Optional (str) local_proxy_arp: , Optional (str) multicast_routing: , Optional (str) icmp_redirects: , Optional (str) directed_broadcast: , Optional (str) ip_forwarding: , Optional (str) icmp_unreachable: , Optional (str) icmp_port_unreachable: , Optional (str) unicast_reverse_path: , Optional (str) load_sharing: , Optional (str) int_stat_last_reset: , Optional (str) wccp_redirect_outbound: , Optional (str) wccp_redirect_inbound: , Optional (str) wccp_redirect_exclude: }}", "source": { "class": "genie.harness.base.Template" }, @@ -10076,7 +10076,7 @@ "generic": { "doc": "Parser for show version", "groups": [], - "schema": "{'os': , Optional (str) os_flavor: , 'version': , Optional (str) platform: , Optional (str) pid: }", + "schema": "{'os': , Optional (str) os_flavor: , 'version': , Optional (str) platform: , Optional (str) pid: , Optional (str) operating_mode: }", "source": { "class": "genie.harness.base.Template" }, diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/__init__.py index f10bc9298..4c7c17e02 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/__init__.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/__init__.py @@ -7,7 +7,7 @@ ''' # metadata -__version__ = '24.1' +__version__ = '24.2' __author__ = 'Cisco Systems Inc.' __contact__ = ['pyats-support@cisco.com', 'pyats-support-ext@cisco.com'] __copyright__ = 'Copyright (c) 2020, Cisco Systems Inc.' diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/cheetah/ap/execute.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/cheetah/ap/execute.py index c947f3e9e..18ce143d6 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/cheetah/ap/execute.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/cheetah/ap/execute.py @@ -71,11 +71,11 @@ def execute_archive_download(device, image_path, max_timeout=300, username=None, ]) boot_part_before_reload = re.search("BOOT path-list:(\s+\w+)", device.execute("show boot | inc BOOT")).group(1).strip() output = device.execute("archive download-sw /no-reload {}".format(image_path), timeout=max_timeout, reply=dialog) - if "Successfully setup AP image" not in output and "Image download completed" not in output: + if "Successfully setup AP image" in output and "Image download completed" in output: + log.info("Successfully downloaded the image") + else: log.error("Failed to downloaded the image") return False - else: - log.info("Successfully downloaded the image") if reload: try: device.reload(timeout=max_timeout, reply=reload_dialog, post_reload_wait_time=POST_RELOAD_WAIT_TIME) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py index 3d31f7bbb..1ed538cb6 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/cat9k/platform/get.py @@ -40,6 +40,9 @@ def get_boot_variables(device, boot_var, output=None): else: boot_variables = boot_out.get("next_reload_boot_variable") + if boot_variables is None: + boot_variables = boot_out.get("next_reload_boot_variable") + # Trim if boot_variables: for item in boot_variables.split(';'): diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/custom_template/configure.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/custom_template/configure.py index a9f6aefca..ab3ea5930 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/custom_template/configure.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/custom_template/configure.py @@ -3,12 +3,14 @@ log = logging.getLogger(__name__) -def configure_sdm_prefer_custom_template(device, attribute): +def configure_sdm_prefer_custom_template(device, attribute, custom_template=None, entries=None, priority=None): """ Configure SDM Prefer Custom Template Args: device ('obj'): device to use attribute ('str'): sdm prefer custom template value (Ex : commit, vlan) - + custom_template ('str'): sdm prefer custom template value (Ex : pbr) + entries('int'): number of entries + priority('int'): priority number Returns: None Raises: @@ -17,9 +19,12 @@ def configure_sdm_prefer_custom_template(device, attribute): log.info( "Configuring SDM Prefer Custom Template with attribute={}".format(attribute) ) - + config = [f"sdm prefer custom {attribute}"] + if custom_template and entries and priority: + config.append(f"{custom_template} {entries} priority {priority}") + try: - device.configure(["sdm prefer custom {}".format(attribute),]) + device.configure(config) except SubCommandFailure: raise SubCommandFailure( @@ -82,4 +87,4 @@ def configure_sdm_prefer(device, template): try: device.configure(config) except SubCommandFailure as e: - raise SubCommandFailure(f"Could not configure sdm prefer. Error:\n{e}") + raise SubCommandFailure(f"Could not configure sdm prefer. Error:\n{e}") \ No newline at end of file diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/hw_module/execute.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/hw_module/execute.py index dab85d290..5875fcecd 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/hw_module/execute.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/hw_module/execute.py @@ -55,3 +55,18 @@ def hw_module_sub_slot_reload(device, sub_slot): .format(slot=sub_slot, error=e) ) +def hw_module_filesystem_security_lock(device, filesystem, operation): + """ Enable/Disable Security-lock on filesystem bootflash/harddisk + Args: + device ('obj'): Device object + filesystem('str'): Filesystem (bootflash/harddisk) + operation('str'): Enable/Disable + + """ + + cmd = f"hw-module {filesystem} security-lock {operation}" + try: + output = device.execute(cmd) + except SubCommandFailure as e: + raise SubCommandFailure(f"Failed to {operation} security-lock on filesystem:{filesystem}. Error:\n{e}") + return output diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/igmp_snooping/configure.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/igmp_snooping/configure.py index 07b6a29f7..4d7f0c8d7 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/igmp_snooping/configure.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/igmp_snooping/configure.py @@ -368,4 +368,109 @@ def configure_ip_igmp_querier_tcn_query_count(device, query_type, action_type, q device.configure(cmd) except SubCommandFailure as e: log.error(e) - raise SubCommandFailure(f"Could not configure ip igmp snooping querier tcn query count 10. Error:\n{e}") \ No newline at end of file + raise SubCommandFailure(f"Could not configure ip igmp snooping querier tcn query count 10. Error:\n{e}") + +def unconfigure_ip_igmp_querier_query_interval(device, query_type, query_interval): + """ + Unconfigure ip igmp snooping querier query-interval 100 + + Args: + device('obj'): Device object + query_type('str'): query-interval IGMP querier query interval (sec) + query_interval('int'): <1-18000> IGMP querier query interval (sec) + + Returns: + None + + Raises: + SubCommandFailure + """ + cmd = f"no ip igmp snooping querier {query_type} {query_interval}" + try: + device.configure(cmd) + except SubCommandFailure as e: + log.error(e) + raise SubCommandFailure(f"Could not unconfigure ip igmp snooping querier query-interval. Error:\n{e}") + +def unconfigure_ip_igmp_querier_max_response_time(device, query_type, query_time): + """ + Unconfigure ip igmp snooping querier max response time 25 + + Args: + device('obj'): Device object + query_type('str'): max-response-time IGMP querier max response time (sec) + query_time('int'): <1-500> IGMP querier query response time (sec) + + Returns: + None + + Raises: + SubCommandFailure + """ + cmd = f"no ip igmp snooping querier {query_type} {query_time}" + try: + device.configure(cmd) + except SubCommandFailure as e: + log.error(e) + raise SubCommandFailure(f"Could not unconfigure ip igmp snooping querier max response time 25. Error:\n{e}") + +def unconfigure_ip_igmp_querier_tcn_query_count(device, query_type, action_type, query_count): + """ + Unconfigure ip igmp snooping querier tcn query count 10 + Args: + device('obj'): Device object + query_type('str'):tcn IGMP querier TCN related parameters + action_type('str'): count IGMP querier TCN query count + query_count('int'):<1-10> IGMP querier TCN query count + + Returns: + None + Raises: + SubCommandFailure + """ + cmd = f"no ip igmp snooping querier {query_type} query {action_type} {query_count}" + try: + device.configure(cmd) + except SubCommandFailure as e: + log.error(e) + raise SubCommandFailure(f"Could not unconfigure ip igmp snooping querier tcn query count 10. Error:\n{e}") + +def unconfigure_ip_igmp_querier_tcn_query_interval(device, query_type, action_type, query_interval): + """ + Unconfigure ip igmp snooping querier tcn query interval 255 + Args: + device('obj'): Device object + query_type('str'):tcn IGMP querier TCN related parameters + action_type('str'): interval IGMP querier TCN query interval + query_interval('int'):<1-500> IGMP querier TCN query count (sec) + + Returns: + None + Raises: + SubCommandFailure + """ + cmd = f"no ip igmp snooping querier {query_type} query {action_type} {query_interval}" + try: + device.configure(cmd) + except SubCommandFailure as e: + log.error(e) + raise SubCommandFailure(f"Could not unconfigure ip igmp snooping querier tcn query count 10. Error:\n{e}") + +def unconfigure_ip_igmp_querier_timer_expiry(device, query_time): + """ + Unconfigure ip igmp snooping querier timer expiry 300 + Args: + device('obj'): Device object + query_time('int'):<1-500> IGMP querier timer expiry count (sec) + + Returns: + None + Raises: + SubCommandFailure + """ + cmd = f"no ip igmp snooping querier timer expiry {query_time}" + try: + device.configure(cmd) + except SubCommandFailure as e: + log.error(e) + raise SubCommandFailure(f"Could not unconfigure ip igmp snooping querier timer expiry 300. Error:\n{e}") \ No newline at end of file diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py index 00f4d2563..e21577e9b 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/configure.py @@ -4401,7 +4401,8 @@ def configure_virtual_template(device, ipv6_mtu='', no_ip_redirects=False, no_peer_ip=False, - pool_name=None): + pool_name=None, + ipv6_pool_name=None): """ Configure virtual-template interface Args: @@ -4418,6 +4419,7 @@ def configure_virtual_template(device, no_ip_redirects('bool', optional): no ip redirects option no_peer_ip('bool', optional): no peer ip default option pool_name('string', optional): peer default ip address pool + ipv6_pool_name('string', optional): peer default ipv6 pool For the arguments that are optional, the default value is None. Returns: @@ -4448,6 +4450,8 @@ def configure_virtual_template(device, cli.append("no peer default ip address") if pool_name: cli.append(f"peer default ip address pool {pool_name}") + if ipv6_pool_name: + cli.append(f"peer default ipv6 pool {ipv6_pool_name}") try: device.configure(cli) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/get.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/get.py index 541e9a6c3..ebf72dffc 100755 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/get.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/get.py @@ -1016,7 +1016,7 @@ def get_interface_information(device, interface_list): except SchemaEmptyParserError: empty_ints.append(interface) data = None - results[interface] = data + results.update({interface: data[interface]}) if empty_ints: log.error('No interface information found for {}'.format(empty_ints)) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/verify.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/verify.py index 6ad5cebd5..bde9c06e9 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/verify.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/interface/verify.py @@ -1181,6 +1181,8 @@ def verify_interface_config_duplex(device, timeout.sleep() return False + + def verify_tunnel_protection( device, interface, max_time=5, @@ -1224,4 +1226,62 @@ def verify_tunnel_protection( device, protection.lower() == tunnel_protection.lower(): return True timeout.sleep() - return False \ No newline at end of file + return False + +def verify_interface_capabilities_multiple_media_types(device, interface, expected_multiple_media_types): + """Verify interface capabilities multiple_media_types in - show interfaces capabilities', 'show interfaces {interface} capabilities' + Args: + device (`obj`): Device object + interface (`str`): Interface name + expected_multiple_media_types (`str`): 'rj45 - interface type supporting copper connection. + 'sfp, - interface type supporting fiber connection. + 'rj45 , 'sfp', 'auto-select' - interface type supporting both fiber and copper connection. + + Returns: + result(`bool`): verify result + """ + cmd = f"show interfaces {interface} capabilities" + try: + out = device.parse(cmd) + except Exception as e: + log.error(f"Not able to get show interfaces capabilities. Error:\n{e}") + + media_types = out['interface'][interface]["multiple_media_types"] + + message = f'Expected interface multiple_media_type not found. Instead, interface is {media_types} configuration found!' + if result := media_types == expected_multiple_media_types: + if media_types == 'rj45, sfp, auto-select': + message = "It's a Combo Interface: Supports both fiber and copper connections" + elif media_types == 'sfp': + message = "It's SFP Interface: Supports fiber connection and Copper SFP connections" + elif media_types == 'rj45': + message = "It's a Copper Interface(fixed copper): Supports only copper connection" + + log.debug(message) + + return result + +def verify_interfaces_transceiver_supported( + device, transceivers_list +): + """Verify if the list of transceivers are supported or not + + Args: + device (`obj`): Device object + transceivers (`list`): List of transceivers to check + + Returns: + result(`bool`): True if supported else False + """ + out = device.parse("show interfaces transceiver supported-list") + + supported_transceivers = {} + for transceiver in transceivers_list: + if transceiver in out['transceiver_type']: + log.debug(f"Transceiver {transceiver} is supported") + return True + else: + log.debug(f"Transceiver {transceiver} is not supported") + + return False + diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py index 6530c1fe0..b6db46f53 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/management/configure.py @@ -1,10 +1,14 @@ import re +import uuid +import atexit import logging import ipaddress +import tempfile from unicon.eal.dialogs import Dialog from genie.utils.timeout import Timeout from unicon.core.errors import SubCommandFailure from pyats.utils.secret_strings import to_plaintext +from pyats.topology import loader log = logging.getLogger(__name__) @@ -986,26 +990,138 @@ def unconfigure_management_netconf(device): except SubCommandFailure as e: raise SubCommandFailure(f"Failed to unconfigure netconf-yang on device {device}. Error:\n{e}") - -def configure_management_gnmi(device, enable=True, server=True, port=None, **kwargs): +def configure_management_gnmi(device, + enable=True, + server=True, + port=None, + secure_server=False, + secure_client_auth=False, + secure_trustpoint='trustpoint1', + password='', + aes=True, + rsa_key_size=2048, + local_path='flash:/', + **kwargs): ''' Configure device for management via gnmi. + When secure_server is True, this API will generate keys and certificates using openssl + for use on the device and by the gNMI connection class. It will install + the key and certificates on the device and update the gnmi connection with + the paths to the files generated. + Args: device ('obj'): device object enable ('bool', optional): Enable and start GNxI. Default is True. server ('bool', optional): Enable the GNxI (insecure) server. Default is True. port ('int', optional): gnxi (insecure) server port. Default is None. + secure_server ('bool', optional): Enable the GNxI secure server. Default to False. + secure_client_auth ('bool', optional): Enable client authentication. Default to False. + secure_trustpoint ('str', optional): Set GNxI server certificate trustpoint. Default to 'trustpoint1'. + password ('str', optional): rsa_ssl key generation password Default is ''. + aes ('bool', optional): Use AES encryption if True, else use 3DES. Default to True. + rsa_key_size ('int', optional): rsa_key_size value to be used for rsakeypair generation. Default to 2048. + local_path ('str', optional): Device path where pkcs12 file will be copied. Default to flash:/. Returns: None ''' + if secure_server: + + # connect to the linux server + tb = loader.load({ + 'devices': { + 'linux': { + 'os': 'linux', + 'credentials': {'default': {'username': ''}}, + 'connections': { + 'cli': { + 'command': 'bash' + } + } + } + } + }) + dev = tb.devices.linux + dev.connect(log_buffer=True) + + # To handle password, If not given generate a random password + if not password: + # make a random UUID + password = uuid.uuid4() + + # To create temp dir + tmpdir_obj = tempfile.TemporaryDirectory() + + # atexit to cleanup the temp dir when exiting python env + atexit.register(tmpdir_obj.cleanup) + + # Move to the temp dir + tmpdirname = tmpdir_obj.name + dev.execute([f'cd {tmpdirname}']) + + # default subject with the device name for ssl certificates + subject = f"/C=/ST=/L=/O=/CN={device.name}" + + # Generate rsa ssl key (rootCA.key) + dev.api.generate_rsa_ssl_key(private_key_name='rootCA.key', aes=aes) + + # Generate CA certificate (rootCA.pem) + dev.api.generate_ca_certificate(private_key_file='rootCA.key', certificate_name='rootCA.crt') + + # Generate device key (device.key) + dev.api.generate_rsa_ssl_key(private_key_name='device.key', password=password, aes=aes) + + # Generate ssl certificate (device.crt and device.csr) + dev.api.generate_ssl_certificate(device_key_file='device.key', ca_certificate_file='rootCA.crt', private_key_file='rootCA.key',\ + subject=subject, device_key_password=password, csr_name= 'device.csr', crt_name='device.crt') + + # Generate pkcs12 file (device.p12) with device.key, device.crt and rootCA.crt + dev.api.generate_pkcs12(device_key_file='device.key', device_cert_file='device.crt', root_cert_file='rootCA.crt', output_pkcs12_file='device.p12',\ + passin_password=password, passout_password=password) + + # Copy pkcs file to the device + device.api.copy_to_device(f'{tmpdirname}/device.p12', local_path=local_path) + + # Install certificates on the device through the cli + device.api.configure_pki_import(tp_name=secure_trustpoint, file_password=password, pkcs_file='device.p12', import_type='pkcs12') + + # Revocation check + device.api.configure_trustpoint(tp_name=secure_trustpoint, revoke_check='none', rsa_key_size=rsa_key_size) + + # gnmi secure connection information + gnmi_connection_info_dict = { + 'root_certificate': f'{tmpdirname}/rootCA.crt', + 'ssl_name_override': device.name + } + + # if secure client authentication is enabled. Then user needs to provide private key and certificate chain + if secure_client_auth: + # Generate client key (client.key) + dev.api.generate_rsa_ssl_key(private_key_name='client.key', aes=aes) + + # Generate client certificate (client.crt and client.csr) + dev.api.generate_ssl_certificate(device_key_file='client.key', ca_certificate_file='rootCA.crt', private_key_file='rootCA.key',\ + subject=subject, csr_name='client.csr', crt_name='client.crt') + + gnmi_connection_info_dict.update({ + 'private_key': f'{tmpdirname}/client.key', + 'certificate_chain': f'{tmpdirname}/client.crt', + }) + + # update the testbed object gnmi connection with root_certificate, private_key, certificate_chain and ssl_name_override + device.connections.gnmi.update(gnmi_connection_info_dict) + try: device.api.configure_gnxi( device=device, enable=enable, server=server, - port=port + port=port, + secure_server=secure_server, + secure_client_auth=secure_client_auth, + secure_trustpoint=secure_trustpoint if secure_server else None ) except SubCommandFailure as e: raise SubCommandFailure(f"Failed to configure gnmi on device {device}. Error:\n{e}") + diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/pki/configure.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/pki/configure.py index 8171f0417..36b789aa4 100755 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/pki/configure.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/pki/configure.py @@ -710,21 +710,22 @@ def configure_pki_import(device, SubCommandFailure ''' + logger.debug("Configuring crypto pki import") dialog = Dialog([ - Statement(pattern=r'.*Source filename.*', - action='sendline(\r)', + Statement(pattern=r'.*Source filename \[.*?\]\?\s*$', + action='sendline()', loop_continue=True, continue_timer=False), Statement(pattern=r'.*the hierarchy.*', action=f'sendline({is_hierarchy})', loop_continue=True, continue_timer=False), - Statement(pattern=r'.*End with a blank line or the word "quit" on a line by itself.*', + Statement(pattern=r'.*End with a blank line or the word "quit" on a line by itself.*?$', action=f'sendline({pem_import_cert})', loop_continue=True, continue_timer=False), - Statement(pattern=r'.*% Do you really want to replace them.*', + Statement(pattern=r'.*% Do you really want to replace them.*?$', action=f'sendline({is_key_replace})', loop_continue=True, continue_timer=False) @@ -745,6 +746,10 @@ def configure_pki_import(device, elif pkcs_media_type in media_url: import_config = ( f"crypto pki import {tp_name} pkcs12 {pkcs_media_type}{pkcs_url} password {file_password}") + else: + import_config = ( + f"crypto pki import {tp_name} pkcs12 {pkcs_file} password {file_password}") + elif import_type == 'pem': if pem_option == 'url': if pem_media_type in media_file: @@ -776,6 +781,7 @@ def configure_pki_import(device, elif pem_option == 'terminal': import_config = ( f"crypto pki import {tp_name} pem terminal password {file_password}") + try: device.configure(import_config, reply=dialog, error_pattern=error_patterns) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/platform/configure.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/platform/configure.py index 6e96a02c8..ad7a3b3d9 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/platform/configure.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/platform/configure.py @@ -5593,3 +5593,26 @@ def unconfigure_hw_module_switch_number_ecomode_led(device, switch_number='all') device.configure(cmd) except SubCommandFailure as e: raise SubCommandFailure(f"Failed to unconfigure hw-module ecomode led on device {device.name}. Error:\n{e}") + + +def configure_ip_http_client_secure_trustpoint(device, trustpoint_name): + """ Configures the secure trustpoint + Example : ip http client secure-trustpoint {trustpoint_name} + + Args: + device ('obj'): device to use + license ('str): secure-trustpoint + + Returns: + None + + Raises: + SubCommandFailure + """ + + cmd = f'ip http client secure-trustpoint {trustpoint_name}' + try: + device.configure(cmd) + except SubCommandFailure as e: + raise SubCommandFailure(f'Failed to ip http client secure-trustpoint {trustpoint_name} on device {device.name}. Error:\n{e}') + diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/policy_map/configure.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/policy_map/configure.py index 3ce9f0632..eba5bad68 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/policy_map/configure.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/policy_map/configure.py @@ -959,3 +959,27 @@ def configure_policy_map_class_precedence(device, policy_map_name,class_map_name except SubCommandFailure as e: raise SubCommandFailure( f"Could not configure Configures policy-map with class {class_map_name} and precedence {precedence_num}. Error:\n{e}") + +def unconfigure_policy_map_with_pps(device, policy_name, class_map_name, police_rate): + """ Unconfigures policy-map with police rate in pps + Args: + device ('obj'): device to use + policy_name ('str'): name of the policy name + class_map_name ('str'): class map name information + police_rate ('int'): police rate details in pps + Returns: + None + Raises: + SubCommandFailure + """ + log.info(f"unconfigure policy_map {policy_name} with {class_map_name} and {police_rate} in pps") + + config = [f"policy-map {policy_name}", + f"class {class_map_name}", + f"no police rate {police_rate} pps"] + try: + device.configure(config) + except SubCommandFailure as e: + raise SubCommandFailure( + f"Could not unconfigure policy_map {policy_name} with {class_map_name} and {police_rate} in pps. Error:\n{e}") + \ No newline at end of file diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/rommon/configure.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/rommon/configure.py index 837ddf976..385c35d72 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/rommon/configure.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/rommon/configure.py @@ -70,6 +70,11 @@ def configure_rommon_tftp(device, ipv6_address=False): tftp.setdefault("DEFAULT_GATEWAY", str(device.management.get('gateway', {}).get(ip, ''))) tftp.setdefault("TFTP_SERVER", str(device.testbed.servers.get('tftp', {}).get('address', ''))) + # get the image from clean data + tftp_image_path = getattr(device.clean, 'images', []) + if tftp_image_path: + tftp.setdefault("TFTP_FILE", tftp_image_path[0]) + log.info("checking if all the tftp information is given by the user") if not all(tftp.values()): log.warning(f"Some TFTP information is missing: {tftp}") diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/rommon/utils.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/rommon/utils.py index 6482bc482..3ad751587 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/rommon/utils.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/rommon/utils.py @@ -45,6 +45,13 @@ def device_rommon_boot(device, golden_image=None, tftp_boot=None, error_pattern= golden_image = golden_image[0] cmd = f"{golden_image}" + # To boot using tftp rommon variable + # In this case, we assume the rommon variable TFTP_FILE is set already + # and booting it using the "boot tftp:" command + elif getattr(device.clean, 'images', []): + log.warning('Assuming the rommon variable TFTP_FILE is set and boot using "boot tftp:" command') + cmd = "tftp:" + # To boot using tftp information elif tftp_server and image: log.info(banner("Booting device '{}' with the Tftp images".\ diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py index f978670e8..a7a58c127 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/running_config/get.py @@ -32,26 +32,30 @@ def search_running_config(device, option): return config -def get_running_config_dict(device, option=None): +def get_running_config_dict(device, option=None, output=None): """ Get show running-config output Args: device (`obj`): Device object option (`str`): option command + output (`str`): output of show running-config Returns: config_dict (`dict`): dict of show run output """ - if option: - cmd = "show running-config {}".format(option) + if output: + out = output else: - cmd = "show running-config" - try: - out = device.execute(cmd) - except SubCommandFailure as e: - raise SubCommandFailure( - "Could not get running-config information " - "on device {device}".format(device=device.name) - ) + if option: + cmd = "show running-config {}".format(option) + else: + cmd = "show running-config" + try: + out = device.execute(cmd) + except SubCommandFailure as e: + raise SubCommandFailure( + "Could not get running-config information " + "on device {device}".format(device=device.name) + ) config_dict = get_config_dict(out) return config_dict diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/sisf/get.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/sisf/get.py index 6bf056247..225af35de 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/sisf/get.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/sisf/get.py @@ -187,6 +187,7 @@ def get_ip_theft_syslogs(device): # *Sep 15 12:53:06.383 EST: %SISF-4-IP_THEFT: IP Theft IP=2001:DB8::101 VLAN=20 MAC=dead.beef.0001 IF=Twe1/0/1 New MAC=dead.beef.0002 New I/F=Twe1/0/1 # *Dec 17 13:57:09.293 EST: %SISF-4-IP_THEFT: IP Theft IP=192.168.11.103 VLAN=20 MAC=dead.beef.0001 IF=Twe1/0/1 New(Spoof) MAC=dead.beef.0002 New I/F=Twe1/0/5 + # .Feb 5 19:30:20.037: %SISF-4-IP_THEFT: IP Theft IP=20.0.0.254 VLAN=20 MAC=ba25.cdf4.ad38 IF=Vl20 New(Spoof) MAC=dead.beef.0002 New IF=Gi1/0/1 theft1 = re.compile( timematch + r'\s+%SISF-4-IP_THEFT: IP Theft' + @@ -195,7 +196,7 @@ def get_ip_theft_syslogs(device): r'\s+MAC=(?P([a-fA-F\d]{4}\.){2}[a-fA-F\d]{4})' + r'\s+IF=(?P[\w\/\.\-\:]+)' + r'\s+New(\(Spoof\))? MAC=(?P([a-fA-F\d]{4}\.){2}[a-fA-F\d]{4})' + - r'\s+New I/F=(?P[\w\/\.\-\:]+)' + r'\s+New I(/?)F=(?P[\w\/\.\-\:]+)' ) # The order of when interface appears varies, so we need a second match # *Jan 11 15:57:30.413 EST: %SISF-4-IP_THEFT: IP Theft IP=192.168.11.103 VLAN=20 MAC=dead.beef.0008 New(Spoof) MAC=dead.beef.0002 IF=Vl20 New IF=Twe1/0/1 diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/snmp/get.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/snmp/get.py index 2fcd588d3..bb4a4c8d9 100755 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/snmp/get.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/iosxe/snmp/get.py @@ -11,7 +11,7 @@ def get_snmp_snmpwalk( - device, community, ip_address, oid, version="2c", option=None + device, community, ip_address, oid, version="2c", option=None, timeout=60 ): """ Get snmpwalk output from SNMP device @@ -22,6 +22,7 @@ def get_snmp_snmpwalk( oid (`str`): Oid code version (`str`): SNMP version option (`str`): Optional command + timeout (`int`): Optional timeout value. Default is 60 seconds. Returns: out (`str`): Executed output of SNMP command Raises: @@ -43,7 +44,7 @@ def get_snmp_snmpwalk( oid=oid, ) - return device.execute(cmd) + return device.execute(cmd, timeout=timeout) def get_snmp_id_slot_map(device, community, ip_address, oids, version="2c"): diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/get.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/get.py index 61b9fcd35..0edd5fc9c 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/get.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/get.py @@ -1,21 +1,46 @@ """Common get functions for linux""" import logging +import re from unicon.core.errors import SubCommandFailure log = logging.getLogger(__name__) -def get_file_contents(device, filename): +def get_file_contents(device, filename, remove_cr=True): """ Args: device(`obj`) filename(`str`): Absolute path to the file + remove_cr('str'): Remove carriage return (\r) from the file contents. Returns: File contents as a string """ cmd = f"cat {filename}" try: - return str(device.execute(cmd)) + output = str(device.execute(cmd)) + if remove_cr: + return output.replace('\r', "") + return output except SubCommandFailure as e: - SubCommandFailure(f"Failed to get supported elliptic curves. Error\n {e}") + SubCommandFailure(f"Failed to get the file contents. Error\n {e}") + +def get_ip_route_for_ipv4(device, ipv4): + """ + Args: + device(`obj`): Device object + ipv4(`IPv4Address`): the ip that we want to check the routing table for + Returns: + ip_route('str'): the string format for ip route + """ + cmd = f"ip route get {ipv4}" + try: + output = device.execute(cmd) + except SubCommandFailure as e: + SubCommandFailure(f"Failed to get the file contents. Error\n {e}") + pattern = re.compile(r'.*src (?P[0-9.]+).*') + route_match = pattern.match(output) + if route_match: + return route_match.groupdict().get('route') + + diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/openssl/generate.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/openssl/generate.py index 301341197..56c7bd008 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/openssl/generate.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/openssl/generate.py @@ -6,19 +6,25 @@ log = logging.getLogger(__name__) -def generate_rsa_ssl_key(device, private_key_name, key_size=2048, password=None, aes_key_size=256, path_to_file=None): +def generate_rsa_ssl_key(device, private_key_name, key_size=2048, password=None, aes_key_size=256, path_to_file=None, aes=True): """ Args: device('obj'): Device to configure the SSL key on private_key_name(`str`): Name of the certificate file key_size(`int`, Optional): RSA key bit length, default 2048 password(`str`, Optional): Password to encrypt the device key, default None + aes('bool', Optional): Use AES encryption if True, else use 3DES. default to True. aes_key_size(`int`, Optional): AES keysize used to encrypt password if provided. Default 256 path_to_file(`str`, Optional): Absolute path to the directory where the file should be saved, default None Raises: SubCommandFailure """ + # To handle the encryption, aes encryption is used by default + encryption = f'aes{aes_key_size}' + if not aes: + encryption = 'des3' + log.info(f"Configuring RSA private key with {key_size} bits") if path_to_file: try: @@ -30,26 +36,32 @@ def generate_rsa_ssl_key(device, private_key_name, key_size=2048, password=None, cmd = [f"openssl genrsa -out {private_key_name} {key_size}"] if password: log.info(f"Key will be encrypted to file encrypted_{private_key_name}") - cmd.append(f"openssl rsa -aes{aes_key_size} -in {private_key_name} -out {private_key_name} -passout pass:{password}") + cmd.append(f"openssl rsa -{encryption} -in {private_key_name} -out {private_key_name} -passout pass:{password}") try: device.execute(cmd) except SubCommandFailure as e: raise SubCommandFailure(f"Failed to configure RSA{key_size} key on the device. Error:\n{e}") -def generate_ecc_ssl_key(device, private_key_name, elliptic_curve, password=None, aes_key_size=256, path_to_file=None): +def generate_ecc_ssl_key(device, private_key_name, elliptic_curve, password=None, aes_key_size=256, path_to_file=None, aes=True): """ Args: device(`obj`): Device to configure the SSL key on private_key_name(`str`): Name of the private key file elliptic_curve(`str`): Specify which elliptic curve to employ password(`str`, Optional): Password to encrypt the private key, default None + aes('bool', Optional): Use AES encryption if True, else use 3DES. default to True. aes_key_size(`int`, Optional): AES keysize used to encrypt password if provided. Default 256 path_to_file(`str`, Optional): Absolute path to the directory where the file should be saved, default None Raises: SubCommandFailure """ + # To handle the encryption, aes encryption is used by default + encryption = f'aes{aes_key_size}' + if not aes: + encryption = 'des3' + log.info(f"Configuring ECC private key with {elliptic_curve}") if path_to_file: try: @@ -61,7 +73,7 @@ def generate_ecc_ssl_key(device, private_key_name, elliptic_curve, password=None cmd = [f"openssl ecparam -genkey -name {elliptic_curve} -out {private_key_name}"] if password: log.info(f"Key will be encrypted to file {private_key_name}") - cmd.append(f"openssl ec -aes{aes_key_size} -in {private_key_name} -out {private_key_name} -passout pass:{password}") + cmd.append(f"openssl ec -{encryption} -in {private_key_name} -out {private_key_name} -passout pass:{password}") try: device.execute(cmd) @@ -149,3 +161,30 @@ def generate_ssl_certificate(device, device_key_file, ca_certificate_file, priva device.execute(cmd) except SubCommandFailure as e: raise SubCommandFailure(f"Failed to generate the ssl certificate. Error:\n{e}") + + +def generate_pkcs12(device, device_key_file, device_cert_file, root_cert_file, output_pkcs12_file, + passin_password=None, passout_password=None): + """ + Args: + device('obj'): Device to configure the SSL key on. + device_key_file(`str`): Filename or absolute path to a file containing a device key for the certificate. + device_cert_file(`str`): Filename or absolute path to a file containing a device certificate. + root_cert_file(`str`): Filename or absolute path to a root certificate. + output_pkcs12_file(`str`): Filename or absolute path to a output pkcs12 file. + passin_password(`str`, Optional): The password for the input private key file, if applicable. Default None. + passout_password(`str`, Optional): The password for the output private key file, if applicable. Default None. + Raises: + SubCommandFailure + """ + + cmd = f"openssl pkcs12 -export -chain -inkey {device_key_file} -in {device_cert_file} -CAfile {root_cert_file} -out {output_pkcs12_file}" + if passin_password: + cmd += f" -passin pass:{passin_password}" + if passout_password: + cmd += f" -passout pass:{passout_password}" + + try: + device.execute(cmd) + except SubCommandFailure as e: + raise SubCommandFailure(f"Failed to generate pkcs12 file on the device. Error:\n{e}") diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/snmp/get.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/snmp/get.py index f36e9201a..353cb1b37 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/snmp/get.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/snmp/get.py @@ -9,7 +9,7 @@ log = logging.getLogger(__name__) def get_snmp_snmpwalk( - device, community, ip_address, oid, version="2c", option=None + device, community, ip_address, oid, version="2c", option=None, timeout=60 ): """ Get snmpwalk output from SNMP device Args: @@ -19,6 +19,7 @@ def get_snmp_snmpwalk( oid (`str`): Oid code version (`str`, optional): SNMP version. Default is "2c" option (`str`): Optional command. Default is None + timeout (`int`): Optional timeout value. Default is 60 seconds. Returns: out (`str`): Executed output of SNMP command Raises: @@ -40,7 +41,7 @@ def get_snmp_snmpwalk( oid=oid, ) - return device.execute(cmd) + return device.execute(cmd, timeout=timeout) def get_snmp_snmpget(device, community, ip_address, oid, version="2c", option=None): diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/socat/relay.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/socat/relay.py index 8bebf0848..b641f0eff 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/socat/relay.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/socat/relay.py @@ -3,8 +3,10 @@ import logging from time import sleep -log = logging.getLogger(__name__) +from unicon.eal.dialogs import Dialog + +log = logging.getLogger(__name__) def socat_relay(device, remote_ip, remote_port, protocol='TCP4'): """ Setup UDP/TCP relay using 'socat' command. @@ -18,6 +20,23 @@ def socat_relay(device, remote_ip, remote_port, protocol='TCP4'): Returns: proxy_port (int): Proxy port number or False if not able to setup relay """ + proxy_port, _ = start_socat_relay(device, remote_ip, remote_port, protocol) + return proxy_port + + +def start_socat_relay(device, remote_ip, remote_port, protocol='TCP4'): + """ Setup UDP/TCP relay using 'socat' command. + + Args: + device (obj): Device object (optional) + remote_ip (str): remote IP address + remote_port (str): remote port + protocol (str): portocol (default: TCP4) + + Returns: + proxy_port (int): Proxy port number or False if not able to setup relay + socat_pid (int): Process ID for the socat process + """ try: socat_output = device.execute(f'socat {protocol}-LISTEN:0,reuseaddr,fork {protocol}:{remote_ip}:{remote_port} &', error_pattern=['command not found']) @@ -50,4 +69,16 @@ def socat_relay(device, remote_ip, remote_port, protocol='TCP4'): log.error('Could not setup port relay via proxy') return - return proxy_port + return proxy_port, socat_pid + + +def stop_socat_relay(device, socat_pid): + """ Stop the relay process by killing the PID + + Args: + socat_pid (int): Process ID for socat process + """ + dialog = Dialog([ + [r'.*?\[\d+].\s+Exit.*', 'sendline()', None, True, False] + ]) + device.execute(f'kill {socat_pid}', reply=dialog) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/utils.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/utils.py index 5c01194cd..92551d9af 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/utils.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/linux/utils.py @@ -2,6 +2,7 @@ import re import logging import pathlib +import ipaddress # Logger log = logging.getLogger(__name__) @@ -205,3 +206,22 @@ def scp(device, # return True/False depending on result return bool(re.search(r'{}\s*100%'.format(local_filename), out)) + +def get_valid_ipv4_address(device, ip): + """ Validate and convert the input IP address into an IPv4Interface instance. + + Args: + device (`obj`) : Device object (local device) + ip_address (`str` or IPv4Interface): IP address to be validated and converted + Raise: + ipaddress.AddressValueError: If IP address cannot be converted to IPv4Interface + Returns: + result (`IPv4Address`): The IPv4Address for ip + """ + try: + ip = ipaddress.IPv4Interface(ip) + except ipaddress.AddressValueError as e: + log.error(f'Could not convert {ip} to IPv4Interface address because of {e}') + raise e + return ip.ip + diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cat9k/platform/get/test_get_boot_variables/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cat9k/platform/get/test_get_boot_variables/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cat9k/platform/get/test_get_boot_variables/mock_data/iosxe/mock_data.yml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cat9k/platform/get/test_get_boot_variables/mock_data/iosxe/mock_data.yml new file mode 100644 index 000000000..9cbccaca2 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cat9k/platform/get/test_get_boot_variables/mock_data/iosxe/mock_data.yml @@ -0,0 +1,34 @@ +configure: + commands: + end: + new_state: execute + line console 0: + new_state: configure_line + no logging console: '' + prompt: CTLR_1_1(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: CTLR_1_1(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + show version: '' + term length 0: '' + term width 0: '' + prompt: CTLR_1_1# \ No newline at end of file diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cat9k/platform/get/test_get_boot_variables/test_api_get_boot_variables_dict.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cat9k/platform/get/test_get_boot_variables/test_api_get_boot_variables_dict.py new file mode 100644 index 000000000..a58369a50 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cat9k/platform/get/test_get_boot_variables/test_api_get_boot_variables_dict.py @@ -0,0 +1,45 @@ +import unittest + +from genie.conf import Genie +from genie.libs.sdk.apis.iosxe.cat9k.platform.get import get_boot_variables + + +class TestApiIiosxePlatform(unittest.TestCase): + + parsed_outputs = { + 'show boot': { + "current_boot_variable": "flash:/rio_yang_current.bin;", + "next_reload_boot_variable": "flash:/rio_yang_next.bin;", + }, + } + + @classmethod + def get_parsed_output(cls, arg, **kwargs): + '''Return the parsed output of the given show command ''' + return cls.parsed_outputs[arg] + + @classmethod + def setUpClass(cls): + testbed = """ + devices: + R1: + os: iosxe + type: router + connections: {} + """ + cls.tb = Genie.init(testbed) + cls.device = cls.tb.devices['R1'] + cls.device.parse = cls.get_parsed_output + + def test_get_boot_variables(self): + boot_vars = get_boot_variables(self.device, 'current') + self.assertEqual(boot_vars, ['flash:/rio_yang_current.bin']) + + boot_vars = get_boot_variables(self.device, 'next') + self.assertEqual(boot_vars, ['flash:/rio_yang_next.bin']) + + with self.assertRaises(AssertionError): + get_boot_variables(self.device, 'does_not_exist') + +if __name__ == '__main__': + unittest.main() \ No newline at end of file diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cdp/configure/configure_cdp/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cdp/configure/configure_cdp/mock_data/iosxe/mock_data.yaml index 8d7da5dc4..895c34228 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cdp/configure/configure_cdp/mock_data/iosxe/mock_data.yaml +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cdp/configure/configure_cdp/mock_data/iosxe/mock_data.yaml @@ -74,6 +74,66 @@ execute: new_state: configure config-transaction: new_state: configure + show interfaces TenGigabitEthernet1/0/19: | + TenGigabitEthernet1/0/19 is administratively down, line protocol is down (disabled) + Hardware is Gigabit Ethernet, address is fc58.90a3.d30c (bia fc58.90a3.d30c) + MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec, + reliability 255/255, txload 1/255, rxload 3/255 + Encapsulation ARPA, loopback not set + Keepalive set (10 sec) + Auto-duplex, Auto-speed, media type is 10/100/1000BaseTX + input flow-control is on, output flow-control is unsupported + ARP type: ARPA, ARP Timeout 04:00:00 + Last input 00:01:15, output 00:01:15, output hang never + Last clearing of "show interface" counters never + Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 0 + Queueing strategy: fifo + Output queue: 0/40 (size/max) + 5 minute input rate 12345000 bits/sec, 24104 packets/sec + 5 minute output rate 0 bits/sec, 0 packets/sec + 17027741 packets input, 1089787530 bytes, 0 no buffer + Received 315 broadcasts (305 multicasts) + 0 runts, 0 giants, 0 throttles + 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored + 0 watchdog, 305 multicast, 0 pause input + 0 input packets with dribble condition detected + 79 packets output, 13095 bytes, 0 underruns + Output 35 broadcasts (35 multicasts) + 0 output errors, 0 collisions, 2 interface resets + 0 unknown protocol drops + 0 babbles, 0 late collision, 0 deferred + 0 lost carrier, 0 no carrier, 0 pause output + 0 output buffer failures, 0 output buffers swapped out + show interfaces TenGigabitEthernet1/0/20: | + TenGigabitEthernet1/0/20 is administratively down, line protocol is down (disabled) + Hardware is Gigabit Ethernet, address is fc58.90a3.d30c (bia fc58.90a3.d30c) + MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec, + reliability 255/255, txload 1/255, rxload 3/255 + Encapsulation ARPA, loopback not set + Keepalive set (10 sec) + Auto-duplex, Auto-speed, media type is 10/100/1000BaseTX + input flow-control is on, output flow-control is unsupported + ARP type: ARPA, ARP Timeout 04:00:00 + Last input 00:01:15, output 00:01:15, output hang never + Last clearing of "show interface" counters never + Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 0 + Queueing strategy: fifo + Output queue: 0/40 (size/max) + 5 minute input rate 12345000 bits/sec, 24104 packets/sec + 5 minute output rate 0 bits/sec, 0 packets/sec + 17027741 packets input, 1089787530 bytes, 0 no buffer + Received 315 broadcasts (305 multicasts) + 0 runts, 0 giants, 0 throttles + 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored + 0 watchdog, 305 multicast, 0 pause input + 0 input packets with dribble condition detected + 79 packets output, 13095 bytes, 0 underruns + Output 35 broadcasts (35 multicasts) + 0 output errors, 0 collisions, 2 interface resets + 0 unknown protocol drops + 0 babbles, 0 late collision, 0 deferred + 0 lost carrier, 0 no carrier, 0 pause output + 0 output buffer failures, 0 output buffers swapped out show interfaces: response: - "Vlan1 is up, line protocol is up , Autostate Enabled\r\n Hardware is Ethernet\ diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cdp/configure/configure_cdp/test_api_configure_cdp.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cdp/configure/configure_cdp/test_api_configure_cdp.py index 8bb740e9b..3b89bbbf3 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cdp/configure/configure_cdp/test_api_configure_cdp.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/cdp/configure/configure_cdp/test_api_configure_cdp.py @@ -33,3 +33,8 @@ def test_configure_cdp(self): result = configure_cdp(self.device, None, 300) expected_output = None self.assertEqual(result, expected_output) + + def test_configure_cdp_1(self): + result = configure_cdp(self.device, ['TenGigabitEthernet1/0/19', 'TenGigabitEthernet1/0/20']) + expected_output = None + self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/custom_template/configure/configure_sdm_prefer_custom_template/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/custom_template/configure/configure_sdm_prefer_custom_template/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/custom_template/configure/configure_sdm_prefer_custom_template/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/custom_template/configure/configure_sdm_prefer_custom_template/mock_data/iosxe/mock_data.yaml index 9ee2e8440..daac4737f 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/custom_template/configure/configure_sdm_prefer_custom_template/mock_data/iosxe/mock_data.yaml +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/custom_template/configure/configure_sdm_prefer_custom_template/mock_data/iosxe/mock_data.yaml @@ -5,16 +5,15 @@ configure: line console 0: new_state: configure_line no logging console: '' - sdm prefer custom commit: "sdm prefer custom commit\r\nChanges to the running\ - \ SDM preferences have been stored and will take effect on the next reload.\r\ - \n\r\n" - prompt: prom_SVL(config)# + pbr 27 priority 1: "pbr 27 priority 1\r\n" + sdm prefer custom acl: "sdm prefer custom acl\r\n" + prompt: C9500h-2-DUT(config)# configure_line: commands: end: new_state: execute exec-timeout 0: '' - prompt: prom_SVL(config-line)# + prompt: C9500h-2-DUT(config-line)# connect: commands: ? '' @@ -34,4 +33,4 @@ execute: show version: '' term length 0: '' term width 0: '' - prompt: prom_SVL# + prompt: C9500h-2-DUT# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/custom_template/configure/configure_sdm_prefer_custom_template/test_api_configure_sdm_prefer_custom_template.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/custom_template/configure/configure_sdm_prefer_custom_template/test_api_configure_sdm_prefer_custom_template.py index 19dfda81e..21be18c64 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/custom_template/configure/configure_sdm_prefer_custom_template/test_api_configure_sdm_prefer_custom_template.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/custom_template/configure/configure_sdm_prefer_custom_template/test_api_configure_sdm_prefer_custom_template.py @@ -1,3 +1,4 @@ +import os import unittest from pyats.topology import loader from genie.libs.sdk.apis.iosxe.custom_template.configure import configure_sdm_prefer_custom_template @@ -7,21 +8,21 @@ class TestConfigureSdmPreferCustomTemplate(unittest.TestCase): @classmethod def setUpClass(self): - testbed = """ + testbed = f""" devices: - prom_SVL: + C9500h-2-DUT: connections: defaults: class: unicon.Unicon a: - command: mock_device_cli --os iosxe --mock_data_dir mock_data --state connect + command: mock_device_cli --os iosxe --mock_data_dir {os.path.dirname(__file__)}/mock_data --state connect protocol: unknown os: iosxe - platform: cat9k - type: '9500' + platform: c9300 + type: c9300 """ self.testbed = loader.load(testbed) - self.device = self.testbed.devices['prom_SVL'] + self.device = self.testbed.devices['C9500h-2-DUT'] self.device.connect( learn_hostname=True, init_config_commands=[], @@ -29,6 +30,6 @@ def setUpClass(self): ) def test_configure_sdm_prefer_custom_template(self): - result = configure_sdm_prefer_custom_template(self.device, 'commit') + result = configure_sdm_prefer_custom_template(self.device, 'acl', 'pbr', 27, 1) expected_output = None self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/hw_module/execute/hw_module_filesystem_security_lock/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/hw_module/execute/hw_module_filesystem_security_lock/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/hw_module/execute/hw_module_filesystem_security_lock/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/hw_module/execute/hw_module_filesystem_security_lock/mock_data/iosxe/mock_data.yaml new file mode 100644 index 000000000..44bc20488 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/hw_module/execute/hw_module_filesystem_security_lock/mock_data/iosxe/mock_data.yaml @@ -0,0 +1,42 @@ +configure: + commands: + end: + new_state: execute + line console 0: + new_state: configure_line + no logging console: '' + prompt: ENC(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: ENC(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + hw-module bootflash security-lock disable: + response: + - SUCCESS + response_type: circular + hw-module bootflash security-lock enable: + response: + - SUCCESS + response_type: circular + show version: '' + term length 0: '' + term width 0: '' + prompt: ENC# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/hw_module/execute/hw_module_filesystem_security_lock/test_api_hw_module_filesystem_security_lock.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/hw_module/execute/hw_module_filesystem_security_lock/test_api_hw_module_filesystem_security_lock.py new file mode 100644 index 000000000..7730de868 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/hw_module/execute/hw_module_filesystem_security_lock/test_api_hw_module_filesystem_security_lock.py @@ -0,0 +1,40 @@ +import os +import unittest +from pyats.topology import loader +from genie.libs.sdk.apis.iosxe.hw_module.execute import hw_module_filesystem_security_lock + + +class TestHwModuleFilesystemSecurityLock(unittest.TestCase): + + @classmethod + def setUpClass(self): + testbed = f""" + devices: + ENC: + connections: + defaults: + class: unicon.Unicon + a: + command: mock_device_cli --os iosxe --mock_data_dir {os.path.dirname(__file__)}/mock_data --state connect + protocol: unknown + os: iosxe + platform: cat8k + type: router + """ + self.testbed = loader.load(testbed) + self.device = self.testbed.devices['ENC'] + self.device.connect( + learn_hostname=True, + init_config_commands=[], + init_exec_commands=[] + ) + + def test_hw_module_filesystem_security_lock(self): + result = hw_module_filesystem_security_lock(self.device, 'bootflash', 'disable') + expected_output = 'SUCCESS' + self.assertEqual(result, expected_output) + + def test_hw_module_filesystem_security_lock_1(self): + result = hw_module_filesystem_security_lock(self.device, 'bootflash', 'enable') + expected_output = 'SUCCESS' + self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_max_response_time/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_max_response_time/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_max_response_time/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_max_response_time/mock_data/iosxe/mock_data.yaml new file mode 100644 index 000000000..603f4b2ca --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_max_response_time/mock_data/iosxe/mock_data.yaml @@ -0,0 +1,36 @@ +configure: + commands: + end: + new_state: execute + line console 0: + new_state: configure_line + no ip igmp snooping querier max-response-time 25: "no ip igmp snooping querier\ + \ max-response-time 25\r\n" + no logging console: '' + prompt: stack3-nyquist-1(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: stack3-nyquist-1(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + show version: '' + term length 0: '' + term width 0: '' + prompt: stack3-nyquist-1# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_max_response_time/test_api_unconfigure_ip_igmp_querier_max_response_time.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_max_response_time/test_api_unconfigure_ip_igmp_querier_max_response_time.py new file mode 100644 index 000000000..28575b92d --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_max_response_time/test_api_unconfigure_ip_igmp_querier_max_response_time.py @@ -0,0 +1,35 @@ +import os +import unittest +from pyats.topology import loader +from genie.libs.sdk.apis.iosxe.igmp_snooping.configure import unconfigure_ip_igmp_querier_max_response_time + + +class TestUnconfigureIpIgmpQuerierMaxResponseTime(unittest.TestCase): + + @classmethod + def setUpClass(self): + testbed = f""" + devices: + stack3-nyquist-1: + connections: + defaults: + class: unicon.Unicon + a: + command: mock_device_cli --os iosxe --mock_data_dir {os.path.dirname(__file__)}/mock_data --state connect + protocol: unknown + os: iosxe + platform: c9300 + type: c9300 + """ + self.testbed = loader.load(testbed) + self.device = self.testbed.devices['stack3-nyquist-1'] + self.device.connect( + learn_hostname=True, + init_config_commands=[], + init_exec_commands=[] + ) + + def test_unconfigure_ip_igmp_querier_max_response_time(self): + result = unconfigure_ip_igmp_querier_max_response_time(self.device, 'max-response-time', '25') + expected_output = None + self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_query_interval/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_query_interval/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_query_interval/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_query_interval/mock_data/iosxe/mock_data.yaml new file mode 100644 index 000000000..d858e35b4 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_query_interval/mock_data/iosxe/mock_data.yaml @@ -0,0 +1,36 @@ +configure: + commands: + end: + new_state: execute + line console 0: + new_state: configure_line + no ip igmp snooping querier query-interval 100: "no ip igmp snooping querier query-interval\ + \ 100\r\n" + no logging console: '' + prompt: stack3-nyquist-1(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: stack3-nyquist-1(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + show version: '' + term length 0: '' + term width 0: '' + prompt: stack3-nyquist-1# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_query_interval/test_api_unconfigure_ip_igmp_querier_query_interval.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_query_interval/test_api_unconfigure_ip_igmp_querier_query_interval.py new file mode 100644 index 000000000..750df0f2f --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_query_interval/test_api_unconfigure_ip_igmp_querier_query_interval.py @@ -0,0 +1,35 @@ +import os +import unittest +from pyats.topology import loader +from genie.libs.sdk.apis.iosxe.igmp_snooping.configure import unconfigure_ip_igmp_querier_query_interval + + +class TestUnconfigureIpIgmpQuerierQueryInterval(unittest.TestCase): + + @classmethod + def setUpClass(self): + testbed = f""" + devices: + stack3-nyquist-1: + connections: + defaults: + class: unicon.Unicon + a: + command: mock_device_cli --os iosxe --mock_data_dir {os.path.dirname(__file__)}/mock_data --state connect + protocol: unknown + os: iosxe + platform: c9300 + type: c9300 + """ + self.testbed = loader.load(testbed) + self.device = self.testbed.devices['stack3-nyquist-1'] + self.device.connect( + learn_hostname=True, + init_config_commands=[], + init_exec_commands=[] + ) + + def test_unconfigure_ip_igmp_querier_query_interval(self): + result = unconfigure_ip_igmp_querier_query_interval(self.device, 'query-interval', '100') + expected_output = None + self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_count/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_count/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_count/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_count/mock_data/iosxe/mock_data.yaml new file mode 100644 index 000000000..35f198e1b --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_count/mock_data/iosxe/mock_data.yaml @@ -0,0 +1,36 @@ +configure: + commands: + end: + new_state: execute + line console 0: + new_state: configure_line + no ip igmp snooping querier tcn query count 10: "no ip igmp snooping querier tcn\ + \ query count 10\r\n" + no logging console: '' + prompt: stack3-nyquist-1(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: stack3-nyquist-1(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + show version: '' + term length 0: '' + term width 0: '' + prompt: stack3-nyquist-1# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_count/test_api_unconfigure_ip_igmp_querier_tcn_query_count.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_count/test_api_unconfigure_ip_igmp_querier_tcn_query_count.py new file mode 100644 index 000000000..3d390f237 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_count/test_api_unconfigure_ip_igmp_querier_tcn_query_count.py @@ -0,0 +1,35 @@ +import os +import unittest +from pyats.topology import loader +from genie.libs.sdk.apis.iosxe.igmp_snooping.configure import unconfigure_ip_igmp_querier_tcn_query_count + + +class TestUnconfigureIpIgmpQuerierTcnQueryCount(unittest.TestCase): + + @classmethod + def setUpClass(self): + testbed = f""" + devices: + stack3-nyquist-1: + connections: + defaults: + class: unicon.Unicon + a: + command: mock_device_cli --os iosxe --mock_data_dir {os.path.dirname(__file__)}/mock_data --state connect + protocol: unknown + os: iosxe + platform: c9300 + type: c9300 + """ + self.testbed = loader.load(testbed) + self.device = self.testbed.devices['stack3-nyquist-1'] + self.device.connect( + learn_hostname=True, + init_config_commands=[], + init_exec_commands=[] + ) + + def test_unconfigure_ip_igmp_querier_tcn_query_count(self): + result = unconfigure_ip_igmp_querier_tcn_query_count(self.device, 'tcn', 'count', '10') + expected_output = None + self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_interval/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_interval/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_interval/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_interval/mock_data/iosxe/mock_data.yaml new file mode 100644 index 000000000..9cedbc6d2 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_interval/mock_data/iosxe/mock_data.yaml @@ -0,0 +1,36 @@ +configure: + commands: + end: + new_state: execute + line console 0: + new_state: configure_line + no ip igmp snooping querier tcn query interval 255: "no ip igmp snooping querier\ + \ tcn query interval 255\r\n" + no logging console: '' + prompt: stack3-nyquist-1(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: stack3-nyquist-1(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + show version: '' + term length 0: '' + term width 0: '' + prompt: stack3-nyquist-1# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_interval/test_api_unconfigure_ip_igmp_querier_tcn_query_interval.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_interval/test_api_unconfigure_ip_igmp_querier_tcn_query_interval.py new file mode 100644 index 000000000..80f2f98ad --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_tcn_query_interval/test_api_unconfigure_ip_igmp_querier_tcn_query_interval.py @@ -0,0 +1,35 @@ +import os +import unittest +from pyats.topology import loader +from genie.libs.sdk.apis.iosxe.igmp_snooping.configure import unconfigure_ip_igmp_querier_tcn_query_interval + + +class TestUnconfigureIpIgmpQuerierTcnQueryInterval(unittest.TestCase): + + @classmethod + def setUpClass(self): + testbed = f""" + devices: + stack3-nyquist-1: + connections: + defaults: + class: unicon.Unicon + a: + command: mock_device_cli --os iosxe --mock_data_dir {os.path.dirname(__file__)}/mock_data --state connect + protocol: unknown + os: iosxe + platform: c9300 + type: c9300 + """ + self.testbed = loader.load(testbed) + self.device = self.testbed.devices['stack3-nyquist-1'] + self.device.connect( + learn_hostname=True, + init_config_commands=[], + init_exec_commands=[] + ) + + def test_unconfigure_ip_igmp_querier_tcn_query_interval(self): + result = unconfigure_ip_igmp_querier_tcn_query_interval(self.device, 'tcn', 'interval', '255') + expected_output = None + self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_timer_expiry/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_timer_expiry/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_timer_expiry/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_timer_expiry/mock_data/iosxe/mock_data.yaml new file mode 100644 index 000000000..2e23acbab --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_timer_expiry/mock_data/iosxe/mock_data.yaml @@ -0,0 +1,36 @@ +configure: + commands: + end: + new_state: execute + line console 0: + new_state: configure_line + no ip igmp snooping querier timer expiry 300: "no ip igmp snooping querier timer\ + \ expiry 300\r\n" + no logging console: '' + prompt: stack3-nyquist-1(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: stack3-nyquist-1(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + show version: '' + term length 0: '' + term width 0: '' + prompt: stack3-nyquist-1# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_timer_expiry/test_api_unconfigure_ip_igmp_querier_timer_expiry.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_timer_expiry/test_api_unconfigure_ip_igmp_querier_timer_expiry.py new file mode 100644 index 000000000..468979aed --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/igmp_snooping/configure/unconfigure_ip_igmp_querier_timer_expiry/test_api_unconfigure_ip_igmp_querier_timer_expiry.py @@ -0,0 +1,35 @@ +import os +import unittest +from pyats.topology import loader +from genie.libs.sdk.apis.iosxe.igmp_snooping.configure import unconfigure_ip_igmp_querier_timer_expiry + + +class TestUnconfigureIpIgmpQuerierTimerExpiry(unittest.TestCase): + + @classmethod + def setUpClass(self): + testbed = f""" + devices: + stack3-nyquist-1: + connections: + defaults: + class: unicon.Unicon + a: + command: mock_device_cli --os iosxe --mock_data_dir {os.path.dirname(__file__)}/mock_data --state connect + protocol: unknown + os: iosxe + platform: c9300 + type: c9300 + """ + self.testbed = loader.load(testbed) + self.device = self.testbed.devices['stack3-nyquist-1'] + self.device.connect( + learn_hostname=True, + init_config_commands=[], + init_exec_commands=[] + ) + + def test_unconfigure_ip_igmp_querier_timer_expiry(self): + result = unconfigure_ip_igmp_querier_timer_expiry(self.device, '300') + expected_output = None + self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/configure/configure_virtual_template/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/configure/configure_virtual_template/mock_data/iosxe/mock_data.yaml index b3c42df08..82dc35c31 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/configure/configure_virtual_template/mock_data/iosxe/mock_data.yaml +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/configure/configure_virtual_template/mock_data/iosxe/mock_data.yaml @@ -2,12 +2,12 @@ configure: commands: end: new_state: execute - interface Virtual-Template 1: "interface Virtual-Template 1\r\n" - ip unnumbered GigabitEthernet0/0/0: "ip unnumbered GigabitEthernet0/0/0\r\n" + interface Virtual-Template 100: "interface Virtual-Template 100\r\n" + ip unnumbered Loopback2: "ip unnumbered Loopback2\r\n" line console 0: new_state: configure_line no logging console: '' - peer default ip address pool ipv4_pool_100: "peer default ip address pool ipv4_pool_100\r\ + peer default ipv6 pool ipv6_local_pool: "peer default ipv6 pool ipv6_local_pool\r\ \n" prompt: C1113-8P_pkumarmu(config)# configure_line: diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/configure/configure_virtual_template/test_api_configure_virtual_template.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/configure/configure_virtual_template/test_api_configure_virtual_template.py index 97e8ce973..b5044676a 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/configure/configure_virtual_template/test_api_configure_virtual_template.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/configure/configure_virtual_template/test_api_configure_virtual_template.py @@ -30,6 +30,6 @@ def setUpClass(self): ) def test_configure_virtual_template(self): - result = configure_virtual_template(self.device, '1', 'GigabitEthernet0/0/0', False, None, False, False, 0, 0, '', '', False, False, 'ipv4_pool_100') + result = configure_virtual_template(self.device, '100', 'Loopback2', False, None, False, False, 0, 0, '', '', False, False, None, 'ipv6_local_pool') expected_output = None self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/get/get_interface_information/test_api_get_interface_information.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/get/get_interface_information/test_api_get_interface_information.py index 2c9825ab7..081f0dbc3 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/get/get_interface_information/test_api_get_interface_information.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/get/get_interface_information/test_api_get_interface_information.py @@ -30,7 +30,7 @@ def setUpClass(self): def test_get_interface_information(self): result = get_interface_information(self.device, ['GigabitEthernet1']) - expected_output = {'GigabitEthernet1': {'GigabitEthernet1': {'arp_timeout': '04:00:00', + expected_output = {'GigabitEthernet1': {'arp_timeout': '04:00:00', 'arp_type': 'arpa', 'auto_negotiate': True, 'bandwidth': 1000000, @@ -103,5 +103,5 @@ def test_get_interface_information(self): 'reliability': '255/255', 'rxload': '1/255', 'txload': '1/255', - 'type': 'CSR vNIC'}}} + 'type': 'CSR vNIC'}} self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/verify/verify_interface_capabilities_multiple_media_types/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/verify/verify_interface_capabilities_multiple_media_types/mock_data/iosxe/mock_data.yaml new file mode 100644 index 000000000..8a7791224 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/verify/verify_interface_capabilities_multiple_media_types/mock_data/iosxe/mock_data.yaml @@ -0,0 +1,49 @@ +configure: + commands: + end: + new_state: execute + line console 0: + new_state: configure_line + no logging console: '' + prompt: IE-3300-8P2S-E3(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: IE-3300-8P2S-E3(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + show interfaces GigabitEthernet1/4 capabilities: + response: + - "GigabitEthernet1/4\r\n Model: IE-3300-8P2S\r\n Type: \ + \ 10/100/1000BaseTX\r\n Speed: 10,100,1000,auto\r\ + \n Duplex: half,full,auto\r\n Trunk encap. type: 802.1Q,ISL\r\ + \n Trunk mode: on,off,desirable,nonegotiate\r\n Channel: \ + \ yes\r\n Broadcast suppression: percentage(0-100)\r\n Flowcontrol:\ + \ rx-(off,on,desired),tx-(none)\r\n Fast Start: yes\r\ + \n QoS scheduling: rx-(not configurable on per port basis),\r\n \ + \ tx-(1p8q2t)\r\n CoS rewrite: yes\r\n ToS\ + \ rewrite: yes\r\n UDLD: yes\r\n Inline power:\ + \ yes\r\n SPAN: source/destination\r\n PortSecure:\ + \ yes\r\n Dot1x: yes\r\n Multiple Media Types:\ + \ rj45" + response_type: circular + show version: '' + term length 0: '' + term width 0: '' + prompt: IE-3300-8P2S-E3# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/verify/verify_interfaces_transceiver_supported/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/verify/verify_interfaces_transceiver_supported/mock_data/iosxe/mock_data.yaml new file mode 100644 index 000000000..966d6f584 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/interface/verify/verify_interfaces_transceiver_supported/mock_data/iosxe/mock_data.yaml @@ -0,0 +1,69 @@ +configure: + commands: + end: + new_state: execute + line console 0: + new_state: configure_line + no logging console: '' + prompt: IE-3300-8P2S-E3(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: IE-3300-8P2S-E3(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + show interfaces transceiver supported-list: + response: + - "Transceiver Type Cisco p/n min version \r\n \ + \ supporting DOM \r\n------------------ -------------------------\r\ + \n\r\n GLC-FE-100FX-RGD ALL \r\n GLC-FE-100LX-RGD\ + \ ALL \r\n GLC-FE-100FX ALL \ + \ \r\n GLC-FE-100LX ALL \ + \ \r\n GLC-FE-100EX ALL \r\n GLC-FE-100ZX\ + \ ALL \r\n GLC-FE-100BX-U ALL\ + \ \r\n GLC-FE-100BX-D ALL \ + \ \r\n GLC-SX-MM-RGD ALL \r\n GLC-LX-SM-RGD\ + \ ALL \r\n GLC-ZX-SM-RGD ALL\ + \ \r\n SFP-GE-S ALL \ + \ \r\n SFP-GE-L ALL \r\n SFP-GE-Z\ + \ ALL \r\n GLC-BX-U \ + \ ALL \r\n GLC-BX-D ALL \ + \ \r\n GLC-BX-U-I ALL \r\n\ + \ GLC-BX-D-I ALL \r\n GLC-SX-MM \ + \ NONE \r\n GLC-LH-SM NONE\ + \ \r\n GLC-ZX-SM NONE \ + \ \r\n GLC-T NONE \r\n GLC-TE\ + \ NONE \r\n GLC-T-RGD \ + \ NONE \r\n GLC-EX-SMD ALL \ + \ \r\n GLC-SX-MMD ALL \r\ + \n GLC-LH-SMD ALL \r\n GLC-ZX-SMD \ + \ ALL \r\n GLC-BX40-D-I ALL\ + \ \r\n GLC-BX40-DA-I ALL \ + \ \r\n GLC-BX40-U-I ALL \r\n GLC-BX80-D-I\ + \ ALL \r\n GLC-BX80-U-I ALL\ + \ \r\n SFP-CWDM-1470 ALL \ + \ \r\n SFP-CWDM-1490 ALL \r\n SFP-CWDM-1530\ + \ ALL \r\n SFP-CWDM-1610 ALL\ + \ \r\n SFP-DWDM-3033 ALL \ + \ \r\n SFP-DWDM-3112 ALL" + response_type: circular + show version: '' + term length 0: '' + term width 0: '' + prompt: IE-3300-8P2S-E3# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/platform/configure/configure_ip_http_client_secure_trustpoint/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/platform/configure/configure_ip_http_client_secure_trustpoint/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/platform/configure/configure_ip_http_client_secure_trustpoint/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/platform/configure/configure_ip_http_client_secure_trustpoint/mock_data/iosxe/mock_data.yaml new file mode 100644 index 000000000..155ff76f6 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/platform/configure/configure_ip_http_client_secure_trustpoint/mock_data/iosxe/mock_data.yaml @@ -0,0 +1,36 @@ +configure: + commands: + end: + new_state: execute + ip http client secure-trustpoint SLA-TrustPoint: "ip http client secure-trustpoint\ + \ SLA-TrustPoint\r\n" + line console 0: + new_state: configure_line + no logging console: '' + prompt: MSFT_9410(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: MSFT_9410(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + show version: '' + term length 0: '' + term width 0: '' + prompt: MSFT_9410# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/platform/configure/configure_ip_http_client_secure_trustpoint/test_api_configure_ip_http_client_secure_trustpoint.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/platform/configure/configure_ip_http_client_secure_trustpoint/test_api_configure_ip_http_client_secure_trustpoint.py new file mode 100644 index 000000000..a9c777a0b --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/platform/configure/configure_ip_http_client_secure_trustpoint/test_api_configure_ip_http_client_secure_trustpoint.py @@ -0,0 +1,35 @@ +import os +import unittest +from pyats.topology import loader +from genie.libs.sdk.apis.iosxe.platform.configure import configure_ip_http_client_secure_trustpoint + + +class TestConfigureIpHttpClientSecureTrustpoint(unittest.TestCase): + + @classmethod + def setUpClass(self): + testbed = f""" + devices: + MSFT_9410: + connections: + defaults: + class: unicon.Unicon + a: + command: mock_device_cli --os iosxe --mock_data_dir {os.path.dirname(__file__)}/mock_data --state connect + protocol: unknown + os: iosxe + platform: c9410 + type: c9410 + """ + self.testbed = loader.load(testbed) + self.device = self.testbed.devices['MSFT_9410'] + self.device.connect( + learn_hostname=True, + init_config_commands=[], + init_exec_commands=[] + ) + + def test_configure_ip_http_client_secure_trustpoint(self): + result = configure_ip_http_client_secure_trustpoint(self.device, 'SLA-TrustPoint') + expected_output = None + self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/platform/configure/copy_file_with_scp/test_api_copy_file_with_scp.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/platform/configure/copy_file_with_scp/test_api_copy_file_with_scp.py index 30d08dfc9..fc5e0aea9 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/platform/configure/copy_file_with_scp/test_api_copy_file_with_scp.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/platform/configure/copy_file_with_scp/test_api_copy_file_with_scp.py @@ -37,7 +37,7 @@ def test_copy_file_with_scp(self): 'Do you want to over write? [confirm]\r\n' ' Sending file modes: C0644 3698 sh_ver.txt\r\n' '!\r\n' - '397 bytes copied in 0.200 secs (1985 bytes/sec)') + '3698 bytes copied in 0.304 secs (12164 bytes/sec)') # Device output inconsistently includes device prompt if result.endswith('#'): expected_output += '\r\nT13-C9300-24T#' diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/policy_map/configure/unconfigure_policy_map_with_pps/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/policy_map/configure/unconfigure_policy_map_with_pps/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/policy_map/configure/unconfigure_policy_map_with_pps/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/policy_map/configure/unconfigure_policy_map_with_pps/mock_data/iosxe/mock_data.yaml new file mode 100644 index 000000000..056e60e10 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/policy_map/configure/unconfigure_policy_map_with_pps/mock_data/iosxe/mock_data.yaml @@ -0,0 +1,37 @@ +configure: + commands: + class system-cpp-police-sw-forward: "class system-cpp-police-sw-forward\r\n" + end: + new_state: execute + line console 0: + new_state: configure_line + no logging console: '' + no police rate 2000 pps: "no police rate 2000 pps\r\n" + policy-map system-cpp-policy: "policy-map system-cpp-policy\r\n" + prompt: Raitt(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: Raitt(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + show version: '' + term length 0: '' + term width 0: '' + prompt: Raitt# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/policy_map/configure/unconfigure_policy_map_with_pps/test_api_unconfigure_policy_map_with_pps.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/policy_map/configure/unconfigure_policy_map_with_pps/test_api_unconfigure_policy_map_with_pps.py new file mode 100644 index 000000000..90ec99892 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/policy_map/configure/unconfigure_policy_map_with_pps/test_api_unconfigure_policy_map_with_pps.py @@ -0,0 +1,35 @@ +import os +import unittest +from pyats.topology import loader +from genie.libs.sdk.apis.iosxe.policy_map.configure import unconfigure_policy_map_with_pps + + +class TestUnconfigurePolicyMapWithPps(unittest.TestCase): + + @classmethod + def setUpClass(self): + testbed = f""" + devices: + Raitt: + connections: + defaults: + class: unicon.Unicon + a: + command: mock_device_cli --os iosxe --mock_data_dir {os.path.dirname(__file__)}/mock_data --state connect + protocol: unknown + os: iosxe + platform: cat9k + type: iosxe + """ + self.testbed = loader.load(testbed) + self.device = self.testbed.devices['Raitt'] + self.device.connect( + learn_hostname=True, + init_config_commands=[], + init_exec_commands=[] + ) + + def test_unconfigure_policy_map_with_pps(self): + result = unconfigure_policy_map_with_pps(self.device, 'system-cpp-policy', 'system-cpp-police-sw-forward', 2000) + expected_output = None + self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/rommon/configure/configure_rommon_tftp/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/rommon/configure/configure_rommon_tftp/mock_data/iosxe/mock_data.yaml index ac221bd0e..de81ea3bb 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/rommon/configure/configure_rommon_tftp/mock_data/iosxe/mock_data.yaml +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/rommon/configure/configure_rommon_tftp/mock_data/iosxe/mock_data.yaml @@ -26,4 +26,8 @@ execute: response: - '' response_type: circular + TFTP_FILE=flash:/test.bin: + response: + - '' + response_type: circular prompt: 'switch:' diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/rommon/configure/configure_rommon_tftp/test_api_configure_rommon_tftp.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/rommon/configure/configure_rommon_tftp/test_api_configure_rommon_tftp.py index f928a39ff..7d9b96665 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/rommon/configure/configure_rommon_tftp/test_api_configure_rommon_tftp.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/rommon/configure/configure_rommon_tftp/test_api_configure_rommon_tftp.py @@ -40,6 +40,8 @@ def setUpClass(self): """ self.testbed = loader.load(testbed) self.device = self.testbed.devices['ott-c9300-63'] + # To test the TFTP_FILE rommon variable + self.device.clean.images = ["flash:/test.bin"] self.device.connect( mit=True ) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/running_config/get/get_running_config_dict/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/running_config/get/get_running_config_dict/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/running_config/get/get_running_config_dict/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/running_config/get/get_running_config_dict/mock_data/iosxe/mock_data.yaml new file mode 100644 index 000000000..4fd9b356e --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/running_config/get/get_running_config_dict/mock_data/iosxe/mock_data.yaml @@ -0,0 +1,40 @@ +configure: + commands: + end: + new_state: execute + line console 0: + new_state: configure_line + no logging console: '' + prompt: r1(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: r1(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + show running-config: + response: + - "Building configuration...\r\n\r\nCurrent configuration : 30522 bytes\r\naaa new-model\r\n!\r\n!\r\naaa authentication login default\ + \ local\r\naaa authorization exec default local \r\n!\r\n!\r\naaa session-id\ + \ common" + response_type: circular + show version: '' + term length 0: '' + term width 0: '' + prompt: r1# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/running_config/get/get_running_config_dict/test_api_get_running_config_dict.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/running_config/get/get_running_config_dict/test_api_get_running_config_dict.py new file mode 100644 index 000000000..573098594 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/running_config/get/get_running_config_dict/test_api_get_running_config_dict.py @@ -0,0 +1,42 @@ +import os +import unittest +from pyats.topology import loader +from genie.libs.sdk.apis.iosxe.running_config.get import get_running_config_dict + + +class TestGetRunningConfigDict(unittest.TestCase): + + @classmethod + def setUpClass(self): + testbed = f""" + devices: + r1: + connections: + defaults: + class: unicon.Unicon + a: + command: mock_device_cli --os iosxe --mock_data_dir {os.path.dirname(__file__)}/mock_data --state connect + protocol: unknown + os: iosxe + platform: c8kv + type: router + """ + self.testbed = loader.load(testbed) + self.device = self.testbed.devices['r1'] + self.device.connect( + learn_hostname=True, + init_config_commands=[], + init_exec_commands=[] + ) + + def test_get_running_config_dict(self): + result = get_running_config_dict(self.device) + expected_output = { + 'Building configuration...': {}, + 'Current configuration : 30522 bytes': {}, + 'aaa authentication login default local': {}, + 'aaa authorization exec default local': {}, + 'aaa new-model': {}, + 'aaa session-id common': {}, + } + self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/sisf/get/get_ip_theft_syslogs/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/sisf/get/get_ip_theft_syslogs/mock_data/iosxe/mock_data.yaml index 4fa16eb60..de4e5037b 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/sisf/get/get_ip_theft_syslogs/mock_data/iosxe/mock_data.yaml +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/sisf/get/get_ip_theft_syslogs/mock_data/iosxe/mock_data.yaml @@ -35,7 +35,9 @@ execute: \ EST: %SISF-4-IP_THEFT: IP Theft IP=2001:DB8::105 VLAN=20 MAC=dead.beef.0001\ \ IF=Twe1/0/1 New(Spoof) MAC=dead.beef.0002 New I/F=Twe1/0/5\r\nFeb 16 17:19:26.873:\ \ %SISF-4-IP_THEFT: IP Theft IP=2001:DB8::105 VLAN=20 Cand-MAC=dead.beef.0002\ - \ Cand-I/F=Twe1/0/1 Known MAC dead.beef.0002 Known I/F Twe1/0/1" + \ Cand-I/F=Twe1/0/1 Known MAC dead.beef.0002 Known I/F Twe1/0/1\r\n.Feb 5\ + \ 19:30:20.037: %SISF-4-IP_THEFT: IP Theft IP=20.0.0.254 VLAN=20 MAC=ba25.cdf4.ad38\ + \ IF=Vl20 New(Spoof) MAC=dead.beef.0002 New IF=Gi1/0/1" response_type: circular show version: '' term length 0: '' diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/sisf/get/get_ip_theft_syslogs/test_api_get_ip_theft_syslogs.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/sisf/get/get_ip_theft_syslogs/test_api_get_ip_theft_syslogs.py index f735cb04b..6d745d200 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/sisf/get/get_ip_theft_syslogs/test_api_get_ip_theft_syslogs.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/sisf/get/get_ip_theft_syslogs/test_api_get_ip_theft_syslogs.py @@ -30,17 +30,26 @@ def setUpClass(self): def test_get_ip_theft_syslogs(self): result = get_ip_theft_syslogs(self.device) - expected_output = {'entries': [{'ip': '2001:DB8::105', + expected_output = {'entries': [ + {'ip': '2001:DB8::105', 'mac': 'dead.beef.0001', 'new_interface': 'TwentyFiveGigE1/0/1', 'vlan': '20'}, - {'interface': 'TwentyFiveGigE1/0/1', + {'interface': 'TwentyFiveGigE1/0/1', 'ip': '2001:DB8::105', 'mac': 'dead.beef.0001', 'new_interface': 'TwentyFiveGigE1/0/5', 'new_mac': 'dead.beef.0002', 'vlan': '20'}, - {'ip': '2001:DB8::105', 'vlan': '20', + {'ip': '2001:DB8::105', 'vlan': '20', 'new_mac': 'dead.beef.0002', - 'new_interface': 'TwentyFiveGigE1/0/1'}]} + 'new_interface': 'TwentyFiveGigE1/0/1'}, + {'interface': 'Vlan20', + 'ip': '20.0.0.254', + 'mac': 'ba25.cdf4.ad38', + 'new_interface': 'GigabitEthernet1/0/1', + 'new_mac': 'dead.beef.0002', + 'vlan': '20'} + ]} + self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/system/configure/configure_terminal_settings/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/system/configure/configure_terminal_settings/mock_data/iosxe/mock_data.yaml index 361cfd1d7..36b05e7e6 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/system/configure/configure_terminal_settings/mock_data/iosxe/mock_data.yaml +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/iosxe/system/configure/configure_terminal_settings/mock_data/iosxe/mock_data.yaml @@ -33,4 +33,4 @@ execute: term width 0: '' terminal length 20: '' terminal width 80: '' - prompt: CS12-19-6# + prompt: CS12-19-6# \ No newline at end of file diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/get/get_file_contents/test_api_get_file_contents.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/get/get_file_contents/test_api_get_file_contents.py index 60c3bcce9..9c2d43043 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/get/get_file_contents/test_api_get_file_contents.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/get/get_file_contents/test_api_get_file_contents.py @@ -30,7 +30,7 @@ def setUpClass(self): ) def test_get_file_contents(self): - result = get_file_contents(self.device, '/users/lgerrior/test_dir/device_key') + result = get_file_contents(self.device, '/users/lgerrior/test_dir/device_key', False) expected_output = ('-----BEGIN EC PRIVATE KEY-----\r\n' 'Proc-Type: 4,ENCRYPTED\r\n' 'DEK-Info: AES-256-CBC,D738EC42CBE1D776999970BEAE279176\r\n' diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/get/get_ip_route/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/get/get_ip_route/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/get/get_ip_route/test_api_get_ip_route.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/get/get_ip_route/test_api_get_ip_route.py new file mode 100644 index 000000000..78824a4a4 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/get/get_ip_route/test_api_get_ip_route.py @@ -0,0 +1,11 @@ +import unittest +from unittest import mock +from genie.libs.sdk.apis.linux.get import get_ip_route_for_ipv4 + + +class TestGetIpRoute(unittest.TestCase): + + def test_get_ip_route_for_ipv4(self): + device =mock.Mock() + device.execute.return_value = '127.0.0.1 via 1.1..1 dev example src 127.0.0.0 uid 1000 \r\n cache' + self.assertEqual(get_ip_route_for_ipv4(device, '127.0.0.1'), '127.0.0.0') \ No newline at end of file diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/openssl/generate/generate_pkcs12/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/openssl/generate/generate_pkcs12/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/openssl/generate/generate_pkcs12/mock_data/linux/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/openssl/generate/generate_pkcs12/mock_data/linux/mock_data.yaml new file mode 100644 index 000000000..b140c36c9 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/openssl/generate/generate_pkcs12/mock_data/linux/mock_data.yaml @@ -0,0 +1,44 @@ +configure: + commands: + end: + new_state: execute + line console 0: + new_state: configure_line + no logging console: '' + prompt: sjc-ads-583(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: sjc-ads-583(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + ? openssl pkcs12 -export -chain -inkey /temp/secure/test_cert/device.key + -in /temp/secure/test_cert/device.crt -CAfile /temp/secure/test_cert/rootCA.crt + -out /temp/secure/test_cert/device.p12 -passin pass:password + -passout pass:password + : response: + - "openssl pkcs12 -export -chain -inkey /temp/secure/test_cert/device.key\ + \ -in /temp/secure/test_cert/device.crt -CAfile /ws/lsheik\r\ + kal-sjc/gnmi_tickets/secure/test_cert/rootCA.crt -out /temp/secure/test_cert/device.p12\ + \ -passin pass:password -passout pass:password" + response_type: circular + show version: '' + term length 0: '' + term width 0: '' + prompt: sjc-ads-583# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/openssl/generate/generate_pkcs12/test_api_generate_pkcs12.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/openssl/generate/generate_pkcs12/test_api_generate_pkcs12.py new file mode 100644 index 000000000..bd9c627d1 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/openssl/generate/generate_pkcs12/test_api_generate_pkcs12.py @@ -0,0 +1,35 @@ +import os +import unittest +from pyats.topology import loader +from genie.libs.sdk.apis.linux.openssl.generate import generate_pkcs12 + + +class TestGeneratePkcs12(unittest.TestCase): + + @classmethod + def setUpClass(self): + testbed = f""" + devices: + sjc-ads-583: + connections: + defaults: + class: unicon.Unicon + a: + command: mock_device_cli --os linux --mock_data_dir {os.path.dirname(__file__)}/mock_data --state connect + protocol: unknown + os: linux + platform: None + type: None + """ + self.testbed = loader.load(testbed) + self.device = self.testbed.devices['sjc-ads-583'] + self.device.connect( + learn_hostname=True, + init_config_commands=[], + init_exec_commands=[] + ) + + def test_generate_pkcs12(self): + result = generate_pkcs12(self.device, '/temp/secure/test_cert/device.key', '/temp/secure/test_cert/device.crt', '/temp/secure/test_cert/rootCA.crt', '/temp/secure/test_cert/device.p12', 'password', 'password') + expected_output = None + self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/socat_relay/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/socat_relay/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/socat_relay/mock_data/linux/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/socat_relay/mock_data/linux/mock_data.yaml new file mode 100644 index 000000000..8e8daad2f --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/socat_relay/mock_data/linux/mock_data.yaml @@ -0,0 +1,46 @@ +configure: + commands: + end: + new_state: execute + line console 0: + new_state: configure_line + no logging console: '' + prompt: linux-server(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: linux-server(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + netstat -anp | grep 3240462/socat: + response: + - "(Not all processes could be identified, non-owned process info\r\n will not\ + \ be shown, you would have to be root to see it all.)\r\ntcp 0 \ + \ 0 0.0.0.0:42899 0.0.0.0:* LISTEN 3240462/socat\ + \ \r\nunix 3 [ ] DGRAM 614448634 3240462/socat\ + \ \r\nunix 3 [ ] DGRAM 614448635 3240462/socat" + response_type: circular + show version: '' + socat TCP4-LISTEN:0,reuseaddr,fork TCP4:10.28.88.99:80 &: + response: + - '[1] 3240462' + response_type: circular + term length 0: '' + term width 0: '' + prompt: linux-server# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/socat_relay/test_api_socat_relay.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/socat_relay/test_api_socat_relay.py new file mode 100644 index 000000000..145ab24e4 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/socat_relay/test_api_socat_relay.py @@ -0,0 +1,35 @@ +import os +import unittest +from pyats.topology import loader +from genie.libs.sdk.apis.linux.socat.relay import socat_relay + + +class TestSocatRelay(unittest.TestCase): + + @classmethod + def setUpClass(self): + testbed = f""" + devices: + linux-server: + connections: + defaults: + class: unicon.Unicon + a: + command: mock_device_cli --os linux --mock_data_dir {os.path.dirname(__file__)}/mock_data --state connect + protocol: unknown + os: linux + platform: linux + type: linux + """ + self.testbed = loader.load(testbed) + self.device = self.testbed.devices['linux-server'] + self.device.connect( + learn_hostname=True, + init_config_commands=[], + init_exec_commands=[] + ) + + def test_socat_relay(self): + result = socat_relay(self.device, '10.28.88.99', '80', 'TCP4') + expected_output = '42899' + self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/stop_socat_relay/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/stop_socat_relay/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/stop_socat_relay/mock_data/linux/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/stop_socat_relay/mock_data/linux/mock_data.yaml new file mode 100644 index 000000000..6e709a77c --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/stop_socat_relay/mock_data/linux/mock_data.yaml @@ -0,0 +1,38 @@ +configure: + commands: + end: + new_state: execute + line console 0: + new_state: configure_line + no logging console: '' + prompt: linux-server(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: linux-server(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + kill 3240462: + response: + - '' + response_type: circular + show version: '' + term length 0: '' + term width 0: '' + prompt: linux-server# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/stop_socat_relay/test_api_stop_socat_relay.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/stop_socat_relay/test_api_stop_socat_relay.py new file mode 100644 index 000000000..4237fa56f --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/socat/relay/stop_socat_relay/test_api_stop_socat_relay.py @@ -0,0 +1,35 @@ +import os +import unittest +from pyats.topology import loader +from genie.libs.sdk.apis.linux.socat.relay import stop_socat_relay + + +class TestStopSocatRelay(unittest.TestCase): + + @classmethod + def setUpClass(self): + testbed = f""" + devices: + linux-server: + connections: + defaults: + class: unicon.Unicon + a: + command: mock_device_cli --os linux --mock_data_dir {os.path.dirname(__file__)}/mock_data --state connect + protocol: unknown + os: linux + platform: linux + type: linux + """ + self.testbed = loader.load(testbed) + self.device = self.testbed.devices['linux-server'] + self.device.connect( + learn_hostname=True, + init_config_commands=[], + init_exec_commands=[] + ) + + def test_stop_socat_relay(self): + result = stop_socat_relay(self.device, '3240462') + expected_output = None + self.assertEqual(result, expected_output) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/utils/test_utils.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/utils/test_utils.py new file mode 100644 index 000000000..7ee754b70 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/linux/utils/test_utils.py @@ -0,0 +1,15 @@ +import unittest +from unittest import mock +import ipaddress + +from genie.libs.sdk.apis.linux.utils import get_valid_ipv4_address + + + +class TestGetValidIpv4(unittest.TestCase): + def test_get_valid_ipv4_addres(self): + device = mock.Mock() + ip = '127.0.0.1/16' + self.assertEqual(get_valid_ipv4_address(device, ip), ipaddress.IPv4Address('127.0.0.1')) + with self.assertRaises(ipaddress.AddressValueError): + get_valid_ipv4_address(device, '123/234') diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/utils/check_and_wait/__init__.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/utils/check_and_wait/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/utils/check_and_wait/mock_data/iosxe/mock_data.yaml b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/utils/check_and_wait/mock_data/iosxe/mock_data.yaml new file mode 100644 index 000000000..46b3f7d29 --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/utils/check_and_wait/mock_data/iosxe/mock_data.yaml @@ -0,0 +1,34 @@ +configure: + commands: + end: + new_state: execute + line console 0: + new_state: configure_line + no logging console: '' + prompt: Organ(config)# +configure_line: + commands: + end: + new_state: execute + exec-timeout 0: '' + prompt: Organ(config-line)# +connect: + commands: + ? '' + : new_state: execute + preface: 'Trying mock_device ... + + Connected to mock_device. + + Escape character is ''^]''.' + prompt: '' +execute: + commands: + config term: + new_state: configure + config-transaction: + new_state: configure + show version: '' + term length 0: '' + term width 0: '' + prompt: Organ# diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/utils/check_and_wait/test_api_check_and_wait.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/utils/check_and_wait/test_api_check_and_wait.py new file mode 100644 index 000000000..571e2095c --- /dev/null +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/tests/utils/check_and_wait/test_api_check_and_wait.py @@ -0,0 +1,35 @@ +import os +import unittest +import re +from pyats.topology import loader +from genie.libs.sdk.apis.utils import check_and_wait + + +class TestCheckAndWait(unittest.TestCase): + + @classmethod + def setUpClass(self): + testbed = f""" + devices: + Organ: + connections: + defaults: + class: unicon.Unicon + a: + command: mock_device_cli --os iosxe --mock_data_dir {os.path.dirname(__file__)}/mock_data --state connect + protocol: unknown + os: iosxe + platform: router + type: router + """ + self.testbed = loader.load(testbed) + self.device = self.testbed.devices['Organ'] + self.device.connect( + learn_hostname=True, + init_config_commands=[], + init_exec_commands=[] + ) + + def test_check_and_wait(self): + result = check_and_wait('True', '60', '10', None) + self.assertIsInstance(result, object) diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py index bfe1ea195..08d0b057b 100644 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/apis/utils.py @@ -23,6 +23,7 @@ from netaddr import IPAddress from ipaddress import IPv4Interface from urllib.parse import urlparse +from functools import wraps # pyATS from pyats.easypy import runtime @@ -4429,3 +4430,28 @@ def sanitize(s): s = ansi_escape.sub('', s) return s.translate(dict.fromkeys(range(32))).strip().replace(' ', '') + +def check_and_wait(expect, max_time, poll_time, call_on_fail_func=None, **call_on_fail_func_args): + '''A decorator to check the return value of a function + and wait until it matches the expected value or timeout. + Args: + expect(`bool`): True or False + max_time(`int`): Maximum time to keep checking. seconds + poll_time(`int`): How often to check. seconds + ''' + def decorator(func): + @wraps(func) + def inner_func(*args, **kargs): + start_time = time.time() + result = False + while int(time.time() - start_time) < max_time: + result = func(*args, **kargs) + if isinstance(result, bool) and result == expect: + return result + else: + time.sleep(poll_time) + if call_on_fail_func is not None: + call_on_fail_func(**call_on_fail_func_args) + return result + return inner_func + return decorator diff --git a/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/blitz/tests/test_yangexec.py b/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/blitz/tests/test_yangexec.py index 07c0fea6a..ad39cca82 100755 --- a/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/blitz/tests/test_yangexec.py +++ b/pkgs/sdk-pkg/src/genie/libs/sdk/triggers/blitz/tests/test_yangexec.py @@ -3044,7 +3044,8 @@ def test_get_config_transaction_time(self): ) self.assertEqual(result, True) - + # TODO: Make this work reliably on MacOS + @unittest.skipIf(sys.platform == "darwin", "Skip test for MacOS") def test_subscribe_poll_transaction_time(self): request = self.make_test_request() request['transaction_time'] = 0.00000000001 @@ -3068,6 +3069,8 @@ def test_subscribe_poll_transaction_time(self): subscribe_thread.join() self.assertEqual(subscribe_thread.result, True) + # TODO: Make this work reliably on MacOS + @unittest.skipIf(sys.platform == "darwin", "Skip test for MacOS") def test_subscribe_once_transaction_time(self): request = self.make_test_request() request['transaction_time'] = 0.00000000001