Introduction

Wry is a library that facilitates interaction with, and configuration and control of, hardware devices that implement Intel AMT (vPro) technology.

It uses the openwsman python bindings.

Quickstart

Wry’s functionality is exposed through the AMTDevice class. Initialize it as such:

>>> from wry import AMTDevice
>>> dev = AMTDevice.AMTDevice(address, False, username, password)

You can then access different aspects of device functionality, through aspect-specific namespaces. For example:

>>> dev.power.turn_on()
>>> dev.power.state
StateMap(state='on', sub_state=None)

Currently, the following namespaces are implemented:

  • dev.power, via wry.AMTPower.AMTPower, provides access to:
    • Power state and control
  • dev.boot, via wry.AMTBoot.AMTBoot, provides access to:
    • Boot configuration
    • Boot medium selection
  • dev.vnc, via wry.AMTKVM.AMTKVM, provides access to:
    • Remote KVM (VNC) state and configuration
    • Setting of [additonal] user opt-in policy for KVM
  • dev.opt_in, via wry.AMTOptIn.AMTOptIn, provides access to:
    • Setting of opt-in policies for KVM, Serial-over-LAN and media redirection
  • dev.redirection, via wry.AMTRedirection.AMTRedirection, provides access to:
    • State and control of media redirection (IDER)
    • State and control of Serial-over-LAN (SOL)

You can click on a class name above, to see documentation for the available methods.

Status

Wry is in the early stages of development, and the interfaces it exposes may change as a result. Issues and pull requests are more than welcome.

Wry currently supports Python 2.7 and 3.5, it may well work with other versions.

Compatibility

Wry relies on the wsman AMT protocol, and therefore supports AMT versions 7(?) onwards.

Tested on the following hardware/firmware:
  • Intel NUC DC53427HYE (BIOS 0037, ME 8.1.40.1416)
  • Intel NUC5i5MYBE

License

Apache. (C) 2015-2018, Ocado Technology Ltd. Please see the LICENSE and NOTICE files.