def demonstrate(device_name, interface_config):
print("Initial configuration:")
initial = interface_config
print(initial)
try:
print()
print("Modify configuration:")
print('interface_configuration_update(' + device_name, initial.name, temp_description, temp_address, temp_netmask, not initial.shutdown, sep=', ', end=')\n')
interface_configuration_update(device_name, initial.name, description=temp_description,
address=temp_address, netmask=temp_netmask, shutdown=not initial.shutdown)
print()
print("Modified configuration:")
modified = interface_configuration(device_name, initial.name)
print(modified)
assert modified.name == initial.name
assert modified.description != initial.description
assert modified.address != initial.address
assert modified.netmask != initial.netmask
assert modified.shutdown != initial.shutdown
finally:
print()
print("Restore configuration:")
print('interface_configuration_update(' + device_name, initial.name, initial.description, initial.address, initial.netmask, initial.shutdown, sep=', ', end=')\n')
interface_configuration_update(device_name, initial.name, description=initial.description, address=initial.address, netmask=initial.netmask, shutdown=initial.shutdown)
print()
print("Restored configuration:")
restored = interface_configuration(device_name, initial.name)
print(restored)
assert restored.name == initial.name
assert restored.description == initial.description, ("got " % initial.description)
assert restored.address == initial.address
assert restored.netmask == initial.netmask
assert restored.shutdown == initial.shutdown