Skip to content

Commit f48ebc5

Browse files
committed
<feature>[vm]: add vm metadata header definitions
Resolves: ZSV-11559 Change-Id: I3cd9fa26b6af7bd47787ab88c5050683a3356059
1 parent 66b4eb4 commit f48ebc5

52 files changed

Lines changed: 2128 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package org.zstack.header.storage.primary;
2+
3+
import org.zstack.header.message.APIEvent;
4+
import org.zstack.header.rest.RestResponse;
5+
6+
import java.util.ArrayList;
7+
import java.util.List;
8+
9+
@RestResponse(fieldsTo = {"all"})
10+
public class APIScanVmInstanceMetadataFromPrimaryStorageEvent extends APIEvent {
11+
private List<VmMetadataScanEntry> vmInstanceMetadata = new ArrayList<>();
12+
13+
public APIScanVmInstanceMetadataFromPrimaryStorageEvent() {
14+
super(null);
15+
}
16+
17+
public APIScanVmInstanceMetadataFromPrimaryStorageEvent(String apiId) {
18+
super(apiId);
19+
}
20+
21+
public List<VmMetadataScanEntry> getVmInstanceMetadata() {
22+
return vmInstanceMetadata;
23+
}
24+
25+
public void setVmInstanceMetadata(List<VmMetadataScanEntry> vmInstanceMetadata) {
26+
this.vmInstanceMetadata = vmInstanceMetadata == null ? new ArrayList<>() : vmInstanceMetadata;
27+
}
28+
29+
public static APIScanVmInstanceMetadataFromPrimaryStorageEvent __example__() {
30+
APIScanVmInstanceMetadataFromPrimaryStorageEvent evt = new APIScanVmInstanceMetadataFromPrimaryStorageEvent();
31+
return evt;
32+
}
33+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package org.zstack.header.storage.primary
2+
3+
4+
import org.zstack.header.errorcode.ErrorCode
5+
6+
doc {
7+
8+
title "扫描主存储上的云主机元数据返回"
9+
10+
ref {
11+
name "vmInstanceMetadata"
12+
path "org.zstack.header.storage.primary.APIScanVmInstanceMetadataFromPrimaryStorageEvent.vmInstanceMetadata"
13+
desc "云主机元数据摘要列表"
14+
type "List"
15+
since "5.0.0"
16+
clz VmMetadataScanEntry.class
17+
}
18+
field {
19+
name "success"
20+
desc "操作是否成功"
21+
type "boolean"
22+
since "5.0.0"
23+
}
24+
ref {
25+
name "error"
26+
path "org.zstack.header.storage.primary.APIScanVmInstanceMetadataFromPrimaryStorageEvent.error"
27+
desc "错误码,若不为null,则表示操作失败, 操作成功时该字段为null"
28+
type "ErrorCode"
29+
since "5.0.0"
30+
clz ErrorCode.class
31+
}
32+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package org.zstack.header.storage.primary;
2+
3+
import org.springframework.http.HttpMethod;
4+
import org.zstack.header.message.APIMessage;
5+
import org.zstack.header.message.APIParam;
6+
import org.zstack.header.rest.RestRequest;
7+
8+
@RestRequest(
9+
path = "/primary-storage/vm-instances/metadata/scan",
10+
method = HttpMethod.GET,
11+
responseClass = APIScanVmInstanceMetadataFromPrimaryStorageEvent.class
12+
)
13+
public class APIScanVmInstanceMetadataFromPrimaryStorageMsg extends APIMessage implements PrimaryStorageMessage {
14+
@APIParam(resourceType = PrimaryStorageVO.class)
15+
private String uuid;
16+
17+
public String getUuid() {
18+
return uuid;
19+
}
20+
21+
public void setUuid(String uuid) {
22+
this.uuid = uuid;
23+
}
24+
25+
@Override
26+
public String getPrimaryStorageUuid() {
27+
return uuid;
28+
}
29+
30+
public static APIScanVmInstanceMetadataFromPrimaryStorageMsg __example__() {
31+
APIScanVmInstanceMetadataFromPrimaryStorageMsg msg = new APIScanVmInstanceMetadataFromPrimaryStorageMsg();
32+
msg.setUuid(uuid());
33+
return msg;
34+
}
35+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package org.zstack.header.storage.primary
2+
3+
import org.zstack.header.storage.primary.APIScanVmInstanceMetadataFromPrimaryStorageEvent
4+
5+
doc {
6+
title "扫描主存储上的云主机元数据"
7+
8+
category "主存储"
9+
10+
desc """扫描指定主存储上所有云主机元数据文件,返回元数据摘要列表"""
11+
12+
rest {
13+
request {
14+
url "GET /v1/primary-storage/vm-instances/metadata/scan"
15+
16+
header (Authorization: 'OAuth the-session-uuid')
17+
18+
clz APIScanVmInstanceMetadataFromPrimaryStorageMsg.class
19+
20+
desc """"""
21+
22+
params {
23+
24+
column {
25+
name "uuid"
26+
enclosedIn ""
27+
desc "主存储UUID"
28+
location "query"
29+
type "String"
30+
optional false
31+
since "5.0.0"
32+
}
33+
column {
34+
name "systemTags"
35+
enclosedIn ""
36+
desc "系统标签"
37+
location "query"
38+
type "List"
39+
optional true
40+
since "5.0.0"
41+
}
42+
column {
43+
name "userTags"
44+
enclosedIn ""
45+
desc "用户标签"
46+
location "query"
47+
type "List"
48+
optional true
49+
since "5.0.0"
50+
}
51+
}
52+
}
53+
54+
response {
55+
clz APIScanVmInstanceMetadataFromPrimaryStorageEvent.class
56+
}
57+
}
58+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package org.zstack.header.storage.primary;
2+
3+
import org.zstack.header.message.NeedReplyMessage;
4+
5+
public class CleanupVmInstanceMetadataOnPrimaryStorageMsg extends NeedReplyMessage implements PrimaryStorageMessage {
6+
private String primaryStorageUuid;
7+
private String vmInstanceUuid;
8+
private String rootVolumeUuid;
9+
private String metadataPath;
10+
private String hostUuid;
11+
12+
@Override
13+
public String getPrimaryStorageUuid() {
14+
return primaryStorageUuid;
15+
}
16+
17+
public void setPrimaryStorageUuid(String primaryStorageUuid) {
18+
this.primaryStorageUuid = primaryStorageUuid;
19+
}
20+
21+
public String getVmInstanceUuid() {
22+
return vmInstanceUuid;
23+
}
24+
25+
public void setVmInstanceUuid(String vmInstanceUuid) {
26+
this.vmInstanceUuid = vmInstanceUuid;
27+
}
28+
29+
public String getRootVolumeUuid() {
30+
return rootVolumeUuid;
31+
}
32+
33+
public void setRootVolumeUuid(String rootVolumeUuid) {
34+
this.rootVolumeUuid = rootVolumeUuid;
35+
}
36+
37+
public String getMetadataPath() {
38+
return metadataPath;
39+
}
40+
41+
public void setMetadataPath(String metadataPath) {
42+
this.metadataPath = metadataPath;
43+
}
44+
45+
public String getHostUuid() {
46+
return hostUuid;
47+
}
48+
49+
public void setHostUuid(String hostUuid) {
50+
this.hostUuid = hostUuid;
51+
}
52+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package org.zstack.header.storage.primary;
2+
3+
import org.zstack.header.message.MessageReply;
4+
5+
public class CleanupVmInstanceMetadataOnPrimaryStorageReply extends MessageReply {
6+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package org.zstack.header.storage.primary;
2+
3+
import org.zstack.header.message.NeedReplyMessage;
4+
5+
6+
public class GetVmInstanceMetadataFromPrimaryStorageMsg extends NeedReplyMessage implements PrimaryStorageMessage {
7+
private String primaryStorageUuid;
8+
private String metadataPath;
9+
private String rootVolumeUuid;
10+
private String hostUuid;
11+
12+
@Override
13+
public String getPrimaryStorageUuid() {
14+
return primaryStorageUuid;
15+
}
16+
17+
public void setPrimaryStorageUuid(String primaryStorageUuid) {
18+
this.primaryStorageUuid = primaryStorageUuid;
19+
}
20+
21+
public String getMetadataPath() {
22+
return metadataPath;
23+
}
24+
25+
public void setMetadataPath(String metadataPath) {
26+
this.metadataPath = metadataPath;
27+
}
28+
29+
public String getRootVolumeUuid() {
30+
return rootVolumeUuid;
31+
}
32+
33+
public void setRootVolumeUuid(String rootVolumeUuid) {
34+
this.rootVolumeUuid = rootVolumeUuid;
35+
}
36+
37+
public String getHostUuid() {
38+
return hostUuid;
39+
}
40+
41+
public void setHostUuid(String hostUuid) {
42+
this.hostUuid = hostUuid;
43+
}
44+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package org.zstack.header.storage.primary;
2+
3+
import org.zstack.header.message.MessageReply;
4+
5+
public class GetVmInstanceMetadataFromPrimaryStorageReply extends MessageReply {
6+
private String metadata;
7+
8+
public String getMetadata() {
9+
return metadata;
10+
}
11+
12+
public void setMetadata(String metadata) {
13+
this.metadata = metadata;
14+
}
15+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package org.zstack.header.storage.primary;
2+
3+
import org.zstack.header.message.NeedReplyMessage;
4+
import org.zstack.header.vm.VmInstanceMessage;
5+
6+
public class ReadVmInstanceMetadataMsg extends NeedReplyMessage implements VmInstanceMessage {
7+
private String uuid;
8+
9+
public String getUuid() {
10+
return uuid;
11+
}
12+
13+
public void setUuid(String uuid) {
14+
this.uuid = uuid;
15+
}
16+
17+
@Override
18+
public String getVmInstanceUuid() {
19+
return uuid;
20+
}
21+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package org.zstack.header.storage.primary;
2+
3+
import org.zstack.header.message.MessageReply;
4+
5+
public class ReadVmInstanceMetadataReply extends MessageReply {
6+
private String vmMetadata;
7+
8+
public String getVmMetadata() {
9+
return vmMetadata;
10+
}
11+
12+
public void setVmMetadata(String vmMetadata) {
13+
this.vmMetadata = vmMetadata;
14+
}
15+
}

0 commit comments

Comments
 (0)