Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import org.zstack.header.query.APIQueryReply;
import org.zstack.header.rest.RestResponse;
import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupTreeInventory;
import org.zstack.header.volume.VolumeType;

import java.util.List;
Expand All @@ -11,6 +12,7 @@
@RestResponse(allTo = "inventories")
public class APIQueryVolumeSnapshotTreeReply extends APIQueryReply {
private List<VolumeSnapshotTreeInventory> inventories;
private List<VolumeSnapshotGroupTreeInventory> groupTrees;

public List<VolumeSnapshotTreeInventory> getInventories() {
return inventories;
Expand All @@ -19,6 +21,14 @@ public List<VolumeSnapshotTreeInventory> getInventories() {
public void setInventories(List<VolumeSnapshotTreeInventory> inventories) {
this.inventories = inventories;
}

public List<VolumeSnapshotGroupTreeInventory> getGroupTrees() {
return groupTrees;
}

public void setGroupTrees(List<VolumeSnapshotGroupTreeInventory> groupTrees) {
this.groupTrees = groupTrees;
}

public static APIQueryVolumeSnapshotTreeReply __example__() {
APIQueryVolumeSnapshotTreeReply reply = new APIQueryVolumeSnapshotTreeReply();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.zstack.header.storage.snapshot

import org.zstack.header.errorcode.ErrorCode
import org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupTreeInventory

doc {

Expand Down Expand Up @@ -28,4 +29,12 @@ doc {
since "0.6"
clz VolumeSnapshotTreeInventory.class
}
ref {
name "groupTrees"
path "org.zstack.header.storage.snapshot.APIQueryVolumeSnapshotTreeReply.groupTrees"
desc "虚拟机快照组树清单(仅当查询条件包含 volumeUuid eq <根云盘UUID> 时返回)"
type "List"
since "5.0"
clz VolumeSnapshotGroupTreeInventory.class
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
package org.zstack.header.storage.snapshot.group;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;

public class VolumeSnapshotGroupTreeInventory {
private String uuid;
private String name;
private String description;
private String vmInstanceUuid;
private Timestamp createDate;
private Timestamp lastOpDate;
private boolean current;
private boolean incomplete;
private String parentGroupUuid;
private List<VolumeSnapshotGroupTreeInventory> children = new ArrayList<>();
private List<VolumeSnapshotGroupTreeRefInventory> refs = new ArrayList<>();

public String getUuid() {
return uuid;
}

public void setUuid(String uuid) {
this.uuid = uuid;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description;
}

public String getVmInstanceUuid() {
return vmInstanceUuid;
}

public void setVmInstanceUuid(String vmInstanceUuid) {
this.vmInstanceUuid = vmInstanceUuid;
}

public Timestamp getCreateDate() {
return createDate;
}

public void setCreateDate(Timestamp createDate) {
this.createDate = createDate;
}

public Timestamp getLastOpDate() {
return lastOpDate;
}

public void setLastOpDate(Timestamp lastOpDate) {
this.lastOpDate = lastOpDate;
}

public boolean isCurrent() {
return current;
}

public void setCurrent(boolean current) {
this.current = current;
}

public boolean isIncomplete() {
return incomplete;
}

public void setIncomplete(boolean incomplete) {
this.incomplete = incomplete;
}

public String getParentGroupUuid() {
return parentGroupUuid;
}

public void setParentGroupUuid(String parentGroupUuid) {
this.parentGroupUuid = parentGroupUuid;
}

public List<VolumeSnapshotGroupTreeInventory> getChildren() {
return children;
}

public void setChildren(List<VolumeSnapshotGroupTreeInventory> children) {
this.children = children;
}

public List<VolumeSnapshotGroupTreeRefInventory> getRefs() {
return refs;
}

public void setRefs(List<VolumeSnapshotGroupTreeRefInventory> refs) {
this.refs = refs;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
package org.zstack.header.storage.snapshot.group

import java.sql.Timestamp

doc {

title "虚拟机快照组树清单"

field {
name "uuid"
desc "快照组UUID"
type "String"
since "5.0"
}
field {
name "name"
desc "快照组名称"
type "String"
since "5.0"
}
field {
name "description"
desc "快照组描述"
type "String"
since "5.0"
}
field {
name "vmInstanceUuid"
desc "虚拟机UUID"
type "String"
since "5.0"
}
field {
name "createDate"
desc "创建时间"
type "Timestamp"
since "5.0"
}
field {
name "lastOpDate"
desc "最后一次修改时间"
type "Timestamp"
since "5.0"
}
field {
name "current"
desc "是否是当前快照组(虚拟机维度)"
type "boolean"
since "5.0"
}
field {
name "incomplete"
desc "是否为残缺快照组(部分盘的快照已被删除)"
type "boolean"
since "5.0"
}
field {
name "parentGroupUuid"
desc "父快照组UUID"
type "String"
since "5.0"
}
ref {
name "children"
path "org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupTreeInventory.children"
desc "子快照组列表"
type "List"
since "5.0"
clz VolumeSnapshotGroupTreeInventory.class
}
ref {
name "refs"
path "org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupTreeInventory.refs"
desc "快照组成员盘列表"
type "List"
since "5.0"
clz VolumeSnapshotGroupTreeRefInventory.class
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
package org.zstack.header.storage.snapshot.group;

import org.zstack.header.storage.snapshot.VolumeSnapshotInventory;

public class VolumeSnapshotGroupTreeRefInventory {
private String volumeUuid;
private String volumeName;
private String volumeType;
private String volumeSnapshotUuid;
private boolean snapshotDeleted;
private VolumeSnapshotInventory snapshot;

public String getVolumeUuid() {
return volumeUuid;
}

public void setVolumeUuid(String volumeUuid) {
this.volumeUuid = volumeUuid;
}

public String getVolumeName() {
return volumeName;
}

public void setVolumeName(String volumeName) {
this.volumeName = volumeName;
}

public String getVolumeType() {
return volumeType;
}

public void setVolumeType(String volumeType) {
this.volumeType = volumeType;
}

public String getVolumeSnapshotUuid() {
return volumeSnapshotUuid;
}

public void setVolumeSnapshotUuid(String volumeSnapshotUuid) {
this.volumeSnapshotUuid = volumeSnapshotUuid;
}

public boolean isSnapshotDeleted() {
return snapshotDeleted;
}

public void setSnapshotDeleted(boolean snapshotDeleted) {
this.snapshotDeleted = snapshotDeleted;
}

public VolumeSnapshotInventory getSnapshot() {
return snapshot;
}

public void setSnapshot(VolumeSnapshotInventory snapshot) {
this.snapshot = snapshot;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package org.zstack.header.storage.snapshot.group

import org.zstack.header.storage.snapshot.VolumeSnapshotInventory

doc {

title "虚拟机快照组成员盘清单"

field {
name "volumeUuid"
desc "云盘UUID"
type "String"
since "5.0"
}
field {
name "volumeName"
desc "云盘名称"
type "String"
since "5.0"
}
field {
name "volumeType"
desc "云盘类型(Root/Data)"
type "String"
since "5.0"
}
field {
name "volumeSnapshotUuid"
desc "对应的云盘快照UUID"
type "String"
since "5.0"
}
field {
name "snapshotDeleted"
desc "对应的云盘快照是否已被删除"
type "boolean"
since "5.0"
}
ref {
name "snapshot"
path "org.zstack.header.storage.snapshot.group.VolumeSnapshotGroupTreeRefInventory.snapshot"
desc "对应的云盘快照清单(被删除时为null,无访问权限时仅返回uuid)"
type "VolumeSnapshotInventory"
since "5.0"
clz VolumeSnapshotInventory.class
}
}
Loading