'Return data about the given interface attachment.'

@extensions.expected_errors((403, 404))
def show(self, req, server_id, id):

    context = req.environ['nova.context']
    context.can(ai_policies.BASE_POLICY_NAME)
    port_id = id
    common.get_instance(self.compute_api, context, server_id)
    try:
        port_info = self.network_api.show_port(context, port_id)
    except exception.PortNotFound as e:
        raise exc.HTTPNotFound(explanation=e.format_message())
    except exception.Forbidden as e:
        raise exc.HTTPForbidden(explanation=e.format_message())
    if (port_info['port']['device_id'] != server_id):
        msg = (_('Instance    %(instance)s    does    not    have    a    port    with    id    %(port)s') % {'instance': server_id, 'port': port_id})
        raise exc.HTTPNotFound(explanation=msg)
    return {'interfaceAttachment': _translate_interface_attachment_view(port_info['port'])}
