Skip to content

Commit 64d0cac

Browse files
committed
feat: added full game server spec
1 parent df66f68 commit 64d0cac

15 files changed

Lines changed: 539 additions & 176 deletions
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package studio.o7.agones.sdk;
2+
3+
public final class CounterStatus {
4+
private Long count;
5+
private Long capacity;
6+
7+
public Long getCount() {
8+
return count;
9+
}
10+
11+
public Long getCapacity() {
12+
return capacity;
13+
}
14+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package studio.o7.agones.sdk;
2+
3+
public final class Eviction {
4+
private String safe;
5+
6+
public String getSafe() {
7+
return safe;
8+
}
9+
}

src/main/java/studio/o7/agones/sdk/GameServer.java

Lines changed: 19 additions & 172 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,35 @@
22

33
import com.google.gson.annotations.SerializedName;
44

5-
import java.util.List;
6-
import java.util.Map;
7-
85
public final class GameServer {
9-
@SerializedName("object_meta")
6+
private String apiVersion;
7+
private String kind;
8+
@SerializedName(value = "object_meta", alternate = "metadata")
109
private ObjectMeta objectMeta;
11-
private Spec spec;
12-
private Status status;
10+
private GameServerSpec spec;
11+
private GameServerStatus status;
12+
13+
public String getApiVersion() {
14+
return apiVersion;
15+
}
16+
17+
public String getKind() {
18+
return kind;
19+
}
1320

1421
public ObjectMeta getObjectMeta() {
1522
return objectMeta;
1623
}
1724

18-
public Spec getSpec() {
25+
public ObjectMeta getMetadata() {
26+
return objectMeta;
27+
}
28+
29+
public GameServerSpec getSpec() {
1930
return spec;
2031
}
2132

22-
public Status getStatus() {
33+
public GameServerStatus getStatus() {
2334
return status;
2435
}
2536

@@ -33,168 +44,4 @@ public Integer getPort() {
3344
}
3445
return status.getPorts().getFirst().getPort();
3546
}
36-
37-
public static final class ObjectMeta {
38-
private String name;
39-
private String namespace;
40-
private String uid;
41-
@SerializedName("resource_version")
42-
private String resourceVersion;
43-
private Long generation;
44-
@SerializedName("creation_timestamp")
45-
private String creationTimestamp;
46-
@SerializedName("deletion_timestamp")
47-
private String deletionTimestamp;
48-
private Map<String, String> annotations;
49-
private Map<String, String> labels;
50-
51-
public String getName() {
52-
return name;
53-
}
54-
55-
public String getNamespace() {
56-
return namespace;
57-
}
58-
59-
public String getUid() {
60-
return uid;
61-
}
62-
63-
public String getResourceVersion() {
64-
return resourceVersion;
65-
}
66-
67-
public Long getGeneration() {
68-
return generation;
69-
}
70-
71-
public String getCreationTimestamp() {
72-
return creationTimestamp;
73-
}
74-
75-
public String getDeletionTimestamp() {
76-
return deletionTimestamp;
77-
}
78-
79-
public Map<String, String> getAnnotations() {
80-
return annotations;
81-
}
82-
83-
public Map<String, String> getLabels() {
84-
return labels;
85-
}
86-
}
87-
88-
public static final class Spec {
89-
private Map<String, Object> health;
90-
private Map<String, Object> sdkServer;
91-
private List<SpecPort> ports;
92-
93-
public Map<String, Object> getHealth() {
94-
return health;
95-
}
96-
97-
public Map<String, Object> getSdkServer() {
98-
return sdkServer;
99-
}
100-
101-
public List<SpecPort> getPorts() {
102-
return ports;
103-
}
104-
}
105-
106-
public static final class SpecPort {
107-
private String name;
108-
private String protocol;
109-
private String portPolicy;
110-
private Integer containerPort;
111-
private Integer hostPort;
112-
113-
public String getName() {
114-
return name;
115-
}
116-
117-
public String getProtocol() {
118-
return protocol;
119-
}
120-
121-
public String getPortPolicy() {
122-
return portPolicy;
123-
}
124-
125-
public Integer getContainerPort() {
126-
return containerPort;
127-
}
128-
129-
public Integer getHostPort() {
130-
return hostPort;
131-
}
132-
}
133-
134-
public static final class Status {
135-
private String state;
136-
private String address;
137-
private String nodeName;
138-
private List<StatusPort> ports;
139-
private Map<String, Object> counters;
140-
private Map<String, Object> lists;
141-
private Map<String, Object> players;
142-
private String reservedUntil;
143-
144-
public String getState() {
145-
return state;
146-
}
147-
148-
public String getAddress() {
149-
return address;
150-
}
151-
152-
public String getNodeName() {
153-
return nodeName;
154-
}
155-
156-
public List<StatusPort> getPorts() {
157-
return ports;
158-
}
159-
160-
public Integer getPort(@lombok.NonNull String name) {
161-
if (ports == null) {
162-
return null;
163-
}
164-
return ports.stream()
165-
.filter(port -> name.equals(port.getName()))
166-
.findFirst()
167-
.map(StatusPort::getPort)
168-
.orElse(null);
169-
}
170-
171-
public Map<String, Object> getCounters() {
172-
return counters;
173-
}
174-
175-
public Map<String, Object> getLists() {
176-
return lists;
177-
}
178-
179-
public Map<String, Object> getPlayers() {
180-
return players;
181-
}
182-
183-
public String getReservedUntil() {
184-
return reservedUntil;
185-
}
186-
}
187-
188-
public static final class StatusPort {
189-
private String name;
190-
private Integer port;
191-
192-
public String getName() {
193-
return name;
194-
}
195-
196-
public Integer getPort() {
197-
return port;
198-
}
199-
}
20047
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package studio.o7.agones.sdk;
2+
3+
public final class GameServerPort {
4+
private String name;
5+
private String range;
6+
private String portPolicy;
7+
private String container;
8+
private Integer containerPort;
9+
private Integer hostPort;
10+
private String protocol;
11+
12+
public String getName() {
13+
return name;
14+
}
15+
16+
public String getRange() {
17+
return range;
18+
}
19+
20+
public String getPortPolicy() {
21+
return portPolicy;
22+
}
23+
24+
public String getContainer() {
25+
return container;
26+
}
27+
28+
public Integer getContainerPort() {
29+
return containerPort;
30+
}
31+
32+
public Integer getHostPort() {
33+
return hostPort;
34+
}
35+
36+
public String getProtocol() {
37+
return protocol;
38+
}
39+
}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package studio.o7.agones.sdk;
2+
3+
import com.google.gson.annotations.SerializedName;
4+
5+
import java.util.List;
6+
import java.util.Map;
7+
8+
public final class GameServerSpec {
9+
private String container;
10+
private List<GameServerPort> ports;
11+
private Health health;
12+
private String scheduling;
13+
@SerializedName(value = "sdkServer", alternate = "sdk_server")
14+
private SdkServer sdkServer;
15+
private Map<String, Object> template;
16+
private PlayersSpec players;
17+
private Map<String, CounterStatus> counters;
18+
private Map<String, ListStatus> lists;
19+
private Eviction eviction;
20+
21+
public String getContainer() {
22+
return container;
23+
}
24+
25+
public List<GameServerPort> getPorts() {
26+
return ports;
27+
}
28+
29+
public Health getHealth() {
30+
return health;
31+
}
32+
33+
public String getScheduling() {
34+
return scheduling;
35+
}
36+
37+
public SdkServer getSdkServer() {
38+
return sdkServer;
39+
}
40+
41+
public Map<String, Object> getTemplate() {
42+
return template;
43+
}
44+
45+
public PlayersSpec getPlayers() {
46+
return players;
47+
}
48+
49+
public Map<String, CounterStatus> getCounters() {
50+
return counters;
51+
}
52+
53+
public Map<String, ListStatus> getLists() {
54+
return lists;
55+
}
56+
57+
public Eviction getEviction() {
58+
return eviction;
59+
}
60+
}

0 commit comments

Comments
 (0)