From 3a02433d75f9152480c7183effeb7da70b0b5ee9 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Wed, 18 Feb 2026 09:00:04 +0530 Subject: [PATCH] refactor Signed-off-by: Abhishek Kumar --- .../veeam/adapter/ServerAdapter.java | 8 +- .../veeam/api/ClustersRouteHandler.java | 5 +- .../veeam/api/DataCentersRouteHandler.java | 12 +- .../veeam/api/DisksRouteHandler.java | 5 +- .../veeam/api/HostsRouteHandler.java | 5 +- .../veeam/api/ImageTransfersRouteHandler.java | 5 +- .../veeam/api/JobsRouteHandler.java | 5 +- .../veeam/api/NetworksRouteHandler.java | 5 +- .../cloudstack/veeam/api/VmsRouteHandler.java | 15 +- .../veeam/api/VnicProfilesRouteHandler.java | 5 +- .../AsyncJobJoinVOToJobConverter.java | 3 - .../ClusterVOToClusterConverter.java | 6 - ...ageTransferVOToImageTransferConverter.java | 4 +- .../NetworkVOToNetworkConverter.java | 4 +- .../api/converter/NicVOToNicConverter.java | 7 +- .../StoreVOToStorageDomainConverter.java | 6 +- .../converter/UserVmJoinVOToVmConverter.java | 7 +- .../VmSnapshotVOToSnapshotConverter.java | 4 +- .../VolumeJoinVOToDiskConverter.java | 15 +- .../cloudstack/veeam/api/dto/Actions.java | 41 --- .../cloudstack/veeam/api/dto/Backups.java | 32 --- .../cloudstack/veeam/api/dto/Certificate.java | 19 +- .../cloudstack/veeam/api/dto/Checkpoints.java | 42 --- .../cloudstack/veeam/api/dto/Cluster.java | 6 +- .../cloudstack/veeam/api/dto/Clusters.java | 46 --- .../apache/cloudstack/veeam/api/dto/Cpu.java | 49 +++- .../cloudstack/veeam/api/dto/DataCenter.java | 6 +- .../cloudstack/veeam/api/dto/DataCenters.java | 49 ---- .../apache/cloudstack/veeam/api/dto/Disk.java | 12 +- .../veeam/api/dto/DiskAttachment.java | 3 +- .../veeam/api/dto/DiskAttachments.java | 38 --- .../cloudstack/veeam/api/dto/Disks.java | 38 --- .../veeam/api/dto/EmptyElement.java | 3 +- .../veeam/api/dto/HardwareInformation.java | 49 +++- .../apache/cloudstack/veeam/api/dto/Host.java | 261 ++++++++++++++---- .../cloudstack/veeam/api/dto/HostSummary.java | 29 +- .../cloudstack/veeam/api/dto/Hosts.java | 33 --- .../veeam/api/dto/ImageTransfer.java | 6 +- .../veeam/api/dto/ImageTransfers.java | 39 --- .../apache/cloudstack/veeam/api/dto/Ips.java | 42 --- .../apache/cloudstack/veeam/api/dto/Job.java | 92 ++++-- .../apache/cloudstack/veeam/api/dto/Jobs.java | 42 --- .../cloudstack/veeam/api/dto/NamedList.java | 6 + .../cloudstack/veeam/api/dto/Network.java | 95 +++++-- .../veeam/api/dto/NetworkUsages.java | 42 --- .../cloudstack/veeam/api/dto/Networks.java | 33 --- .../apache/cloudstack/veeam/api/dto/Nic.java | 6 +- .../apache/cloudstack/veeam/api/dto/Nics.java | 3 +- .../veeam/api/dto/ReportedDevice.java | 6 +- .../veeam/api/dto/ReportedDevices.java | 42 --- .../cloudstack/veeam/api/dto/Snapshot.java | 9 +- .../cloudstack/veeam/api/dto/Snapshots.java | 41 --- .../veeam/api/dto/StorageDomain.java | 12 +- .../veeam/api/dto/StorageDomains.java | 42 --- .../cloudstack/veeam/api/dto/Version.java | 3 +- .../apache/cloudstack/veeam/api/dto/Vm.java | 12 +- .../apache/cloudstack/veeam/api/dto/Vms.java | 45 --- .../veeam/api/dto/VnicProfiles.java | 49 ---- 58 files changed, 565 insertions(+), 984 deletions(-) delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Actions.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Backups.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Checkpoints.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Clusters.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DataCenters.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DiskAttachments.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Disks.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Hosts.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ImageTransfers.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Ips.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Jobs.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/NetworkUsages.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Networks.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ReportedDevices.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Snapshots.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/StorageDomains.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Vms.java delete mode 100644 plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/VnicProfiles.java diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/adapter/ServerAdapter.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/adapter/ServerAdapter.java index 0d62758af67..781cb6b94d6 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/adapter/ServerAdapter.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/adapter/ServerAdapter.java @@ -533,6 +533,7 @@ public class ServerAdapter extends ManagerBase { } public Vm updateInstance(String uuid, Vm request) { + // ToDo: what to do?! return getInstance(uuid); } @@ -724,11 +725,11 @@ public class ServerAdapter extends ManagerBase { if (StringUtils.isBlank(name) && !name.startsWith("Veeam_KvmBackupDisk_")) { throw new InvalidParameterValueException("Only worker VM disk creation is supported"); } - if (request.getStorageDomains() == null || CollectionUtils.isEmpty(request.getStorageDomains().getStorageDomain()) || - request.getStorageDomains().getStorageDomain().size() > 1) { + if (request.getStorageDomains() == null || CollectionUtils.isEmpty(request.getStorageDomains().getItems()) || + request.getStorageDomains().getItems().size() > 1) { throw new InvalidParameterValueException("Exactly one storage domain must be specified"); } - StorageDomain domain = request.getStorageDomains().getStorageDomain().get(0); + StorageDomain domain = request.getStorageDomains().getItems().get(0); if (domain == null || domain.getId() == null) { throw new InvalidParameterValueException("Storage domain ID must be specified"); } @@ -1154,6 +1155,7 @@ public class ServerAdapter extends ManagerBase { public List listDisksByBackupUuid(final String uuid) { throw new InvalidParameterValueException("List Backup Disks with ID " + uuid + " not implemented"); +// ToDo: implement // BackupVO vo = backupDao.findByUuid(uuid); // if (vo == null) { // throw new InvalidParameterValueException("Backup with ID " + uuid + " not found"); diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/ClustersRouteHandler.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/ClustersRouteHandler.java index 37ef228db9f..c3ee3ab3cdd 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/ClustersRouteHandler.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/ClustersRouteHandler.java @@ -28,7 +28,7 @@ import org.apache.cloudstack.veeam.RouteHandler; import org.apache.cloudstack.veeam.VeeamControlServlet; import org.apache.cloudstack.veeam.adapter.ServerAdapter; import org.apache.cloudstack.veeam.api.dto.Cluster; -import org.apache.cloudstack.veeam.api.dto.Clusters; +import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.utils.Negotiation; import org.apache.cloudstack.veeam.utils.PathUtil; import org.apache.commons.collections.CollectionUtils; @@ -85,8 +85,7 @@ public class ClustersRouteHandler extends ManagerBase implements RouteHandler { protected void handleGet(final HttpServletRequest req, final HttpServletResponse resp, Negotiation.OutFormat outFormat, VeeamControlServlet io) throws IOException { final List result = serverAdapter.listAllClusters(); - final Clusters response = new Clusters(result); - + NamedList response = NamedList.of("cluster", result); io.getWriter().write(resp, HttpServletResponse.SC_OK, response, outFormat); } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/DataCentersRouteHandler.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/DataCentersRouteHandler.java index 1b9e2e01401..bf8e2885251 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/DataCentersRouteHandler.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/DataCentersRouteHandler.java @@ -28,11 +28,9 @@ import org.apache.cloudstack.veeam.RouteHandler; import org.apache.cloudstack.veeam.VeeamControlServlet; import org.apache.cloudstack.veeam.adapter.ServerAdapter; import org.apache.cloudstack.veeam.api.dto.DataCenter; -import org.apache.cloudstack.veeam.api.dto.DataCenters; +import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.api.dto.Network; -import org.apache.cloudstack.veeam.api.dto.Networks; import org.apache.cloudstack.veeam.api.dto.StorageDomain; -import org.apache.cloudstack.veeam.api.dto.StorageDomains; import org.apache.cloudstack.veeam.utils.Negotiation; import org.apache.cloudstack.veeam.utils.PathUtil; import org.apache.commons.collections.CollectionUtils; @@ -99,8 +97,7 @@ public class DataCentersRouteHandler extends ManagerBase implements RouteHandler protected void handleGet(final HttpServletRequest req, final HttpServletResponse resp, Negotiation.OutFormat outFormat, VeeamControlServlet io) throws IOException { final List result = serverAdapter.listAllDataCenters(); - final DataCenters response = new DataCenters(result); - + NamedList response = NamedList.of("data_center", result); io.getWriter().write(resp, HttpServletResponse.SC_OK, response, outFormat); } @@ -118,8 +115,7 @@ public class DataCentersRouteHandler extends ManagerBase implements RouteHandler final VeeamControlServlet io) throws IOException { try { List storageDomains = serverAdapter.listStorageDomainsByDcId(id); - StorageDomains response = new StorageDomains(); - response.setStorageDomain(storageDomains); + NamedList response = NamedList.of("storage_domain", storageDomains); io.getWriter().write(resp, HttpServletResponse.SC_OK, response, outFormat); } catch (InvalidParameterValueException e) { io.notFound(resp, e.getMessage(), outFormat); @@ -130,7 +126,7 @@ public class DataCentersRouteHandler extends ManagerBase implements RouteHandler final VeeamControlServlet io) throws IOException { try { List networks = serverAdapter.listNetworksByDcId(id); - Networks response = new Networks(networks); + NamedList response = NamedList.of("network", networks); io.getWriter().write(resp, HttpServletResponse.SC_OK, response, outFormat); } catch (InvalidParameterValueException e) { io.notFound(resp, e.getMessage(), outFormat); diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/DisksRouteHandler.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/DisksRouteHandler.java index b69164d2d8d..011dfe9d1b0 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/DisksRouteHandler.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/DisksRouteHandler.java @@ -28,7 +28,7 @@ import org.apache.cloudstack.veeam.RouteHandler; import org.apache.cloudstack.veeam.VeeamControlServlet; import org.apache.cloudstack.veeam.adapter.ServerAdapter; import org.apache.cloudstack.veeam.api.dto.Disk; -import org.apache.cloudstack.veeam.api.dto.Disks; +import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.utils.Negotiation; import org.apache.cloudstack.veeam.utils.PathUtil; import org.apache.commons.collections.CollectionUtils; @@ -116,8 +116,7 @@ public class DisksRouteHandler extends ManagerBase implements RouteHandler { protected void handleGet(final HttpServletRequest req, final HttpServletResponse resp, Negotiation.OutFormat outFormat, VeeamControlServlet io) throws IOException { final List result = serverAdapter.listAllDisks(); - final Disks response = new Disks(result); - + NamedList response = NamedList.of("disk", result); io.getWriter().write(resp, HttpServletResponse.SC_OK, response, outFormat); } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/HostsRouteHandler.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/HostsRouteHandler.java index efe41bfbe30..54f19424cf9 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/HostsRouteHandler.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/HostsRouteHandler.java @@ -28,7 +28,7 @@ import org.apache.cloudstack.veeam.RouteHandler; import org.apache.cloudstack.veeam.VeeamControlServlet; import org.apache.cloudstack.veeam.adapter.ServerAdapter; import org.apache.cloudstack.veeam.api.dto.Host; -import org.apache.cloudstack.veeam.api.dto.Hosts; +import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.utils.Negotiation; import org.apache.cloudstack.veeam.utils.PathUtil; import org.apache.commons.collections.CollectionUtils; @@ -85,8 +85,7 @@ public class HostsRouteHandler extends ManagerBase implements RouteHandler { protected void handleGet(final HttpServletRequest req, final HttpServletResponse resp, Negotiation.OutFormat outFormat, VeeamControlServlet io) throws IOException { final List result = serverAdapter.listAllHosts(); - final Hosts response = new Hosts(result); - + NamedList response = NamedList.of("host", result); io.getWriter().write(resp, HttpServletResponse.SC_OK, response, outFormat); } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/ImageTransfersRouteHandler.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/ImageTransfersRouteHandler.java index bff16e00d82..6a26d54beaf 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/ImageTransfersRouteHandler.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/ImageTransfersRouteHandler.java @@ -28,7 +28,7 @@ import org.apache.cloudstack.veeam.RouteHandler; import org.apache.cloudstack.veeam.VeeamControlServlet; import org.apache.cloudstack.veeam.adapter.ServerAdapter; import org.apache.cloudstack.veeam.api.dto.ImageTransfer; -import org.apache.cloudstack.veeam.api.dto.ImageTransfers; +import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.utils.Negotiation; import org.apache.cloudstack.veeam.utils.PathUtil; import org.apache.commons.collections.CollectionUtils; @@ -106,8 +106,7 @@ public class ImageTransfersRouteHandler extends ManagerBase implements RouteHand protected void handleGet(final HttpServletRequest req, final HttpServletResponse resp, Negotiation.OutFormat outFormat, VeeamControlServlet io) throws IOException { final List result = serverAdapter.listAllImageTransfers(); - final ImageTransfers response = new ImageTransfers(); - response.setImageTransfer(result); + NamedList response = NamedList.of("image_transfer", result); io.getWriter().write(resp, HttpServletResponse.SC_OK, response, outFormat); } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/JobsRouteHandler.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/JobsRouteHandler.java index 7213cdac5be..a96c80aefe5 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/JobsRouteHandler.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/JobsRouteHandler.java @@ -28,7 +28,7 @@ import org.apache.cloudstack.veeam.RouteHandler; import org.apache.cloudstack.veeam.VeeamControlServlet; import org.apache.cloudstack.veeam.adapter.ServerAdapter; import org.apache.cloudstack.veeam.api.dto.Job; -import org.apache.cloudstack.veeam.api.dto.Jobs; +import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.utils.Negotiation; import org.apache.cloudstack.veeam.utils.PathUtil; import org.apache.commons.collections.CollectionUtils; @@ -85,8 +85,7 @@ public class JobsRouteHandler extends ManagerBase implements RouteHandler { protected void handleGet(final HttpServletRequest req, final HttpServletResponse resp, Negotiation.OutFormat outFormat, VeeamControlServlet io) throws IOException { final List result = serverAdapter.listAllJobs(); - final Jobs response = new Jobs(result); - + NamedList response = NamedList.of("job", result); io.getWriter().write(resp, HttpServletResponse.SC_OK, response, outFormat); } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/NetworksRouteHandler.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/NetworksRouteHandler.java index 2450c85cf51..5e5d9927e65 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/NetworksRouteHandler.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/NetworksRouteHandler.java @@ -27,8 +27,8 @@ import javax.servlet.http.HttpServletResponse; import org.apache.cloudstack.veeam.RouteHandler; import org.apache.cloudstack.veeam.VeeamControlServlet; import org.apache.cloudstack.veeam.adapter.ServerAdapter; +import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.api.dto.Network; -import org.apache.cloudstack.veeam.api.dto.Networks; import org.apache.cloudstack.veeam.utils.Negotiation; import org.apache.cloudstack.veeam.utils.PathUtil; import org.apache.commons.collections.CollectionUtils; @@ -85,8 +85,7 @@ public class NetworksRouteHandler extends ManagerBase implements RouteHandler { protected void handleGet(final HttpServletRequest req, final HttpServletResponse resp, Negotiation.OutFormat outFormat, VeeamControlServlet io) throws IOException { final List result = serverAdapter.listAllNetworks(); - final Networks response = new Networks(result); - + NamedList response = NamedList.of("network", result); io.getWriter().write(resp, HttpServletResponse.SC_OK, response, outFormat); } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/VmsRouteHandler.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/VmsRouteHandler.java index 1b66b37e431..70a34ba08a6 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/VmsRouteHandler.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/VmsRouteHandler.java @@ -32,17 +32,13 @@ import org.apache.cloudstack.veeam.api.dto.Backup; import org.apache.cloudstack.veeam.api.dto.Checkpoint; import org.apache.cloudstack.veeam.api.dto.Disk; import org.apache.cloudstack.veeam.api.dto.DiskAttachment; -import org.apache.cloudstack.veeam.api.dto.DiskAttachments; -import org.apache.cloudstack.veeam.api.dto.Disks; import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.api.dto.Nic; import org.apache.cloudstack.veeam.api.dto.Nics; import org.apache.cloudstack.veeam.api.dto.ResourceAction; import org.apache.cloudstack.veeam.api.dto.Snapshot; -import org.apache.cloudstack.veeam.api.dto.Snapshots; import org.apache.cloudstack.veeam.api.dto.Vm; import org.apache.cloudstack.veeam.api.dto.VmAction; -import org.apache.cloudstack.veeam.api.dto.Vms; import org.apache.cloudstack.veeam.api.request.VmListQuery; import org.apache.cloudstack.veeam.api.request.VmSearchExpr; import org.apache.cloudstack.veeam.api.request.VmSearchFilters; @@ -279,8 +275,7 @@ public class VmsRouteHandler extends ManagerBase implements RouteHandler { } final List result = serverAdapter.listAllInstances(); - final Vms response = new Vms(result); - + NamedList response = NamedList.of("vm", result); io.getWriter().write(resp, HttpServletResponse.SC_OK, response, outFormat); } @@ -380,7 +375,7 @@ public class VmsRouteHandler extends ManagerBase implements RouteHandler { final VeeamControlServlet io) throws IOException { try { List disks = serverAdapter.listDiskAttachmentsByInstanceUuid(id); - DiskAttachments response = new DiskAttachments(disks); + NamedList response = NamedList.of("disk_attachment", disks); io.getWriter().write(resp, HttpServletResponse.SC_OK, response, outFormat); } catch (InvalidParameterValueException e) { io.notFound(resp, e.getMessage(), outFormat); @@ -428,7 +423,7 @@ public class VmsRouteHandler extends ManagerBase implements RouteHandler { final Negotiation.OutFormat outFormat, final VeeamControlServlet io) throws IOException { try { List snapshots = serverAdapter.listSnapshotsByInstanceUuid(id); - Snapshots response = new Snapshots(snapshots); + NamedList response = NamedList.of("snapshot", snapshots); io.getWriter().write(resp, HttpServletResponse.SC_OK, response, outFormat); } catch (InvalidParameterValueException e) { io.notFound(resp, e.getMessage(), outFormat); @@ -487,7 +482,7 @@ public class VmsRouteHandler extends ManagerBase implements RouteHandler { final Negotiation.OutFormat outFormat, final VeeamControlServlet io) throws IOException { try { List backups = serverAdapter.listBackupsByInstanceUuid(id); - NamedList response = NamedList.of("backups", backups); + NamedList response = NamedList.of("backup", backups); io.getWriter().write(resp, HttpServletResponse.SC_OK, response, outFormat); } catch (InvalidParameterValueException e) { io.notFound(resp, e.getMessage(), outFormat); @@ -522,7 +517,7 @@ public class VmsRouteHandler extends ManagerBase implements RouteHandler { throws IOException { try { List disks = serverAdapter.listDisksByBackupUuid(id); - Disks response = new Disks(disks); + NamedList response = NamedList.of("disk", disks); io.getWriter().write(resp, HttpServletResponse.SC_OK, response, outFormat); } catch (InvalidParameterValueException e) { io.notFound(resp, e.getMessage(), outFormat); diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/VnicProfilesRouteHandler.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/VnicProfilesRouteHandler.java index a0ce779d644..28f6b816d14 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/VnicProfilesRouteHandler.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/VnicProfilesRouteHandler.java @@ -27,8 +27,8 @@ import javax.servlet.http.HttpServletResponse; import org.apache.cloudstack.veeam.RouteHandler; import org.apache.cloudstack.veeam.VeeamControlServlet; import org.apache.cloudstack.veeam.adapter.ServerAdapter; +import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.api.dto.VnicProfile; -import org.apache.cloudstack.veeam.api.dto.VnicProfiles; import org.apache.cloudstack.veeam.utils.Negotiation; import org.apache.cloudstack.veeam.utils.PathUtil; import org.apache.commons.collections.CollectionUtils; @@ -85,8 +85,7 @@ public class VnicProfilesRouteHandler extends ManagerBase implements RouteHandle protected void handleGet(final HttpServletRequest req, final HttpServletResponse resp, Negotiation.OutFormat outFormat, VeeamControlServlet io) throws IOException { final List result = serverAdapter.listAllVnicProfiles(); - final VnicProfiles response = new VnicProfiles(result); - + NamedList response = NamedList.of("vnic_profile", result); io.getWriter().write(resp, HttpServletResponse.SC_OK, response, outFormat); } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/AsyncJobJoinVOToJobConverter.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/AsyncJobJoinVOToJobConverter.java index c66e9f78d0f..bdae4983694 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/AsyncJobJoinVOToJobConverter.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/AsyncJobJoinVOToJobConverter.java @@ -22,7 +22,6 @@ import java.util.Collections; import org.apache.cloudstack.jobs.JobInfo; import org.apache.cloudstack.veeam.VeeamControlService; import org.apache.cloudstack.veeam.api.JobsRouteHandler; -import org.apache.cloudstack.veeam.api.dto.Actions; import org.apache.cloudstack.veeam.api.dto.Job; import org.apache.cloudstack.veeam.api.dto.Ref; import org.apache.cloudstack.veeam.api.dto.ResourceAction; @@ -48,7 +47,6 @@ public class AsyncJobJoinVOToJobConverter { job.setEndTime(System.currentTimeMillis()); } job.setOwner(Ref.of(basePath + "/api/users/" + uuid, uuid)); - job.setActions(new Actions()); job.setDescription("Something"); job.setLink(Collections.emptyList()); return job; @@ -80,7 +78,6 @@ public class AsyncJobJoinVOToJobConverter { job.setEndTime(endTime); } job.setOwner(Ref.of(basePath + "/api/users/" + vo.getUserUuid(), vo.getUserUuid())); - job.setActions(new Actions()); job.setDescription("Something"); job.setLink(Collections.emptyList()); return job; diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/ClusterVOToClusterConverter.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/ClusterVOToClusterConverter.java index c6a43068562..7b532f26c02 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/ClusterVOToClusterConverter.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/ClusterVOToClusterConverter.java @@ -25,7 +25,6 @@ import java.util.stream.Collectors; import org.apache.cloudstack.veeam.VeeamControlService; import org.apache.cloudstack.veeam.api.ClustersRouteHandler; import org.apache.cloudstack.veeam.api.DataCentersRouteHandler; -import org.apache.cloudstack.veeam.api.dto.Actions; import org.apache.cloudstack.veeam.api.dto.Cluster; import org.apache.cloudstack.veeam.api.dto.Cpu; import org.apache.cloudstack.veeam.api.dto.Link; @@ -143,11 +142,6 @@ public class ClusterVOToClusterConverter { c.setSchedulingPolicy(Ref.of(basePath + "/schedulingpolicies/" + stableUuid("schedpolicy:default"), stableUuid("schedpolicy:default"))); - // --- actions.links (can be omitted; but Veeam sometimes expects actions to exist) - final Actions actions = new Actions(); - actions.setLink(Collections.emptyList()); - c.setActions(actions); - // --- related links (optional) c.setLink(List.of( Link.of("networks", c.getHref() + "/networks") diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/ImageTransferVOToImageTransferConverter.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/ImageTransferVOToImageTransferConverter.java index fa4d608ee71..084f644d317 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/ImageTransferVOToImageTransferConverter.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/ImageTransferVOToImageTransferConverter.java @@ -27,9 +27,9 @@ import org.apache.cloudstack.veeam.VeeamControlService; import org.apache.cloudstack.veeam.api.DisksRouteHandler; import org.apache.cloudstack.veeam.api.HostsRouteHandler; import org.apache.cloudstack.veeam.api.ImageTransfersRouteHandler; -import org.apache.cloudstack.veeam.api.dto.Actions; import org.apache.cloudstack.veeam.api.dto.ImageTransfer; import org.apache.cloudstack.veeam.api.dto.Link; +import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.api.dto.Ref; import com.cloud.api.query.vo.HostJoinVO; @@ -73,7 +73,7 @@ public class ImageTransferVOToImageTransferConverter { final List links = new ArrayList<>(); links.add(getLink(imageTransfer, "cancel")); links.add(getLink(imageTransfer, "finalize")); - imageTransfer.setActions(new Actions(links)); + imageTransfer.setActions(NamedList.of("link", links)); return imageTransfer; } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/NetworkVOToNetworkConverter.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/NetworkVOToNetworkConverter.java index 85775b3d6cf..114311225d3 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/NetworkVOToNetworkConverter.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/NetworkVOToNetworkConverter.java @@ -25,8 +25,8 @@ import java.util.stream.Collectors; import org.apache.cloudstack.veeam.VeeamControlService; import org.apache.cloudstack.veeam.api.DataCentersRouteHandler; import org.apache.cloudstack.veeam.api.NetworksRouteHandler; +import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.api.dto.Network; -import org.apache.cloudstack.veeam.api.dto.NetworkUsages; import org.apache.cloudstack.veeam.api.dto.Ref; import com.cloud.api.query.vo.DataCenterJoinVO; @@ -50,7 +50,7 @@ public class NetworkVOToNetworkConverter { dto.setPortIsolation("false"); dto.setStp("false"); - dto.setUsages(new NetworkUsages(List.of("vm"))); + dto.setUsages(NamedList.of("usage", List.of("vm"))); // Best-effort mapping for vdsm_name dto.setVdsmName(dto.getName()); diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/NicVOToNicConverter.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/NicVOToNicConverter.java index 7ccaf45e2fd..165dbd1db58 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/NicVOToNicConverter.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/NicVOToNicConverter.java @@ -25,12 +25,11 @@ import org.apache.cloudstack.veeam.VeeamControlService; import org.apache.cloudstack.veeam.api.VmsRouteHandler; import org.apache.cloudstack.veeam.api.VnicProfilesRouteHandler; import org.apache.cloudstack.veeam.api.dto.Ip; -import org.apache.cloudstack.veeam.api.dto.Ips; import org.apache.cloudstack.veeam.api.dto.Mac; +import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.api.dto.Nic; import org.apache.cloudstack.veeam.api.dto.Ref; import org.apache.cloudstack.veeam.api.dto.ReportedDevice; -import org.apache.cloudstack.veeam.api.dto.ReportedDevices; import org.apache.cloudstack.veeam.api.dto.Vm; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -59,7 +58,7 @@ public class NicVOToNicConverter { } nic.setInterfaceType("virtio"); ReportedDevice device = getReportedDevice(vo, mac, nic.getVm()); - nic.setReportedDevices(new ReportedDevices(List.of(device))); + nic.setReportedDevices(NamedList.of("reported_device", List.of(device))); if (networkResolver != null) { final NetworkVO network = networkResolver.apply(vo.getNetworkId()); if (network != null) { @@ -88,7 +87,7 @@ public class NicVOToNicConverter { ip.setGateway(vo.getIPv6Gateway()); ip.setVersion("v6"); } - device.setIps(new Ips(List.of(ip))); + device.setIps(NamedList.of("ip", List.of(ip))); } device.setHref(vm.getHref() + "/reporteddevices/" + vo.getUuid()); device.setVm(vm); diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/StoreVOToStorageDomainConverter.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/StoreVOToStorageDomainConverter.java index d73cfb1409f..dcfdcb67a56 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/StoreVOToStorageDomainConverter.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/StoreVOToStorageDomainConverter.java @@ -24,8 +24,8 @@ import org.apache.cloudstack.veeam.VeeamControlService; import org.apache.cloudstack.veeam.api.ApiService; import org.apache.cloudstack.veeam.api.DataCentersRouteHandler; import org.apache.cloudstack.veeam.api.dto.DataCenter; -import org.apache.cloudstack.veeam.api.dto.DataCenters; import org.apache.cloudstack.veeam.api.dto.Link; +import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.api.dto.Storage; import org.apache.cloudstack.veeam.api.dto.StorageDomain; @@ -77,7 +77,7 @@ public class StoreVOToStorageDomainConverter { DataCenter dc = new DataCenter(); dc.setHref(href(basePath, DataCentersRouteHandler.BASE_ROUTE + "/" + dcId)); dc.setId(dcId); - sd.setDataCenters(new DataCenters(List.of(dc))); + sd.setDataCenters(NamedList.of("data_center", List.of(dc))); sd.setLink(defaultStorageDomainLinks(href, true, /*includeTemplates*/ true)); @@ -130,7 +130,7 @@ public class StoreVOToStorageDomainConverter { DataCenter dc = new DataCenter(); dc.setHref(href(basePath, DataCentersRouteHandler.BASE_ROUTE + "/" + dcId)); dc.setId(dcId); - sd.setDataCenters(new DataCenters(List.of(dc))); + sd.setDataCenters(NamedList.of("data_center", List.of(dc))); sd.setLink(defaultStorageDomainLinks(href, false, /*includeTemplates*/ false)); diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/UserVmJoinVOToVmConverter.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/UserVmJoinVOToVmConverter.java index 03a7ead0cc1..36e1a04c4b4 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/UserVmJoinVOToVmConverter.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/UserVmJoinVOToVmConverter.java @@ -26,13 +26,12 @@ import java.util.stream.Collectors; import org.apache.cloudstack.veeam.VeeamControlService; import org.apache.cloudstack.veeam.api.ApiService; import org.apache.cloudstack.veeam.api.VmsRouteHandler; -import org.apache.cloudstack.veeam.api.dto.Actions; import org.apache.cloudstack.veeam.api.dto.BaseDto; import org.apache.cloudstack.veeam.api.dto.Bios; import org.apache.cloudstack.veeam.api.dto.Cpu; import org.apache.cloudstack.veeam.api.dto.DiskAttachment; -import org.apache.cloudstack.veeam.api.dto.DiskAttachments; import org.apache.cloudstack.veeam.api.dto.EmptyElement; +import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.api.dto.Nic; import org.apache.cloudstack.veeam.api.dto.Nics; import org.apache.cloudstack.veeam.api.dto.Os; @@ -124,7 +123,7 @@ public final class UserVmJoinVOToVmConverter { if (disksResolver != null) { List diskAttachments = disksResolver.apply(src.getId()); - dst.setDiskAttachments(new DiskAttachments(diskAttachments)); + dst.setDiskAttachments(NamedList.of("disk_attachment", diskAttachments)); } if (disksResolver != null) { @@ -132,7 +131,7 @@ public final class UserVmJoinVOToVmConverter { dst.setNics(new Nics(nics)); } - dst.setActions(new Actions(List.of( + dst.setActions(NamedList.of("link", List.of( BaseDto.getActionLink("start", dst.getHref()), BaseDto.getActionLink("stop", dst.getHref()), BaseDto.getActionLink("shutdown", dst.getHref()) diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/VmSnapshotVOToSnapshotConverter.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/VmSnapshotVOToSnapshotConverter.java index 7d1727d742a..4dbc71505d7 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/VmSnapshotVOToSnapshotConverter.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/VmSnapshotVOToSnapshotConverter.java @@ -22,8 +22,8 @@ import java.util.stream.Collectors; import org.apache.cloudstack.veeam.VeeamControlService; import org.apache.cloudstack.veeam.api.VmsRouteHandler; -import org.apache.cloudstack.veeam.api.dto.Actions; import org.apache.cloudstack.veeam.api.dto.BaseDto; +import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.api.dto.Snapshot; import org.apache.cloudstack.veeam.api.dto.Vm; @@ -42,7 +42,7 @@ public class VmSnapshotVOToSnapshotConverter { snapshot.setDate(vmSnapshotVO.getCreated().getTime()); snapshot.setPersistMemorystate(String.valueOf(VMSnapshotVO.Type.DiskAndMemory.equals(vmSnapshotVO.getType()))); snapshot.setSnapshotStatus(VMSnapshot.State.Ready.equals(vmSnapshotVO.getState()) ? "ok" : "locked"); - snapshot.setActions(new Actions(List.of(BaseDto.getActionLink("restore", snapshot.getHref())))); + snapshot.setActions(NamedList.of("link", List.of(BaseDto.getActionLink("restore", snapshot.getHref())))); return snapshot; } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/VolumeJoinVOToDiskConverter.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/VolumeJoinVOToDiskConverter.java index 2808e20a188..497f4d7f441 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/VolumeJoinVOToDiskConverter.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/converter/VolumeJoinVOToDiskConverter.java @@ -18,7 +18,6 @@ package org.apache.cloudstack.veeam.api.converter; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -27,13 +26,12 @@ import org.apache.cloudstack.veeam.VeeamControlService; import org.apache.cloudstack.veeam.api.ApiService; import org.apache.cloudstack.veeam.api.DisksRouteHandler; import org.apache.cloudstack.veeam.api.VmsRouteHandler; -import org.apache.cloudstack.veeam.api.dto.Actions; import org.apache.cloudstack.veeam.api.dto.Disk; import org.apache.cloudstack.veeam.api.dto.DiskAttachment; import org.apache.cloudstack.veeam.api.dto.Link; +import org.apache.cloudstack.veeam.api.dto.NamedList; import org.apache.cloudstack.veeam.api.dto.Ref; import org.apache.cloudstack.veeam.api.dto.StorageDomain; -import org.apache.cloudstack.veeam.api.dto.StorageDomains; import org.apache.cloudstack.veeam.api.dto.Vm; import com.cloud.api.ApiDBUtils; @@ -110,17 +108,12 @@ public class VolumeJoinVOToDiskConverter { // Storage domains if (vol.getPoolUuid() != null) { - StorageDomains sds = new StorageDomains(); StorageDomain sd = new StorageDomain(); sd.setHref(apiBasePath + "/storagedomains/" + vol.getPoolUuid()); sd.setId(vol.getPoolUuid()); - sds.setStorageDomain(List.of(sd)); - disk.setStorageDomains(sds); + disk.setStorageDomains(NamedList.of("storage_domain", List.of(sd))); } - // Actions (Veeam checks presence, not behavior) - disk.setActions(defaultDiskActions(diskHref)); - // Links disk.setLink(List.of( Link.of("disksnapshots", diskHref + "/disksnapshots") @@ -205,8 +198,4 @@ public class VolumeJoinVOToDiskConverter { return "locked"; } } - - private static Actions defaultDiskActions(final String diskHref) { - return new Actions(Collections.emptyList()); - } } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Actions.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Actions.java deleted file mode 100644 index 05767e5219d..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Actions.java +++ /dev/null @@ -1,41 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; - -@JsonInclude(JsonInclude.Include.NON_NULL) -public final class Actions { - private List link; - - public Actions() {} - - public Actions(final List link) { - this.link = link; - } - - public List getLink() { - return link; - } - - public void setLink(List link) { - this.link = link; - } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Backups.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Backups.java deleted file mode 100644 index c1cb39ef5f2..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Backups.java +++ /dev/null @@ -1,32 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; - -public class Backups { - - @JacksonXmlElementWrapper(useWrapping = false) - public List backup; - - public Backups(final List backup) { - this.backup = backup; - } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Certificate.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Certificate.java index 7a87bfb0949..12e99159bfc 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Certificate.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Certificate.java @@ -24,8 +24,19 @@ public class Certificate { private String organization; private String subject; - public String getOrganization() { return organization; } - public void setOrganization(String organization) { this.organization = organization; } - public String getSubject() { return subject; } - public void setSubject(String subject) { this.subject = subject; } + public String getOrganization() { + return organization; + } + + public void setOrganization(String organization) { + this.organization = organization; + } + + public String getSubject() { + return subject; + } + + public void setSubject(String subject) { + this.subject = subject; + } } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Checkpoints.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Checkpoints.java deleted file mode 100644 index 7cc346202a9..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Checkpoints.java +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; - -public class Checkpoints { - - @JacksonXmlElementWrapper(useWrapping = false) - private List checkpoint; - - public Checkpoints() {} - - public Checkpoints(final List checkpoint) { - this.checkpoint = checkpoint; - } - - public List getCheckpoint() { - return checkpoint; - } - - public void setCheckpoint(List checkpoint) { - this.checkpoint = checkpoint; - } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Cluster.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Cluster.java index 650177a5e45..db0cd8be6ea 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Cluster.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Cluster.java @@ -58,7 +58,7 @@ public final class Cluster extends BaseDto { private Ref dataCenter; private Ref macPool; private Ref schedulingPolicy; - private Actions actions; + private NamedList actions; @JacksonXmlElementWrapper(useWrapping = false) private List link; @@ -310,11 +310,11 @@ public final class Cluster extends BaseDto { this.schedulingPolicy = schedulingPolicy; } - public Actions getActions() { + public NamedList getActions() { return actions; } - public void setActions(Actions actions) { + public void setActions(NamedList actions) { this.actions = actions; } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Clusters.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Clusters.java deleted file mode 100644 index 4755962bd01..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Clusters.java +++ /dev/null @@ -1,46 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; - -@JsonInclude(JsonInclude.Include.NON_NULL) -public final class Clusters { - - @JsonProperty("cluster") - @JacksonXmlElementWrapper(useWrapping = false) - private List cluster; - - public Clusters() {} - - public Clusters(final List cluster) { - this.cluster = cluster; - } - - public List getCluster() { - return cluster; - } - - public void setCluster(List cluster) { - this.cluster = cluster; - } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Cpu.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Cpu.java index c5cea76f33e..3dce4931c84 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Cpu.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Cpu.java @@ -27,14 +27,43 @@ public final class Cpu { private String type; private Topology topology; - public String getName() { return name; } - public void setName(String name) { this.name = name; } - public String getSpeed() { return speed; } - public void setSpeed(String speed) { this.speed = speed; } - public String getArchitecture() { return architecture; } - public void setArchitecture(String architecture) { this.architecture = architecture; } - public String getType() { return type; } - public void setType(String type) { this.type = type; } - public Topology getTopology() { return topology; } - public void setTopology(Topology topology) { this.topology = topology; } + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getSpeed() { + return speed; + } + + public void setSpeed(String speed) { + this.speed = speed; + } + + public String getArchitecture() { + return architecture; + } + + public void setArchitecture(String architecture) { + this.architecture = architecture; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public Topology getTopology() { + return topology; + } + + public void setTopology(Topology topology) { + this.topology = topology; + } } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DataCenter.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DataCenter.java index 9c3aed49406..52f6a6c279f 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DataCenter.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DataCenter.java @@ -33,7 +33,7 @@ public final class DataCenter extends BaseDto { private SupportedVersions supportedVersions; private Version version; private Ref macPool; - private Actions actions; + private NamedList actions; private String name; private String description; @JacksonXmlElementWrapper(useWrapping = false) @@ -95,11 +95,11 @@ public final class DataCenter extends BaseDto { this.macPool = macPool; } - public Actions getActions() { + public NamedList getActions() { return actions; } - public void setActions(Actions actions) { + public void setActions(NamedList actions) { this.actions = actions; } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DataCenters.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DataCenters.java deleted file mode 100644 index fa44bbf86fc..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DataCenters.java +++ /dev/null @@ -1,49 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; - -/** - * Root collection wrapper: - * { - * "data_center": [ { ... } ] - * } - */ -@JsonInclude(JsonInclude.Include.NON_NULL) -public final class DataCenters { - - @JacksonXmlElementWrapper(useWrapping = false) - public List dataCenter; - - public DataCenters() {} - public DataCenters(final List dataCenter) { - this.dataCenter = dataCenter; - } - - public List getDataCenter() { - return dataCenter; - } - - public void setDataCenter(List dataCenter) { - this.dataCenter = dataCenter; - } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Disk.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Disk.java index ce609592f15..c9a19794c18 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Disk.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Disk.java @@ -46,8 +46,8 @@ public final class Disk extends BaseDto { private String wipeAfterDelete; private Ref diskProfile; private Ref quota; - private StorageDomains storageDomains; - private Actions actions; + private NamedList storageDomains; + private NamedList actions; private String name; private String description; @JacksonXmlElementWrapper(useWrapping = false) @@ -205,19 +205,19 @@ public final class Disk extends BaseDto { this.quota = quota; } - public StorageDomains getStorageDomains() { + public NamedList getStorageDomains() { return storageDomains; } - public void setStorageDomains(StorageDomains storageDomains) { + public void setStorageDomains(NamedList storageDomains) { this.storageDomains = storageDomains; } - public Actions getActions() { + public NamedList getActions() { return actions; } - public void setActions(Actions actions) { + public void setActions(NamedList actions) { this.actions = actions; } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DiskAttachment.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DiskAttachment.java index 5b0428efb1b..f22168342e3 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DiskAttachment.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DiskAttachment.java @@ -34,7 +34,8 @@ public final class DiskAttachment extends BaseDto { private Disk disk; private Vm vm; - public DiskAttachment() {} + public DiskAttachment() { + } public String getActive() { return active; diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DiskAttachments.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DiskAttachments.java deleted file mode 100644 index 827a277ee70..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/DiskAttachments.java +++ /dev/null @@ -1,38 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; - -@JsonInclude(JsonInclude.Include.NON_NULL) -public final class DiskAttachments { - - @JacksonXmlElementWrapper(useWrapping = false) - private List diskAttachment; - - public DiskAttachments(final List diskAttachment) { - this.diskAttachment = diskAttachment; - } - - public List getDiskAttachment() { - return diskAttachment; - } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Disks.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Disks.java deleted file mode 100644 index a033d88899a..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Disks.java +++ /dev/null @@ -1,38 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; - -@JsonInclude(JsonInclude.Include.NON_NULL) -public final class Disks { - - @JacksonXmlElementWrapper(useWrapping = false) - private List disk; - - public Disks(final List disk) { - this.disk = disk; - } - - public List getDisk() { - return disk; - } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/EmptyElement.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/EmptyElement.java index 54d65d8529b..3c4111c55a3 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/EmptyElement.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/EmptyElement.java @@ -21,5 +21,6 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; @JsonSerialize(using = EmptyElementSerializer.class) public final class EmptyElement { - public EmptyElement() {} + public EmptyElement() { + } } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/HardwareInformation.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/HardwareInformation.java index acddcfd30b1..0ded2f095f3 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/HardwareInformation.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/HardwareInformation.java @@ -27,14 +27,43 @@ public class HardwareInformation { private String uuid; private String version; - public String getManufacturer() { return manufacturer; } - public void setManufacturer(String manufacturer) { this.manufacturer = manufacturer; } - public String getProductName() { return productName; } - public void setProductName(String productName) { this.productName = productName; } - public String getSerialNumber() { return serialNumber; } - public void setSerialNumber(String serialNumber) { this.serialNumber = serialNumber; } - public String getUuid() { return uuid; } - public void setUuid(String uuid) { this.uuid = uuid; } - public String getVersion() { return version; } - public void setVersion(String version) { this.version = version; } + public String getManufacturer() { + return manufacturer; + } + + public void setManufacturer(String manufacturer) { + this.manufacturer = manufacturer; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSerialNumber() { + return serialNumber; + } + + public void setSerialNumber(String serialNumber) { + this.serialNumber = serialNumber; + } + + public String getUuid() { + return uuid; + } + + public void setUuid(String uuid) { + this.uuid = uuid; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Host.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Host.java index 5e37b7bf935..c937cdb564b 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Host.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Host.java @@ -46,62 +46,217 @@ public class Host extends BaseDto { private Version version; private String vgpuPlacement; private Ref cluster; - private Actions actions; + private NamedList actions; private String name; private String comment; private List link; // getters/setters (generate via IDE) - public String getAddress() { return address; } - public void setAddress(String address) { this.address = address; } - public String getAutoNumaStatus() { return autoNumaStatus; } - public void setAutoNumaStatus(String autoNumaStatus) { this.autoNumaStatus = autoNumaStatus; } - public Certificate getCertificate() { return certificate; } - public void setCertificate(Certificate certificate) { this.certificate = certificate; } - public Cpu getCpu() { return cpu; } - public void setCpu(Cpu cpu) { this.cpu = cpu; } - public String getExternalStatus() { return externalStatus; } - public void setExternalStatus(String externalStatus) { this.externalStatus = externalStatus; } - public HardwareInformation getHardwareInformation() { return hardwareInformation; } - public void setHardwareInformation(HardwareInformation hardwareInformation) { this.hardwareInformation = hardwareInformation; } - public String getKdumpStatus() { return kdumpStatus; } - public void setKdumpStatus(String kdumpStatus) { this.kdumpStatus = kdumpStatus; } - public Version getLibvirtVersion() { return libvirtVersion; } - public void setLibvirtVersion(Version libvirtVersion) { this.libvirtVersion = libvirtVersion; } - public String getMaxSchedulingMemory() { return maxSchedulingMemory; } - public void setMaxSchedulingMemory(String maxSchedulingMemory) { this.maxSchedulingMemory = maxSchedulingMemory; } - public String getMemory() { return memory; } - public void setMemory(String memory) { this.memory = memory; } - public String getNumaSupported() { return numaSupported; } - public void setNumaSupported(String numaSupported) { this.numaSupported = numaSupported; } - public Os getOs() { return os; } - public void setOs(Os os) { this.os = os; } - public String getPort() { return port; } - public void setPort(String port) { this.port = port; } - public String getProtocol() { return protocol; } - public void setProtocol(String protocol) { this.protocol = protocol; } - public String getReinstallationRequired() { return reinstallationRequired; } - public void setReinstallationRequired(String reinstallationRequired) { this.reinstallationRequired = reinstallationRequired; } - public String getStatus() { return status; } - public void setStatus(String status) { this.status = status; } - public ApiSummary getSummary() { return summary; } - public void setSummary(ApiSummary summary) { this.summary = summary; } - public String getType() { return type; } - public void setType(String type) { this.type = type; } - public String getUpdateAvailable() { return updateAvailable; } - public void setUpdateAvailable(String updateAvailable) { this.updateAvailable = updateAvailable; } - public Version getVersion() { return version; } - public void setVersion(Version version) { this.version = version; } - public String getVgpuPlacement() { return vgpuPlacement; } - public void setVgpuPlacement(String vgpuPlacement) { this.vgpuPlacement = vgpuPlacement; } - public Ref getCluster() { return cluster; } - public void setCluster(Ref cluster) { this.cluster = cluster; } - public Actions getActions() { return actions; } - public void setActions(Actions actions) { this.actions = actions; } - public String getName() { return name; } - public void setName(String name) { this.name = name; } - public String getComment() { return comment; } - public void setComment(String comment) { this.comment = comment; } - public List getLink() { return link; } - public void setLink(List link) { this.link = link; } + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getAutoNumaStatus() { + return autoNumaStatus; + } + + public void setAutoNumaStatus(String autoNumaStatus) { + this.autoNumaStatus = autoNumaStatus; + } + + public Certificate getCertificate() { + return certificate; + } + + public void setCertificate(Certificate certificate) { + this.certificate = certificate; + } + + public Cpu getCpu() { + return cpu; + } + + public void setCpu(Cpu cpu) { + this.cpu = cpu; + } + + public String getExternalStatus() { + return externalStatus; + } + + public void setExternalStatus(String externalStatus) { + this.externalStatus = externalStatus; + } + + public HardwareInformation getHardwareInformation() { + return hardwareInformation; + } + + public void setHardwareInformation(HardwareInformation hardwareInformation) { + this.hardwareInformation = hardwareInformation; + } + + public String getKdumpStatus() { + return kdumpStatus; + } + + public void setKdumpStatus(String kdumpStatus) { + this.kdumpStatus = kdumpStatus; + } + + public Version getLibvirtVersion() { + return libvirtVersion; + } + + public void setLibvirtVersion(Version libvirtVersion) { + this.libvirtVersion = libvirtVersion; + } + + public String getMaxSchedulingMemory() { + return maxSchedulingMemory; + } + + public void setMaxSchedulingMemory(String maxSchedulingMemory) { + this.maxSchedulingMemory = maxSchedulingMemory; + } + + public String getMemory() { + return memory; + } + + public void setMemory(String memory) { + this.memory = memory; + } + + public String getNumaSupported() { + return numaSupported; + } + + public void setNumaSupported(String numaSupported) { + this.numaSupported = numaSupported; + } + + public Os getOs() { + return os; + } + + public void setOs(Os os) { + this.os = os; + } + + public String getPort() { + return port; + } + + public void setPort(String port) { + this.port = port; + } + + public String getProtocol() { + return protocol; + } + + public void setProtocol(String protocol) { + this.protocol = protocol; + } + + public String getReinstallationRequired() { + return reinstallationRequired; + } + + public void setReinstallationRequired(String reinstallationRequired) { + this.reinstallationRequired = reinstallationRequired; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public ApiSummary getSummary() { + return summary; + } + + public void setSummary(ApiSummary summary) { + this.summary = summary; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getUpdateAvailable() { + return updateAvailable; + } + + public void setUpdateAvailable(String updateAvailable) { + this.updateAvailable = updateAvailable; + } + + public Version getVersion() { + return version; + } + + public void setVersion(Version version) { + this.version = version; + } + + public String getVgpuPlacement() { + return vgpuPlacement; + } + + public void setVgpuPlacement(String vgpuPlacement) { + this.vgpuPlacement = vgpuPlacement; + } + + public Ref getCluster() { + return cluster; + } + + public void setCluster(Ref cluster) { + this.cluster = cluster; + } + + public NamedList getActions() { + return actions; + } + + public void setActions(NamedList actions) { + this.actions = actions; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } + + public List getLink() { + return link; + } + + public void setLink(List link) { + this.link = link; + } } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/HostSummary.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/HostSummary.java index ada443f2788..a1d4b4aa734 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/HostSummary.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/HostSummary.java @@ -31,10 +31,27 @@ public class HostSummary { @JsonProperty("total") private String total; - public String getActive() { return active; } - public void setActive(String active) { this.active = active; } - public String getMigrating() { return migrating; } - public void setMigrating(String migrating) { this.migrating = migrating; } - public String getTotal() { return total; } - public void setTotal(String total) { this.total = total; } + public String getActive() { + return active; + } + + public void setActive(String active) { + this.active = active; + } + + public String getMigrating() { + return migrating; + } + + public void setMigrating(String migrating) { + this.migrating = migrating; + } + + public String getTotal() { + return total; + } + + public void setTotal(String total) { + this.total = total; + } } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Hosts.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Hosts.java deleted file mode 100644 index 17b3f77de3e..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Hosts.java +++ /dev/null @@ -1,33 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonProperty; - -public class Hosts { - @JsonProperty("host") - private List host; - - public Hosts() {} - public Hosts(List host) { this.host = host; } - - public List getHost() { return host; } - public void setHost(List host) { this.host = host; } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ImageTransfer.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ImageTransfer.java index f2ff074da5b..b0a26daa104 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ImageTransfer.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ImageTransfer.java @@ -40,7 +40,7 @@ public class ImageTransfer extends BaseDto { private Ref host; private Ref image; private Ref disk; - private Actions actions; + private NamedList actions; @JacksonXmlElementWrapper(useWrapping = false) public List link; @@ -157,11 +157,11 @@ public class ImageTransfer extends BaseDto { this.disk = disk; } - public Actions getActions() { + public NamedList getActions() { return actions; } - public void setActions(Actions actions) { + public void setActions(NamedList actions) { this.actions = actions; } } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ImageTransfers.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ImageTransfers.java deleted file mode 100644 index 4414846de60..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ImageTransfers.java +++ /dev/null @@ -1,39 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; - -@JsonInclude(JsonInclude.Include.NON_NULL) -@JacksonXmlRootElement(localName = "image_transfers") -public class ImageTransfers { - @JsonProperty("image_transfer") - private List imageTransfer; - - public List getImageTransfer() { - return imageTransfer; - } - - public void setImageTransfer(List imageTransfer) { - this.imageTransfer = imageTransfer; - } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Ips.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Ips.java deleted file mode 100644 index 11d94cc4179..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Ips.java +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; - -@JsonInclude(JsonInclude.Include.NON_NULL) -public class Ips { - - @JacksonXmlElementWrapper(useWrapping = false) - private List ip; - - public Ips(final List ip) { - this.ip = ip; - } - - public List getIp() { - return ip; - } - - public void setIp(List ip) { - this.ip = ip; - } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Job.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Job.java index 43121439b50..13b0e8a02fd 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Job.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Job.java @@ -30,38 +30,88 @@ public class Job extends BaseDto { private Long endTime; private String status; private Ref owner; - private Actions actions; + private NamedList actions; private String description; private List link; // getters and setters - public String getAutoCleared() { return autoCleared; } - public void setAutoCleared(String autoCleared) { this.autoCleared = autoCleared; } + public String getAutoCleared() { + return autoCleared; + } - public String getExternal() { return external; } - public void setExternal(String external) { this.external = external; } + public void setAutoCleared(String autoCleared) { + this.autoCleared = autoCleared; + } - public Long getLastUpdated() { return lastUpdated; } - public void setLastUpdated(Long lastUpdated) { this.lastUpdated = lastUpdated; } + public String getExternal() { + return external; + } - public Long getStartTime() { return startTime; } - public void setStartTime(Long startTime) { this.startTime = startTime; } + public void setExternal(String external) { + this.external = external; + } - public Long getEndTime() { return endTime; } - public void setEndTime(Long endTime) { this.endTime = endTime; } + public Long getLastUpdated() { + return lastUpdated; + } - public String getStatus() { return status; } - public void setStatus(String status) { this.status = status; } + public void setLastUpdated(Long lastUpdated) { + this.lastUpdated = lastUpdated; + } - public Ref getOwner() { return owner; } - public void setOwner(Ref owner) { this.owner = owner; } + public Long getStartTime() { + return startTime; + } - public Actions getActions() { return actions; } - public void setActions(Actions actions) { this.actions = actions; } + public void setStartTime(Long startTime) { + this.startTime = startTime; + } - public String getDescription() { return description; } - public void setDescription(String description) { this.description = description; } + public Long getEndTime() { + return endTime; + } - public List getLink() { return link; } - public void setLink(List link) { this.link = link; } + public void setEndTime(Long endTime) { + this.endTime = endTime; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Ref getOwner() { + return owner; + } + + public void setOwner(Ref owner) { + this.owner = owner; + } + + public NamedList getActions() { + return actions; + } + + public void setActions(NamedList actions) { + this.actions = actions; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public List getLink() { + return link; + } + + public void setLink(List link) { + this.link = link; + } } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Jobs.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Jobs.java deleted file mode 100644 index 904950ae0a7..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Jobs.java +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownershjob. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; - -@JsonInclude(JsonInclude.Include.NON_NULL) -public class Jobs { - - @JacksonXmlElementWrapper(useWrapping = false) - private List job; - - public Jobs(final List job) { - this.job = job; - } - - public List getJob() { - return job; - } - - public void setJob(List job) { - this.job = job; - } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/NamedList.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/NamedList.java index c040323b8d0..fb7c2aa664b 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/NamedList.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/NamedList.java @@ -24,6 +24,7 @@ import java.util.Map.Entry; import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; public class NamedList { private final String name; @@ -54,4 +55,9 @@ public class NamedList { Entry> e = map.entrySet().iterator().next(); return new NamedList<>(e.getKey(), e.getValue()); } + + @JsonIgnore + public List getItems() { + return items; + } } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Network.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Network.java index 79e84fb3b17..bb72a2ad323 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Network.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Network.java @@ -27,7 +27,7 @@ public class Network extends BaseDto { private String mtu; // oVirt prints as string private String portIsolation; // "false" private String stp; // "false" - private NetworkUsages usages; // { usage: ["vm"] } + private NamedList usages; // { usage: ["vm"] } private String vdsmName; private Ref dataCenter; @@ -39,37 +39,88 @@ public class Network extends BaseDto { @JsonProperty("link") private List link; - public Network() {} + public Network() { + } // ---- getters / setters ---- - public String getMtu() { return mtu; } - public void setMtu(final String mtu) { this.mtu = mtu; } + public String getMtu() { + return mtu; + } - public String getPortIsolation() { return portIsolation; } - public void setPortIsolation(final String portIsolation) { this.portIsolation = portIsolation; } + public void setMtu(final String mtu) { + this.mtu = mtu; + } - public String getStp() { return stp; } - public void setStp(final String stp) { this.stp = stp; } + public String getPortIsolation() { + return portIsolation; + } - public NetworkUsages getUsages() { return usages; } - public void setUsages(final NetworkUsages usages) { this.usages = usages; } + public void setPortIsolation(final String portIsolation) { + this.portIsolation = portIsolation; + } - public String getVdsmName() { return vdsmName; } - public void setVdsmName(final String vdsmName) { this.vdsmName = vdsmName; } + public String getStp() { + return stp; + } - public Ref getDataCenter() { return dataCenter; } - public void setDataCenter(final Ref dataCenter) { this.dataCenter = dataCenter; } + public void setStp(final String stp) { + this.stp = stp; + } - public String getName() { return name; } - public void setName(final String name) { this.name = name; } + public NamedList getUsages() { + return usages; + } - public String getDescription() { return description; } - public void setDescription(final String description) { this.description = description; } + public void setUsages(final NamedList usages) { + this.usages = usages; + } - public String getComment() { return comment; } - public void setComment(final String comment) { this.comment = comment; } + public String getVdsmName() { + return vdsmName; + } - public List getLink() { return link; } - public void setLink(final List link) { this.link = link; } + public void setVdsmName(final String vdsmName) { + this.vdsmName = vdsmName; + } + + public Ref getDataCenter() { + return dataCenter; + } + + public void setDataCenter(final Ref dataCenter) { + this.dataCenter = dataCenter; + } + + public String getName() { + return name; + } + + public void setName(final String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(final String description) { + this.description = description; + } + + public String getComment() { + return comment; + } + + public void setComment(final String comment) { + this.comment = comment; + } + + public List getLink() { + return link; + } + + public void setLink(final List link) { + this.link = link; + } } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/NetworkUsages.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/NetworkUsages.java deleted file mode 100644 index da5e1c2aeec..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/NetworkUsages.java +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; - -@JsonInclude(JsonInclude.Include.NON_NULL) -public class NetworkUsages { - private List usage; - - public NetworkUsages() { - } - - public NetworkUsages(final List usage) { - this.usage = usage; - } - - public List getUsage() { - return usage; - } - - public void setUsage(final List usage) { - this.usage = usage; - } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Networks.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Networks.java deleted file mode 100644 index 9b96b6e8c2d..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Networks.java +++ /dev/null @@ -1,33 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonProperty; - -public class Networks { - @JsonProperty("network") - private List network; - - public Networks() {} - public Networks(List network) { this.network = network; } - - public List getNetwork() { return network; } - public void setNetwork(List network) { this.network = network; } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Nic.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Nic.java index 0b0a9043e51..2f866abef7f 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Nic.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Nic.java @@ -35,7 +35,7 @@ public class Nic extends BaseDto { public String synced; private Ref vnicProfile; private Vm vm; - private ReportedDevices reportedDevices; + private NamedList reportedDevices; public Nic() { } @@ -112,11 +112,11 @@ public class Nic extends BaseDto { this.vm = vm; } - public ReportedDevices getReportedDevices() { + public NamedList getReportedDevices() { return reportedDevices; } - public void setReportedDevices(ReportedDevices reportedDevices) { + public void setReportedDevices(NamedList reportedDevices) { this.reportedDevices = reportedDevices; } } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Nics.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Nics.java index 37c0259fa53..1d1a4667501 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Nics.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Nics.java @@ -32,7 +32,8 @@ public final class Nics { @JacksonXmlElementWrapper(useWrapping = false) public List nic; - public Nics() {} + public Nics() { + } public Nics(final List nic) { this.nic = nic; diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ReportedDevice.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ReportedDevice.java index 49011b303db..a925d6ec445 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ReportedDevice.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ReportedDevice.java @@ -20,7 +20,7 @@ package org.apache.cloudstack.veeam.api.dto; public class ReportedDevice extends BaseDto { private String comment; private String description; - private Ips ips; + private NamedList ips; private Mac Mac; private String name; private String type; @@ -42,11 +42,11 @@ public class ReportedDevice extends BaseDto { this.description = description; } - public Ips getIps() { + public NamedList getIps() { return ips; } - public void setIps(Ips ips) { + public void setIps(NamedList ips) { this.ips = ips; } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ReportedDevices.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ReportedDevices.java deleted file mode 100644 index 7348b0ca6fa..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/ReportedDevices.java +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; - -@JsonInclude(JsonInclude.Include.NON_NULL) -public class ReportedDevices { - - @JacksonXmlElementWrapper(useWrapping = false) - private List reportedDevice; - - public ReportedDevices(final List reportedDevice) { - this.reportedDevice = reportedDevice; - } - - public List getReportedDevice() { - return reportedDevice; - } - - public void setReportedDevice(List reportedDevice) { - this.reportedDevice = reportedDevice; - } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Snapshot.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Snapshot.java index 218a9d227d1..616e6317d90 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Snapshot.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Snapshot.java @@ -30,13 +30,14 @@ public class Snapshot extends BaseDto { private String persistMemorystate; private String snapshotStatus; private String snapshotType; - private Actions actions; + private NamedList actions; private String description; @JacksonXmlElementWrapper(useWrapping = false) private List link; private Vm vm; - public Snapshot() {} + public Snapshot() { + } public Long getDate() { return date; @@ -70,11 +71,11 @@ public class Snapshot extends BaseDto { this.snapshotType = snapshotType; } - public Actions getActions() { + public NamedList getActions() { return actions; } - public void setActions(final Actions actions) { + public void setActions(final NamedList actions) { this.actions = actions; } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Snapshots.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Snapshots.java deleted file mode 100644 index 66a9b93e46d..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Snapshots.java +++ /dev/null @@ -1,41 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; - -@JsonInclude(JsonInclude.Include.NON_NULL) -@JacksonXmlRootElement(localName = "snapshots") -public final class Snapshots { - - @JsonProperty("snapshot") - @JacksonXmlElementWrapper(useWrapping = false) - public List snapshot; - - public Snapshots() {} - - public Snapshots(final List snapshot) { - this.snapshot = snapshot; - } -} - diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/StorageDomain.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/StorageDomain.java index 9dfadd73e0d..fff9d5f75ce 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/StorageDomain.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/StorageDomain.java @@ -45,8 +45,8 @@ public final class StorageDomain extends BaseDto { private String supportsDiscard; private String supportsDiscardZeroesData; private Storage storage; - private DataCenters dataCenters; - private Actions actions; + private NamedList dataCenters; + private NamedList actions; @JacksonXmlElementWrapper(useWrapping = false) private List link; @@ -210,19 +210,19 @@ public final class StorageDomain extends BaseDto { this.storage = storage; } - public DataCenters getDataCenters() { + public NamedList getDataCenters() { return dataCenters; } - public void setDataCenters(DataCenters dataCenters) { + public void setDataCenters(NamedList dataCenters) { this.dataCenters = dataCenters; } - public Actions getActions() { + public NamedList getActions() { return actions; } - public void setActions(Actions actions) { + public void setActions(NamedList actions) { this.actions = actions; } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/StorageDomains.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/StorageDomains.java deleted file mode 100644 index 644986998c4..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/StorageDomains.java +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; - -@JsonInclude(JsonInclude.Include.NON_NULL) -@JacksonXmlRootElement(localName = "storage_domains") -public final class StorageDomains { - - @JsonProperty("storage_domain") - @JacksonXmlElementWrapper(useWrapping = false) - private List storageDomain; - - public List getStorageDomain() { - return storageDomain; - } - - public void setStorageDomain(List storageDomain) { - this.storageDomain = storageDomain; - } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Version.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Version.java index 04ba3f99eda..667eb7d00b1 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Version.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Version.java @@ -28,7 +28,8 @@ public final class Version { private String minor; private String revision; - public Version() {} + public Version() { + } public String getBuild() { return build; diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Vm.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Vm.java index 5c6fdf21a1f..9d18dcc2234 100644 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Vm.java +++ b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Vm.java @@ -48,11 +48,11 @@ public final class Vm extends BaseDto { private String stateless; // true|false private String type; // "server" private String origin; // "ovirt" - private Actions actions; // actions.link[] + private NamedList actions; // actions.link[] @JacksonXmlElementWrapper(useWrapping = false) private List link; // related resources private EmptyElement tags; // empty - private DiskAttachments diskAttachments; + private NamedList diskAttachments; private Nics nics; private VmInitialization initialization; @@ -200,11 +200,11 @@ public final class Vm extends BaseDto { this.origin = origin; } - public Actions getActions() { + public NamedList getActions() { return actions; } - public void setActions(Actions actions) { + public void setActions(NamedList actions) { this.actions = actions; } @@ -224,11 +224,11 @@ public final class Vm extends BaseDto { this.tags = tags; } - public DiskAttachments getDiskAttachments() { + public NamedList getDiskAttachments() { return diskAttachments; } - public void setDiskAttachments(DiskAttachments diskAttachments) { + public void setDiskAttachments(NamedList diskAttachments) { this.diskAttachments = diskAttachments; } diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Vms.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Vms.java deleted file mode 100644 index df981129f1c..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/Vms.java +++ /dev/null @@ -1,45 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; - -/** - * Required list response: - * { "vm": [ {..}, {..} ] } - */ -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonPropertyOrder({ "vm" }) -@JacksonXmlRootElement(localName = "vms") -public final class Vms { - @JsonProperty("vm") - @JacksonXmlElementWrapper(useWrapping = false) - public List vm; - - public Vms() {} - - public Vms(final List vm) { - this.vm = vm; - } -} diff --git a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/VnicProfiles.java b/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/VnicProfiles.java deleted file mode 100644 index d528e946bf6..00000000000 --- a/plugins/integrations/veeam-control-service/src/main/java/org/apache/cloudstack/veeam/api/dto/VnicProfiles.java +++ /dev/null @@ -1,49 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.cloudstack.veeam.api.dto; - - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * Root container for /ovirt-engine/api/vnicprofiles - */ -@JsonInclude(JsonInclude.Include.NON_NULL) -public class VnicProfiles { - - @JsonProperty("vnic_profile") - private List vnicProfile; - - public VnicProfiles() { - } - - public VnicProfiles(final List vnicProfile) { - this.vnicProfile = vnicProfile; - } - - public List getVnicProfile() { - return vnicProfile; - } - - public void setVnicProfile(final List vnicProfile) { - this.vnicProfile = vnicProfile; - } -}