11package app .simplecloud .api .group ;
22
3+ import app .simplecloud .api .base .ServerBase ;
34import org .jetbrains .annotations .Nullable ;
45
5- import java .util .List ;
6- import java .util .Map ;
7-
86/**
97 * Represents a server group configuration.
108 *
119 * <p>Server groups are templates that define how server instances should be
1210 * created, deployed, and scaled. Each group specifies memory limits, player capacity,
1311 * deployment strategy, scaling behavior, and source configuration.
12+ *
13+ * <p>This interface extends {@link ServerBase} to provide common configuration access
14+ * alongside group-specific properties like deployment and scaling configuration.
1415 */
15- public interface Group {
16+ public interface Group extends ServerBase {
1617
1718 /**
1819 * Returns the unique identifier of this server group.
@@ -21,34 +22,6 @@ public interface Group {
2122 */
2223 String getServerGroupId ();
2324
24- /**
25- * Returns the human-readable name of this server group.
26- *
27- * @return the group name
28- */
29- String getName ();
30-
31- /**
32- * Returns the minimum memory allocation for servers in this group (in MB).
33- *
34- * @return the minimum memory, or null if not set
35- */
36- @ Nullable Integer getMinMemory ();
37-
38- /**
39- * Returns the maximum memory allocation for servers in this group (in MB).
40- *
41- * @return the maximum memory, or null if not set
42- */
43- @ Nullable Integer getMaxMemory ();
44-
45- /**
46- * Returns the maximum number of players per server in this group.
47- *
48- * @return the max players, or null if not set
49- */
50- @ Nullable Integer getMaxPlayers ();
51-
5225 /**
5326 * Returns the deployment configuration for this group.
5427 *
@@ -66,58 +39,4 @@ public interface Group {
6639 * @return the scaling config, or null if not set
6740 */
6841 @ Nullable ScalingConfig getScaling ();
69-
70- /**
71- * Returns the source configuration for this group.
72- *
73- * <p>Defines whether servers use a blueprint or container image.
74- *
75- * @return the source config, or null if not set
76- */
77- @ Nullable SourceConfig getSource ();
78-
79- /**
80- * Returns the workflows configuration for this group.
81- *
82- * <p>Defines automated workflows to run on server lifecycle events.
83- *
84- * @return the workflows config, or null if not set
85- */
86- @ Nullable WorkflowsConfig getWorkflows ();
87-
88- /**
89- * Returns custom properties attached to this group.
90- *
91- * @return the properties map, or null if none set
92- */
93- @ Nullable Map <String , Object > getProperties ();
94-
95- /**
96- * Returns tags assigned to this group for organization and filtering.
97- *
98- * @return the list of tags, or null if none set
99- */
100- @ Nullable List <String > getTags ();
101-
102- /**
103- * Returns the type of servers in this group (SERVER or PROXY).
104- *
105- * @return the group type
106- */
107- GroupServerType getType ();
108-
109- /**
110- * Returns the timestamp when this group was created (ISO 8601 format).
111- *
112- * @return the creation timestamp
113- */
114- String getCreatedAt ();
115-
116- /**
117- * Returns the timestamp when this group was last updated (ISO 8601 format).
118- *
119- * @return the update timestamp
120- */
121- String getUpdatedAt ();
12242}
123-
0 commit comments