brooklyn.entity.dns.geoscaling.GeoscalingDnsService Maven / Gradle / Ivy
package brooklyn.entity.dns.geoscaling;
import brooklyn.config.ConfigKey;
import brooklyn.entity.dns.AbstractGeoDnsService;
import brooklyn.entity.proxying.ImplementedBy;
import brooklyn.entity.webapp.WebAppServiceConstants;
import brooklyn.event.AttributeSensor;
import brooklyn.event.basic.BasicAttributeSensor;
import brooklyn.event.basic.BasicConfigKey;
import brooklyn.util.flags.SetFromFlag;
@ImplementedBy(GeoscalingDnsServiceImpl.class)
public interface GeoscalingDnsService extends AbstractGeoDnsService {
@SetFromFlag("randomizeSubdomainName")
public static final ConfigKey RANDOMIZE_SUBDOMAIN_NAME = new BasicConfigKey(
Boolean.class, "randomize.subdomain.name");
@SetFromFlag("username")
public static final ConfigKey GEOSCALING_USERNAME = new BasicConfigKey(
String.class, "geoscaling.username");
@SetFromFlag("password")
public static final ConfigKey GEOSCALING_PASSWORD = new BasicConfigKey(
String.class, "geoscaling.password");
@SetFromFlag("primaryDomainName")
public static final ConfigKey GEOSCALING_PRIMARY_DOMAIN_NAME = new BasicConfigKey(
String.class, "geoscaling.primary.domain.name");
@SetFromFlag("smartSubdomainName")
public static final ConfigKey GEOSCALING_SMART_SUBDOMAIN_NAME = new BasicConfigKey(
String.class, "geoscaling.smart.subdomain.name");
public static final AttributeSensor GEOSCALING_ACCOUNT = new BasicAttributeSensor(
String.class, "geoscaling.account", "Active user account for the GeoScaling.com service");
public static final AttributeSensor ROOT_URL = WebAppServiceConstants.ROOT_URL;
public static final AttributeSensor MANAGED_DOMAIN = new BasicAttributeSensor(
String.class, "geoscaling.managed.domain", "Fully qualified domain name that will be geo-redirected; " +
"this will be the same as "+ROOT_URL.getName()+" but the latter will only be set when the domain has active targets");
public void applyConfig();
/** minimum/default TTL here is 300s = 5m */
public long getTimeToLiveSeconds();
}