From f9b3b4af67de6ddda238430d3e9620ecb4fa8cf0 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Tue, 12 Sep 2017 15:35:10 +0530 Subject: [PATCH] cloudian: add configs from connector props file to db Signed-off-by: Rohit Yadav --- client/pom.xml | 5 +++ .../cloudstack/CloudianConnector.java | 35 +++++++++++++++++++ .../cloudstack/CloudianConnectorImpl.java | 29 ++++++++++++++- 3 files changed, 68 insertions(+), 1 deletion(-) 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 + }; + } }