Search in sources :

Example 1 with V3IPs

use of org.ovirt.engine.api.v3.types.V3IPs in project ovirt-engine by oVirt.

the class V3VmHelper method addGuestIp.

/**
 * If the V4 virtual machine has IP addresses reported, then add them to the V3 {@code guest_info} element.
 */
public static void addGuestIp(V3VM vm) {
    String vmId = vm.getId();
    if (vmId != null) {
        SystemResource systemResource = BackendApiResource.getInstance();
        VmsResource vmsResource = systemResource.getVmsResource();
        VmResource vmResource = vmsResource.getVmResource(vmId);
        VmNicsResource nicsResource = vmResource.getNicsResource();
        try {
            Nics fromNics = nicsResource.list();
            List<Ip> fromIps = new ArrayList<>();
            for (Nic fromNic : fromNics.getNics()) {
                ReportedDevices fromDevices = fromNic.getReportedDevices();
                if (fromDevices != null) {
                    for (ReportedDevice fromDevice : fromDevices.getReportedDevices()) {
                        Ips deviceIps = fromDevice.getIps();
                        if (deviceIps != null) {
                            fromIps.addAll(deviceIps.getIps());
                        }
                    }
                }
            }
            if (!fromIps.isEmpty()) {
                V3GuestInfo guestInfo = vm.getGuestInfo();
                if (guestInfo == null) {
                    guestInfo = new V3GuestInfo();
                    vm.setGuestInfo(guestInfo);
                }
                V3IPs ips = guestInfo.getIps();
                if (ips == null) {
                    ips = new V3IPs();
                    guestInfo.setIps(ips);
                }
                ips.getIPs().addAll(adaptOut(fromIps));
            }
        } catch (WebApplicationException exception) {
        // If an application exception is generated while retrieving the details of the NICs is safe to ignore
        // it, as it may be that the user just doesn't have permission to see the NICs, but she may still have
        // permissions to see the other details of the virtual machine.
        }
    }
}
Also used : ReportedDevice(org.ovirt.engine.api.model.ReportedDevice) WebApplicationException(javax.ws.rs.WebApplicationException) Ip(org.ovirt.engine.api.model.Ip) ArrayList(java.util.ArrayList) Nic(org.ovirt.engine.api.model.Nic) ReportedDevices(org.ovirt.engine.api.model.ReportedDevices) Ips(org.ovirt.engine.api.model.Ips) Nics(org.ovirt.engine.api.model.Nics) VmResource(org.ovirt.engine.api.resource.VmResource) VmNicsResource(org.ovirt.engine.api.resource.VmNicsResource) VmsResource(org.ovirt.engine.api.resource.VmsResource) SystemResource(org.ovirt.engine.api.resource.SystemResource) V3GuestInfo(org.ovirt.engine.api.v3.types.V3GuestInfo) V3IPs(org.ovirt.engine.api.v3.types.V3IPs)

Example 2 with V3IPs

use of org.ovirt.engine.api.v3.types.V3IPs in project ovirt-engine by oVirt.

the class V3ReportedDeviceOutAdapter method adapt.

@Override
public V3ReportedDevice adapt(ReportedDevice from) {
    V3ReportedDevice to = new V3ReportedDevice();
    if (from.isSetLinks()) {
        to.getLinks().addAll(adaptOut(from.getLinks()));
    }
    if (from.isSetActions()) {
        to.setActions(adaptOut(from.getActions()));
    }
    if (from.isSetComment()) {
        to.setComment(from.getComment());
    }
    if (from.isSetDescription()) {
        to.setDescription(from.getDescription());
    }
    if (from.isSetId()) {
        to.setId(from.getId());
    }
    if (from.isSetHref()) {
        to.setHref(from.getHref());
    }
    if (from.isSetIps()) {
        to.setIps(new V3IPs());
        to.getIps().getIPs().addAll(adaptOut(from.getIps().getIps()));
    }
    if (from.isSetMac()) {
        to.setMac(adaptOut(from.getMac()));
    }
    if (from.isSetName()) {
        to.setName(from.getName());
    }
    if (from.isSetType()) {
        to.setType(from.getType().value());
    }
    if (from.isSetVm()) {
        to.setVm(adaptOut(from.getVm()));
    }
    return to;
}
Also used : V3ReportedDevice(org.ovirt.engine.api.v3.types.V3ReportedDevice) V3IPs(org.ovirt.engine.api.v3.types.V3IPs)

Aggregations

V3IPs (org.ovirt.engine.api.v3.types.V3IPs)2 ArrayList (java.util.ArrayList)1 WebApplicationException (javax.ws.rs.WebApplicationException)1 Ip (org.ovirt.engine.api.model.Ip)1 Ips (org.ovirt.engine.api.model.Ips)1 Nic (org.ovirt.engine.api.model.Nic)1 Nics (org.ovirt.engine.api.model.Nics)1 ReportedDevice (org.ovirt.engine.api.model.ReportedDevice)1 ReportedDevices (org.ovirt.engine.api.model.ReportedDevices)1 SystemResource (org.ovirt.engine.api.resource.SystemResource)1 VmNicsResource (org.ovirt.engine.api.resource.VmNicsResource)1 VmResource (org.ovirt.engine.api.resource.VmResource)1 VmsResource (org.ovirt.engine.api.resource.VmsResource)1 V3GuestInfo (org.ovirt.engine.api.v3.types.V3GuestInfo)1 V3ReportedDevice (org.ovirt.engine.api.v3.types.V3ReportedDevice)1