Repository: jclouds-labs Updated Branches: refs/heads/1.9.x b199681dc -> a98c77d20
JCLOUDS-891 Add CloudSigma Miami region Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/a98c77d2 Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/a98c77d2 Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/a98c77d2 Branch: refs/heads/1.9.x Commit: a98c77d20dc6cc6489c0a7ba937006484991d545 Parents: b199681d Author: Stuart Hendren <[email protected]> Authored: Wed Jun 24 17:41:14 2015 +0100 Committer: Ignasi Barrera <[email protected]> Committed: Wed Oct 7 22:22:59 2015 +0200 ---------------------------------------------------------------------- cloudsigma2-mia/pom.xml | 131 +++++++++++++++++++ .../CloudSigma2MiamiProviderMetadata.java | 83 ++++++++++++ .../cloudsigma2/CloudSigma2MiamiLiveTest.java | 27 ++++ .../CloudSigma2MiamiComputeServiceLiveTest.java | 28 ++++ pom.xml | 1 + 5 files changed, 270 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/a98c77d2/cloudsigma2-mia/pom.xml ---------------------------------------------------------------------- diff --git a/cloudsigma2-mia/pom.xml b/cloudsigma2-mia/pom.xml new file mode 100644 index 0000000..b227d1e --- /dev/null +++ b/cloudsigma2-mia/pom.xml @@ -0,0 +1,131 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + 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. + +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.jclouds.labs</groupId> + <artifactId>jclouds-labs</artifactId> + <version>1.9.2-SNAPSHOT</version> + </parent> + + <!-- TODO: when out of labs, switch to org.jclouds.provider --> + <groupId>org.apache.jclouds.labs</groupId> + <artifactId>cloudsigma2-mia</artifactId> + <name>jclouds CloudSigma v2 Miami Provider</name> + <description>ComputeService binding to the CloudSigma datacenter in Miami</description> + <packaging>bundle</packaging> + + <properties> + <test.cloudsigma2-mia.endpoint>https://mia.cloudsigma.com/api/2.0/</test.cloudsigma2-mia.endpoint> + <test.cloudsigma2-mia.api-version>2.0</test.cloudsigma2-mia.api-version> + <test.cloudsigma2-mia.build-version /> + <test.cloudsigma2-mia.identity>FIXME</test.cloudsigma2-mia.identity> + <test.cloudsigma2-mia.credential>FIXME</test.cloudsigma2-mia.credential> + <!-- Ubuntu 14.04 Cloud Image --> + <test.cloudsigma2-mia.template>imageId=976368fb-cb6f-43d8-9632-4d19911b9304,loginUser=ubuntu</test.cloudsigma2-mia.template> + <jclouds.osgi.export>org.jclouds.cloudsigma2*;version="${project.version}"</jclouds.osgi.export> + <jclouds.osgi.import> + org.jclouds.compute.internal;version="${project.version}", + org.jclouds.rest.internal;version="${project.version}", + org.jclouds*;version="${project.version}", + * + </jclouds.osgi.import> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.jclouds.labs</groupId> + <artifactId>cloudsigma2</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.jclouds.labs</groupId> + <artifactId>cloudsigma2</artifactId> + <version>${project.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.jclouds</groupId> + <artifactId>jclouds-core</artifactId> + <version>${project.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.jclouds</groupId> + <artifactId>jclouds-compute</artifactId> + <version>${project.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.jclouds.driver</groupId> + <artifactId>jclouds-log4j</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.jclouds.driver</groupId> + <artifactId>jclouds-sshj</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.google.auto.service</groupId> + <artifactId>auto-service</artifactId> + <optional>true</optional> + </dependency> + </dependencies> + + <profiles> + <profile> + <id>live</id> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <executions> + <execution> + <id>integration</id> + <phase>integration-test</phase> + <goals> + <goal>test</goal> + </goals> + <configuration> + <systemPropertyVariables> + <test.cloudsigma2-mia.endpoint>${test.cloudsigma2-mia.endpoint}</test.cloudsigma2-mia.endpoint> + <test.cloudsigma2-mia.api-version>${test.cloudsigma2-mia.api-version}</test.cloudsigma2-mia.api-version> + <test.cloudsigma2-mia.build-version>${test.cloudsigma2-mia.build-version}</test.cloudsigma2-mia.build-version> + <test.cloudsigma2-mia.identity>${test.cloudsigma2-mia.identity}</test.cloudsigma2-mia.identity> + <test.cloudsigma2-mia.credential>${test.cloudsigma2-mia.credential}</test.cloudsigma2-mia.credential> + <test.cloudsigma2-mia.template>${test.cloudsigma2-mia.template}</test.cloudsigma2-mia.template> + </systemPropertyVariables> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> + +</project> http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/a98c77d2/cloudsigma2-mia/src/main/java/org/jclouds/cloudsigma2/CloudSigma2MiamiProviderMetadata.java ---------------------------------------------------------------------- diff --git a/cloudsigma2-mia/src/main/java/org/jclouds/cloudsigma2/CloudSigma2MiamiProviderMetadata.java b/cloudsigma2-mia/src/main/java/org/jclouds/cloudsigma2/CloudSigma2MiamiProviderMetadata.java new file mode 100644 index 0000000..43ab404 --- /dev/null +++ b/cloudsigma2-mia/src/main/java/org/jclouds/cloudsigma2/CloudSigma2MiamiProviderMetadata.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.cloudsigma2; + +import java.net.URI; +import java.util.Properties; + +import org.jclouds.providers.ProviderMetadata; +import org.jclouds.providers.internal.BaseProviderMetadata; + +import com.google.auto.service.AutoService; + +/** + * Implementation of {@link ProviderMetadata} for CloudSigma Miami. + */ +@AutoService(ProviderMetadata.class) +public class CloudSigma2MiamiProviderMetadata extends BaseProviderMetadata { + + public static Builder builder() { + return new Builder(); + } + + @Override + public Builder toBuilder() { + return builder().fromProviderMetadata(this); + } + + public CloudSigma2MiamiProviderMetadata() { + super(builder()); + } + + public CloudSigma2MiamiProviderMetadata(Builder builder) { + super(builder); + } + + public static Properties defaultProperties() { + Properties properties = new Properties(); + return properties; + } + + public static class Builder + extends + BaseProviderMetadata.Builder { + + protected Builder() { + id("cloudsigma2-mia") + .name("CloudSigma 2 Miami") + .apiMetadata(new CloudSigma2ApiMetadata()) + .homepage(URI.create("http://www.cloudsigma.com/en/our-cloud/features")) + .console(URI.create("https://gui.mia.cloudsigma.com/")) + .iso3166Codes("US-FL") + .endpoint("https://mia.cloudsigma.com/api/2.0/") + .defaultProperties(CloudSigma2MiamiProviderMetadata.defaultProperties()); + } + + @Override + public CloudSigma2MiamiProviderMetadata build() { + return new CloudSigma2MiamiProviderMetadata(this); + } + + @Override + public Builder fromProviderMetadata( + ProviderMetadata in) { + super.fromProviderMetadata(in); + return this; + } + + } +} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/a98c77d2/cloudsigma2-mia/src/test/java/org/jclouds/cloudsigma2/CloudSigma2MiamiLiveTest.java ---------------------------------------------------------------------- diff --git a/cloudsigma2-mia/src/test/java/org/jclouds/cloudsigma2/CloudSigma2MiamiLiveTest.java b/cloudsigma2-mia/src/test/java/org/jclouds/cloudsigma2/CloudSigma2MiamiLiveTest.java new file mode 100644 index 0000000..90bffa9 --- /dev/null +++ b/cloudsigma2-mia/src/test/java/org/jclouds/cloudsigma2/CloudSigma2MiamiLiveTest.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.cloudsigma2; + +import org.testng.annotations.Test; + +@Test(groups = "live", testName = "CloudSigma2MiamiLiveTest") +public class CloudSigma2MiamiLiveTest extends CloudSigma2ApiLiveTest { + + public CloudSigma2MiamiLiveTest() { + provider = "cloudsigma2-mia"; + } +} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/a98c77d2/cloudsigma2-mia/src/test/java/org/jclouds/cloudsigma2/compute/CloudSigma2MiamiComputeServiceLiveTest.java ---------------------------------------------------------------------- diff --git a/cloudsigma2-mia/src/test/java/org/jclouds/cloudsigma2/compute/CloudSigma2MiamiComputeServiceLiveTest.java b/cloudsigma2-mia/src/test/java/org/jclouds/cloudsigma2/compute/CloudSigma2MiamiComputeServiceLiveTest.java new file mode 100644 index 0000000..9004cb4 --- /dev/null +++ b/cloudsigma2-mia/src/test/java/org/jclouds/cloudsigma2/compute/CloudSigma2MiamiComputeServiceLiveTest.java @@ -0,0 +1,28 @@ +/* + * 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.cloudsigma2.compute; + +import org.testng.annotations.Test; + +@Test(groups = "live", testName = "CloudSigma2MiamiComputeServiceLiveTest") +public class CloudSigma2MiamiComputeServiceLiveTest extends CloudSigma2ComputeServiceLiveTest { + + public CloudSigma2MiamiComputeServiceLiveTest() { + provider = "cloudsigma2-mia"; + group = "cloudsigma2"; + } +} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/a98c77d2/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 9631475..6632640 100644 --- a/pom.xml +++ b/pom.xml @@ -71,6 +71,7 @@ <module>cloudsigma2</module> <module>cloudsigma2-hnl</module> <module>cloudsigma2-lvs</module> + <module>cloudsigma2-mia</module> <module>cloudsigma2-sjc</module> <module>cloudsigma2-wdc</module> <module>cloudsigma2-zrh</module>
