Python Functions Demo

# def get_vlans(device, vendor):
#     print(device)
#     print(vendor)
#     if device == 'R1':
#         if vendor == 'cisco':
#             vlans = [1,2,5,7,8,10]
#         else:
#             vlans = []
#     else:
#         vlans = [10,20,50,70,80,100]

#     return vlans


# router = 'R1'
# vendor = 'juniper'

# vlans_list = get_vlans(router, vendor)
# print(vlans_list)


# def vlan_exist(vlan_id):
#     vlans = [1, 5, 10, 100]
#     if vlan_id in vlans:
#         return True
#     return False


# vlan = 25

# if vlan_exist(vlan):
#     print('VLAN exists')
# else:
#     print('VLAN does not exists')


# def get_interface_type(interface):
#     if interface.lower().startswith('et'):
#         itype = 'ethernet'
#     elif interface.lower().startswith('vl'):
#         itype = 'vlan'
#     elif interface.lower().startswith('lo'):
#         itype = 'loopback'
#     else:
#         itype = 'unknown'

#     return itype

# interfaces = ['Ethernet1/1', 'Vlan100', 'Loopback100', 'Port-Channel1', 'Management0']

# for interface in interfaces:
#     print(get_interface_type(interface))


def interface_settings(interface, speed='auto', duplex='auto'):
    print('-'*40)
    print('Interface: {}'.format(interface))
    print('Speed: {}'.format(speed))
    print('Duplex: {}'.format(duplex))

interface_settings('Ethernet1/1', '100M', 'full')
interface_settings('Ethernet1/2', '100M', 'half')
interface_settings(interface='Ethernet1/3', speed='100M', duplex='half')
interface_settings(duplex='half', interface='Ethernet1/4', speed='100M')
interface_settings(interface='Ethernet1/5', speed='100M')
interface_settings(interface='Ethernet1/6')
interface_settings('Ethernet1/7')
interface_settings('Ethernet1/8', duplex='full')