Javadoc for to the Container API and rename getIPAddress() to getHostName()
diff --git a/containers-api/src/main/java/org/apache/aries/containers/Container.java b/containers-api/src/main/java/org/apache/aries/containers/Container.java
index 91c9b41..07b1528 100644
--- a/containers-api/src/main/java/org/apache/aries/containers/Container.java
+++ b/containers-api/src/main/java/org/apache/aries/containers/Container.java
@@ -22,6 +22,17 @@
import org.osgi.annotation.versioning.ProviderType;
+/**
+ * Instances of this class represent actual containers running for the
+ * service. As in certain systems the environment can move containers
+ * around, instances of this class are considered short-lived and should
+ * not be used long after they have been obtained, as the topology of
+ * the system may have been changed by the host platform or an
+ * administrator. <p>
+ *
+ * Instances of this class can be used to find out things like IP address,
+ * port mapping, container ID etc.
+ */
@ProviderType
public interface Container extends Comparable<Container> {
@Override
@@ -29,15 +40,38 @@
return getID().compareTo(other.getID());
}
+ /**
+ * Destroy this container and scale the service back by 1 instance.
+ */
void destroy();
- String getID();
- String getIPAddress();
- /* The maps of ports exposed to the outside by the container.
+ /**
+ * Obtain the container ID. This could be a docker ID or some other ID.
+ *
+ * @return The container ID.
+ */
+ String getID();
+
+ /**
+ * The Host name or IP address that this container is accessible on.
+ * Note that this address may not be accessible from anywhere depending on the
+ * network topology.
+ *
+ * @return The host name / IP address for the container.
+ */
+ String getHostName();
+
+ /**
+ * The maps of ports exposed to the outside by the container.
* It maps an internal port to an outside port.
* @return a map of exposed ports.
*/
Map<Integer, Integer> getExposedPorts();
+ /**
+ * Obtain the service to which this container belongs.
+ *
+ * @return The service.
+ */
Service getService();
}
diff --git a/containers-api/src/main/java/org/apache/aries/containers/Service.java b/containers-api/src/main/java/org/apache/aries/containers/Service.java
index df886a9..6fe0a90 100644
--- a/containers-api/src/main/java/org/apache/aries/containers/Service.java
+++ b/containers-api/src/main/java/org/apache/aries/containers/Service.java
@@ -31,14 +31,31 @@
/**
* Obtain the current instance count.
+ *
* @return The instance count.
*/
int getActualInstanceCount();
+ /**
+ * Obtain the configuration that defines this service.
+ *
+ * @return The configuration for this service.
+ */
ServiceConfig getConfiguration();
+ /**
+ * List the containers that are currently running the service.
+ *
+ * @return A list of containers.
+ */
List<Container> listContainers();
+ /**
+ * Change the service to run the specified number of replica containers.
+ *
+ * @param count The desired number of containers. The service can temporary be
+ * suspected by using {@code 0} as the instance count.
+ */
void setInstanceCount(int count);
/**
diff --git a/containers-api/src/main/java/org/apache/aries/containers/ServiceConfig.java b/containers-api/src/main/java/org/apache/aries/containers/ServiceConfig.java
index c7a91ab..5413008 100644
--- a/containers-api/src/main/java/org/apache/aries/containers/ServiceConfig.java
+++ b/containers-api/src/main/java/org/apache/aries/containers/ServiceConfig.java
@@ -42,7 +42,7 @@
private final List<Integer> containerPorts;
private final String entryPoint;
private final Map<String, String> envVars;
-// private final List<HealthCheck> healthChecks;
+// private final List<HealthCheck> healthChecks; TODO add these!
private final double requestedCPUunits;
private final int requestedInstances;
private final double requestedMemory; // in MiB
diff --git a/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/ContainerImpl.java b/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/ContainerImpl.java
index 2909f37..b4f4bb3 100644
--- a/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/ContainerImpl.java
+++ b/containers-docker-local/src/main/java/org/apache/aries/containers/docker/local/impl/ContainerImpl.java
@@ -57,7 +57,7 @@
}
@Override
- public String getIPAddress() {
+ public String getHostName() {
return ip;
}
diff --git a/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ContainerImpl.java b/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ContainerImpl.java
index a8c1f52..7e9802d 100644
--- a/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ContainerImpl.java
+++ b/containers-marathon/src/main/java/org/apache/aries/containers/marathon/impl/ContainerImpl.java
@@ -68,7 +68,7 @@
}
@Override
- public String getIPAddress() {
+ public String getHostName() {
return host;
}