All Downloads are FREE. Search and download functionalities are using the official Maven repository.

brooklyn.entity.database.rubyrep.RubyRepNode Maven / Gradle / Ivy

package brooklyn.entity.database.rubyrep;

import brooklyn.catalog.Catalog;
import brooklyn.config.ConfigKey;
import brooklyn.entity.basic.ConfigKeys;
import brooklyn.entity.basic.SoftwareProcess;
import brooklyn.entity.database.DatabaseNode;
import brooklyn.entity.proxying.ImplementedBy;
import brooklyn.event.basic.BasicAttributeSensorAndConfigKey;
import brooklyn.event.basic.BasicConfigKey;
import brooklyn.util.flags.SetFromFlag;

@Catalog(name = "RubyRep Node", description = "RubyRep is a database replication system", iconUrl = "classpath:///rubyrep-logo.jpeg")
@ImplementedBy(RubyRepNodeImpl.class)
public interface RubyRepNode extends SoftwareProcess {
    // TODO see RubyRepSshDriver#install()
    @SetFromFlag("version")
    static final ConfigKey SUGGESTED_VERSION = ConfigKeys.newConfigKeyWithDefault(SoftwareProcess.SUGGESTED_VERSION, "1.2.0");

    @SetFromFlag("configurationScriptUrl")
    static final ConfigKey CONFIGURATION_SCRIPT_URL = new BasicConfigKey(String.class, "database.rubyrep.configScriptUrl",
            "URL where RubyRep configuration can be found - disables other configuration options (except version)");

    @SetFromFlag("templateUrl")
    static final BasicAttributeSensorAndConfigKey TEMPLATE_CONFIGURATION_URL = new BasicAttributeSensorAndConfigKey(
            String.class, "database.rubyrep.templateConfigurationUrl", "Template file (in freemarker format) for the rubyrep.conf file",
            "classpath://brooklyn/entity/database/rubyrep/rubyrep.conf");

    @SetFromFlag("tables")
    static final ConfigKey TABLE_REGEXP = new BasicConfigKey(
            String.class, "database.rubyrep.tableRegex", "Regular expression to select tables to sync using RubyRep", ".");

    @SetFromFlag("replicationInterval")
    static final ConfigKey REPLICATION_INTERVAL = new BasicConfigKey(
            Integer.class, "database.rubyrep.replicationInterval", "Replication Interval", 30);

    @SetFromFlag("leftUrl")
    static final BasicAttributeSensorAndConfigKey LEFT_DATABASE_URL = new BasicAttributeSensorAndConfigKey(
            String.class, "database.rubyrep.leftDatabaseUrl", "URL of the left database");

    @SetFromFlag("leftDatabase")
    static final ConfigKey LEFT_DATABASE = new BasicConfigKey(
            DatabaseNode.class, "database.rubyrep.leftDatabase", "Brooklyn database entity to use as the left DBMS");

    @SetFromFlag("leftDatabaseName")
    static final ConfigKey LEFT_DATABASE_NAME = new BasicConfigKey(
            String.class, "database.rubyrep.leftDatabaseName", "name of database to use for left db");

    @SetFromFlag("leftUsername")
    static final ConfigKey LEFT_USERNAME = new BasicConfigKey(
            String.class, "database.rubyrep.leftUsername", "username to connect to left db");

    @SetFromFlag("leftPassword")
    static final ConfigKey LEFT_PASSWORD = new BasicConfigKey(
            String.class, "database.rubyrep.leftPassword", "password to connect to left db");

    @SetFromFlag("rightUrl")
    static final BasicAttributeSensorAndConfigKey RIGHT_DATABASE_URL = new BasicAttributeSensorAndConfigKey(
            String.class, "database.rubyrep.rightDatabaseUrl", "Right database URL");

    @SetFromFlag("rightDatabase")
    static final ConfigKey RIGHT_DATABASE = new BasicConfigKey(
            DatabaseNode.class, "database.rubyrep.rightDatabase");

    @SetFromFlag("rightDatabaseName")
    static final ConfigKey RIGHT_DATABASE_NAME = new BasicConfigKey(
            String.class, "database.rubyrep.rightDatabaseName", "name of database to use for left db");

    @SetFromFlag("rightUsername")
    static final ConfigKey RIGHT_USERNAME = new BasicConfigKey(
            String.class, "database.rubyrep.rightUsername", "username to connect to right db");

    @SetFromFlag("rightPassword")
    static final ConfigKey RIGHT_PASSWORD = new BasicConfigKey(
            String.class, "database.rubyrep.rightPassword", "password to connect to right db");

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy