From f8efc3564f3392acb7f6991a9b7a0170189985c8 Mon Sep 17 00:00:00 2001 From: Adam Lowe Date: Mon, 16 Jan 2012 14:45:45 +0000 Subject: [PATCH 1/7] Adjusting ServerDetails with additional fields needed for GleSYSComputeServiceAdaptor --- .../jclouds/glesys/domain/ServerCreated.java | 14 ++-- .../jclouds/glesys/domain/ServerDetails.java | 68 +++++++++++++++++-- .../{ServerCreatedIp.java => ServerIp.java} | 14 ++-- .../features/DomainClientExpectTest.java | 4 +- .../features/ServerClientExpectTest.java | 10 +-- .../glesys/features/ServerClientLiveTest.java | 17 +++++ .../glesys/parse/ParseServerCreatedTest.java | 4 +- .../glesys/parse/ParseServerDetailsTest.java | 10 +-- .../ParseServerDetailsWithoutIPsTest.java | 2 +- .../src/test/resources/server_details.json | 2 +- 10 files changed, 107 insertions(+), 38 deletions(-) rename sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/{ServerCreatedIp.java => ServerIp.java} (88%) diff --git a/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerCreated.java b/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerCreated.java index 7f02659c96..d2f42d75ee 100644 --- a/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerCreated.java +++ b/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerCreated.java @@ -43,19 +43,19 @@ public class ServerCreated { public static class Builder { private String id; private String hostname; - private List ips; + private List ips; public Builder id(String id) { this.id = id; return this; } - public Builder ips(List ips) { + public Builder ips(List ips) { this.ips = ips; return this; } - public Builder ips(ServerCreatedIp... ips) { + public Builder ips(ServerIp... ips) { return ips(Arrays.asList(ips)); } @@ -77,9 +77,9 @@ public class ServerCreated { private final String id; private final String hostname; @SerializedName("iplist") - private final List ips; + private final List ips; - public ServerCreated(String id, @Nullable String hostname, List ips) { + public ServerCreated(String id, @Nullable String hostname, List ips) { checkNotNull(id, "id"); this.id = id; this.hostname = hostname; @@ -100,8 +100,8 @@ public class ServerCreated { } /** @return the IP addresses assigned to the server */ - public List getIps() { - return ips == null ? ImmutableList.of() : ips; + public List getIps() { + return ips == null ? ImmutableList.of() : ips; } @Override diff --git a/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerDetails.java b/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerDetails.java index 4622233ac1..8b507b9a42 100644 --- a/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerDetails.java +++ b/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerDetails.java @@ -20,8 +20,12 @@ package org.jclouds.glesys.domain; import static com.google.common.base.Preconditions.checkNotNull; +import com.google.common.collect.ImmutableList; import com.google.gson.annotations.SerializedName; +import java.util.Arrays; +import java.util.List; + /** * Detailed information about a server such as cpuCores, hardware configuration * (cpu, memory and disk), ip adresses, cost, transfer, os and more. @@ -36,16 +40,24 @@ public class ServerDetails extends Server { public static class Builder extends Server.Builder { private String description; + private String template; private int cpuCores; private int memory; private int disk; + private int transfer; private Cost cost; + private List ips; public Builder description(String description) { this.description = description; return this; } + public Builder template(String template) { + this.template = template; + return this; + } + public Builder cpuCores(int cpuCores) { this.cpuCores = cpuCores; return this; @@ -61,18 +73,32 @@ public class ServerDetails extends Server { return this; } + public Builder transfer(int transfer) { + this.transfer = transfer; + return this; + } + public Builder cost(Cost cost) { this.cost = cost; return this; } + public Builder ips(ServerIp... ips) { + return ips(Arrays.asList(ips)); + } + + public Builder ips(List ips) { + this.ips = ips; + return this; + } + public ServerDetails build() { - return new ServerDetails(id, hostname, datacenter, platform, description, cpuCores, memory, disk, cost); + return new ServerDetails(id, hostname, datacenter, platform, template, description, cpuCores, memory, disk, transfer, cost, ips); } public Builder fromServerDetails(ServerDetails in) { - return fromServer(in).memory(in.getMemory()).disk(in.getDisk()).cpuCores(in.getCpuCores()).cost(in.getCost()) - .description(in.getDescription()); + return fromServer(in).template(in.getTemplate()).memory(in.getMemory()).disk(in.getDisk()).cpuCores(in.getCpuCores()).cost(in.getCost()) + .description(in.getDescription()).ips(in.getIps()); } @Override @@ -102,20 +128,27 @@ public class ServerDetails extends Server { } private final String description; + private final String template; @SerializedName("cpucores") private final int cpuCores; private final int memory; private final int disk; + private final int transfer; private final Cost cost; + @SerializedName("iplist") + private final List ips; - public ServerDetails(String id, String hostname, String datacenter, String platform, String description, - int cpuCores, int memory, int disk, Cost cost) { + public ServerDetails(String id, String hostname, String datacenter, String platform, String template, + String description, int cpuCores, int memory, int disk, int transfer, Cost cost, List ips) { super(id, hostname, datacenter, platform); + this.template = checkNotNull(template, "template"); this.description = description; this.cpuCores = cpuCores; this.memory = memory; this.disk = disk; + this.transfer = transfer; this.cost = checkNotNull(cost, "cost"); + this.ips = ips == null ? ImmutableList.of() : ips; } /** @@ -146,6 +179,13 @@ public class ServerDetails extends Server { return memory; } + /** + * @return the transfer of the server + */ + public int getTransfer() { + return transfer; + } + /** * @return details of the cost of the server */ @@ -153,11 +193,25 @@ public class ServerDetails extends Server { return cost; } + /** + * @return the ip addresses assigned to the server + */ + public List getIps() { + return ips; + } + + /** + * @return the name of the template used to create the server + */ + public String getTemplate() { + return template; + } + @Override public String toString() { return String.format( - "[id=%s, hostname=%s, datacenter=%s, platform=%s, description=%s, cpuCores=%s, memory=%s, disk=%s, cost=%s]", id, - hostname, datacenter, platform, description, cpuCores, memory, disk, cost); + "[id=%s, hostname=%s, datacenter=%s, platform=%s, template=%s, description=%s, cpuCores=%d, memory=%d, disk=%d, transfer=%d, cost=%s, ips=%s]", id, + hostname, datacenter, platform, template, description, cpuCores, memory, disk, transfer, cost, ips); } } diff --git a/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerCreatedIp.java b/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerIp.java similarity index 88% rename from sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerCreatedIp.java rename to sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerIp.java index 464355f5bb..7958fa3128 100644 --- a/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerCreatedIp.java +++ b/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerIp.java @@ -27,7 +27,7 @@ import com.google.common.base.Objects; * @author Adam Lowe * @see ServerCreated */ -public class ServerCreatedIp { +public class ServerIp { public static Builder builder() { return new Builder(); @@ -61,11 +61,11 @@ public class ServerCreatedIp { return this; } - public ServerCreatedIp build() { - return new ServerCreatedIp(ip, version, cost); + public ServerIp build() { + return new ServerIp(ip, version, cost); } - public Builder fromIpCreated(ServerCreatedIp from) { + public Builder fromIpCreated(ServerIp from) { return ip(from.getIp()).version(from.getVersion()).cost(from.getCost()); } } @@ -74,7 +74,7 @@ public class ServerCreatedIp { protected final int version; protected final double cost; - public ServerCreatedIp(String ip, int version, double cost) { + public ServerIp(String ip, int version, double cost) { this.ip = ip; this.version = version; this.cost = cost; @@ -106,8 +106,8 @@ public class ServerCreatedIp { if (this == object) { return true; } - if (object instanceof ServerCreatedIp) { - final ServerCreatedIp other = (ServerCreatedIp) object; + if (object instanceof ServerIp) { + final ServerIp other = (ServerIp) object; return Objects.equal(ip, other.ip) && Objects.equal(version, other.version) && Objects.equal(cost, other.cost); diff --git a/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/features/DomainClientExpectTest.java b/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/features/DomainClientExpectTest.java index b51208b08b..9240d6420a 100644 --- a/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/features/DomainClientExpectTest.java +++ b/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/features/DomainClientExpectTest.java @@ -49,8 +49,6 @@ public class DomainClientExpectTest extends BaseRestClientExpectTestbuilder() @@ -59,7 +57,7 @@ public class DomainClientExpectTest extends BaseRestClientExpectTest expected = ImmutableSet.of( + Set expected = ImmutableSet.of( Domain.builder().domain("adamlowe.net").createTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2011-12-20 10:58:51")).build()); assertEquals(client.listDomains(), expected); diff --git a/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/features/ServerClientExpectTest.java b/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/features/ServerClientExpectTest.java index 4826b52684..8d1e7ac91f 100644 --- a/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/features/ServerClientExpectTest.java +++ b/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/features/ServerClientExpectTest.java @@ -23,8 +23,8 @@ import com.google.common.collect.ImmutableSet; import org.jclouds.glesys.GleSYSClient; import org.jclouds.glesys.domain.Server; import org.jclouds.glesys.domain.ServerCreated; -import org.jclouds.glesys.domain.ServerCreatedIp; import org.jclouds.glesys.domain.ServerDetails; +import org.jclouds.glesys.domain.ServerIp; import org.jclouds.glesys.options.*; import org.jclouds.glesys.parse.*; import org.jclouds.http.HttpRequest; @@ -128,7 +128,7 @@ public class ServerClientExpectTest extends BaseRestClientExpectTest 0 : server; assert server.getMemory() > 0 : server; assert server.getCost() != null; + assert server.getTransfer() > 0 : server; + + assertNotNull(server.getTemplate()); + assertNotNull(server.getIps()); } private void checkStatus(ServerStatus status) { diff --git a/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerCreatedTest.java b/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerCreatedTest.java index f08739f1d2..36803d8643 100644 --- a/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerCreatedTest.java +++ b/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerCreatedTest.java @@ -23,7 +23,7 @@ import com.google.inject.Guice; import com.google.inject.Injector; import org.jclouds.glesys.config.GleSYSParserModule; import org.jclouds.glesys.domain.ServerCreated; -import org.jclouds.glesys.domain.ServerCreatedIp; +import org.jclouds.glesys.domain.ServerIp; import org.jclouds.json.BaseItemParserTest; import org.jclouds.json.config.GsonModule; import org.jclouds.rest.annotations.SelectJson; @@ -47,7 +47,7 @@ public class ParseServerCreatedTest extends BaseItemParserTest { @SelectJson("server") @Consumes(MediaType.APPLICATION_JSON) public ServerCreated expected() { - return ServerCreated.builder().id("xm3630641").hostname("jclouds-test-host").ips(ServerCreatedIp.builder().ip("109.74.10.27").version4().cost(2.00).build()).build(); + return ServerCreated.builder().id("xm3630641").hostname("jclouds-test-host").ips(ServerIp.builder().ip("109.74.10.27").version4().cost(2.00).build()).build(); } diff --git a/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerDetailsTest.java b/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerDetailsTest.java index c0c89eb14a..0acbdb6320 100644 --- a/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerDetailsTest.java +++ b/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerDetailsTest.java @@ -23,9 +23,8 @@ import com.google.inject.Guice; import com.google.inject.Injector; import org.jclouds.glesys.config.GleSYSParserModule; import org.jclouds.glesys.domain.Cost; -import org.jclouds.glesys.domain.ServerCreated; -import org.jclouds.glesys.domain.ServerCreatedIp; import org.jclouds.glesys.domain.ServerDetails; +import org.jclouds.glesys.domain.ServerIp; import org.jclouds.json.BaseItemParserTest; import org.jclouds.json.config.GsonModule; import org.jclouds.rest.annotations.SelectJson; @@ -49,10 +48,11 @@ public class ParseServerDetailsTest extends BaseItemParserTest { @SelectJson("server") @Consumes(MediaType.APPLICATION_JSON) public ServerDetails expected() { + ServerIp ip = ServerIp.builder().version4().ip("31.192.226.45").cost(2.0).build(); Cost cost = Cost.builder().amount(6.38).currency("EUR").timePeriod("month").build(); - return ServerDetails.builder().id("vz1908384").hostname("jclouds-unit").cpuCores(1). - memory(128).disk(5). - description("unit test server").datacenter("Falkenberg").platform("OpenVZ").cost(cost).build(); + return ServerDetails.builder().id("vz1375882").transfer(50).hostname("jclouds-unit").cpuCores(1).memory(128).disk(5) + .description("unit test server").datacenter("Falkenberg").platform("OpenVZ").template("Debian 6.0 64-bit") + .cost(cost).ips(ip).build(); } protected Injector injector() { diff --git a/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerDetailsWithoutIPsTest.java b/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerDetailsWithoutIPsTest.java index e3afd05aea..1f4c0f69ab 100644 --- a/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerDetailsWithoutIPsTest.java +++ b/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerDetailsWithoutIPsTest.java @@ -52,7 +52,7 @@ public class ParseServerDetailsWithoutIPsTest extends BaseItemParserTest Date: Mon, 16 Jan 2012 14:49:18 +0000 Subject: [PATCH 2/7] Adjusting ServerDetails with additional fields needed for GleSYSComputeServiceAdaptor --- .../src/main/java/org/jclouds/glesys/domain/ServerIp.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerIp.java b/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerIp.java index 7958fa3128..e85887fe12 100644 --- a/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerIp.java +++ b/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerIp.java @@ -22,10 +22,11 @@ package org.jclouds.glesys.domain; import com.google.common.base.Objects; /** - * Represents detailed information about an available ip address of a new server. + * Represents an ip address used by a server. * * @author Adam Lowe * @see ServerCreated + * @see ServerDetails */ public class ServerIp { From 2f2953c603d631ac2fbeed594b2998265693609b Mon Sep 17 00:00:00 2001 From: Andrew Phillips Date: Mon, 16 Jan 2012 12:14:03 -0500 Subject: [PATCH 3/7] Using a different test container since 'test.jclouds-runatcloud-tweetstore' causes 500 errors on cloudonestorage --- demos/tweetstore/runatcloud-tweetstore/pom.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/demos/tweetstore/runatcloud-tweetstore/pom.xml b/demos/tweetstore/runatcloud-tweetstore/pom.xml index 59e7214fd7..e4f225a348 100644 --- a/demos/tweetstore/runatcloud-tweetstore/pom.xml +++ b/demos/tweetstore/runatcloud-tweetstore/pom.xml @@ -103,7 +103,8 @@ ${test.bees.address} ${test.bees.port} ${jclouds.tweetstore.blobstores} - test.${jclouds.tweetstore.container} + + test.${jclouds.tweetstore.container}2 ${project.build.directory}/bees ${project.build.directory}/${project.artifactId} From 6b1e8cee3409e2b2d121f3b0b252106f07174ff7 Mon Sep 17 00:00:00 2001 From: Andrew Phillips Date: Mon, 16 Jan 2012 13:26:33 -0500 Subject: [PATCH 4/7] Dropped support for non-semver compliant 'x.y.z-rc-n' RC versions --- .../main/java/org/jclouds/JcloudsVersion.java | 5 ++--- .../java/org/jclouds/JcloudsVersionTest.java | 22 ++++++------------- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/core/src/main/java/org/jclouds/JcloudsVersion.java b/core/src/main/java/org/jclouds/JcloudsVersion.java index ec36b1f524..016d1ea1f4 100644 --- a/core/src/main/java/org/jclouds/JcloudsVersion.java +++ b/core/src/main/java/org/jclouds/JcloudsVersion.java @@ -39,10 +39,9 @@ public class JcloudsVersion { static final String VERSION_RESOURCE_FILE = "META-INF/maven/org.jclouds/jclouds-core/pom.properties"; private static final String VERSION_PROPERTY_NAME = "version"; - // TODO: stop supporting x.y.z-rc-n after the 1.3.0 release - // x.y.z or x.y.z-rc.n or x.y.z-rc-n, optionally with -SNAPSHOT suffix - see http://semver.org + // x.y.z or x.y.z-rc.n, optionally with -SNAPSHOT suffix - see http://semver.org private static final Pattern SEMANTIC_VERSION_PATTERN = - Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+)(?:-rc[-\\.](\\d+))?(?:-SNAPSHOT)?"); + Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+)(?:-rc\\.(\\d+))?(?:-SNAPSHOT)?"); private static final JcloudsVersion INSTANCE = new JcloudsVersion(); diff --git a/core/src/test/java/org/jclouds/JcloudsVersionTest.java b/core/src/test/java/org/jclouds/JcloudsVersionTest.java index 99acf27984..c639165694 100644 --- a/core/src/test/java/org/jclouds/JcloudsVersionTest.java +++ b/core/src/test/java/org/jclouds/JcloudsVersionTest.java @@ -54,6 +54,12 @@ public class JcloudsVersionTest { new JcloudsVersion("${project.version}"); } + @Test(expectedExceptions = { IllegalArgumentException.class }) + public void testFailsIfNonSemverReleaseCandidate() { + // no longer supported after the 1.3.0 RC cycle + new JcloudsVersion("1.2.3-rc-4"); + } + @Test public void testExtractsVersionFromResourceFile() { JcloudsVersion version = new JcloudsVersion(); @@ -93,29 +99,15 @@ public class JcloudsVersionTest { assertTrue(version.releaseCandidate, "Expected release candidate"); } - // TODO: remove once x.y.z-rc-n support is dropped after 1.3.0 - @Test - public void testRecognisesNonSemverReleaseCandidate() { - JcloudsVersion version = new JcloudsVersion("1.2.3-rc-4"); - assertTrue(version.releaseCandidate, "Expected release candidate"); - } - @Test public void testExtractsReleaseCandidateVersion() { JcloudsVersion version = new JcloudsVersion("1.2.3-rc.4"); assertEquals(Integer.valueOf(4), version.releaseCandidateVersion); } - // TODO: remove once x.y.z-rc-n support is dropped after 1.3.0 - @Test - public void testExtractsNonSemverReleaseCandidateVersion() { - JcloudsVersion version = new JcloudsVersion("1.2.3-rc-4"); - assertEquals(Integer.valueOf(4), version.releaseCandidateVersion); - } - @Test public void testRecognisesReleaseCandidateSnapshot() { - JcloudsVersion version = new JcloudsVersion("1.2.3-rc-4-SNAPSHOT"); + JcloudsVersion version = new JcloudsVersion("1.2.3-rc.4-SNAPSHOT"); assertTrue(version.releaseCandidate, "Expected release candidate"); assertTrue(version.snapshot, "Expected snapshot"); } From f3bbcb601d4fbf4e82dce31e8eb08886242bb585 Mon Sep 17 00:00:00 2001 From: Adam Lowe Date: Mon, 16 Jan 2012 20:04:13 +0000 Subject: [PATCH 5/7] Renaming ServerIp to Ip --- .../glesys/domain/{ServerIp.java => Ip.java} | 14 +++++++------- .../org/jclouds/glesys/domain/ServerCreated.java | 14 +++++++------- .../org/jclouds/glesys/domain/ServerDetails.java | 14 +++++++------- .../glesys/features/ServerClientExpectTest.java | 10 +++++----- .../glesys/parse/ParseServerCreatedTest.java | 4 ++-- .../glesys/parse/ParseServerDetailsTest.java | 4 ++-- 6 files changed, 30 insertions(+), 30 deletions(-) rename sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/{ServerIp.java => Ip.java} (90%) diff --git a/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerIp.java b/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/Ip.java similarity index 90% rename from sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerIp.java rename to sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/Ip.java index e85887fe12..fef18f4c5a 100644 --- a/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerIp.java +++ b/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/Ip.java @@ -28,7 +28,7 @@ import com.google.common.base.Objects; * @see ServerCreated * @see ServerDetails */ -public class ServerIp { +public class Ip { public static Builder builder() { return new Builder(); @@ -62,11 +62,11 @@ public class ServerIp { return this; } - public ServerIp build() { - return new ServerIp(ip, version, cost); + public Ip build() { + return new Ip(ip, version, cost); } - public Builder fromIpCreated(ServerIp from) { + public Builder fromIpCreated(Ip from) { return ip(from.getIp()).version(from.getVersion()).cost(from.getCost()); } } @@ -75,7 +75,7 @@ public class ServerIp { protected final int version; protected final double cost; - public ServerIp(String ip, int version, double cost) { + public Ip(String ip, int version, double cost) { this.ip = ip; this.version = version; this.cost = cost; @@ -107,8 +107,8 @@ public class ServerIp { if (this == object) { return true; } - if (object instanceof ServerIp) { - final ServerIp other = (ServerIp) object; + if (object instanceof Ip) { + final Ip other = (Ip) object; return Objects.equal(ip, other.ip) && Objects.equal(version, other.version) && Objects.equal(cost, other.cost); diff --git a/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerCreated.java b/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerCreated.java index d2f42d75ee..bf0b17b1d9 100644 --- a/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerCreated.java +++ b/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerCreated.java @@ -43,19 +43,19 @@ public class ServerCreated { public static class Builder { private String id; private String hostname; - private List ips; + private List ips; public Builder id(String id) { this.id = id; return this; } - public Builder ips(List ips) { + public Builder ips(List ips) { this.ips = ips; return this; } - public Builder ips(ServerIp... ips) { + public Builder ips(Ip... ips) { return ips(Arrays.asList(ips)); } @@ -77,9 +77,9 @@ public class ServerCreated { private final String id; private final String hostname; @SerializedName("iplist") - private final List ips; + private final List ips; - public ServerCreated(String id, @Nullable String hostname, List ips) { + public ServerCreated(String id, @Nullable String hostname, List ips) { checkNotNull(id, "id"); this.id = id; this.hostname = hostname; @@ -100,8 +100,8 @@ public class ServerCreated { } /** @return the IP addresses assigned to the server */ - public List getIps() { - return ips == null ? ImmutableList.of() : ips; + public List getIps() { + return ips == null ? ImmutableList.of() : ips; } @Override diff --git a/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerDetails.java b/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerDetails.java index 8b507b9a42..b597a11b4e 100644 --- a/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerDetails.java +++ b/sandbox-providers/glesys/src/main/java/org/jclouds/glesys/domain/ServerDetails.java @@ -46,7 +46,7 @@ public class ServerDetails extends Server { private int disk; private int transfer; private Cost cost; - private List ips; + private List ips; public Builder description(String description) { this.description = description; @@ -83,11 +83,11 @@ public class ServerDetails extends Server { return this; } - public Builder ips(ServerIp... ips) { + public Builder ips(Ip... ips) { return ips(Arrays.asList(ips)); } - public Builder ips(List ips) { + public Builder ips(List ips) { this.ips = ips; return this; } @@ -136,10 +136,10 @@ public class ServerDetails extends Server { private final int transfer; private final Cost cost; @SerializedName("iplist") - private final List ips; + private final List ips; public ServerDetails(String id, String hostname, String datacenter, String platform, String template, - String description, int cpuCores, int memory, int disk, int transfer, Cost cost, List ips) { + String description, int cpuCores, int memory, int disk, int transfer, Cost cost, List ips) { super(id, hostname, datacenter, platform); this.template = checkNotNull(template, "template"); this.description = description; @@ -148,7 +148,7 @@ public class ServerDetails extends Server { this.disk = disk; this.transfer = transfer; this.cost = checkNotNull(cost, "cost"); - this.ips = ips == null ? ImmutableList.of() : ips; + this.ips = ips == null ? ImmutableList.of() : ips; } /** @@ -196,7 +196,7 @@ public class ServerDetails extends Server { /** * @return the ip addresses assigned to the server */ - public List getIps() { + public List getIps() { return ips; } diff --git a/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/features/ServerClientExpectTest.java b/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/features/ServerClientExpectTest.java index 8d1e7ac91f..1b4b78c640 100644 --- a/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/features/ServerClientExpectTest.java +++ b/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/features/ServerClientExpectTest.java @@ -24,7 +24,7 @@ import org.jclouds.glesys.GleSYSClient; import org.jclouds.glesys.domain.Server; import org.jclouds.glesys.domain.ServerCreated; import org.jclouds.glesys.domain.ServerDetails; -import org.jclouds.glesys.domain.ServerIp; +import org.jclouds.glesys.domain.Ip; import org.jclouds.glesys.options.*; import org.jclouds.glesys.parse.*; import org.jclouds.http.HttpRequest; @@ -128,7 +128,7 @@ public class ServerClientExpectTest extends BaseRestClientExpectTest { @SelectJson("server") @Consumes(MediaType.APPLICATION_JSON) public ServerCreated expected() { - return ServerCreated.builder().id("xm3630641").hostname("jclouds-test-host").ips(ServerIp.builder().ip("109.74.10.27").version4().cost(2.00).build()).build(); + return ServerCreated.builder().id("xm3630641").hostname("jclouds-test-host").ips(Ip.builder().ip("109.74.10.27").version4().cost(2.00).build()).build(); } diff --git a/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerDetailsTest.java b/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerDetailsTest.java index 0acbdb6320..408a954070 100644 --- a/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerDetailsTest.java +++ b/sandbox-providers/glesys/src/test/java/org/jclouds/glesys/parse/ParseServerDetailsTest.java @@ -24,7 +24,7 @@ import com.google.inject.Injector; import org.jclouds.glesys.config.GleSYSParserModule; import org.jclouds.glesys.domain.Cost; import org.jclouds.glesys.domain.ServerDetails; -import org.jclouds.glesys.domain.ServerIp; +import org.jclouds.glesys.domain.Ip; import org.jclouds.json.BaseItemParserTest; import org.jclouds.json.config.GsonModule; import org.jclouds.rest.annotations.SelectJson; @@ -48,7 +48,7 @@ public class ParseServerDetailsTest extends BaseItemParserTest { @SelectJson("server") @Consumes(MediaType.APPLICATION_JSON) public ServerDetails expected() { - ServerIp ip = ServerIp.builder().version4().ip("31.192.226.45").cost(2.0).build(); + Ip ip = Ip.builder().version4().ip("31.192.226.45").cost(2.0).build(); Cost cost = Cost.builder().amount(6.38).currency("EUR").timePeriod("month").build(); return ServerDetails.builder().id("vz1375882").transfer(50).hostname("jclouds-unit").cpuCores(1).memory(128).disk(5) .description("unit test server").datacenter("Falkenberg").platform("OpenVZ").template("Debian 6.0 64-bit") From e978e01a1d3c20a1517ac79f2ba0ceae82fadeb4 Mon Sep 17 00:00:00 2001 From: andreisavu Date: Fri, 13 Jan 2012 23:07:35 +0200 Subject: [PATCH 6/7] Implemented Zone API for Global Admin --- .../CloudStackGlobalAsyncClient.java | 8 + .../cloudstack/CloudStackGlobalClient.java | 8 + .../config/CloudStackRestClientModule.java | 3 + .../org/jclouds/cloudstack/domain/Zone.java | 35 ++- .../features/GlobalZoneAsyncClient.java | 81 ++++++ .../cloudstack/features/GlobalZoneClient.java | 79 ++++++ .../cloudstack/options/CreateZoneOptions.java | 176 ++++++++++++ .../cloudstack/options/UpdateZoneOptions.java | 260 ++++++++++++++++++ .../features/GlobalZoneClientExpectTest.java | 137 +++++++++ .../features/GlobalZoneClientLiveTest.java | 67 +++++ .../features/ZoneClientExpectTest.java | 97 +++++++ .../features/ZoneClientLiveTest.java | 4 +- .../test/resources/createzoneresponse.json | 4 + .../test/resources/deletezoneresponse.json | 1 + .../test/resources/updatezoneresponse.json | 4 + 15 files changed, 955 insertions(+), 9 deletions(-) create mode 100644 apis/cloudstack/src/main/java/org/jclouds/cloudstack/features/GlobalZoneAsyncClient.java create mode 100644 apis/cloudstack/src/main/java/org/jclouds/cloudstack/features/GlobalZoneClient.java create mode 100644 apis/cloudstack/src/main/java/org/jclouds/cloudstack/options/CreateZoneOptions.java create mode 100644 apis/cloudstack/src/main/java/org/jclouds/cloudstack/options/UpdateZoneOptions.java create mode 100644 apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/GlobalZoneClientExpectTest.java create mode 100644 apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/GlobalZoneClientLiveTest.java create mode 100644 apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/ZoneClientExpectTest.java create mode 100644 apis/cloudstack/src/test/resources/createzoneresponse.json create mode 100644 apis/cloudstack/src/test/resources/deletezoneresponse.json create mode 100644 apis/cloudstack/src/test/resources/updatezoneresponse.json diff --git a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/CloudStackGlobalAsyncClient.java b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/CloudStackGlobalAsyncClient.java index 28f23cb064..7ef070929f 100644 --- a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/CloudStackGlobalAsyncClient.java +++ b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/CloudStackGlobalAsyncClient.java @@ -29,6 +29,7 @@ import org.jclouds.cloudstack.features.GlobalOfferingAsyncClient; import org.jclouds.cloudstack.features.GlobalStoragePoolAsyncClient; import org.jclouds.cloudstack.features.GlobalUsageAsyncClient; import org.jclouds.cloudstack.features.GlobalUserAsyncClient; +import org.jclouds.cloudstack.features.GlobalZoneAsyncClient; import org.jclouds.rest.annotations.Delegate; /** @@ -107,4 +108,11 @@ public interface CloudStackGlobalAsyncClient extends CloudStackDomainAsyncClient @Delegate @Override GlobalDomainAsyncClient getDomainClient(); + + /** + * Provides asynchronous access to Zone + */ + @Delegate + @Override + GlobalZoneAsyncClient getZoneClient(); } diff --git a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/CloudStackGlobalClient.java b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/CloudStackGlobalClient.java index 135a2cb755..c4565f4a77 100644 --- a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/CloudStackGlobalClient.java +++ b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/CloudStackGlobalClient.java @@ -30,6 +30,7 @@ import org.jclouds.cloudstack.features.GlobalOfferingClient; import org.jclouds.cloudstack.features.GlobalStoragePoolClient; import org.jclouds.cloudstack.features.GlobalUsageClient; import org.jclouds.cloudstack.features.GlobalUserClient; +import org.jclouds.cloudstack.features.GlobalZoneClient; import org.jclouds.concurrent.Timeout; import org.jclouds.rest.annotations.Delegate; @@ -110,4 +111,11 @@ public interface CloudStackGlobalClient extends CloudStackDomainClient { @Delegate @Override GlobalDomainClient getDomainClient(); + + /** + * Provides synchronous access to Zone + */ + @Delegate + @Override + GlobalZoneClient getZoneClient(); } diff --git a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/config/CloudStackRestClientModule.java b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/config/CloudStackRestClientModule.java index 62d4b1b284..b72fa3396a 100644 --- a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/config/CloudStackRestClientModule.java +++ b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/config/CloudStackRestClientModule.java @@ -70,6 +70,8 @@ import org.jclouds.cloudstack.features.GlobalUsageAsyncClient; import org.jclouds.cloudstack.features.GlobalUsageClient; import org.jclouds.cloudstack.features.GlobalUserAsyncClient; import org.jclouds.cloudstack.features.GlobalUserClient; +import org.jclouds.cloudstack.features.GlobalZoneAsyncClient; +import org.jclouds.cloudstack.features.GlobalZoneClient; import org.jclouds.cloudstack.features.GuestOSAsyncClient; import org.jclouds.cloudstack.features.GuestOSClient; import org.jclouds.cloudstack.features.HypervisorAsyncClient; @@ -131,6 +133,7 @@ public class CloudStackRestClientModule extends RestClientModule, Class> DELEGATE_MAP = ImmutableMap., Class> builder()// .put(ZoneClient.class, ZoneAsyncClient.class)// + .put(GlobalZoneClient.class, GlobalZoneAsyncClient.class)// .put(TemplateClient.class, TemplateAsyncClient.class)// .put(OfferingClient.class, OfferingAsyncClient.class)// .put(NetworkClient.class, NetworkAsyncClient.class)// diff --git a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/domain/Zone.java b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/domain/Zone.java index 0da59de3b0..d5f2e69e0d 100644 --- a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/domain/Zone.java +++ b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/domain/Zone.java @@ -18,6 +18,8 @@ */ package org.jclouds.cloudstack.domain; +import static com.google.common.base.CaseFormat.UPPER_CAMEL; +import static com.google.common.base.CaseFormat.UPPER_UNDERSCORE; import static com.google.common.base.Preconditions.checkNotNull; import javax.annotation.Nullable; @@ -27,9 +29,29 @@ import com.google.common.collect.ImmutableList; import com.google.gson.annotations.SerializedName; /** - * @author Adrian Cole + * @author Adrian Cole, Andrei Savu */ public class Zone implements Comparable { + + public static enum AllocationState { + DISABLED, + ENABLED, + UNKNOWN; + + public static AllocationState fromValue(String value) { + try{ + return valueOf(value.toUpperCase()); + } catch (IllegalArgumentException e) { + return UNKNOWN; + } + } + + @Override + public String toString() { + return UPPER_UNDERSCORE.to(UPPER_CAMEL, name()); + } + } + public static Builder builder() { return new Builder(); } @@ -47,7 +69,7 @@ public class Zone implements Comparable { private NetworkType networkType; private String VLAN; private boolean securityGroupsEnabled; - private String allocationState; + private AllocationState allocationState; private String dhcpProvider; private String zoneToken; @@ -112,7 +134,7 @@ public class Zone implements Comparable { } - public Builder allocationState(String allocationState) { + public Builder allocationState(AllocationState allocationState) { this.allocationState = allocationState; return this; } @@ -159,8 +181,7 @@ public class Zone implements Comparable { @SerializedName("securitygroupsenabled") private boolean securityGroupsEnabled; @SerializedName("allocationstate") - //TODO Change to enum? - private String allocationState; + private AllocationState allocationState; @SerializedName("dhcpprovider") private String dhcpProvider; @SerializedName("zonetoken") @@ -175,7 +196,7 @@ public class Zone implements Comparable { public Zone(long id, String description, String displayText, List DNS, String domain, long domainId, String guestCIDRAddress, List internalDNS, String name, NetworkType networkType, - String vLAN, boolean securityGroupsEnabled, String allocationState, String dhcpProvider, String zoneToken) { + String vLAN, boolean securityGroupsEnabled, AllocationState allocationState, String dhcpProvider, String zoneToken) { this.id = id; this.description = description; this.displayText = displayText; @@ -293,7 +314,7 @@ public class Zone implements Comparable { /** * @return the allocation state of the cluster */ - public String getAllocationState() { + public AllocationState getAllocationState() { return allocationState; } diff --git a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/features/GlobalZoneAsyncClient.java b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/features/GlobalZoneAsyncClient.java new file mode 100644 index 0000000000..d6c068b7bb --- /dev/null +++ b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/features/GlobalZoneAsyncClient.java @@ -0,0 +1,81 @@ +/** + * Licensed to jclouds, Inc. (jclouds) under one or more + * contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. jclouds 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.cloudstack.features; + +import com.google.common.util.concurrent.ListenableFuture; +import org.jclouds.cloudstack.domain.NetworkType; +import org.jclouds.cloudstack.domain.Zone; +import org.jclouds.cloudstack.filters.QuerySigner; +import org.jclouds.cloudstack.options.CreateZoneOptions; +import org.jclouds.cloudstack.options.UpdateZoneOptions; +import org.jclouds.rest.annotations.ExceptionParser; +import org.jclouds.rest.annotations.QueryParams; +import org.jclouds.rest.annotations.RequestFilters; +import org.jclouds.rest.annotations.SelectJson; +import org.jclouds.rest.functions.ReturnNullOnNotFoundOr404; +import org.jclouds.rest.functions.ReturnVoidOnNotFoundOr404; + +import javax.ws.rs.Consumes; +import javax.ws.rs.GET; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.MediaType; + +/** + * Provides asynchronous access to CloudStack Account features available to Global + * Admin users. + * + * @author Adrian Cole, Andrei Savu + * @see + */ +@RequestFilters(QuerySigner.class) +@QueryParams(keys = "response", values = "json") +public interface GlobalZoneAsyncClient extends ZoneAsyncClient { + + /** + * @see GlobalZoneClient#createZone + */ + @GET + @QueryParams(keys = "command", values = "createZone") + @SelectJson("zone") + @Consumes(MediaType.APPLICATION_JSON) + @ExceptionParser(ReturnNullOnNotFoundOr404.class) + ListenableFuture createZone(@QueryParam("name") String name, @QueryParam("networktype") NetworkType networkType, + @QueryParam("dns1") String externalDns1, @QueryParam("internaldns1") String internalDns1, CreateZoneOptions... options); + + /** + * @see GlobalZoneClient#updateZone + */ + @GET + @QueryParams(keys = "command", values = "updateZone") + @SelectJson("zone") + @Consumes(MediaType.APPLICATION_JSON) + @ExceptionParser(ReturnNullOnNotFoundOr404.class) + ListenableFuture updateZone(@QueryParam("id") long id, UpdateZoneOptions... options); + + /** + * @see GlobalZoneClient#deleteZone + */ + @GET + @QueryParams(keys = "command", values = "deleteZone") + @Consumes(MediaType.APPLICATION_JSON) + @ExceptionParser(ReturnVoidOnNotFoundOr404.class) + ListenableFuture deleteZone(@QueryParam("id") long id); +} diff --git a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/features/GlobalZoneClient.java b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/features/GlobalZoneClient.java new file mode 100644 index 0000000000..b3b2bf9de6 --- /dev/null +++ b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/features/GlobalZoneClient.java @@ -0,0 +1,79 @@ +/** + * Licensed to jclouds, Inc. (jclouds) under one or more + * contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. jclouds 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.cloudstack.features; + +import org.jclouds.cloudstack.domain.NetworkType; +import org.jclouds.cloudstack.domain.Zone; +import org.jclouds.cloudstack.options.CreateZoneOptions; +import org.jclouds.cloudstack.options.UpdateZoneOptions; +import org.jclouds.concurrent.Timeout; + +import java.util.concurrent.TimeUnit; + +/** + * Provides synchronous access to CloudStack Zone features available to Global + * Admin users. + * + * @author Andrei Savu + * @see + */ +@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS) +public interface GlobalZoneClient extends ZoneClient { + + /** + * Create a new Zone + * + * @param name + * the name of the Zone + * @param networkType + * network type of the zone, can be Basic or Advanced + * @param dns1 + * the first DNS for the Zone + * @param internalDns1 + * the first internal DNS for the Zone + * @param options + * optional arguments + * @return + * zone instance or null + */ + Zone createZone(String name, NetworkType networkType, String dns1, + String internalDns1, CreateZoneOptions... options); + + /** + * Update a zone + * + * @param id + * the ID of the Zone + * @param options + * optional arguments + * @return + */ + Zone updateZone(long id, UpdateZoneOptions... options); + + /** + * Delete a zone with a specific ID + * + * @param zoneId + * the ID of the Zone + */ + Void deleteZone(long zoneId); + +} diff --git a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/options/CreateZoneOptions.java b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/options/CreateZoneOptions.java new file mode 100644 index 0000000000..7a4123b84d --- /dev/null +++ b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/options/CreateZoneOptions.java @@ -0,0 +1,176 @@ +/** + * Licensed to jclouds, Inc. (jclouds) under one or more + * contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. jclouds 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.cloudstack.options; + +import com.google.common.collect.ImmutableSet; +import org.jclouds.cloudstack.domain.Zone; +import org.jclouds.http.options.BaseHttpRequestOptions; +import org.jclouds.javax.annotation.Nullable; + +/** + * Options used to control how a zone is created + * + * @see + * @author Andrei Savu + */ +public class CreateZoneOptions extends BaseHttpRequestOptions { + + public static final CreateZoneOptions NONE = new CreateZoneOptions(); + + /** + * @param allocationState + * allocation state of this Zone for allocation of new resources + */ + public CreateZoneOptions allocationState(Zone.AllocationState allocationState) { + this.queryParameters.replaceValues("allocationstate", ImmutableSet.of(allocationState.toString())); + return this; + } + + /** + * @param dns2 + * the second DNS for the Zone + */ + public CreateZoneOptions dns2(String dns2) { + this.queryParameters.replaceValues("dns2", ImmutableSet.of(dns2)); + return this; + } + + /** + * @param internalDns2 + * the second internal DNS for the Zone + */ + public CreateZoneOptions internalDns2(String internalDns2) { + this.queryParameters.replaceValues("internaldns2", ImmutableSet.of(internalDns2)); + return this; + } + + /** + * @param domainName + * network domain name for the networks in zone + */ + public CreateZoneOptions domainName(String domainName) { + this.queryParameters.replaceValues("domain", ImmutableSet.of(domainName)); + return this; + } + + /** + * @param domainId + * the ID of the containing domain; null for public zones + */ + public CreateZoneOptions domainId(@Nullable long domainId) { + this.queryParameters.replaceValues("domainid", ImmutableSet.of(domainId + "")); + return this; + } + + /** + * @param guestCIDRAddress + * the guest CIDR address for the Zone + */ + public CreateZoneOptions guestCIDRAddress(String guestCIDRAddress) { + this.queryParameters.replaceValues("guestcidraddress", ImmutableSet.of(guestCIDRAddress)); + return this; + } + + /** + * @param securityGroupEnabled + * true if network is security group enabled, false otherwise + */ + public CreateZoneOptions securityGroupEnabled(boolean securityGroupEnabled) { + this.queryParameters.replaceValues("securitygroupenabled", ImmutableSet.of(securityGroupEnabled + "")); + return this; + } + + /** + * @param vlan + * the VLAN for the Zone + */ + public CreateZoneOptions vlan(String vlan) { + this.queryParameters.replaceValues("vlan", ImmutableSet.of(vlan)); + return this; + } + + public static class Builder { + + /** + * @see CreateZoneOptions#allocationState + */ + public static CreateZoneOptions allocationState(Zone.AllocationState allocationState) { + CreateZoneOptions options = new CreateZoneOptions(); + return options.allocationState(allocationState); + } + + /** + * @see CreateZoneOptions#dns2 + */ + public static CreateZoneOptions dns2(String dns2) { + CreateZoneOptions options = new CreateZoneOptions(); + return options.dns2(dns2); + } + + /** + * @see CreateZoneOptions#internalDns2 + */ + public static CreateZoneOptions internalDns2(String internalDns2) { + CreateZoneOptions options = new CreateZoneOptions(); + return options.internalDns2(internalDns2); + } + + /** + * @see CreateZoneOptions#domainName + */ + public static CreateZoneOptions domainName(String domainName) { + CreateZoneOptions options = new CreateZoneOptions(); + return options.domainName(domainName); + } + + /** + * @see CreateZoneOptions#domainId + */ + public static CreateZoneOptions domainId(@Nullable long domainId) { + CreateZoneOptions options = new CreateZoneOptions(); + return options.domainId(domainId); + } + + /** + * @see CreateZoneOptions#guestCIDRAddress + */ + public static CreateZoneOptions guestCIDRAddress(String guestCIDRAddress) { + CreateZoneOptions options = new CreateZoneOptions(); + return options.guestCIDRAddress(guestCIDRAddress); + } + + /** + * @see CreateZoneOptions#securityGroupEnabled + */ + public static CreateZoneOptions securityGroupEnabled(boolean securityGroupEnabled) { + CreateZoneOptions options = new CreateZoneOptions(); + return options.securityGroupEnabled(securityGroupEnabled); + } + + /** + * @see CreateZoneOptions#vlan + */ + public static CreateZoneOptions vlan(String vlan) { + CreateZoneOptions options = new CreateZoneOptions(); + return options.vlan(vlan); + } + } +} diff --git a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/options/UpdateZoneOptions.java b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/options/UpdateZoneOptions.java new file mode 100644 index 0000000000..5ea966a17b --- /dev/null +++ b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/options/UpdateZoneOptions.java @@ -0,0 +1,260 @@ +/** + * Licensed to jclouds, Inc. (jclouds) under one or more + * contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. jclouds 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.cloudstack.options; + +import com.google.common.collect.ImmutableSet; +import org.jclouds.cloudstack.domain.Zone; +import org.jclouds.http.options.BaseHttpRequestOptions; + +import java.util.List; + +import static com.google.common.base.Preconditions.checkArgument; + +/** + * Options used to control how a zone is updated + * + * @see + * @author Andrei Savu + */ +public class UpdateZoneOptions extends BaseHttpRequestOptions { + + public static final UpdateZoneOptions NONE = new UpdateZoneOptions(); + + /** + * @param allocationState + * allocation state of this Zone for allocation of new resources + */ + public UpdateZoneOptions allocationState(Zone.AllocationState allocationState) { + this.queryParameters.replaceValues("allocationstate", ImmutableSet.of(allocationState.toString())); + return this; + } + + /** + * @param details + * the details for the Zone + */ + public UpdateZoneOptions details(String details) { + this.queryParameters.replaceValues("details", ImmutableSet.of(details)); + return this; + } + + /** + * @param dhcpProvider + * the dhcp Provider for the Zone + */ + public UpdateZoneOptions dhcpProvider(String dhcpProvider) { + this.queryParameters.replaceValues("dhcpprovider", ImmutableSet.of(dhcpProvider)); + return this; + } + + /** + * @param externalDnsServers + * the list of external DNS servers + */ + public UpdateZoneOptions externalDns(List externalDnsServers) { + checkArgument(externalDnsServers.size() == 1 || externalDnsServers.size() == 2, + "The list of DNS servers should have 1 or 2 elements"); + this.queryParameters.replaceValues("dns1", + ImmutableSet.of(externalDnsServers.get(0))); + if (externalDnsServers.size() == 2) { + this.queryParameters.replaceValues("dns2", + ImmutableSet.of(externalDnsServers.get(1))); + } + return this; + } + + /** + * @param internalDnsServers + * the list of internal DNS for the Zone + */ + public UpdateZoneOptions internalDns(List internalDnsServers) { + checkArgument(internalDnsServers.size() == 1 || internalDnsServers.size() == 2, + "The list of internal DNS servers should have 1 or 2 elements"); + this.queryParameters.replaceValues("internaldns1", + ImmutableSet.of(internalDnsServers.get(0))); + if (internalDnsServers.size() == 2) { + this.queryParameters.replaceValues("internaldns2", + ImmutableSet.of(internalDnsServers.get(1))); + } + return this; + } + + /** + * @param dnsSearchOrder + * the dns search order list + */ + public UpdateZoneOptions dnsSearchOrder(String dnsSearchOrder) { + this.queryParameters.replaceValues("dnssearchorder", ImmutableSet.of(dnsSearchOrder)); + return this; + } + + /** + * @param domainName + * network domain name for the networks in zone + */ + public UpdateZoneOptions domainName(String domainName) { + this.queryParameters.replaceValues("domain", ImmutableSet.of(domainName)); + return this; + } + + /** + * @param guestCIDRAddress + * the guest CIDR address for the Zone + */ + public UpdateZoneOptions guestCIDRAddress(String guestCIDRAddress) { + this.queryParameters.replaceValues("guestcidraddress", ImmutableSet.of(guestCIDRAddress)); + return this; + } + + /** + * @param securityGroupEnabled + * true if network is security group enabled, false otherwise + */ + public UpdateZoneOptions securityGroupEnabled(boolean securityGroupEnabled) { + this.queryParameters.replaceValues("securitygroupenabled", ImmutableSet.of(securityGroupEnabled + "")); + return this; + } + + /** + * You can only make a private Zone public, not the other way around + */ + public UpdateZoneOptions makePublic() { + this.queryParameters.replaceValues("ispublic", ImmutableSet.of("true")); + return this; + } + + /** + * @param name + * the name of the Zone + */ + public UpdateZoneOptions name(String name) { + this.queryParameters.replaceValues("name", ImmutableSet.of(name)); + return this; + } + + /** + * @param vlan + * the VLAN for the Zone + */ + public UpdateZoneOptions vlan(String vlan) { + this.queryParameters.replaceValues("vlan", ImmutableSet.of(vlan)); + return this; + } + + public static class Builder { + + /** + * @see UpdateZoneOptions#allocationState + */ + public static UpdateZoneOptions allocationState(Zone.AllocationState allocationState) { + UpdateZoneOptions options = new UpdateZoneOptions(); + return options.allocationState(allocationState); + } + + /** + * @see UpdateZoneOptions#details + */ + public static UpdateZoneOptions details(String details) { + UpdateZoneOptions options = new UpdateZoneOptions(); + return options.details(details); + } + + /** + * @see UpdateZoneOptions#dhcpProvider + */ + public static UpdateZoneOptions dhcpProvider(String dhcpProvider) { + UpdateZoneOptions options = new UpdateZoneOptions(); + return options.dhcpProvider(dhcpProvider); + } + + /** + * @see UpdateZoneOptions#externalDns + */ + public static UpdateZoneOptions externalDns(List externalDnsServers) { + UpdateZoneOptions options = new UpdateZoneOptions(); + return options.externalDns(externalDnsServers); + } + + /** + * @see UpdateZoneOptions#internalDns + */ + public static UpdateZoneOptions internalDns(List internalDnsServers) { + UpdateZoneOptions options = new UpdateZoneOptions(); + return options.internalDns(internalDnsServers); + } + + /** + * @see UpdateZoneOptions#dnsSearchOrder + */ + public static UpdateZoneOptions dnsSearchOrder(String dnsSearchOrder) { + UpdateZoneOptions options = new UpdateZoneOptions(); + return options.dnsSearchOrder(dnsSearchOrder); + } + + /** + * @see UpdateZoneOptions#domainName + */ + public static UpdateZoneOptions domainName(String domainName) { + UpdateZoneOptions options = new UpdateZoneOptions(); + return options.domainName(domainName); + } + + /** + * @see UpdateZoneOptions#guestCIDRAddress + */ + public static UpdateZoneOptions guestCIDRAddress(String guestCIDRAddress) { + UpdateZoneOptions options = new UpdateZoneOptions(); + return options.guestCIDRAddress(guestCIDRAddress); + } + + /** + * @see UpdateZoneOptions#securityGroupEnabled + */ + public static UpdateZoneOptions securityGroupEnabled(boolean securityGroupEnabled) { + UpdateZoneOptions options = new UpdateZoneOptions(); + return options.securityGroupEnabled(securityGroupEnabled); + } + + /** + * @see UpdateZoneOptions#makePublic + */ + public static UpdateZoneOptions makePublic() { + UpdateZoneOptions options = new UpdateZoneOptions(); + return options.makePublic(); + } + + /** + * @see UpdateZoneOptions#name + */ + public static UpdateZoneOptions name(String name) { + UpdateZoneOptions options = new UpdateZoneOptions(); + return options.name(name); + } + + /** + * @see UpdateZoneOptions#vlan + */ + public static UpdateZoneOptions vlan(String vlan) { + UpdateZoneOptions options = new UpdateZoneOptions(); + return options.vlan(vlan); + } + } +} diff --git a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/GlobalZoneClientExpectTest.java b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/GlobalZoneClientExpectTest.java new file mode 100644 index 0000000000..c7228b342a --- /dev/null +++ b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/GlobalZoneClientExpectTest.java @@ -0,0 +1,137 @@ +/** + * Licensed to jclouds, Inc. (jclouds) under one or more + * contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. jclouds 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.cloudstack.features; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMultimap; +import org.jclouds.cloudstack.CloudStackContext; +import org.jclouds.cloudstack.domain.NetworkType; +import org.jclouds.cloudstack.domain.Zone; +import org.jclouds.http.HttpRequest; +import org.jclouds.http.HttpResponse; +import org.testng.annotations.Test; + +import java.net.URI; + +import static org.jclouds.cloudstack.options.UpdateZoneOptions.Builder.name; +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNull; + +/** + * Test the CloudStack GlobalZoneClient + * + * @author Andrei Savu + */ +@Test(groups = "unit", testName = "GlobalZoneClientExpectTest") +public class GlobalZoneClientExpectTest extends BaseCloudStackRestClientExpectTest { + + public void testCreateZoneWhenResponseIs2xxAnd404() { + HttpRequest request = HttpRequest.builder() + .method("GET") + .endpoint( + URI.create("http://localhost:8080/client/api?response=json&command=createZone&" + + "name=test-zone&dns1=8.8.8.8&networktype=Basic&internaldns1=10.10.10.10&" + + "apiKey=identity&signature=hWNmM2%2BTsfb5DelQa%2FGJLN5DVWE%3D")) + .headers( + ImmutableMultimap.builder() + .put("Accept", "application/json") + .build()) + .build(); + + GlobalZoneClient client = requestSendsResponse(request, + HttpResponse.builder() + .statusCode(200) + .payload(payloadFromResource("/createzoneresponse.json")) + .build()); + + assertEquals(client.createZone("test-zone", NetworkType.BASIC, "8.8.8.8", "10.10.10.10"), + Zone.builder() + .id(6) + .name("test-zone") + .DNS(ImmutableList.of("8.8.8.8")) + .internalDNS(ImmutableList.of("10.10.10.10")) + .networkType(NetworkType.BASIC) + .securityGroupsEnabled(true) + .allocationState(Zone.AllocationState.ENABLED) + .zoneToken("7b6e27df-30a6-3024-9d8b-7971a3127f64") + .dhcpProvider("DhcpServer").build()); + + client = requestSendsResponse(request, HttpResponse.builder().statusCode(404).build()); + assertNull(client.createZone("test-zone", NetworkType.BASIC, "8.8.8.8", "10.10.10.10")); + } + + public void testUpdateZoneWhenResponseIs2xxAnd404() { + HttpRequest request = HttpRequest.builder() + .method("GET") + .endpoint( + URI.create("http://localhost:8080/client/api?response=json&command=updateZone&" + + "id=6&name=test-zone&dns1=8.8.8.8&apiKey=identity&signature=v19FdHKHztdT0IRloYFFn0eNbWM%3D")) + .headers( + ImmutableMultimap.builder() + .put("Accept", "application/json") + .build()) + .build(); + + GlobalZoneClient client = requestSendsResponse(request, + HttpResponse.builder() + .statusCode(200) + .payload(payloadFromResource("/updatezoneresponse.json")) + .build()); + + assertEquals(client.updateZone(6, name("test-zone").externalDns(ImmutableList.of("8.8.8.8"))), + Zone.builder() + .id(6) + .name("test-zone") + .DNS(ImmutableList.of("8.8.8.8")) + .internalDNS(ImmutableList.of("10.10.10.10")) + .networkType(NetworkType.BASIC) + .securityGroupsEnabled(true) + .allocationState(Zone.AllocationState.ENABLED) + .zoneToken("7b6e27df-30a6-3024-9d8b-7971a3127f64") + .dhcpProvider("DhcpServer").build()); + + client = requestSendsResponse(request, HttpResponse.builder().statusCode(404).build()); + assertNull(client.updateZone(6, name("test-zone").externalDns(ImmutableList.of("8.8.8.8")))); + } + + public void testDeleteZone() { + GlobalZoneClient client = requestSendsResponse( + HttpRequest.builder() + .method("GET") + .endpoint( + URI.create("http://localhost:8080/client/api?response=json&" + + "command=deleteZone&id=6&apiKey=identity&signature=TfkzSIK8kzGJnIYo3DofECyuOII%3D")) + .headers( + ImmutableMultimap.builder() + .put("Accept", "application/json") + .build()) + .build(), + HttpResponse.builder() + .statusCode(200) + .payload(payloadFromResource("/deletezoneresponse.json")) + .build()); + + client.deleteZone(6); + } + + @Override + protected GlobalZoneClient clientFrom(CloudStackContext context) { + return context.getGlobalContext().getApi().getZoneClient(); + } +} \ No newline at end of file diff --git a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/GlobalZoneClientLiveTest.java b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/GlobalZoneClientLiveTest.java new file mode 100644 index 0000000000..e873376895 --- /dev/null +++ b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/GlobalZoneClientLiveTest.java @@ -0,0 +1,67 @@ +/** + * Licensed to jclouds, Inc. (jclouds) under one or more + * contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. jclouds 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.cloudstack.features; + +import com.google.common.collect.ImmutableList; +import org.jclouds.cloudstack.domain.NetworkType; +import org.jclouds.cloudstack.domain.Zone; +import org.testng.annotations.Test; + +import static org.jclouds.cloudstack.options.UpdateZoneOptions.Builder.name; +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNotNull; + +/** + * Tests behavior of {@code GlobalZoneClient} + * + * @author Andrei Savu + */ +@Test(groups = "live", singleThreaded = true, testName = "GlobalZoneClientLiveTest") +public class GlobalZoneClientLiveTest extends BaseCloudStackClientLiveTest { + + @Test + public void testCreateUpdateDeleteZone() { + assert globalAdminEnabled; + + Zone zone = null; + String zoneName = prefix + "-zone"; + try { + zone = globalAdminClient.getZoneClient().createZone(zoneName, + NetworkType.BASIC, "8.8.8.8", "10.10.10.10"); + + assertNotNull(zone); + assertEquals(zone, globalAdminClient.getZoneClient().getZone(zone.getId())); + assertEquals(zone.getNetworkType(), NetworkType.BASIC); + assertEquals(zone.getDNS(), ImmutableList.of("8.8.8.8")); + assertEquals(zone.getInternalDNS(), ImmutableList.of("10.10.10.10")); + + Zone updated = globalAdminClient.getZoneClient().updateZone(zone.getId(), + name(zoneName + "-2").externalDns(ImmutableList.of("8.8.4.4"))); + assertEquals(updated.getId(), zone.getId()); + assertEquals(updated.getDNS(), ImmutableList.of("8.8.4.4")); + + } finally { + if (zone != null) { + globalAdminClient.getZoneClient().deleteZone(zone.getId()); + } + } + + } + +} diff --git a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/ZoneClientExpectTest.java b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/ZoneClientExpectTest.java new file mode 100644 index 0000000000..d71874016b --- /dev/null +++ b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/ZoneClientExpectTest.java @@ -0,0 +1,97 @@ +/** + * Licensed to jclouds, Inc. (jclouds) under one or more + * contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. jclouds 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.cloudstack.features; + +import com.google.common.collect.ImmutableMultimap; +import com.google.common.collect.ImmutableSet; +import org.jclouds.cloudstack.CloudStackContext; +import org.jclouds.cloudstack.domain.NetworkType; +import org.jclouds.cloudstack.domain.Zone; +import org.jclouds.http.HttpRequest; +import org.jclouds.http.HttpResponse; +import org.testng.annotations.Test; + +import java.net.URI; + +import static org.testng.Assert.assertEquals; + +/** + * Test the CloudStack ZoneClient + * + * @author Andrei Savu + */ +@Test(groups = "unit", testName = "ZoneClientExpectTest") +public class ZoneClientExpectTest extends BaseCloudStackRestClientExpectTest { + + + public void testListZonesWhenResponseIs2xx() { + ZoneClient client = requestSendsResponse( + HttpRequest.builder() + .method("GET") + .endpoint( + URI.create("http://localhost:8080/client/api?response=json&" + + "command=listZones&apiKey=identity&signature=wLSqVlxuiLXZcHi9IoSAwXNRGFs%3D")) + .headers( + ImmutableMultimap.builder() + .put("Accept", "application/json") + .build()) + .build(), + HttpResponse.builder() + .statusCode(200) + .payload(payloadFromResource("/listzonesresponse.json")) + .build()); + + assertEquals(client.listZones(), + ImmutableSet.of( + Zone.builder() + .id(1) + .name("San Jose 1") + .networkType(NetworkType.ADVANCED) + .securityGroupsEnabled(false).build(), + Zone.builder() + .id(2) + .name("Chicago") + .networkType(NetworkType.ADVANCED) + .securityGroupsEnabled(true).build())); + } + + public void testListZonesWhenResponseIs404() { + ZoneClient client = requestSendsResponse( + HttpRequest.builder() + .method("GET") + .endpoint( + URI.create("http://localhost:8080/client/api?response=json&" + + "command=listZones&apiKey=identity&signature=wLSqVlxuiLXZcHi9IoSAwXNRGFs%3D")) + .headers( + ImmutableMultimap.builder() + .put("Accept", "application/json") + .build()) + .build(), + HttpResponse.builder() + .statusCode(404) + .build()); + + assertEquals(client.listZones(), ImmutableSet.of()); + } + + @Override + protected ZoneClient clientFrom(CloudStackContext context) { + return context.getProviderSpecificContext().getApi().getZoneClient(); + } +} \ No newline at end of file diff --git a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/ZoneClientLiveTest.java b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/ZoneClientLiveTest.java index c4d5846ff1..c829d52518 100644 --- a/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/ZoneClientLiveTest.java +++ b/apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/ZoneClientLiveTest.java @@ -61,8 +61,8 @@ public class ZoneClientLiveTest extends BaseCloudStackClientLiveTest { break; case BASIC: assert zone.getVLAN() == null : zone; - assert zone.getDNS().size() == 0 : zone; - assert zone.getInternalDNS().size() == 0 : zone; + assert zone.getDNS().size() >= 0 : zone; + assert zone.getInternalDNS().size() >= 0 : zone; assert zone.getDomain() == null : zone; assert zone.getDomainId() <= 0 : zone; assert zone.getGuestCIDRAddress() == null : zone; diff --git a/apis/cloudstack/src/test/resources/createzoneresponse.json b/apis/cloudstack/src/test/resources/createzoneresponse.json new file mode 100644 index 0000000000..a4b9604bda --- /dev/null +++ b/apis/cloudstack/src/test/resources/createzoneresponse.json @@ -0,0 +1,4 @@ +{ "createzoneresponse" : { "zone" : + {"id":6,"name":"test-zone","dns1":"8.8.8.8","internaldns1":"10.10.10.10","networktype":"Basic", + "securitygroupsenabled":true,"allocationstate":"Enabled","zonetoken":"7b6e27df-30a6-3024-9d8b-7971a3127f64", + "dhcpprovider":"DhcpServer"} } } \ No newline at end of file diff --git a/apis/cloudstack/src/test/resources/deletezoneresponse.json b/apis/cloudstack/src/test/resources/deletezoneresponse.json new file mode 100644 index 0000000000..93d68e2b6d --- /dev/null +++ b/apis/cloudstack/src/test/resources/deletezoneresponse.json @@ -0,0 +1 @@ +{ "deletezoneresponse" : { "success" : "true"} } \ No newline at end of file diff --git a/apis/cloudstack/src/test/resources/updatezoneresponse.json b/apis/cloudstack/src/test/resources/updatezoneresponse.json new file mode 100644 index 0000000000..240c49d913 --- /dev/null +++ b/apis/cloudstack/src/test/resources/updatezoneresponse.json @@ -0,0 +1,4 @@ +{ "updatezoneresponse" : { "zone" : + {"id":6,"name":"test-zone","dns1":"8.8.8.8","internaldns1":"10.10.10.10","networktype":"Basic", + "securitygroupsenabled":true,"allocationstate":"Enabled","zonetoken":"7b6e27df-30a6-3024-9d8b-7971a3127f64", + "dhcpprovider":"DhcpServer"} } } \ No newline at end of file From 3df052565fc4493cc0ac42e6b408ac3ab1dd73c3 Mon Sep 17 00:00:00 2001 From: Adrian Cole Date: Mon, 16 Jan 2012 13:08:06 -0800 Subject: [PATCH 7/7] updated current version to 1.4.0-SNAPSHOT --- README.txt | 12 ++++++------ all/pom.xml | 2 +- allblobstore/pom.xml | 2 +- allcompute/pom.xml | 2 +- allloadbalancer/pom.xml | 2 +- antcontrib/pom.xml | 2 +- apis/atmos/pom.xml | 2 +- apis/byon/pom.xml | 2 +- apis/cloudfiles/pom.xml | 2 +- apis/cloudloadbalancers/pom.xml | 2 +- apis/cloudservers/pom.xml | 2 +- apis/cloudsigma/pom.xml | 2 +- apis/cloudstack/pom.xml | 2 +- apis/cloudwatch/pom.xml | 2 +- apis/deltacloud/pom.xml | 2 +- apis/ec2/pom.xml | 2 +- apis/elasticstack/pom.xml | 2 +- apis/eucalyptus/pom.xml | 2 +- apis/filesystem/pom.xml | 2 +- apis/nova/pom.xml | 2 +- apis/pom.xml | 2 +- apis/s3/pom.xml | 2 +- apis/swift/pom.xml | 2 +- apis/vcloud/pom.xml | 2 +- apis/walrus/pom.xml | 2 +- archetypes/compute-service-archetype/pom.xml | 2 +- archetypes/pom.xml | 2 +- archetypes/rest-client-archetype/pom.xml | 2 +- assemblies/pom.xml | 2 +- blobstore/pom.xml | 2 +- common/aws/pom.xml | 2 +- common/azure/pom.xml | 2 +- common/openstack/pom.xml | 2 +- common/pom.xml | 2 +- common/trmk/pom.xml | 2 +- compute/pom.xml | 2 +- core/pom.xml | 2 +- demos/getpath/pom.xml | 2 +- demos/googleappengine/pom.xml | 2 +- demos/perftest/pom.xml | 2 +- demos/pom.xml | 2 +- demos/simpledb/pom.xml | 2 +- demos/speedtest-azurequeue/pom.xml | 2 +- demos/speedtest-sqs/pom.xml | 2 +- demos/tweetstore/gae-tweetstore-spring/pom.xml | 2 +- demos/tweetstore/gae-tweetstore/pom.xml | 2 +- demos/tweetstore/pom.xml | 2 +- demos/tweetstore/runatcloud-tweetstore/pom.xml | 2 +- drivers/apachehc/pom.xml | 2 +- drivers/bouncycastle/pom.xml | 2 +- drivers/enterprise/pom.xml | 2 +- drivers/gae/pom.xml | 2 +- drivers/joda/pom.xml | 2 +- drivers/jsch/pom.xml | 2 +- drivers/log4j/pom.xml | 2 +- drivers/netty/pom.xml | 2 +- drivers/pom.xml | 2 +- drivers/slf4j/pom.xml | 2 +- drivers/sshj/pom.xml | 2 +- loadbalancer/pom.xml | 2 +- pom.xml | 2 +- project/pom.xml | 2 +- providers/aws-cloudwatch/pom.xml | 2 +- providers/aws-ec2/pom.xml | 2 +- providers/aws-s3/pom.xml | 2 +- providers/azureblob/pom.xml | 2 +- providers/bluelock-vcloud-zone01/pom.xml | 2 +- providers/cloudfiles-uk/pom.xml | 2 +- providers/cloudfiles-us/pom.xml | 2 +- providers/cloudloadbalancers-uk/pom.xml | 2 +- providers/cloudloadbalancers-us/pom.xml | 2 +- providers/cloudonestorage/pom.xml | 2 +- providers/cloudservers-uk/pom.xml | 2 +- providers/cloudservers-us/pom.xml | 2 +- providers/cloudsigma-lvs/pom.xml | 2 +- providers/cloudsigma-zrh/pom.xml | 2 +- .../CloudSigmaZurichTemplateBuilderLiveTest.java | 11 ++++++----- providers/elastichosts-lax-p/pom.xml | 2 +- providers/elastichosts-lon-b/pom.xml | 2 +- providers/elastichosts-lon-p/pom.xml | 2 +- providers/elastichosts-sat-p/pom.xml | 2 +- providers/elastichosts-tor-p/pom.xml | 2 +- providers/eucalyptus-partnercloud-ec2/pom.xml | 2 +- providers/eucalyptus-partnercloud-s3/pom.xml | 2 +- providers/go2cloud-jhb1/pom.xml | 2 +- providers/gogrid/pom.xml | 2 +- providers/greenhousedata-element-vcloud/pom.xml | 2 +- providers/hpcloud-objectstorage-lvs/pom.xml | 2 +- providers/ninefold-compute/pom.xml | 2 +- providers/ninefold-storage/pom.xml | 2 +- providers/openhosting-east1/pom.xml | 2 +- providers/pom.xml | 2 +- providers/rimuhosting/pom.xml | 2 +- providers/savvis-symphonyvpdc/pom.xml | 2 +- providers/serverlove-z1-man/pom.xml | 2 +- providers/skalicloud-sdg-my/pom.xml | 2 +- providers/slicehost/pom.xml | 2 +- providers/softlayer/pom.xml | 2 +- providers/stratogen-vcloud-mycloud/pom.xml | 2 +- providers/synaptic-storage/pom.xml | 2 +- providers/trmk-ecloud/pom.xml | 2 +- providers/trmk-vcloudexpress/pom.xml | 2 +- resources/pom.xml | 2 +- sandbox-apis/elb/pom.xml | 2 +- sandbox-apis/libvirt/pom.xml | 2 +- sandbox-apis/nirvanix/pom.xml | 2 +- sandbox-apis/openstack-nova/pom.xml | 2 +- sandbox-apis/pcs/pom.xml | 2 +- sandbox-apis/scality-rs2/pom.xml | 2 +- sandbox-apis/simpledb/pom.xml | 2 +- sandbox-apis/sqs/pom.xml | 2 +- sandbox-apis/virtualbox/pom.xml | 2 +- sandbox-drivers/asynchttpclient/pom.xml | 2 +- sandbox-providers/aws-elb/pom.xml | 2 +- sandbox-providers/aws-simpledb/pom.xml | 2 +- sandbox-providers/azurequeue/pom.xml | 2 +- sandbox-providers/boxdotnet/pom.xml | 2 +- sandbox-providers/dunkel-vcd/pom.xml | 2 +- sandbox-providers/glesys/pom.xml | 2 +- sandbox-providers/googlestorage/pom.xml | 2 +- sandbox-providers/hosteurope-storage/pom.xml | 2 +- sandbox-providers/ibm-smartcloud/pom.xml | 2 +- sandbox-providers/scaleup-storage/pom.xml | 2 +- sandbox-providers/tiscali-storage/pom.xml | 2 +- sandbox-providers/twitter/pom.xml | 2 +- sandbox-providers/virtacore-publiccloud-lax/pom.xml | 2 +- scriptbuilder/pom.xml | 2 +- skeletons/pom.xml | 2 +- skeletons/standalone-compute/pom.xml | 2 +- 129 files changed, 139 insertions(+), 138 deletions(-) diff --git a/README.txt b/README.txt index 70ddd37aae..8968711288 100644 --- a/README.txt +++ b/README.txt @@ -7,9 +7,9 @@ two abstractions at the moment: compute and blobstore. compute helps you bootstrap machines in the cloud. blobstore helps you manage key-value data. -our current version is 1.2.1 -our next maintenance version is 1.2.2-SNAPSHOT -our dev version is 1.3.0-SNAPSHOT +our current version is 1.3.0 +our next maintenance version is 1.3.1-SNAPSHOT +our dev version is 1.4.0-SNAPSHOT check out our examples site! https://github.com/jclouds/jclouds-examples @@ -112,8 +112,8 @@ Compute Example (Clojure): (RunScriptOptions$Builder/wrapInInitScript false)) Downloads: - * release notes: http://code.google.com/p/jclouds/wiki/ReleaseNotes111 - * installation guide: http://code.google.com/p/jclouds/wiki/Installation + * release notes: http://www.jclouds.org/documentation/releasenotes/1.3 + * installation guide: http://www.jclouds.org/documentation/userguide/installation-guide * maven repo: http://repo2.maven.org/maven2 (maven central - the default repository) * snapshot repo: https://oss.sonatype.org/content/repositories/snapshots @@ -129,6 +129,6 @@ Links: ## License -Copyright (C) 2009-2011 jclouds, Inc. +Copyright (C) 2009-2012 jclouds, Inc. Licensed under the Apache License, Version 2.0 diff --git a/all/pom.xml b/all/pom.xml index 1ab0d93cf7..3deae35c65 100644 --- a/all/pom.xml +++ b/all/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml jclouds-all diff --git a/allblobstore/pom.xml b/allblobstore/pom.xml index e8208dd5a5..02909ccd2e 100644 --- a/allblobstore/pom.xml +++ b/allblobstore/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml jclouds-allblobstore diff --git a/allcompute/pom.xml b/allcompute/pom.xml index e7261eb175..c1f25f29fa 100644 --- a/allcompute/pom.xml +++ b/allcompute/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml jclouds-allcompute diff --git a/allloadbalancer/pom.xml b/allloadbalancer/pom.xml index 1a1c365dc9..20fce4a70d 100644 --- a/allloadbalancer/pom.xml +++ b/allloadbalancer/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml jclouds-allloadbalancer diff --git a/antcontrib/pom.xml b/antcontrib/pom.xml index c2bc99307d..c4908b93ce 100644 --- a/antcontrib/pom.xml +++ b/antcontrib/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml jclouds-antcontrib diff --git a/apis/atmos/pom.xml b/apis/atmos/pom.xml index eab04c365b..7e0ac8ea19 100644 --- a/apis/atmos/pom.xml +++ b/apis/atmos/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml diff --git a/apis/byon/pom.xml b/apis/byon/pom.xml index 19a98f29ae..1f1d6ceb5b 100644 --- a/apis/byon/pom.xml +++ b/apis/byon/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml diff --git a/apis/cloudfiles/pom.xml b/apis/cloudfiles/pom.xml index 0ab0549aa3..0ed32c7cb3 100644 --- a/apis/cloudfiles/pom.xml +++ b/apis/cloudfiles/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/apis/cloudloadbalancers/pom.xml b/apis/cloudloadbalancers/pom.xml index f414c69876..2bebaefb07 100644 --- a/apis/cloudloadbalancers/pom.xml +++ b/apis/cloudloadbalancers/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/apis/cloudservers/pom.xml b/apis/cloudservers/pom.xml index 6342b134f0..1a7b33ea87 100644 --- a/apis/cloudservers/pom.xml +++ b/apis/cloudservers/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml diff --git a/apis/cloudsigma/pom.xml b/apis/cloudsigma/pom.xml index c2cc9a243b..2e9a4f77c6 100644 --- a/apis/cloudsigma/pom.xml +++ b/apis/cloudsigma/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/apis/cloudstack/pom.xml b/apis/cloudstack/pom.xml index 4c5626a5b0..f8f10a42d3 100644 --- a/apis/cloudstack/pom.xml +++ b/apis/cloudstack/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/apis/cloudwatch/pom.xml b/apis/cloudwatch/pom.xml index 559236a7f5..dd65e8bb17 100644 --- a/apis/cloudwatch/pom.xml +++ b/apis/cloudwatch/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/apis/deltacloud/pom.xml b/apis/deltacloud/pom.xml index 476c9cec8a..e721c0437e 100644 --- a/apis/deltacloud/pom.xml +++ b/apis/deltacloud/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/apis/ec2/pom.xml b/apis/ec2/pom.xml index ae171c57e7..85c4197f31 100644 --- a/apis/ec2/pom.xml +++ b/apis/ec2/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/apis/elasticstack/pom.xml b/apis/elasticstack/pom.xml index c51c5965d2..24f1af0b0f 100644 --- a/apis/elasticstack/pom.xml +++ b/apis/elasticstack/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/apis/eucalyptus/pom.xml b/apis/eucalyptus/pom.xml index 272ab501ee..8d6edb50ee 100644 --- a/apis/eucalyptus/pom.xml +++ b/apis/eucalyptus/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/apis/filesystem/pom.xml b/apis/filesystem/pom.xml index 429b6d3ecc..6ac7d6d86d 100644 --- a/apis/filesystem/pom.xml +++ b/apis/filesystem/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/apis/nova/pom.xml b/apis/nova/pom.xml index 490f6dc474..501c7c99ad 100644 --- a/apis/nova/pom.xml +++ b/apis/nova/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/apis/pom.xml b/apis/pom.xml index f35c1a535e..386c11e887 100644 --- a/apis/pom.xml +++ b/apis/pom.xml @@ -24,7 +24,7 @@ jclouds-project org.jclouds - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml org.jclouds.api diff --git a/apis/s3/pom.xml b/apis/s3/pom.xml index 0dd853328d..4f9f2d1340 100644 --- a/apis/s3/pom.xml +++ b/apis/s3/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/apis/swift/pom.xml b/apis/swift/pom.xml index a998434613..0a00444862 100644 --- a/apis/swift/pom.xml +++ b/apis/swift/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/apis/vcloud/pom.xml b/apis/vcloud/pom.xml index 32e42bbe2b..c257efc227 100644 --- a/apis/vcloud/pom.xml +++ b/apis/vcloud/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/apis/walrus/pom.xml b/apis/walrus/pom.xml index 0febe97041..b21cbb1970 100644 --- a/apis/walrus/pom.xml +++ b/apis/walrus/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/archetypes/compute-service-archetype/pom.xml b/archetypes/compute-service-archetype/pom.xml index f99da224f1..a6d64aa097 100644 --- a/archetypes/compute-service-archetype/pom.xml +++ b/archetypes/compute-service-archetype/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml jclouds-compute-service-archetype diff --git a/archetypes/pom.xml b/archetypes/pom.xml index 6741550d17..33b4dad03c 100644 --- a/archetypes/pom.xml +++ b/archetypes/pom.xml @@ -24,7 +24,7 @@ jclouds-project org.jclouds - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml jclouds-archetypes diff --git a/archetypes/rest-client-archetype/pom.xml b/archetypes/rest-client-archetype/pom.xml index aa513e8317..6c6152505a 100644 --- a/archetypes/rest-client-archetype/pom.xml +++ b/archetypes/rest-client-archetype/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml jclouds-rest-client-archetype diff --git a/assemblies/pom.xml b/assemblies/pom.xml index 45e85e0cac..cf1af5cf18 100644 --- a/assemblies/pom.xml +++ b/assemblies/pom.xml @@ -24,7 +24,7 @@ jclouds-project org.jclouds - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml jclouds-assemblies diff --git a/blobstore/pom.xml b/blobstore/pom.xml index f17abcf37b..7fad7bf158 100644 --- a/blobstore/pom.xml +++ b/blobstore/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml jclouds-blobstore diff --git a/common/aws/pom.xml b/common/aws/pom.xml index 9656607769..591bcdb53f 100644 --- a/common/aws/pom.xml +++ b/common/aws/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.common diff --git a/common/azure/pom.xml b/common/azure/pom.xml index f17c4fce1f..ac9438da3d 100644 --- a/common/azure/pom.xml +++ b/common/azure/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.common diff --git a/common/openstack/pom.xml b/common/openstack/pom.xml index e88ed75127..d37bb63751 100644 --- a/common/openstack/pom.xml +++ b/common/openstack/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml diff --git a/common/pom.xml b/common/pom.xml index 27dc592670..1cb5c439d0 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -24,7 +24,7 @@ jclouds-project org.jclouds - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml org.jclouds.common diff --git a/common/trmk/pom.xml b/common/trmk/pom.xml index a5bb48eb6e..9de25cba3f 100644 --- a/common/trmk/pom.xml +++ b/common/trmk/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml diff --git a/compute/pom.xml b/compute/pom.xml index 50cf9a4a7e..50aa3fe15e 100644 --- a/compute/pom.xml +++ b/compute/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml diff --git a/core/pom.xml b/core/pom.xml index a8aa286afa..67ff4ec4b5 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -24,7 +24,7 @@ jclouds-project org.jclouds - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml jclouds-core diff --git a/demos/getpath/pom.xml b/demos/getpath/pom.xml index 821da7952f..46ed7205c5 100644 --- a/demos/getpath/pom.xml +++ b/demos/getpath/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-demos-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT jclouds-demo-getpath jclouds getpath diff --git a/demos/googleappengine/pom.xml b/demos/googleappengine/pom.xml index 1c6bbab989..b46ea08629 100644 --- a/demos/googleappengine/pom.xml +++ b/demos/googleappengine/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-demos-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT jclouds-demo-googleappengine war diff --git a/demos/perftest/pom.xml b/demos/perftest/pom.xml index 3d34ddf325..0d0732c591 100644 --- a/demos/perftest/pom.xml +++ b/demos/perftest/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-demos-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT jclouds-demo-perftest jclouds Performance test verses Amazon SDK implementation diff --git a/demos/pom.xml b/demos/pom.xml index 7b57ad8a37..28c166422e 100644 --- a/demos/pom.xml +++ b/demos/pom.xml @@ -23,7 +23,7 @@ jclouds-project org.jclouds - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml 4.0.0 diff --git a/demos/simpledb/pom.xml b/demos/simpledb/pom.xml index a3a1dcf64b..bc5d4f19ff 100644 --- a/demos/simpledb/pom.xml +++ b/demos/simpledb/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-demos-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT jclouds-demo-simpledb jclouds simpledb sample that putAttributes and select it diff --git a/demos/speedtest-azurequeue/pom.xml b/demos/speedtest-azurequeue/pom.xml index 0d8d641b21..55f05ad443 100644 --- a/demos/speedtest-azurequeue/pom.xml +++ b/demos/speedtest-azurequeue/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-demos-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT jclouds-demo-speedtest-azurequeue Speed tests of Azure's queue offering diff --git a/demos/speedtest-sqs/pom.xml b/demos/speedtest-sqs/pom.xml index 5be4b60853..56bcd87ac9 100644 --- a/demos/speedtest-sqs/pom.xml +++ b/demos/speedtest-sqs/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-demos-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT jclouds-demo-speedtest-sqs Speed tests of SQS across regions diff --git a/demos/tweetstore/gae-tweetstore-spring/pom.xml b/demos/tweetstore/gae-tweetstore-spring/pom.xml index 7652afb790..64a68a1493 100644 --- a/demos/tweetstore/gae-tweetstore-spring/pom.xml +++ b/demos/tweetstore/gae-tweetstore-spring/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-demos-tweetstore-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT jclouds-demo-gae-tweetstore-spring war diff --git a/demos/tweetstore/gae-tweetstore/pom.xml b/demos/tweetstore/gae-tweetstore/pom.xml index 37a0d45411..8826488937 100644 --- a/demos/tweetstore/gae-tweetstore/pom.xml +++ b/demos/tweetstore/gae-tweetstore/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-demos-tweetstore-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT jclouds-demo-gae-tweetstore war diff --git a/demos/tweetstore/pom.xml b/demos/tweetstore/pom.xml index 8d08aa3a4e..63f51013de 100644 --- a/demos/tweetstore/pom.xml +++ b/demos/tweetstore/pom.xml @@ -23,7 +23,7 @@ jclouds-demos-project org.jclouds - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT 4.0.0 jclouds-demos-tweetstore-project diff --git a/demos/tweetstore/runatcloud-tweetstore/pom.xml b/demos/tweetstore/runatcloud-tweetstore/pom.xml index e4f225a348..8efda42eb7 100644 --- a/demos/tweetstore/runatcloud-tweetstore/pom.xml +++ b/demos/tweetstore/runatcloud-tweetstore/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-demos-tweetstore-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT jclouds-demo-runatcloud-tweetstore war diff --git a/drivers/apachehc/pom.xml b/drivers/apachehc/pom.xml index 895e81259e..371b2759e7 100644 --- a/drivers/apachehc/pom.xml +++ b/drivers/apachehc/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.driver diff --git a/drivers/bouncycastle/pom.xml b/drivers/bouncycastle/pom.xml index 1368279819..6b4f74184d 100644 --- a/drivers/bouncycastle/pom.xml +++ b/drivers/bouncycastle/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.driver diff --git a/drivers/enterprise/pom.xml b/drivers/enterprise/pom.xml index 461782fcf8..eeb6b42254 100644 --- a/drivers/enterprise/pom.xml +++ b/drivers/enterprise/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.driver diff --git a/drivers/gae/pom.xml b/drivers/gae/pom.xml index f62159ee41..058e60e52a 100644 --- a/drivers/gae/pom.xml +++ b/drivers/gae/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.driver diff --git a/drivers/joda/pom.xml b/drivers/joda/pom.xml index b5006ab4b8..e0d948ca4f 100644 --- a/drivers/joda/pom.xml +++ b/drivers/joda/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.driver diff --git a/drivers/jsch/pom.xml b/drivers/jsch/pom.xml index e4452316b9..1e795bfa81 100644 --- a/drivers/jsch/pom.xml +++ b/drivers/jsch/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.driver diff --git a/drivers/log4j/pom.xml b/drivers/log4j/pom.xml index a2d8ec6f77..54b9c9b223 100644 --- a/drivers/log4j/pom.xml +++ b/drivers/log4j/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.driver diff --git a/drivers/netty/pom.xml b/drivers/netty/pom.xml index eb3a43ae6e..8ac11e43b7 100644 --- a/drivers/netty/pom.xml +++ b/drivers/netty/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.driver diff --git a/drivers/pom.xml b/drivers/pom.xml index c621a7b40c..7f89b62925 100644 --- a/drivers/pom.xml +++ b/drivers/pom.xml @@ -24,7 +24,7 @@ jclouds-project org.jclouds - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml jclouds-drivers-project diff --git a/drivers/slf4j/pom.xml b/drivers/slf4j/pom.xml index 081e0335e8..4b6d034d8d 100644 --- a/drivers/slf4j/pom.xml +++ b/drivers/slf4j/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.driver diff --git a/drivers/sshj/pom.xml b/drivers/sshj/pom.xml index 1f72cb0bae..b195b57b9a 100644 --- a/drivers/sshj/pom.xml +++ b/drivers/sshj/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.driver diff --git a/loadbalancer/pom.xml b/loadbalancer/pom.xml index 4dc4e57dd8..1283483147 100644 --- a/loadbalancer/pom.xml +++ b/loadbalancer/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml jclouds-loadbalancer diff --git a/pom.xml b/pom.xml index 67a1fc5962..de6e02da71 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT project/pom.xml jclouds-multi diff --git a/project/pom.xml b/project/pom.xml index 467a5fe012..0c0c9589be 100644 --- a/project/pom.xml +++ b/project/pom.xml @@ -28,7 +28,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT pom jclouds Project http://www.jclouds.org diff --git a/providers/aws-cloudwatch/pom.xml b/providers/aws-cloudwatch/pom.xml index d77927a5d4..3e96c84d77 100644 --- a/providers/aws-cloudwatch/pom.xml +++ b/providers/aws-cloudwatch/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/aws-ec2/pom.xml b/providers/aws-ec2/pom.xml index 5eefe3d98a..882c28619e 100644 --- a/providers/aws-ec2/pom.xml +++ b/providers/aws-ec2/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/aws-s3/pom.xml b/providers/aws-s3/pom.xml index 2ffd814391..9e42a8a00b 100644 --- a/providers/aws-s3/pom.xml +++ b/providers/aws-s3/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/azureblob/pom.xml b/providers/azureblob/pom.xml index e573264dd6..cb59ddbcab 100644 --- a/providers/azureblob/pom.xml +++ b/providers/azureblob/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/bluelock-vcloud-zone01/pom.xml b/providers/bluelock-vcloud-zone01/pom.xml index 231b167aab..87d97e0a31 100644 --- a/providers/bluelock-vcloud-zone01/pom.xml +++ b/providers/bluelock-vcloud-zone01/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/cloudfiles-uk/pom.xml b/providers/cloudfiles-uk/pom.xml index 2afc2445a0..f0cd94f979 100644 --- a/providers/cloudfiles-uk/pom.xml +++ b/providers/cloudfiles-uk/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/cloudfiles-us/pom.xml b/providers/cloudfiles-us/pom.xml index c7df756ffd..60c67caa75 100644 --- a/providers/cloudfiles-us/pom.xml +++ b/providers/cloudfiles-us/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/cloudloadbalancers-uk/pom.xml b/providers/cloudloadbalancers-uk/pom.xml index 6ca7dbdd5d..ad598b8661 100644 --- a/providers/cloudloadbalancers-uk/pom.xml +++ b/providers/cloudloadbalancers-uk/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/cloudloadbalancers-us/pom.xml b/providers/cloudloadbalancers-us/pom.xml index d702ea77d1..a7412f1b98 100644 --- a/providers/cloudloadbalancers-us/pom.xml +++ b/providers/cloudloadbalancers-us/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/cloudonestorage/pom.xml b/providers/cloudonestorage/pom.xml index 14a5fbda89..4a18ae8e4c 100644 --- a/providers/cloudonestorage/pom.xml +++ b/providers/cloudonestorage/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/cloudservers-uk/pom.xml b/providers/cloudservers-uk/pom.xml index 4469ea3596..f992554251 100644 --- a/providers/cloudservers-uk/pom.xml +++ b/providers/cloudservers-uk/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/cloudservers-us/pom.xml b/providers/cloudservers-us/pom.xml index 33bbf9f0b8..634f357d9f 100644 --- a/providers/cloudservers-us/pom.xml +++ b/providers/cloudservers-us/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/cloudsigma-lvs/pom.xml b/providers/cloudsigma-lvs/pom.xml index 05344a9ab9..1b4afa6a1e 100644 --- a/providers/cloudsigma-lvs/pom.xml +++ b/providers/cloudsigma-lvs/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/cloudsigma-zrh/pom.xml b/providers/cloudsigma-zrh/pom.xml index 937380d35d..2077c41e57 100644 --- a/providers/cloudsigma-zrh/pom.xml +++ b/providers/cloudsigma-zrh/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaZurichTemplateBuilderLiveTest.java b/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaZurichTemplateBuilderLiveTest.java index 733b490404..0e8be6fadd 100644 --- a/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaZurichTemplateBuilderLiveTest.java +++ b/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaZurichTemplateBuilderLiveTest.java @@ -52,17 +52,18 @@ public class CloudSigmaZurichTemplateBuilderLiveTest extends BaseTemplateBuilder public boolean apply(OsFamilyVersion64Bit input) { switch (input.family) { case UBUNTU: - return (input.version.equals("") || input.version.matches("1[01].04") || input.version.equals("10.10")) - && input.is64Bit; + return input.version.equals("") || input.version.equals("10.04") + || ((input.version.equals("11.04") || input.version.equals("10.10")) && input.is64Bit); case SOLARIS: return input.version.equals("") && input.is64Bit; case DEBIAN: - return (input.version.equals("") || input.version.equals("5.0")) && input.is64Bit; + return input.version.equals("") || input.version.equals("5.0"); case CENTOS: return input.version.equals("") || (input.version.equals("5.7") && input.is64Bit); case WINDOWS: - return input.version.equals("") - || ((input.version.equals("2008") || input.version.equals("2003")) && !input.is64Bit); + return input.version.equals("") || input.version.equals("2003") + || (input.version.equals("2008 R2") && input.is64Bit) + || (input.version.equals("2008") && !input.is64Bit); default: return false; } diff --git a/providers/elastichosts-lax-p/pom.xml b/providers/elastichosts-lax-p/pom.xml index 226b63f40b..04c988e707 100644 --- a/providers/elastichosts-lax-p/pom.xml +++ b/providers/elastichosts-lax-p/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/elastichosts-lon-b/pom.xml b/providers/elastichosts-lon-b/pom.xml index 4f8cd50423..c2513751d1 100644 --- a/providers/elastichosts-lon-b/pom.xml +++ b/providers/elastichosts-lon-b/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/elastichosts-lon-p/pom.xml b/providers/elastichosts-lon-p/pom.xml index b3399fb906..a5507982e9 100644 --- a/providers/elastichosts-lon-p/pom.xml +++ b/providers/elastichosts-lon-p/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/elastichosts-sat-p/pom.xml b/providers/elastichosts-sat-p/pom.xml index fbc60910fb..dee6120743 100644 --- a/providers/elastichosts-sat-p/pom.xml +++ b/providers/elastichosts-sat-p/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/elastichosts-tor-p/pom.xml b/providers/elastichosts-tor-p/pom.xml index 63dddbce97..e8c2b08dae 100644 --- a/providers/elastichosts-tor-p/pom.xml +++ b/providers/elastichosts-tor-p/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/eucalyptus-partnercloud-ec2/pom.xml b/providers/eucalyptus-partnercloud-ec2/pom.xml index aa65433cc4..4df2159b8e 100644 --- a/providers/eucalyptus-partnercloud-ec2/pom.xml +++ b/providers/eucalyptus-partnercloud-ec2/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/eucalyptus-partnercloud-s3/pom.xml b/providers/eucalyptus-partnercloud-s3/pom.xml index 40e57236ba..3d8193aaee 100644 --- a/providers/eucalyptus-partnercloud-s3/pom.xml +++ b/providers/eucalyptus-partnercloud-s3/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/go2cloud-jhb1/pom.xml b/providers/go2cloud-jhb1/pom.xml index a188534384..a3d73619e0 100644 --- a/providers/go2cloud-jhb1/pom.xml +++ b/providers/go2cloud-jhb1/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/gogrid/pom.xml b/providers/gogrid/pom.xml index 8c4f6b17c1..5dadd866c8 100644 --- a/providers/gogrid/pom.xml +++ b/providers/gogrid/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/greenhousedata-element-vcloud/pom.xml b/providers/greenhousedata-element-vcloud/pom.xml index f407917b6c..33f7e3074a 100644 --- a/providers/greenhousedata-element-vcloud/pom.xml +++ b/providers/greenhousedata-element-vcloud/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/hpcloud-objectstorage-lvs/pom.xml b/providers/hpcloud-objectstorage-lvs/pom.xml index b287a9412e..0f0d4801dd 100644 --- a/providers/hpcloud-objectstorage-lvs/pom.xml +++ b/providers/hpcloud-objectstorage-lvs/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/ninefold-compute/pom.xml b/providers/ninefold-compute/pom.xml index e033a333d0..2df4ab616e 100644 --- a/providers/ninefold-compute/pom.xml +++ b/providers/ninefold-compute/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/ninefold-storage/pom.xml b/providers/ninefold-storage/pom.xml index 4c5581b882..e008f2372c 100644 --- a/providers/ninefold-storage/pom.xml +++ b/providers/ninefold-storage/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/openhosting-east1/pom.xml b/providers/openhosting-east1/pom.xml index d560257fe6..f2aadb313a 100644 --- a/providers/openhosting-east1/pom.xml +++ b/providers/openhosting-east1/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/pom.xml b/providers/pom.xml index d487de2b16..6ec4558f56 100644 --- a/providers/pom.xml +++ b/providers/pom.xml @@ -24,7 +24,7 @@ jclouds-project org.jclouds - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml org.jclouds.provider diff --git a/providers/rimuhosting/pom.xml b/providers/rimuhosting/pom.xml index 9fd412da94..ae9aaa3d6e 100644 --- a/providers/rimuhosting/pom.xml +++ b/providers/rimuhosting/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/savvis-symphonyvpdc/pom.xml b/providers/savvis-symphonyvpdc/pom.xml index 5bab196a44..907bf3d668 100644 --- a/providers/savvis-symphonyvpdc/pom.xml +++ b/providers/savvis-symphonyvpdc/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/serverlove-z1-man/pom.xml b/providers/serverlove-z1-man/pom.xml index 25cfd13251..14e69675fd 100644 --- a/providers/serverlove-z1-man/pom.xml +++ b/providers/serverlove-z1-man/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/skalicloud-sdg-my/pom.xml b/providers/skalicloud-sdg-my/pom.xml index d63a715d76..25bf9f1c44 100644 --- a/providers/skalicloud-sdg-my/pom.xml +++ b/providers/skalicloud-sdg-my/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/slicehost/pom.xml b/providers/slicehost/pom.xml index 82e2827d15..4fa62b8ed9 100644 --- a/providers/slicehost/pom.xml +++ b/providers/slicehost/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/softlayer/pom.xml b/providers/softlayer/pom.xml index b60caf54f4..2792788241 100644 --- a/providers/softlayer/pom.xml +++ b/providers/softlayer/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/stratogen-vcloud-mycloud/pom.xml b/providers/stratogen-vcloud-mycloud/pom.xml index 6e51617c86..baca422017 100644 --- a/providers/stratogen-vcloud-mycloud/pom.xml +++ b/providers/stratogen-vcloud-mycloud/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/synaptic-storage/pom.xml b/providers/synaptic-storage/pom.xml index 8edeaa646d..8d289dbb97 100644 --- a/providers/synaptic-storage/pom.xml +++ b/providers/synaptic-storage/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/trmk-ecloud/pom.xml b/providers/trmk-ecloud/pom.xml index b50ba6bc08..5fda5e1cf5 100644 --- a/providers/trmk-ecloud/pom.xml +++ b/providers/trmk-ecloud/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/providers/trmk-vcloudexpress/pom.xml b/providers/trmk-vcloudexpress/pom.xml index 18835cdf37..b14d84ab5c 100644 --- a/providers/trmk-vcloudexpress/pom.xml +++ b/providers/trmk-vcloudexpress/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/resources/pom.xml b/resources/pom.xml index 326ccfce04..b318f94acd 100644 --- a/resources/pom.xml +++ b/resources/pom.xml @@ -24,7 +24,7 @@ jclouds-project org.jclouds - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml jclouds-resources diff --git a/sandbox-apis/elb/pom.xml b/sandbox-apis/elb/pom.xml index f1fdd1c192..a68c456f84 100644 --- a/sandbox-apis/elb/pom.xml +++ b/sandbox-apis/elb/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/sandbox-apis/libvirt/pom.xml b/sandbox-apis/libvirt/pom.xml index 398cf61273..5ae9c18736 100644 --- a/sandbox-apis/libvirt/pom.xml +++ b/sandbox-apis/libvirt/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/sandbox-apis/nirvanix/pom.xml b/sandbox-apis/nirvanix/pom.xml index 85063ba449..978ce6e920 100644 --- a/sandbox-apis/nirvanix/pom.xml +++ b/sandbox-apis/nirvanix/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/sandbox-apis/openstack-nova/pom.xml b/sandbox-apis/openstack-nova/pom.xml index 9660cb2a28..5d57aeb52e 100644 --- a/sandbox-apis/openstack-nova/pom.xml +++ b/sandbox-apis/openstack-nova/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/sandbox-apis/pcs/pom.xml b/sandbox-apis/pcs/pom.xml index dc5ecbd077..eb6a727d13 100644 --- a/sandbox-apis/pcs/pom.xml +++ b/sandbox-apis/pcs/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/sandbox-apis/scality-rs2/pom.xml b/sandbox-apis/scality-rs2/pom.xml index d11e695083..32233c20f6 100644 --- a/sandbox-apis/scality-rs2/pom.xml +++ b/sandbox-apis/scality-rs2/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/sandbox-apis/simpledb/pom.xml b/sandbox-apis/simpledb/pom.xml index d0ffb06d72..6c55043298 100644 --- a/sandbox-apis/simpledb/pom.xml +++ b/sandbox-apis/simpledb/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/sandbox-apis/sqs/pom.xml b/sandbox-apis/sqs/pom.xml index bad642f647..568748bcfe 100644 --- a/sandbox-apis/sqs/pom.xml +++ b/sandbox-apis/sqs/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/sandbox-apis/virtualbox/pom.xml b/sandbox-apis/virtualbox/pom.xml index f4b3a57516..252b71b59a 100644 --- a/sandbox-apis/virtualbox/pom.xml +++ b/sandbox-apis/virtualbox/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api diff --git a/sandbox-drivers/asynchttpclient/pom.xml b/sandbox-drivers/asynchttpclient/pom.xml index 69974a3fec..d2ffea5639 100644 --- a/sandbox-drivers/asynchttpclient/pom.xml +++ b/sandbox-drivers/asynchttpclient/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.driver diff --git a/sandbox-providers/aws-elb/pom.xml b/sandbox-providers/aws-elb/pom.xml index 673d042902..d63753f0b6 100644 --- a/sandbox-providers/aws-elb/pom.xml +++ b/sandbox-providers/aws-elb/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/sandbox-providers/aws-simpledb/pom.xml b/sandbox-providers/aws-simpledb/pom.xml index 8060295005..05bc4d676f 100644 --- a/sandbox-providers/aws-simpledb/pom.xml +++ b/sandbox-providers/aws-simpledb/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/sandbox-providers/azurequeue/pom.xml b/sandbox-providers/azurequeue/pom.xml index 195da18806..e471a2e57b 100644 --- a/sandbox-providers/azurequeue/pom.xml +++ b/sandbox-providers/azurequeue/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/sandbox-providers/boxdotnet/pom.xml b/sandbox-providers/boxdotnet/pom.xml index e36166e047..e7d0fe0472 100644 --- a/sandbox-providers/boxdotnet/pom.xml +++ b/sandbox-providers/boxdotnet/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/sandbox-providers/dunkel-vcd/pom.xml b/sandbox-providers/dunkel-vcd/pom.xml index 99a564c8d7..ca5c8f0915 100644 --- a/sandbox-providers/dunkel-vcd/pom.xml +++ b/sandbox-providers/dunkel-vcd/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/sandbox-providers/glesys/pom.xml b/sandbox-providers/glesys/pom.xml index 3a03d0d3ec..ddb548a3c9 100644 --- a/sandbox-providers/glesys/pom.xml +++ b/sandbox-providers/glesys/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/sandbox-providers/googlestorage/pom.xml b/sandbox-providers/googlestorage/pom.xml index c42aab0d71..22719f5763 100644 --- a/sandbox-providers/googlestorage/pom.xml +++ b/sandbox-providers/googlestorage/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/sandbox-providers/hosteurope-storage/pom.xml b/sandbox-providers/hosteurope-storage/pom.xml index 2b51626972..36350e1d05 100644 --- a/sandbox-providers/hosteurope-storage/pom.xml +++ b/sandbox-providers/hosteurope-storage/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/sandbox-providers/ibm-smartcloud/pom.xml b/sandbox-providers/ibm-smartcloud/pom.xml index c8ea4dd28f..93bab35ba1 100644 --- a/sandbox-providers/ibm-smartcloud/pom.xml +++ b/sandbox-providers/ibm-smartcloud/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/sandbox-providers/scaleup-storage/pom.xml b/sandbox-providers/scaleup-storage/pom.xml index 9840623221..d1e82338c5 100644 --- a/sandbox-providers/scaleup-storage/pom.xml +++ b/sandbox-providers/scaleup-storage/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/sandbox-providers/tiscali-storage/pom.xml b/sandbox-providers/tiscali-storage/pom.xml index 2deac1f95f..efff2bb60b 100644 --- a/sandbox-providers/tiscali-storage/pom.xml +++ b/sandbox-providers/tiscali-storage/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/sandbox-providers/twitter/pom.xml b/sandbox-providers/twitter/pom.xml index cdfcb46c2a..8b44ba6feb 100644 --- a/sandbox-providers/twitter/pom.xml +++ b/sandbox-providers/twitter/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/sandbox-providers/virtacore-publiccloud-lax/pom.xml b/sandbox-providers/virtacore-publiccloud-lax/pom.xml index 6a8b7921d5..e46d5510cb 100644 --- a/sandbox-providers/virtacore-publiccloud-lax/pom.xml +++ b/sandbox-providers/virtacore-publiccloud-lax/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.provider diff --git a/scriptbuilder/pom.xml b/scriptbuilder/pom.xml index 9c155a9c1c..47a2176958 100644 --- a/scriptbuilder/pom.xml +++ b/scriptbuilder/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml jclouds-scriptbuilder diff --git a/skeletons/pom.xml b/skeletons/pom.xml index 26b7de0cc8..ca16ee4e85 100644 --- a/skeletons/pom.xml +++ b/skeletons/pom.xml @@ -23,7 +23,7 @@ jclouds-project org.jclouds - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../project/pom.xml 4.0.0 diff --git a/skeletons/standalone-compute/pom.xml b/skeletons/standalone-compute/pom.xml index e3dd9b9fc1..518cd52701 100644 --- a/skeletons/standalone-compute/pom.xml +++ b/skeletons/standalone-compute/pom.xml @@ -24,7 +24,7 @@ org.jclouds jclouds-project - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT ../../project/pom.xml org.jclouds.api