|
31 | 31 |
|
32 | 32 | import javax.inject.Inject; |
33 | 33 |
|
| 34 | +import com.cloud.vm.snapshot.VMSnapshotVO; |
| 35 | +import com.cloud.vm.snapshot.dao.VMSnapshotDao; |
34 | 36 | import org.apache.cloudstack.acl.ControlledEntity; |
35 | 37 | import org.apache.cloudstack.acl.ControlledEntity.ACLType; |
36 | 38 | import org.apache.cloudstack.affinity.AffinityGroup; |
@@ -372,6 +374,8 @@ public class ApiResponseHelper implements ResponseGenerator { |
372 | 374 | private IPAddressDao userIpAddressDao; |
373 | 375 | @Inject |
374 | 376 | NetworkDetailsDao networkDetailsDao; |
| 377 | + @Inject |
| 378 | + private VMSnapshotDao vmSnapshotDao; |
375 | 379 |
|
376 | 380 | @Override |
377 | 381 | public UserResponse createUserResponse(User user) { |
@@ -3643,11 +3647,14 @@ public UsageRecordResponse createUsageResponse(Usage usageRecord, Map<String, Se |
3643 | 3647 | usageRecResponse.setDescription(builder.toString()); |
3644 | 3648 | } |
3645 | 3649 | } else if (usageRecord.getUsageType() == UsageTypes.VM_SNAPSHOT) { |
3646 | | - resourceType = ResourceObjectType.UserVm; |
3647 | | - if (vmInstance != null) { |
3648 | | - resourceId = vmInstance.getId(); |
3649 | | - usageRecResponse.setResourceName(vmInstance.getInstanceName()); |
3650 | | - usageRecResponse.setUsageId(vmInstance.getUuid()); |
| 3650 | + resourceType = ResourceObjectType.VMSnapshot; |
| 3651 | + if (usageRecord.getUsageId() != null) { |
| 3652 | + VMSnapshotVO vmSnapshotVO = vmSnapshotDao.findByIdIncludingRemoved(usageRecord.getUsageId()); |
| 3653 | + if (vmSnapshotVO != null) { |
| 3654 | + resourceId = vmSnapshotVO.getId(); |
| 3655 | + usageRecResponse.setResourceName(vmSnapshotVO.getDisplayName()); |
| 3656 | + usageRecResponse.setUsageId(vmSnapshotVO.getUuid()); |
| 3657 | + } |
3651 | 3658 | } |
3652 | 3659 | usageRecResponse.setSize(usageRecord.getSize()); |
3653 | 3660 | if (usageRecord.getOfferingId() != null) { |
@@ -3684,6 +3691,15 @@ public UsageRecordResponse createUsageResponse(Usage usageRecord, Map<String, Se |
3684 | 3691 | usageRecResponse.setDescription(builder.toString()); |
3685 | 3692 | } |
3686 | 3693 | } else if (usageRecord.getUsageType() == UsageTypes.VM_SNAPSHOT_ON_PRIMARY) { |
| 3694 | + resourceType = ResourceObjectType.VMSnapshot; |
| 3695 | + if (usageRecord.getUsageId() != null) { |
| 3696 | + VMSnapshotVO vmSnapshotVO = vmSnapshotDao.findByIdIncludingRemoved(usageRecord.getUsageId()); |
| 3697 | + if (vmSnapshotVO != null) { |
| 3698 | + resourceId = vmSnapshotVO.getId(); |
| 3699 | + usageRecResponse.setResourceName(vmSnapshotVO.getDisplayName()); |
| 3700 | + usageRecResponse.setUsageId(vmSnapshotVO.getUuid()); |
| 3701 | + } |
| 3702 | + } |
3687 | 3703 | usageRecResponse.setSize(usageRecord.getVirtualSize()); |
3688 | 3704 | if (!oldFormat) { |
3689 | 3705 | final StringBuilder builder = new StringBuilder(); |
|
0 commit comments