Skip to content

Commit be6a3f2

Browse files
CSTACKEX-200: missed to add new clases
1 parent d25c9d0 commit be6a3f2

4 files changed

Lines changed: 364 additions & 0 deletions

File tree

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
package org.apache.cloudstack.storage.feign.model;
20+
21+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
22+
import com.fasterxml.jackson.annotation.JsonInclude;
23+
import com.fasterxml.jackson.annotation.JsonProperty;
24+
25+
import java.util.List;
26+
27+
/**
28+
* Model representing an ONTAP application consistency group.
29+
*
30+
* <p>Maps to the ONTAP REST API resource at
31+
* {@code /api/application/consistency-groups}.</p>
32+
*
33+
* @see <a href="https://docs.netapp.com/us-en/ontap-restapi/post-application-consistency-groups.html">
34+
* ONTAP REST API - Create Consistency Group</a>
35+
*/
36+
@JsonIgnoreProperties(ignoreUnknown = true)
37+
@JsonInclude(JsonInclude.Include.NON_NULL)
38+
public class ConsistencyGroup {
39+
40+
@JsonProperty("uuid")
41+
private String uuid;
42+
43+
@JsonProperty("name")
44+
private String name;
45+
46+
@JsonProperty("svm")
47+
private Svm svm;
48+
49+
@JsonProperty("volumes")
50+
private List<ConsistencyGroupVolume> volumes;
51+
52+
public ConsistencyGroup() {
53+
}
54+
55+
public ConsistencyGroup(String name) {
56+
this.name = name;
57+
}
58+
59+
public String getUuid() {
60+
return uuid;
61+
}
62+
63+
public void setUuid(String uuid) {
64+
this.uuid = uuid;
65+
}
66+
67+
public String getName() {
68+
return name;
69+
}
70+
71+
public void setName(String name) {
72+
this.name = name;
73+
}
74+
75+
public Svm getSvm() {
76+
return svm;
77+
}
78+
79+
public void setSvm(Svm svm) {
80+
this.svm = svm;
81+
}
82+
83+
public List<ConsistencyGroupVolume> getVolumes() {
84+
return volumes;
85+
}
86+
87+
public void setVolumes(List<ConsistencyGroupVolume> volumes) {
88+
this.volumes = volumes;
89+
}
90+
91+
@Override
92+
public String toString() {
93+
return "ConsistencyGroup{" +
94+
"uuid='" + uuid + '\'' +
95+
", name='" + name + '\'' +
96+
", volumes=" + (volumes != null ? volumes.size() : 0) +
97+
'}';
98+
}
99+
}
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
package org.apache.cloudstack.storage.feign.model;
20+
21+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
22+
import com.fasterxml.jackson.annotation.JsonInclude;
23+
import com.fasterxml.jackson.annotation.JsonProperty;
24+
25+
/**
26+
* Model representing an ONTAP consistency group snapshot.
27+
*
28+
* <p>Maps to the ONTAP REST API resource at
29+
* {@code /api/application/consistency-groups/{consistency_group.uuid}/snapshots}.</p>
30+
*
31+
* @see <a href="https://docs.netapp.com/us-en/ontap-restapi/get-application-consistency-groups-snapshots.html">
32+
* ONTAP REST API - Consistency Group Snapshots</a>
33+
*/
34+
@JsonIgnoreProperties(ignoreUnknown = true)
35+
@JsonInclude(JsonInclude.Include.NON_NULL)
36+
public class ConsistencyGroupSnapshot {
37+
38+
@JsonProperty("uuid")
39+
private String uuid;
40+
41+
@JsonProperty("name")
42+
private String name;
43+
44+
@JsonProperty("create_time")
45+
private String createTime;
46+
47+
@JsonProperty("comment")
48+
private String comment;
49+
50+
@JsonProperty("consistency_type")
51+
private String consistencyType;
52+
53+
@JsonProperty("snapmirror_label")
54+
private String snapmirrorLabel;
55+
56+
@JsonProperty("action")
57+
private String action;
58+
59+
@JsonProperty("consistency_group")
60+
private VolumeConcise consistencyGroup;
61+
62+
public ConsistencyGroupSnapshot() {
63+
// default constructor for Jackson
64+
}
65+
66+
public ConsistencyGroupSnapshot(String name) {
67+
this.name = name;
68+
}
69+
70+
public ConsistencyGroupSnapshot(String name, String action) {
71+
this.name = name;
72+
this.action = action;
73+
}
74+
75+
public String getUuid() {
76+
return uuid;
77+
}
78+
79+
public void setUuid(String uuid) {
80+
this.uuid = uuid;
81+
}
82+
83+
public String getName() {
84+
return name;
85+
}
86+
87+
public void setName(String name) {
88+
this.name = name;
89+
}
90+
91+
public String getCreateTime() {
92+
return createTime;
93+
}
94+
95+
public void setCreateTime(String createTime) {
96+
this.createTime = createTime;
97+
}
98+
99+
public String getComment() {
100+
return comment;
101+
}
102+
103+
public void setComment(String comment) {
104+
this.comment = comment;
105+
}
106+
107+
public String getConsistencyType() {
108+
return consistencyType;
109+
}
110+
111+
public void setConsistencyType(String consistencyType) {
112+
this.consistencyType = consistencyType;
113+
}
114+
115+
public String getSnapmirrorLabel() {
116+
return snapmirrorLabel;
117+
}
118+
119+
public void setSnapmirrorLabel(String snapmirrorLabel) {
120+
this.snapmirrorLabel = snapmirrorLabel;
121+
}
122+
123+
public String getAction() {
124+
return action;
125+
}
126+
127+
public void setAction(String action) {
128+
this.action = action;
129+
}
130+
131+
public VolumeConcise getConsistencyGroup() {
132+
return consistencyGroup;
133+
}
134+
135+
public void setConsistencyGroup(VolumeConcise consistencyGroup) {
136+
this.consistencyGroup = consistencyGroup;
137+
}
138+
139+
@Override
140+
public String toString() {
141+
return "ConsistencyGroupSnapshot{" +
142+
"uuid='" + uuid + '\'' +
143+
", name='" + name + '\'' +
144+
", createTime='" + createTime + '\'' +
145+
", comment='" + comment + '\'' +
146+
", consistencyType='" + consistencyType + '\'' +
147+
'}';
148+
}
149+
}
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
package org.apache.cloudstack.storage.feign.model;
20+
21+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
22+
import com.fasterxml.jackson.annotation.JsonInclude;
23+
import com.fasterxml.jackson.annotation.JsonProperty;
24+
25+
/**
26+
* Volume member reference for consistency group create/update requests.
27+
*/
28+
@JsonIgnoreProperties(ignoreUnknown = true)
29+
@JsonInclude(JsonInclude.Include.NON_NULL)
30+
public class ConsistencyGroupVolume {
31+
32+
@JsonProperty("uuid")
33+
private String uuid;
34+
35+
@JsonProperty("name")
36+
private String name;
37+
38+
@JsonProperty("provisioning_options")
39+
private ConsistencyGroupVolumeProvisioningOptions provisioningOptions;
40+
41+
public ConsistencyGroupVolume() {
42+
}
43+
44+
public String getUuid() {
45+
return uuid;
46+
}
47+
48+
public void setUuid(String uuid) {
49+
this.uuid = uuid;
50+
}
51+
52+
public String getName() {
53+
return name;
54+
}
55+
56+
public void setName(String name) {
57+
this.name = name;
58+
}
59+
60+
public ConsistencyGroupVolumeProvisioningOptions getProvisioningOptions() {
61+
return provisioningOptions;
62+
}
63+
64+
public void setProvisioningOptions(ConsistencyGroupVolumeProvisioningOptions provisioningOptions) {
65+
this.provisioningOptions = provisioningOptions;
66+
}
67+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
package org.apache.cloudstack.storage.feign.model;
20+
21+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
22+
import com.fasterxml.jackson.annotation.JsonInclude;
23+
import com.fasterxml.jackson.annotation.JsonProperty;
24+
25+
/**
26+
* Provisioning options for a volume member of a consistency group.
27+
*/
28+
@JsonIgnoreProperties(ignoreUnknown = true)
29+
@JsonInclude(JsonInclude.Include.NON_NULL)
30+
public class ConsistencyGroupVolumeProvisioningOptions {
31+
32+
@JsonProperty("action")
33+
private String action;
34+
35+
public ConsistencyGroupVolumeProvisioningOptions() {
36+
}
37+
38+
public ConsistencyGroupVolumeProvisioningOptions(String action) {
39+
this.action = action;
40+
}
41+
42+
public String getAction() {
43+
return action;
44+
}
45+
46+
public void setAction(String action) {
47+
this.action = action;
48+
}
49+
}

0 commit comments

Comments
 (0)