'Get hypervisor instance capabilities
Returns a list of tuples that describe instances the
hypervisor is capable of hosting.  Each tuple consists
of the triplet (arch, hypervisor_type, vm_mode).
:returns: List of tuples describing instance capabilities'

def _get_instance_capabilities(self):

    caps = self._host.get_capabilities()
    instance_caps = list()
    for g in caps.guests:
        for dt in g.domtype:
            instance_cap = (fields.Architecture.canonicalize(g.arch), fields.HVType.canonicalize(dt), fields.VMMode.canonicalize(g.ostype))
            instance_caps.append(instance_cap)
    return instance_caps
