org.apache.brooklyn.entity.dns.AbstractGeoDnsService Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of brooklyn-software-webapp Show documentation
Show all versions of brooklyn-software-webapp Show documentation
Brooklyn entities for Web App software processes
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.brooklyn.entity.dns;
import java.util.Map;
import org.apache.brooklyn.api.entity.Entity;
import org.apache.brooklyn.api.entity.Group;
import org.apache.brooklyn.api.sensor.AttributeSensor;
import org.apache.brooklyn.config.ConfigKey;
import org.apache.brooklyn.core.config.ConfigKeys;
import org.apache.brooklyn.core.entity.Attributes;
import org.apache.brooklyn.core.entity.lifecycle.Lifecycle;
import org.apache.brooklyn.core.entity.trait.Startable;
import org.apache.brooklyn.core.location.geo.HostGeoInfo;
import org.apache.brooklyn.core.sensor.Sensors;
import org.apache.brooklyn.util.core.flags.SetFromFlag;
import com.google.common.reflect.TypeToken;
public interface AbstractGeoDnsService extends Entity {
@SetFromFlag("includeHomelessEntities")
ConfigKey INCLUDE_HOMELESS_ENTITIES = ConfigKeys.newBooleanConfigKey(
"geodns.includeHomeless", "Whether to include entities whose geo-coordinates cannot be inferred", false);
@SetFromFlag("useHostnames")
ConfigKey USE_HOSTNAMES = ConfigKeys.newBooleanConfigKey(
"geodns.useHostnames", "Whether to use the hostname for the returned value for routing, rather than IP address (defaults to true)", true);
@SetFromFlag("provider")
ConfigKey ENTITY_PROVIDER = ConfigKeys.newConfigKey(Group.class,
"geodns.entityProvider", "The group whose members should be tracked");
/** @see Lifecycle#RUNNING */
@SetFromFlag("filterForRunning")
ConfigKey FILTER_FOR_RUNNING = ConfigKeys.newBooleanConfigKey(
"geodns.filterForRunning", "Whether to only track targets whose status is \"RUNNING\"", true);
AttributeSensor SERVICE_STATE_ACTUAL = Attributes.SERVICE_STATE_ACTUAL;
AttributeSensor SERVICE_UP = Startable.SERVICE_UP;
AttributeSensor HOSTNAME = Attributes.HOSTNAME;
AttributeSensor ADDRESS = Attributes.ADDRESS;
AttributeSensor