@@ -41,8 +41,66 @@ public class ConfigKey<T> {
4141 public static final String CATEGORY_ADVANCED = "Advanced" ;
4242 public static final String CATEGORY_ALERT = "Alert" ;
4343 public static final String CATEGORY_NETWORK = "Network" ;
44- public static final String CATEGORY_SYSTEM = "System" ;
4544 public static final String CATEGORY_SECURE = "Secure" ;
45+ public static final String CATEGORY_SYSTEM = "System" ;
46+
47+ // Configuration Groups to be used to define group for a config key
48+ // Group name, description, precedence
49+ public static final Ternary <String , String , Long > GROUP_MISCELLANEOUS = new Ternary <>("Miscellaneous" , "Miscellaneous configuration" , 999L );
50+ public static final Ternary <String , String , Long > GROUP_ACCESS = new Ternary <>("Access" , "Identity and Access management configuration" , 1L );
51+ public static final Ternary <String , String , Long > GROUP_COMPUTE = new Ternary <>("Compute" , "Compute configuration" , 2L );
52+ public static final Ternary <String , String , Long > GROUP_STORAGE = new Ternary <>("Storage" , "Storage configuration" , 3L );
53+ public static final Ternary <String , String , Long > GROUP_NETWORK = new Ternary <>("Network" , "Network configuration" , 4L );
54+ public static final Ternary <String , String , Long > GROUP_HYPERVISOR = new Ternary <>("Hypervisor" , "Hypervisor specific configuration" , 5L );
55+ public static final Ternary <String , String , Long > GROUP_MANAGEMENT_SERVER = new Ternary <>("Management Server" , "Management Server configuration" , 6L );
56+ public static final Ternary <String , String , Long > GROUP_SYSTEM_VMS = new Ternary <>("System VMs" , "System VMs related configuration" , 7L );
57+ public static final Ternary <String , String , Long > GROUP_INFRASTRUCTURE = new Ternary <>("Infrastructure" , "Infrastructure configuration" , 8L );
58+ public static final Ternary <String , String , Long > GROUP_USAGE_SERVER = new Ternary <>("Usage Server" , "Usage Server related configuration" , 9L );
59+
60+ // Configuration Subgroups to be used to define subgroup for a config key
61+ // Subgroup name, description, precedence
62+ public static final Pair <String , Long > SUBGROUP_OTHERS = new Pair <>("Others" , 999L );
63+ public static final Pair <String , Long > SUBGROUP_ACCOUNT = new Pair <>("Account" , 1L );
64+ public static final Pair <String , Long > SUBGROUP_DOMAIN = new Pair <>("Domain" , 2L );
65+ public static final Pair <String , Long > SUBGROUP_PROJECT = new Pair <>("Project" , 3L );
66+ public static final Pair <String , Long > SUBGROUP_LDAP = new Pair <>("LDAP" , 4L );
67+ public static final Pair <String , Long > SUBGROUP_SAML = new Pair <>("SAML" , 5L );
68+ public static final Pair <String , Long > SUBGROUP_VIRTUAL_MACHINE = new Pair <>("Virtual Machine" , 1L );
69+ public static final Pair <String , Long > SUBGROUP_KUBERNETES = new Pair <>("Kubernetes" , 2L );
70+ public static final Pair <String , Long > SUBGROUP_HIGH_AVAILABILITY = new Pair <>("High Availability" , 3L );
71+ public static final Pair <String , Long > SUBGROUP_IMAGES = new Pair <>("Images" , 1L );
72+ public static final Pair <String , Long > SUBGROUP_VOLUME = new Pair <>("Volume" , 2L );
73+ public static final Pair <String , Long > SUBGROUP_SNAPSHOT = new Pair <>("Snapshot" , 3L );
74+ public static final Pair <String , Long > SUBGROUP_VM_SNAPSHOT = new Pair <>("VM Snapshot" , 4L );
75+ public static final Pair <String , Long > SUBGROUP_NETWORK = new Pair <>("Network" , 1L );
76+ public static final Pair <String , Long > SUBGROUP_DHCP = new Pair <>("DHCP" , 2L );
77+ public static final Pair <String , Long > SUBGROUP_VPC = new Pair <>("VPC" , 3L );
78+ public static final Pair <String , Long > SUBGROUP_LOADBALANCER = new Pair <>("LoadBalancer" , 4L );
79+ public static final Pair <String , Long > SUBGROUP_API = new Pair <>("API" , 1L );
80+ public static final Pair <String , Long > SUBGROUP_ALERTS = new Pair <>("Alerts" , 2L );
81+ public static final Pair <String , Long > SUBGROUP_EVENTS = new Pair <>("Events" , 3L );
82+ public static final Pair <String , Long > SUBGROUP_SECURITY = new Pair <>("Security" , 4L );
83+ public static final Pair <String , Long > SUBGROUP_USAGE = new Pair <>("Usage" , 1L );
84+ public static final Pair <String , Long > SUBGROUP_LIMITS = new Pair <>("Limits" , 6L );
85+ public static final Pair <String , Long > SUBGROUP_JOBS = new Pair <>("Jobs" , 7L );
86+ public static final Pair <String , Long > SUBGROUP_AGENT = new Pair <>("Agent" , 8L );
87+ public static final Pair <String , Long > SUBGROUP_HYPERVISOR = new Pair <>("Hypervisor" , 1L );
88+ public static final Pair <String , Long > SUBGROUP_KVM = new Pair <>("KVM" , 2L );
89+ public static final Pair <String , Long > SUBGROUP_VMWARE = new Pair <>("VMware" , 3L );
90+ public static final Pair <String , Long > SUBGROUP_XENSERVER = new Pair <>("XenServer" , 4L );
91+ public static final Pair <String , Long > SUBGROUP_OVM = new Pair <>("OVM" , 5L );
92+ public static final Pair <String , Long > SUBGROUP_BAREMETAL = new Pair <>("Baremetal" , 6L );
93+ public static final Pair <String , Long > SUBGROUP_CONSOLE_PROXY_VM = new Pair <>("ConsoleProxyVM" , 1L );
94+ public static final Pair <String , Long > SUBGROUP_SEC_STORAGE_VM = new Pair <>("SecStorageVM" , 2L );
95+ public static final Pair <String , Long > SUBGROUP_VIRTUAL_ROUTER = new Pair <>("VirtualRouter" , 3L );
96+ public static final Pair <String , Long > SUBGROUP_DIAGNOSTICS = new Pair <>("Diagnostics" , 4L );
97+ public static final Pair <String , Long > SUBGROUP_PRIMARY_STORAGE = new Pair <>("Primary Storage" , 1L );
98+ public static final Pair <String , Long > SUBGROUP_SECONDARY_STORAGE = new Pair <>("Secondary Storage" , 2L );
99+ public static final Pair <String , Long > SUBGROUP_BACKUP_AND_RECOVERY = new Pair <>("Backup & Recovery" , 1L );
100+ public static final Pair <String , Long > SUBGROUP_CERTIFICATE_AUTHORITY = new Pair <>("Certificate Authority" , 2L );
101+ public static final Pair <String , Long > SUBGROUP_QUOTA = new Pair <>("Quota" , 3L );
102+ public static final Pair <String , Long > SUBGROUP_CLOUDIAN = new Pair <>("Cloudian" , 4L );
103+ public static final Pair <String , Long > SUBGROUP_DRS = new Pair <>("DRS" , 4L );
46104
47105 public enum Scope {
48106 Global (null , 1 ),
0 commit comments