diff --git a/providers/elastichosts-dal-a/README.txt b/providers/elastichosts-dal-a/README.txt
new file mode 100644
index 0000000000..b0a81c5547
--- /dev/null
+++ b/providers/elastichosts-dal-a/README.txt
@@ -0,0 +1,6 @@
+#
+# The jclouds provider for ElasticHosts' Dallas ElasticStack (http://www.elastichosts.com/).
+#
+# Expects the jclouds elasticstack API to be present on your application's classpath.
+#
+
diff --git a/providers/elastichosts-dal-a/pom.xml b/providers/elastichosts-dal-a/pom.xml
new file mode 100644
index 0000000000..270a0c3031
--- /dev/null
+++ b/providers/elastichosts-dal-a/pom.xml
@@ -0,0 +1,130 @@
+
+
+
+ 4.0.0
+
+ org.apache.jclouds
+ jclouds-project
+ 2.0.0-SNAPSHOT
+ ../../project/pom.xml
+
+ org.apache.jclouds.provider
+ elastichosts-dal-a
+ jclouds ElasticHosts Dallas provider
+ ElasticHosts implementation targeted to Dallas
+ bundle
+
+
+ https://api-dal-a.elastichosts.com
+ 2.0
+
+ FIXME_IDENTITY
+ FIXME_CREDENTIAL
+
+
+ org.jclouds.elastichosts*;version="${project.version}"
+
+ org.jclouds.compute.internal;version="${project.version}",
+ org.jclouds.rest.internal;version="${project.version}",
+ org.jclouds*;version="${project.version}",
+ *
+
+
+
+
+
+ org.apache.jclouds.api
+ elasticstack
+ ${project.version}
+
+
+ org.apache.jclouds.api
+ elasticstack
+ ${project.version}
+ test-jar
+ test
+
+
+ org.apache.jclouds
+ jclouds-core
+ ${project.version}
+ test-jar
+ test
+
+
+ org.apache.jclouds
+ jclouds-compute
+ ${project.version}
+ test-jar
+ test
+
+
+ org.apache.jclouds.driver
+ jclouds-log4j
+ ${project.version}
+ test
+
+
+ org.apache.jclouds.driver
+ jclouds-sshj
+ ${project.version}
+ test
+
+
+ com.google.auto.service
+ auto-service
+ true
+
+
+
+
+
+ live
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ integration
+ integration-test
+
+ test
+
+
+
+ ${test.elastichosts-dal-a.endpoint}
+ ${test.elastichosts-dal-a.api-version}
+ ${test.elastichosts-dal-a.build-version}
+ ${test.elastichosts-dal-a.identity}
+ ${test.elastichosts-dal-a.credential}
+ ${test.elastichosts-dal-a.template}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/providers/elastichosts-dal-a/src/main/java/org/jclouds/elastichosts/ElasticHostsDallasMetadata.java b/providers/elastichosts-dal-a/src/main/java/org/jclouds/elastichosts/ElasticHostsDallasMetadata.java
new file mode 100644
index 0000000000..7444f12911
--- /dev/null
+++ b/providers/elastichosts-dal-a/src/main/java/org/jclouds/elastichosts/ElasticHostsDallasMetadata.java
@@ -0,0 +1,82 @@
+/*
+ * 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.jclouds.elastichosts;
+
+import static org.jclouds.compute.config.ComputeServiceProperties.TEMPLATE;
+
+import java.net.URI;
+import java.util.Properties;
+
+import org.jclouds.elasticstack.ElasticStackApiMetadata;
+import org.jclouds.providers.ProviderMetadata;
+import org.jclouds.providers.internal.BaseProviderMetadata;
+
+import com.google.auto.service.AutoService;
+
+/**
+ * Implementation of {@link ProviderMetadata} for ElasticHosts Dallas.
+ */
+@AutoService(ProviderMetadata.class)
+public class ElasticHostsDallasMetadata extends BaseProviderMetadata {
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ @Override
+ public Builder toBuilder() {
+ return builder().fromProviderMetadata(this);
+ }
+
+ public ElasticHostsDallasMetadata() {
+ super(builder());
+ }
+
+ public ElasticHostsDallasMetadata(Builder builder) {
+ super(builder);
+ }
+
+ public static Properties defaultProperties() {
+ Properties properties = new Properties();
+ properties.setProperty(TEMPLATE, "osFamily=UBUNTU,osVersionMatches=1[01234].[01][04],os64Bit=true");
+ return properties;
+ }
+
+ public static class Builder extends BaseProviderMetadata.Builder {
+
+ protected Builder() {
+ id("elastichosts-dal-a").name("ElasticHosts Dallas")
+ .apiMetadata(new ElasticStackApiMetadata().toBuilder().version("2.0").build())
+ .homepage(URI.create("https://dal-a.elastichosts.com"))
+ .console(URI.create("https://dal-a.elastichosts.com/accounts")).iso3166Codes("US-TX")
+ .endpoint("https://api-dal-a.elastichosts.com")
+ .defaultProperties(ElasticHostsDallasMetadata.defaultProperties());
+ }
+
+ @Override
+ public ElasticHostsDallasMetadata build() {
+ return new ElasticHostsDallasMetadata(this);
+ }
+
+ @Override
+ public Builder fromProviderMetadata(ProviderMetadata in) {
+ super.fromProviderMetadata(in);
+ return this;
+ }
+
+ }
+}
diff --git a/providers/elastichosts-dal-a/src/test/java/org/jclouds/elastichosts/ElasticHostsDallasApiLiveTest.java b/providers/elastichosts-dal-a/src/test/java/org/jclouds/elastichosts/ElasticHostsDallasApiLiveTest.java
new file mode 100644
index 0000000000..7fc9132fb8
--- /dev/null
+++ b/providers/elastichosts-dal-a/src/test/java/org/jclouds/elastichosts/ElasticHostsDallasApiLiveTest.java
@@ -0,0 +1,27 @@
+/*
+ * 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.jclouds.elastichosts;
+
+import org.jclouds.elasticstack.ElasticStackApiLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", singleThreaded = true, testName = "ElasticHostsDallasApiLiveTest")
+public class ElasticHostsDallasApiLiveTest extends ElasticStackApiLiveTest {
+ public ElasticHostsDallasApiLiveTest() {
+ provider = "elastichosts-dal-a";
+ }
+}
diff --git a/providers/elastichosts-dal-a/src/test/java/org/jclouds/elastichosts/ElasticHostsDallasProviderTest.java b/providers/elastichosts-dal-a/src/test/java/org/jclouds/elastichosts/ElasticHostsDallasProviderTest.java
new file mode 100644
index 0000000000..d1db8ec8d6
--- /dev/null
+++ b/providers/elastichosts-dal-a/src/test/java/org/jclouds/elastichosts/ElasticHostsDallasProviderTest.java
@@ -0,0 +1,29 @@
+/*
+ * 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.jclouds.elastichosts;
+
+import org.jclouds.elasticstack.ElasticStackApiMetadata;
+import org.jclouds.providers.internal.BaseProviderMetadataTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "unit", testName = "ElasticHostsDallasProviderTest")
+public class ElasticHostsDallasProviderTest extends BaseProviderMetadataTest {
+
+ public ElasticHostsDallasProviderTest() {
+ super(new ElasticHostsDallasMetadata(), new ElasticStackApiMetadata());
+ }
+}
diff --git a/providers/elastichosts-dal-a/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsDallasComputeServiceLiveTest.java b/providers/elastichosts-dal-a/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsDallasComputeServiceLiveTest.java
new file mode 100644
index 0000000000..2426a7a7f8
--- /dev/null
+++ b/providers/elastichosts-dal-a/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsDallasComputeServiceLiveTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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.jclouds.elastichosts.compute;
+
+import org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "ElasticHostsDallasComputeServiceLiveTest")
+public class ElasticHostsDallasComputeServiceLiveTest extends ElasticStackComputeServiceLiveTest {
+
+ public ElasticHostsDallasComputeServiceLiveTest() {
+ provider = "elastichosts-dal-a";
+ group = "elastichosts";
+ }
+
+}
diff --git a/providers/elastichosts-dal-a/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsDallasTemplateBuilderLiveTest.java b/providers/elastichosts-dal-a/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsDallasTemplateBuilderLiveTest.java
new file mode 100644
index 0000000000..0ba8e2a986
--- /dev/null
+++ b/providers/elastichosts-dal-a/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsDallasTemplateBuilderLiveTest.java
@@ -0,0 +1,53 @@
+/*
+ * 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.jclouds.elastichosts.compute;
+
+import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertTrue;
+
+import java.io.IOException;
+import java.util.Set;
+
+import org.jclouds.compute.domain.OsFamily;
+import org.jclouds.compute.domain.Template;
+import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
+import org.testng.annotations.Test;
+
+import com.google.common.collect.ImmutableSet;
+
+@Test(groups = "live", testName = "ElasticHostsDallasTemplateBuilderLiveTest")
+public class ElasticHostsDallasTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
+
+ public ElasticHostsDallasTemplateBuilderLiveTest() {
+ provider = "elastichosts-dal-a";
+ }
+
+ @Override
+ public void testDefaultTemplateBuilder() throws IOException {
+ Template defaultTemplate = view.getComputeService().templateBuilder().build();
+ assertTrue(defaultTemplate.getImage().getOperatingSystem().getVersion().matches("1[01234].[01][04]"));
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
+ assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
+ }
+
+ @Override
+ protected Set getIso3166Codes() {
+ return ImmutableSet. of("US-TX");
+ }
+}
diff --git a/providers/elastichosts-mmi-a/README.txt b/providers/elastichosts-mmi-a/README.txt
new file mode 100644
index 0000000000..f630668fe4
--- /dev/null
+++ b/providers/elastichosts-mmi-a/README.txt
@@ -0,0 +1,6 @@
+#
+# The jclouds provider for ElasticHosts' Miami ElasticStack (http://www.elastichosts.com/).
+#
+# Expects the jclouds elasticstack API to be present on your application's classpath.
+#
+
diff --git a/providers/elastichosts-mmi-a/pom.xml b/providers/elastichosts-mmi-a/pom.xml
new file mode 100644
index 0000000000..7c76691861
--- /dev/null
+++ b/providers/elastichosts-mmi-a/pom.xml
@@ -0,0 +1,130 @@
+
+
+
+ 4.0.0
+
+ org.apache.jclouds
+ jclouds-project
+ 2.0.0-SNAPSHOT
+ ../../project/pom.xml
+
+ org.apache.jclouds.provider
+ elastichosts-mmi-a
+ jclouds ElasticHosts Miami provider
+ ElasticHosts implementation targeted to Miami
+ bundle
+
+
+ https://api-mmi-a.elastichosts.com
+ 2.0
+
+ FIXME_IDENTITY
+ FIXME_CREDENTIAL
+
+
+ org.jclouds.elastichosts*;version="${project.version}"
+
+ org.jclouds.compute.internal;version="${project.version}",
+ org.jclouds.rest.internal;version="${project.version}",
+ org.jclouds*;version="${project.version}",
+ *
+
+
+
+
+
+ org.apache.jclouds.api
+ elasticstack
+ ${project.version}
+
+
+ org.apache.jclouds.api
+ elasticstack
+ ${project.version}
+ test-jar
+ test
+
+
+ org.apache.jclouds
+ jclouds-core
+ ${project.version}
+ test-jar
+ test
+
+
+ org.apache.jclouds
+ jclouds-compute
+ ${project.version}
+ test-jar
+ test
+
+
+ org.apache.jclouds.driver
+ jclouds-log4j
+ ${project.version}
+ test
+
+
+ org.apache.jclouds.driver
+ jclouds-sshj
+ ${project.version}
+ test
+
+
+ com.google.auto.service
+ auto-service
+ true
+
+
+
+
+
+ live
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ integration
+ integration-test
+
+ test
+
+
+
+ ${test.elastichosts-mmi-a.endpoint}
+ ${test.elastichosts-mmi-a.api-version}
+ ${test.elastichosts-mmi-a.build-version}
+ ${test.elastichosts-mmi-a.identity}
+ ${test.elastichosts-mmi-a.credential}
+ ${test.elastichosts-mmi-a.template}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/providers/elastichosts-mmi-a/src/main/java/org/jclouds/elastichosts/ElasticHostsMiamiMetadata.java b/providers/elastichosts-mmi-a/src/main/java/org/jclouds/elastichosts/ElasticHostsMiamiMetadata.java
new file mode 100644
index 0000000000..93b2180056
--- /dev/null
+++ b/providers/elastichosts-mmi-a/src/main/java/org/jclouds/elastichosts/ElasticHostsMiamiMetadata.java
@@ -0,0 +1,83 @@
+/*
+ * 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.jclouds.elastichosts;
+
+import static org.jclouds.compute.config.ComputeServiceProperties.TEMPLATE;
+
+import java.net.URI;
+import java.util.Properties;
+
+import org.jclouds.elasticstack.ElasticStackApiMetadata;
+import org.jclouds.providers.ProviderMetadata;
+import org.jclouds.providers.internal.BaseProviderMetadata;
+
+import com.google.auto.service.AutoService;
+
+/**
+ * Implementation of {@link ProviderMetadata} for ElasticHosts Miami.
+ */
+@AutoService(ProviderMetadata.class)
+public class ElasticHostsMiamiMetadata extends BaseProviderMetadata {
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ @Override
+ public Builder toBuilder() {
+ return builder().fromProviderMetadata(this);
+ }
+
+ public ElasticHostsMiamiMetadata() {
+ super(builder());
+ }
+
+ public ElasticHostsMiamiMetadata(Builder builder) {
+ super(builder);
+ }
+
+ public static Properties defaultProperties() {
+ Properties properties = new Properties();
+ properties.setProperty(TEMPLATE, "osFamily=UBUNTU,osVersionMatches=1[01234].[01][04],os64Bit=true");
+ return properties;
+ }
+
+ public static class Builder extends BaseProviderMetadata.Builder {
+
+ protected Builder() {
+ id("elastichosts-mmi-a").name("ElasticHosts Miami")
+ .apiMetadata(new ElasticStackApiMetadata().toBuilder().version("2.0").build())
+ .homepage(URI.create("https://mmi-a.elastichosts.com"))
+ .console(URI.create("https://mmi-a.elastichosts.com/accounts"))
+ .iso3166Codes("US-FL")
+ .endpoint("https://api-mmi-a.elastichosts.com")
+ .defaultProperties(ElasticHostsMiamiMetadata.defaultProperties());
+ }
+
+ @Override
+ public ElasticHostsMiamiMetadata build() {
+ return new ElasticHostsMiamiMetadata(this);
+ }
+
+ @Override
+ public Builder fromProviderMetadata(ProviderMetadata in) {
+ super.fromProviderMetadata(in);
+ return this;
+ }
+
+ }
+}
diff --git a/providers/elastichosts-mmi-a/src/test/java/org/jclouds/elastichosts/ElasticHostsMiamiApiLiveTest.java b/providers/elastichosts-mmi-a/src/test/java/org/jclouds/elastichosts/ElasticHostsMiamiApiLiveTest.java
new file mode 100644
index 0000000000..340a7caca1
--- /dev/null
+++ b/providers/elastichosts-mmi-a/src/test/java/org/jclouds/elastichosts/ElasticHostsMiamiApiLiveTest.java
@@ -0,0 +1,27 @@
+/*
+ * 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.jclouds.elastichosts;
+
+import org.jclouds.elasticstack.ElasticStackApiLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", singleThreaded = true, testName = "ElasticHostsMiamiApiLiveTest")
+public class ElasticHostsMiamiApiLiveTest extends ElasticStackApiLiveTest {
+ public ElasticHostsMiamiApiLiveTest() {
+ provider = "elastichosts-mmi-a";
+ }
+}
diff --git a/providers/elastichosts-mmi-a/src/test/java/org/jclouds/elastichosts/ElasticHostsMiamiProviderTest.java b/providers/elastichosts-mmi-a/src/test/java/org/jclouds/elastichosts/ElasticHostsMiamiProviderTest.java
new file mode 100644
index 0000000000..1daaf446f8
--- /dev/null
+++ b/providers/elastichosts-mmi-a/src/test/java/org/jclouds/elastichosts/ElasticHostsMiamiProviderTest.java
@@ -0,0 +1,29 @@
+/*
+ * 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.jclouds.elastichosts;
+
+import org.jclouds.elasticstack.ElasticStackApiMetadata;
+import org.jclouds.providers.internal.BaseProviderMetadataTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "unit", testName = "ElasticHostsMiamiProviderTest")
+public class ElasticHostsMiamiProviderTest extends BaseProviderMetadataTest {
+
+ public ElasticHostsMiamiProviderTest() {
+ super(new ElasticHostsMiamiMetadata(), new ElasticStackApiMetadata());
+ }
+}
diff --git a/providers/elastichosts-mmi-a/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsMiamiComputeServiceLiveTest.java b/providers/elastichosts-mmi-a/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsMiamiComputeServiceLiveTest.java
new file mode 100644
index 0000000000..b3d310b07e
--- /dev/null
+++ b/providers/elastichosts-mmi-a/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsMiamiComputeServiceLiveTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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.jclouds.elastichosts.compute;
+
+import org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "ElasticHostsMiamiComputeServiceLiveTest")
+public class ElasticHostsMiamiComputeServiceLiveTest extends ElasticStackComputeServiceLiveTest {
+
+ public ElasticHostsMiamiComputeServiceLiveTest() {
+ provider = "elastichosts-mmi-a";
+ group = "elastichosts";
+ }
+
+}
diff --git a/providers/elastichosts-mmi-a/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsMiamiTemplateBuilderLiveTest.java b/providers/elastichosts-mmi-a/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsMiamiTemplateBuilderLiveTest.java
new file mode 100644
index 0000000000..9b3057dc9a
--- /dev/null
+++ b/providers/elastichosts-mmi-a/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsMiamiTemplateBuilderLiveTest.java
@@ -0,0 +1,53 @@
+/*
+ * 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.jclouds.elastichosts.compute;
+
+import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertTrue;
+
+import java.io.IOException;
+import java.util.Set;
+
+import org.jclouds.compute.domain.OsFamily;
+import org.jclouds.compute.domain.Template;
+import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
+import org.testng.annotations.Test;
+
+import com.google.common.collect.ImmutableSet;
+
+@Test(groups = "live", testName = "ElasticHostsMiamiTemplateBuilderLiveTest")
+public class ElasticHostsMiamiTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
+
+ public ElasticHostsMiamiTemplateBuilderLiveTest() {
+ provider = "elastichosts-mmi-a";
+ }
+
+ @Override
+ public void testDefaultTemplateBuilder() throws IOException {
+ Template defaultTemplate = view.getComputeService().templateBuilder().build();
+ assertTrue(defaultTemplate.getImage().getOperatingSystem().getVersion().matches("1[01234].[01][04]"));
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
+ assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
+ }
+
+ @Override
+ protected Set getIso3166Codes() {
+ return ImmutableSet. of("US-FL");
+ }
+}
diff --git a/providers/pom.xml b/providers/pom.xml
index 77bf0e2daa..6edcaa557b 100644
--- a/providers/pom.xml
+++ b/providers/pom.xml
@@ -45,6 +45,8 @@
elastichosts-sjc-c
elastichosts-hkg-e
elastichosts-syd-v
+ elastichosts-mmi-a
+ elastichosts-dal-a
openhosting-east1
serverlove-z1-man
skalicloud-sdg-my