diff --git a/client/pom.xml b/client/pom.xml
index 38660a78ff4..632c410adc8 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -392,6 +392,11 @@
cloud-plugin-database-quota
${project.version}
+
+ org.apache.cloudstack
+ cloud-plugin-connectors-cloudian
+ ${project.version}
+
diff --git a/plugins/connectors/cloudian/src/com/cloudian/cloudstack/CloudianConnector.java b/plugins/connectors/cloudian/src/com/cloudian/cloudstack/CloudianConnector.java
index c80e2a5a3d6..5ccef1efab9 100644
--- a/plugins/connectors/cloudian/src/com/cloudian/cloudstack/CloudianConnector.java
+++ b/plugins/connectors/cloudian/src/com/cloudian/cloudstack/CloudianConnector.java
@@ -17,7 +17,42 @@
package com.cloudian.cloudstack;
+import org.apache.cloudstack.framework.config.ConfigKey;
+
import com.cloud.utils.component.PluggableService;
public interface CloudianConnector extends PluggableService {
+ ConfigKey CloudianConnectorEnabled = new ConfigKey<>("Advanced", Boolean.class, "cloudian.connector.enabled", "false",
+ "If set to true, this enables the Cloudian Connector for CloudStack.", true);
+
+ ConfigKey CloudianAdminHost = new ConfigKey<>("Advanced", String.class, "cloudian.admin.host", "s3-admin.cloudian.com",
+ "The hostname of the Cloudian Admin server.", true);
+
+ ConfigKey CloudianAdminPort = new ConfigKey<>("Advanced", String.class, "cloudian.admin.port", "19443",
+ "The port of the Cloudian Admin server.", true);
+
+ ConfigKey CloudianAdminProtocol = new ConfigKey<>("Advanced", String.class, "cloudian.admin.protocol", "https",
+ "The protocol of the Cloudian Admin server.", true);
+
+ ConfigKey CloudianValidateSSLSecurity = new ConfigKey<>("Advanced", String.class, "cloudian.validate.ssl", "false",
+ "When set to true, this will validate the SSL certificate when connecting to https/ssl enabled admin host.", true);
+
+ ConfigKey CloudianAdminUser = new ConfigKey<>("Advanced", String.class, "cloudian.admin.user", "admin",
+ "The system admin user for accessing the Cloudian Admin server.", true);
+
+ ConfigKey CloudianAdminPassword = new ConfigKey<>("Advanced", String.class, "cloudian.admin.password", "public",
+ "The system admin password for the Cloudian Admin server.", true);
+
+ ConfigKey CloudianCmcHost = new ConfigKey<>("Advanced", String.class, "cloudian.cmc.host", "cmc.cloudian.com",
+ "The hostname of the Cloudian Management Console.", true);
+
+ ConfigKey CloudianCmcPort = new ConfigKey<>("Advanced", String.class, "cloudian.cmc.port", "8443",
+ "The port of the Cloudian Management Console.", true);
+
+ ConfigKey CloudianCmcProtocol = new ConfigKey<>("Advanced", String.class, "cloudian.cmc.protocol", "https",
+ "The protocol of the Cloudian Management Console.", true);
+
+ ConfigKey CloudianSsoKey = new ConfigKey<>("Advanced", String.class, "cloudian.sso.key", "ss0sh5r3dk3y",
+ "The shared single sign-on key as configured in Cloudian CMC.", true);
+
}
diff --git a/plugins/connectors/cloudian/src/com/cloudian/cloudstack/CloudianConnectorImpl.java b/plugins/connectors/cloudian/src/com/cloudian/cloudstack/CloudianConnectorImpl.java
index 9447ef62096..d984e9e877d 100644
--- a/plugins/connectors/cloudian/src/com/cloudian/cloudstack/CloudianConnectorImpl.java
+++ b/plugins/connectors/cloudian/src/com/cloudian/cloudstack/CloudianConnectorImpl.java
@@ -17,9 +17,15 @@
package com.cloudian.cloudstack;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.cloudstack.framework.config.ConfigKey;
+import org.apache.cloudstack.framework.config.Configurable;
+
import com.cloud.utils.component.ComponentLifecycleBase;
-public class CloudianConnectorImpl extends ComponentLifecycleBase implements CloudianConnector {
+public class CloudianConnectorImpl extends ComponentLifecycleBase implements CloudianConnector, Configurable {
@Override
public List> getCommands() {
@@ -27,4 +33,25 @@ public class CloudianConnectorImpl extends ComponentLifecycleBase implements Clo
return cmdList;
}
+ @Override
+ public String getConfigComponentName() {
+ return CloudianConnector.class.getSimpleName();
+ }
+
+ @Override
+ public ConfigKey>[] getConfigKeys() {
+ return new ConfigKey>[] {
+ CloudianConnectorEnabled,
+ CloudianAdminHost,
+ CloudianAdminPort,
+ CloudianAdminUser,
+ CloudianAdminPassword,
+ CloudianAdminProtocol,
+ CloudianValidateSSLSecurity,
+ CloudianCmcHost,
+ CloudianCmcPort,
+ CloudianCmcProtocol,
+ CloudianSsoKey
+ };
+ }
}