16
16
// under the License.
17
17
package com .cloud .consoleproxy ;
18
18
19
+ import java .util .Arrays ;
19
20
import java .util .Map ;
21
+ import java .util .stream .Collectors ;
20
22
21
23
import org .apache .cloudstack .framework .config .ConfigKey ;
22
24
@@ -45,15 +47,52 @@ public interface ConsoleProxyManager extends Manager, ConsoleProxyService {
45
47
String ALERT_SUBJECT = "proxy-alert" ;
46
48
String CERTIFICATE_NAME = "CPVMCertificate" ;
47
49
48
- ConfigKey <Boolean > ConsoleProxySslEnabled = new ConfigKey <>(ConfigKey . CATEGORY_ADVANCED , Boolean .class , "consoleproxy.sslEnabled" , "false" ,
49
- "Enable SSL for console proxy" , false );
50
+ ConfigKey <Boolean > ConsoleProxySslEnabled = new ConfigKey <>(Boolean .class , "consoleproxy.sslEnabled" , ConfigKey . CATEGORY_ADVANCED , "false" ,
51
+ "Enable SSL for console proxy" , false , ConfigKey . Scope . Zone , null );
50
52
51
- ConfigKey <Boolean > NoVncConsoleDefault = new ConfigKey <>(ConfigKey . CATEGORY_ADVANCED , Boolean .class , "novnc.console.default" , "true" ,
52
- "If true, noVNC console will be default console for virtual machines" , true );
53
+ ConfigKey <Boolean > NoVncConsoleDefault = new ConfigKey <>(Boolean .class , "novnc.console.default" , ConfigKey . CATEGORY_ADVANCED , "true" ,
54
+ "If true, noVNC console will be default console for virtual machines" , false , ConfigKey . Scope . Zone , null );
53
55
54
56
ConfigKey <Boolean > NoVncConsoleSourceIpCheckEnabled = new ConfigKey <>(ConfigKey .CATEGORY_ADVANCED , Boolean .class , "novnc.console.sourceip.check.enabled" , "false" ,
55
57
"If true, The source IP to access novnc console must be same as the IP in request to management server for console URL. Needs to reconnect CPVM to management server when this changes (via restart CPVM, or management server, or cloud service in CPVM)" , false );
56
58
59
+ ConfigKey <String > ConsoleProxyServiceOffering = new ConfigKey <>(String .class , "consoleproxy.service.offering" , "Console Proxy" , null ,
60
+ "Uuid of the service offering used by console proxy; if NULL - system offering will be used" , true , ConfigKey .Scope .Zone , null );
61
+
62
+ ConfigKey <String > ConsoleProxyCapacityStandby = new ConfigKey <>(String .class , "consoleproxy.capacity.standby" , "Console Proxy" , String .valueOf (DEFAULT_STANDBY_CAPACITY ),
63
+ "The minimal number of console proxy viewer sessions that system is able to serve immediately(standby capacity)" , false , ConfigKey .Scope .Zone , null );
64
+
65
+ ConfigKey <String > ConsoleProxyCapacityScanInterval = new ConfigKey <>(String .class , "consoleproxy.capacityscan.interval" , "Console Proxy" , "30000" ,
66
+ "The time interval(in millisecond) to scan whether or not system needs more console proxy to ensure minimal standby capacity" , false , null );
67
+
68
+ ConfigKey <Integer > ConsoleProxyCmdPort = new ConfigKey <>(Integer .class , "consoleproxy.cmd.port" , "Console Proxy" , String .valueOf (DEFAULT_PROXY_CMD_PORT ),
69
+ "Console proxy command port that is used to communicate with management server" , false , ConfigKey .Scope .Zone , null );
70
+
71
+ ConfigKey <Boolean > ConsoleProxyRestart = new ConfigKey <>(Boolean .class , "consoleproxy.restart" , "Console Proxy" , "true" ,
72
+ "Console proxy restart flag, defaults to true" , true , ConfigKey .Scope .Zone , null );
73
+
74
+ ConfigKey <String > ConsoleProxyUrlDomain = new ConfigKey <>(String .class , "consoleproxy.url.domain" , "Console Proxy" , "" ,
75
+ "Console proxy url domain - domainName,privateip" , false , ConfigKey .Scope .Zone , null );
76
+
77
+ ConfigKey <Integer > ConsoleProxySessionMax = new ConfigKey <>(Integer .class , "consoleproxy.session.max" , "Console Proxy" , String .valueOf (DEFAULT_PROXY_CAPACITY ),
78
+ "The max number of viewer sessions console proxy is configured to serve for" , true , ConfigKey .Scope .Zone , null );
79
+
80
+ ConfigKey <Integer > ConsoleProxySessionTimeout = new ConfigKey <>(Integer .class , "consoleproxy.session.timeout" , "Console Proxy" , String .valueOf (DEFAULT_PROXY_SESSION_TIMEOUT ),
81
+ "Timeout(in milliseconds) that console proxy tries to maintain a viewer session before it times out the session for no activity" , true , ConfigKey .Scope .Zone , null );
82
+
83
+ ConfigKey <Boolean > ConsoleProxyDisableRpFilter = new ConfigKey <>(Boolean .class , "consoleproxy.disable.rpfilter" , "Console Proxy" , "true" ,
84
+ "disable rp_filter on console proxy VM public interface" , true , ConfigKey .Scope .Zone , null );
85
+
86
+ ConfigKey <Integer > ConsoleProxyLaunchMax = new ConfigKey <>(Integer .class , "consoleproxy.launch.max" , "Console Proxy" , "10" ,
87
+ "maximum number of console proxy instances per zone can be launched" , false , ConfigKey .Scope .Zone , null );
88
+
89
+ String consoleProxyManagementStates = Arrays .stream (com .cloud .consoleproxy .ConsoleProxyManagementState .values ()).map (Enum ::name ).collect (Collectors .joining ("," ));
90
+ ConfigKey <String > ConsoleProxyServiceManagementState = new ConfigKey <String >(ConfigKey .CATEGORY_ADVANCED , String .class , "consoleproxy.management.state" , com .cloud .consoleproxy .ConsoleProxyManagementState .Auto .toString (),
91
+ "console proxy service management state" , false , ConfigKey .Kind .Select , consoleProxyManagementStates );
92
+
93
+ ConfigKey <String > ConsoleProxyManagementLastState = new ConfigKey <String >(ConfigKey .CATEGORY_ADVANCED , String .class , "consoleproxy.management.state.last" , com .cloud .consoleproxy .ConsoleProxyManagementState .Auto .toString (),
94
+ "last console proxy service management state" , false , ConfigKey .Kind .Select , consoleProxyManagementStates );
95
+
57
96
void setManagementState (ConsoleProxyManagementState state );
58
97
59
98
ConsoleProxyManagementState getManagementState ();
@@ -72,6 +111,6 @@ void startProxyForHA(VirtualMachine vm, Map<VirtualMachineProfile.Param, Object>
72
111
73
112
boolean destroyProxy (long proxyVmId );
74
113
75
- int getVncPort ();
114
+ int getVncPort (Long dataCenterId );
76
115
77
116
}
0 commit comments