diff --git a/allcompute/pom.xml b/allcompute/pom.xml
index c29e5533ec..488a10887c 100644
--- a/allcompute/pom.xml
+++ b/allcompute/pom.xml
@@ -78,11 +78,6 @@
vcloud
${project.version}
-
- org.apache.jclouds.api
- cloudsigma
- ${project.version}
-
org.apache.jclouds.provider
bluelock-vcloud-zone01
@@ -128,16 +123,6 @@
skalicloud-sdg-my
${project.version}
-
- org.apache.jclouds.provider
- cloudsigma-zrh
- ${project.version}
-
-
- org.apache.jclouds.provider
- cloudsigma-lvs
- ${project.version}
-
org.apache.jclouds.provider
go2cloud-jhb1
diff --git a/apis/cloudsigma/README.txt b/apis/cloudsigma/README.txt
deleted file mode 100644
index bddfd04340..0000000000
--- a/apis/cloudsigma/README.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-#
-# The jclouds provider for CloudSigma (http://www.cloudsigma.com/).
-#
-# TODO: Implementation status.
-# TODO: Supported features.
-# TODO: Usage example.
diff --git a/apis/cloudsigma/pom.xml b/apis/cloudsigma/pom.xml
deleted file mode 100644
index 859f62db34..0000000000
--- a/apis/cloudsigma/pom.xml
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
- 4.0.0
-
- org.apache.jclouds
- jclouds-project
- 2.0.0-SNAPSHOT
- ../../project/pom.xml
-
- org.apache.jclouds.api
- cloudsigma
- jclouds CloudSigma API
- ComputeService binding to the CloudSigma API
- bundle
-
-
- https://api.cloudsigma.com
- 1.0
-
- FIXME_IDENTITY
- FIXME_CREDENTIAL
- imageId=f3c7c665-cd54-4a78-8fd2-7ec2f028cf29
- org.jclouds.cloudsigma*;version="${project.version}"
-
- org.jclouds.compute.internal;version="${project.version}",
- org.jclouds.rest.internal;version="${project.version}",
- org.jclouds*;version="${project.version}",
- *
-
-
-
-
-
- org.apache.jclouds
- jclouds-compute
- ${project.version}
-
-
- org.apache.jclouds.driver
- jclouds-sshj
- ${project.version}
- test
-
-
- org.apache.jclouds
- jclouds-core
- ${project.version}
- test-jar
- test
-
-
- org.apache.jclouds
- jclouds-compute
- ${project.version}
- test-jar
- test
-
-
- org.apache.jclouds.driver
- jclouds-log4j
- ${project.version}
- test
-
-
-
-
- live
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
-
- integration
- integration-test
-
- test
-
-
-
- ${test.cloudsigma.endpoint}
- ${test.cloudsigma.api-version}
- ${test.cloudsigma.build-version}
- ${test.cloudsigma.identity}
- ${test.cloudsigma.credential}
- ${test.cloudsigma.template}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/CloudSigmaApi.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/CloudSigmaApi.java
deleted file mode 100644
index da0156d0a8..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/CloudSigmaApi.java
+++ /dev/null
@@ -1,447 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma;
-
-import java.io.Closeable;
-import java.util.Set;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.Fallbacks.VoidOnNotFoundOr404;
-import org.jclouds.cloudsigma.binders.BindCloneDriveOptionsToPlainTextString;
-import org.jclouds.cloudsigma.binders.BindDriveDataToPlainTextString;
-import org.jclouds.cloudsigma.binders.BindDriveToPlainTextString;
-import org.jclouds.cloudsigma.binders.BindServerToPlainTextString;
-import org.jclouds.cloudsigma.domain.Drive;
-import org.jclouds.cloudsigma.domain.DriveData;
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.cloudsigma.domain.ProfileInfo;
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.cloudsigma.domain.StaticIPInfo;
-import org.jclouds.cloudsigma.domain.VLANInfo;
-import org.jclouds.cloudsigma.functions.KeyValuesDelimitedByBlankLinesToDriveInfo;
-import org.jclouds.cloudsigma.functions.KeyValuesDelimitedByBlankLinesToProfileInfo;
-import org.jclouds.cloudsigma.functions.KeyValuesDelimitedByBlankLinesToServerInfo;
-import org.jclouds.cloudsigma.functions.KeyValuesDelimitedByBlankLinesToStaticIPInfo;
-import org.jclouds.cloudsigma.functions.KeyValuesDelimitedByBlankLinesToVLANInfo;
-import org.jclouds.cloudsigma.functions.ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet;
-import org.jclouds.cloudsigma.functions.ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet;
-import org.jclouds.cloudsigma.functions.ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet;
-import org.jclouds.cloudsigma.functions.ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet;
-import org.jclouds.cloudsigma.functions.SplitNewlines;
-import org.jclouds.cloudsigma.functions.SplitNewlinesAndReturnSecondField;
-import org.jclouds.cloudsigma.options.CloneDriveOptions;
-import org.jclouds.http.filters.BasicAuthentication;
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.MapBinder;
-import org.jclouds.rest.annotations.Payload;
-import org.jclouds.rest.annotations.PayloadParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-
-/**
- * Provides synchronous access to CloudSigma via their REST API.
- *
- *
- * @see
- */
-@RequestFilters(BasicAuthentication.class)
-@Consumes(MediaType.TEXT_PLAIN)
-public interface CloudSigmaApi extends Closeable {
-
- /**
- * list of drive uuids that are in the library
- *
- * @return or empty set if no drives are found
- */
- @GET
- @Path("/drives/standard/list")
- @ResponseParser(SplitNewlines.class)
- Set listStandardDrives();
-
- /**
- * list of cd uuids that are in the library
- *
- * @return or empty set if no cds are found
- */
- @GET
- @Path("/drives/standard/cd/list")
- @ResponseParser(SplitNewlines.class)
- Set listStandardCds();
-
- /**
- * list of image uuids that are in the library
- *
- * @return or empty set if no images are found
- */
- @GET
- @Path("/drives/standard/img/list")
- @ResponseParser(SplitNewlines.class)
- Set listStandardImages();
-
- /**
- * Clone an existing drive. By default, the size is the same as the source
- *
- * @param sourceUuid
- * source to clone
- * @param newName
- * name of the resulting drive
- * @param options
- * options to control size
- * @return new drive
- */
- @POST
- @ResponseParser(KeyValuesDelimitedByBlankLinesToDriveInfo.class)
- @Path("/drives/{uuid}/clone")
- @MapBinder(BindCloneDriveOptionsToPlainTextString.class)
- DriveInfo cloneDrive(@PathParam("uuid") String sourceUuid, @PayloadParam("name") String newName,
- CloneDriveOptions... options);
-
- /**
- * Get profile info
- *
- * @return info or null, if not found
- */
- @GET
- @Path("/profile/info")
- @Fallback(NullOnNotFoundOr404.class)
- @ResponseParser(KeyValuesDelimitedByBlankLinesToProfileInfo.class)
- ProfileInfo getProfileInfo();
-
- /**
- * Get all drives info
- *
- * @return or empty set if no drives are found
- */
- @GET
- @Path("/drives/info")
- @ResponseParser(ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.class)
- Set listDriveInfo();
-
- /**
- * @param uuid
- * what to get
- * @return null, if not found
- */
- @GET
- @Fallback(NullOnNotFoundOr404.class)
- @ResponseParser(KeyValuesDelimitedByBlankLinesToDriveInfo.class)
- @Path("/drives/{uuid}/info")
- DriveInfo getDriveInfo(@PathParam("uuid") String uuid);
-
- /**
- * create a new drive
- *
- * @param createDrive
- * required parameters: name, size
- * @return newly created drive
- */
- @POST
- @Fallback(NullOnNotFoundOr404.class)
- @ResponseParser(KeyValuesDelimitedByBlankLinesToDriveInfo.class)
- @Path("/drives/create")
- DriveInfo createDrive(@BinderParam(BindDriveToPlainTextString.class) Drive createDrive);
-
- /**
- * set extra drive data
- *
- * @param uuid
- * what drive to change
- * @param createDrive
- * what values to change
- * @return new data
- */
- @POST
- @ResponseParser(KeyValuesDelimitedByBlankLinesToDriveInfo.class)
- @Path("/drives/{uuid}/set")
- DriveInfo setDriveData(@PathParam("uuid") String uuid,
- @BinderParam(BindDriveDataToPlainTextString.class) DriveData createDrive);
-
- /**
- * create a new server
- *
- * @param createServer
- * @return newly created server
- */
- @POST
- @Fallback(NullOnNotFoundOr404.class)
- @ResponseParser(KeyValuesDelimitedByBlankLinesToServerInfo.class)
- @Path("/servers/create")
- ServerInfo createServer(@BinderParam(BindServerToPlainTextString.class) Server createServer);
-
- /**
- * Get all servers info
- *
- * @return or empty set if no servers are found
- */
- @GET
- @Path("/servers/info")
- @ResponseParser(ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.class)
- Set listServerInfo();
-
- /**
- * @param uuid
- * what to get
- * @return null, if not found
- */
- @GET
- @Fallback(NullOnNotFoundOr404.class)
- @ResponseParser(KeyValuesDelimitedByBlankLinesToServerInfo.class)
- @Path("/servers/{uuid}/info")
- ServerInfo getServerInfo(@PathParam("uuid") String uuid);
-
- /**
- * set server configuration
- *
- * @param uuid
- * what server to change
- * @param setServer
- * what values to change
- * @return new data
- */
- @POST
- @Fallback(NullOnNotFoundOr404.class)
- @ResponseParser(KeyValuesDelimitedByBlankLinesToServerInfo.class)
- @Path("/servers/{uuid}/set")
- ServerInfo setServerConfiguration(@PathParam("uuid") String uuid,
- @BinderParam(BindServerToPlainTextString.class) Server setServer);
-
- /**
- * list of server uuids in your account
- *
- * @return or empty set if no servers are found
- */
- @GET
- @Path("/servers/list")
- @ResponseParser(SplitNewlines.class)
- Set listServers();
-
- /**
- * Destroy a server
- *
- * @param uuid
- * what to destroy
- */
- @GET
- @Path("/servers/{uuid}/destroy")
- @Fallback(VoidOnNotFoundOr404.class)
- void destroyServer(@PathParam("uuid") String uuid);
-
- /**
- * Start a server
- *
- * @param uuid
- * what to start
- */
- @POST
- @Path("/servers/{uuid}/start")
- void startServer(@PathParam("uuid") String uuid);
-
- /**
- * Stop a server
- *
- * Kills the server immediately, equivalent to a power failure. Server reverts to a stopped
- * status if it is persistent and is automatically destroyed otherwise.
- *
- * @param uuid
- * what to stop
- */
- @POST
- @Path("/servers/{uuid}/stop")
- void stopServer(@PathParam("uuid") String uuid);
-
- /**
- * Shutdown a server
- *
- * Sends the server an ACPI power-down event. Server reverts to a stopped status if it is
- * persistent and is automatically destroyed otherwise.
- * note behaviour on shutdown depends on how your server OS is set up to respond to an
- * ACPI power button signal.
- *
- * @param uuid
- * what to shutdown
- */
- @POST
- @Path("/servers/{uuid}/shutdown")
- void shutdownServer(@PathParam("uuid") String uuid);
-
- /**
- * Reset a server
- *
- * @param uuid
- * what to reset
- */
- @POST
- @Path("/servers/{uuid}/reset")
- void resetServer(@PathParam("uuid") String uuid);
-
- /**
- * list of drive uuids in your account
- *
- * @return or empty set if no drives are found
- */
- @GET
- @Path("/drives/list")
- @ResponseParser(SplitNewlines.class)
- Set listDrives();
-
- /**
- * Destroy a drive
- *
- * @param uuid
- * what to delete
- */
- @GET
- @Path("/drives/{uuid}/destroy")
- @Fallback(VoidOnNotFoundOr404.class)
- void destroyDrive(@PathParam("uuid") String uuid);
-
- /**
- * create a new vlan
- *
- * @param name
- * @return newly created vlan
- */
- @POST
- @Fallback(NullOnNotFoundOr404.class)
- @ResponseParser(KeyValuesDelimitedByBlankLinesToVLANInfo.class)
- @Path("/resources/vlan/create")
- @Payload("name {name}\n")
- @Produces(MediaType.TEXT_PLAIN)
- VLANInfo createVLAN(@PayloadParam("name") String name);
-
- /**
- * Get all vlans info
- *
- * @return or empty set if no vlans are found
- */
- @GET
- @Path("/resources/vlan/info")
- @ResponseParser(ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet.class)
- Set listVLANInfo();
-
- /**
- * @param uuid
- * what to get
- * @return null, if not found
- */
- @GET
- @Fallback(NullOnNotFoundOr404.class)
- @ResponseParser(KeyValuesDelimitedByBlankLinesToVLANInfo.class)
- @Path("/resources/vlan/{uuid}/info")
- VLANInfo getVLANInfo(@PathParam("uuid") String uuid);
-
- /**
- * set vlan configuration
- *
- * @param uuid
- * what vlan to change
- * @param name
- * what the new name is
- * @return new data
- */
- @POST
- @ResponseParser(KeyValuesDelimitedByBlankLinesToVLANInfo.class)
- @Path("/resources/vlan/{uuid}/set")
- @Payload("name {name}\n")
- @Produces(MediaType.TEXT_PLAIN)
- VLANInfo renameVLAN(@PathParam("uuid") String uuid, @PayloadParam("name") String name);
-
- /**
- * list of vlan uuids in your account
- *
- * @return or empty set if no vlans are found
- */
- @GET
- @Path("/resources/vlan/list")
- @ResponseParser(SplitNewlinesAndReturnSecondField.class)
- Set listVLANs();
-
- /**
- * Destroy a vlan
- *
- * @param uuid
- * what to destroy
- */
- @GET
- @Path("/resources/vlan/{uuid}/destroy")
- @Fallback(VoidOnNotFoundOr404.class)
- void destroyVLAN(@PathParam("uuid") String uuid);
-
- /**
- * create a new ip
- *
- * @return newly created ip
- */
- @POST
- @Fallback(NullOnNotFoundOr404.class)
- @ResponseParser(KeyValuesDelimitedByBlankLinesToStaticIPInfo.class)
- @Path("/resources/ip/create")
- StaticIPInfo createStaticIP();
-
- /**
- * Get all ips info
- *
- * @return or empty set if no ips are found
- */
- @GET
- @Path("/resources/ip/info")
- @ResponseParser(ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet.class)
- Set listStaticIPInfo();
-
- /**
- * @param uuid
- * what to get
- * @return null, if not found
- */
- @GET
- @Fallback(NullOnNotFoundOr404.class)
- @ResponseParser(KeyValuesDelimitedByBlankLinesToStaticIPInfo.class)
- @Path("/resources/ip/{uuid}/info")
- StaticIPInfo getStaticIPInfo(@PathParam("uuid") String uuid);
-
- /**
- * list of ip uuids in your account
- *
- * @return or empty set if no ips are found
- */
- @GET
- @Path("/resources/ip/list")
- @ResponseParser(SplitNewlinesAndReturnSecondField.class)
- Set listStaticIPs();
-
- /**
- * Destroy a ip
- *
- * @param uuid
- * what to destroy
- */
- @GET
- @Path("/resources/ip/{uuid}/destroy")
- @Fallback(VoidOnNotFoundOr404.class)
- void destroyStaticIP(@PathParam("uuid") String uuid);
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/CloudSigmaApiMetadata.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/CloudSigmaApiMetadata.java
deleted file mode 100644
index 6a0192ed05..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/CloudSigmaApiMetadata.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma;
-import static org.jclouds.cloudsigma.reference.CloudSigmaConstants.PROPERTY_VNC_PASSWORD;
-import static org.jclouds.compute.config.ComputeServiceProperties.TEMPLATE;
-import static org.jclouds.reflect.Reflection2.typeToken;
-
-import java.net.URI;
-import java.util.Properties;
-
-import org.jclouds.cloudsigma.compute.config.CloudSigmaComputeServiceContextModule;
-import org.jclouds.cloudsigma.config.CloudSigmaRestClientModule;
-import org.jclouds.compute.ComputeServiceContext;
-import org.jclouds.rest.internal.BaseHttpApiMetadata;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
-/**
- * Implementation of {@link ApiMetadata} for the Cloud Sigma API
- */
-public class CloudSigmaApiMetadata extends BaseHttpApiMetadata {
-
-
- @Override
- public Builder toBuilder() {
- return new Builder().fromApiMetadata(this);
- }
-
- public CloudSigmaApiMetadata() {
- this(new Builder());
- }
-
- protected CloudSigmaApiMetadata(Builder builder) {
- super(builder);
- }
-
- public static Properties defaultProperties() {
- Properties properties = BaseHttpApiMetadata.defaultProperties();
- properties.setProperty(PROPERTY_VNC_PASSWORD, "IL9vs34d");
- // passwords are set post-boot, so auth failures are possible
- // from a race condition applying the password set script
- properties.setProperty("jclouds.ssh.max-retries", "7");
- properties.setProperty("jclouds.ssh.retry-auth", "true");
- properties.setProperty(TEMPLATE, "osFamily=UBUNTU,imageNameMatches=.*[Aa]utomated SSH Access.*,os64Bit=true");
- return properties;
- }
-
- public static class Builder extends BaseHttpApiMetadata.Builder {
-
- protected Builder() {
- id("cloudsigma")
- .name("CloudSigma API")
- .identityName("Email")
- .credentialName("Password")
- .documentation(URI.create("http://cloudsigma.com/en/platform-details/the-api"))
- .version("1.0")
- .defaultEndpoint("https://api.cloudsigma.com")
- .defaultProperties(CloudSigmaApiMetadata.defaultProperties())
- .view(typeToken(ComputeServiceContext.class))
- .defaultModules(ImmutableSet.>of(CloudSigmaRestClientModule.class, CloudSigmaComputeServiceContextModule.class));
- }
-
- @Override
- public CloudSigmaApiMetadata build() {
- return new CloudSigmaApiMetadata(this);
- }
-
- @Override
- protected Builder self() {
- return this;
- }
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindCloneDriveOptionsToPlainTextString.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindCloneDriveOptionsToPlainTextString.java
deleted file mode 100644
index 9736efacf2..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindCloneDriveOptionsToPlainTextString.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.cloudsigma.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLines;
-import org.jclouds.cloudsigma.options.CloneDriveOptions;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.MapBinder;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Maps;
-
-@Singleton
-public class BindCloneDriveOptionsToPlainTextString implements MapBinder {
- private final ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines;
-
- @Inject
- public BindCloneDriveOptionsToPlainTextString(
- ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines) {
- this.listOfMapsToListOfKeyValuesDelimitedByBlankLines = listOfMapsToListOfKeyValuesDelimitedByBlankLines;
- }
-
- @Override
- public R bindToRequest(R request, Map postParams) {
- checkArgument(checkNotNull(request, "request") instanceof GeneratedHttpRequest,
- "this binder is only valid for GeneratedHttpRequests!");
- GeneratedHttpRequest gRequest = GeneratedHttpRequest.class.cast(request);
-
- CloneDriveOptions options = findOptionsInArgsOrNull(gRequest);
- if (options != null) {
- postParams = ImmutableMap. builder().putAll(postParams).putAll(options.getOptions()).build();
- }
-
- request.setPayload(listOfMapsToListOfKeyValuesDelimitedByBlankLines.apply(ImmutableSet.of(Maps.transformValues(postParams, new Function() {
- @Override
- public String apply(Object input) {
- return input == null ? null : input.toString();
- }
- }))));
- request.getPayload().getContentMetadata().setContentType(MediaType.TEXT_PLAIN);
- return request;
- }
-
- static CloneDriveOptions findOptionsInArgsOrNull(GeneratedHttpRequest gRequest) {
- for (Object arg : gRequest.getInvocation().getArgs()) {
- if (arg instanceof CloneDriveOptions) {
- return (CloneDriveOptions) arg;
- } else if (arg instanceof CloneDriveOptions[]) {
- CloneDriveOptions[] options = (CloneDriveOptions[]) arg;
- return (options.length > 0) ? options[0] : null;
- }
- }
- return null;
- }
-
- @Override
- public R bindToRequest(R request, Object input) {
- throw new UnsupportedOperationException();
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindDriveDataToPlainTextString.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindDriveDataToPlainTextString.java
deleted file mode 100644
index a3c89221a4..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindDriveDataToPlainTextString.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.cloudsigma.domain.DriveData;
-import org.jclouds.cloudsigma.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLines;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-
-@Singleton
-public class BindDriveDataToPlainTextString implements Binder {
- private final Function> createDriveRequestToMap;
- private final ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines;
-
- @Inject
- public BindDriveDataToPlainTextString(Function> createDriveRequestToMap,
- ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines) {
- this.createDriveRequestToMap = createDriveRequestToMap;
- this.listOfMapsToListOfKeyValuesDelimitedByBlankLines = listOfMapsToListOfKeyValuesDelimitedByBlankLines;
- }
- @Override
- public R bindToRequest(R request, Object payload) {
- checkArgument(payload instanceof DriveData, "this binder is only valid for DriveData!");
- DriveData create = DriveData.class.cast(payload);
- Map map = createDriveRequestToMap.apply(create);
- request.setPayload(listOfMapsToListOfKeyValuesDelimitedByBlankLines.apply(ImmutableSet.of(map)));
- request.getPayload().getContentMetadata().setContentType(MediaType.TEXT_PLAIN);
- return request;
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindDriveToPlainTextString.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindDriveToPlainTextString.java
deleted file mode 100644
index 21b203fde8..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindDriveToPlainTextString.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.cloudsigma.domain.Drive;
-import org.jclouds.cloudsigma.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLines;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-
-@Singleton
-public class BindDriveToPlainTextString implements Binder {
- private final Function> createDriveRequestToMap;
- private final ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines;
-
- @Inject
- public BindDriveToPlainTextString(Function> createDriveRequestToMap,
- ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines) {
- this.createDriveRequestToMap = createDriveRequestToMap;
- this.listOfMapsToListOfKeyValuesDelimitedByBlankLines = listOfMapsToListOfKeyValuesDelimitedByBlankLines;
- }
- @Override
- public R bindToRequest(R request, Object payload) {
- checkArgument(payload instanceof Drive, "this binder is only valid for Drive!");
- Drive create = Drive.class.cast(payload);
- Map map = createDriveRequestToMap.apply(create);
- request.setPayload(listOfMapsToListOfKeyValuesDelimitedByBlankLines.apply(ImmutableSet.of(map)));
- request.getPayload().getContentMetadata().setContentType(MediaType.TEXT_PLAIN);
- return request;
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindServerToPlainTextString.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindServerToPlainTextString.java
deleted file mode 100644
index 351de4eb4f..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindServerToPlainTextString.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLines;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-
-@Singleton
-public class BindServerToPlainTextString implements Binder {
- private final Function> createServerRequestToMap;
- private final ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines;
-
- @Inject
- public BindServerToPlainTextString(Function> createServerRequestToMap,
- ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines) {
- this.createServerRequestToMap = createServerRequestToMap;
- this.listOfMapsToListOfKeyValuesDelimitedByBlankLines = listOfMapsToListOfKeyValuesDelimitedByBlankLines;
- }
- @Override
- public R bindToRequest(R request, Object payload) {
- checkArgument(payload instanceof Server, "this binder is only valid for Server!");
- Server create = Server.class.cast(payload);
- Map map = createServerRequestToMap.apply(create);
- request.setPayload(listOfMapsToListOfKeyValuesDelimitedByBlankLines.apply(ImmutableSet.of(map)));
- request.getPayload().getContentMetadata().setContentType(MediaType.TEXT_PLAIN);
- return request;
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/CloudSigmaComputeServiceAdapter.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/CloudSigmaComputeServiceAdapter.java
deleted file mode 100644
index c3159da409..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/CloudSigmaComputeServiceAdapter.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.compute;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.contains;
-import static com.google.common.collect.Iterables.filter;
-import static org.jclouds.concurrent.FutureIterables.transformParallel;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.Constants;
-import org.jclouds.cloudsigma.CloudSigmaApi;
-import org.jclouds.cloudsigma.compute.options.CloudSigmaTemplateOptions;
-import org.jclouds.cloudsigma.domain.AffinityType;
-import org.jclouds.cloudsigma.domain.Device;
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.cloudsigma.domain.DriveType;
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.cloudsigma.options.CloneDriveOptions;
-import org.jclouds.cloudsigma.reference.CloudSigmaConstants;
-import org.jclouds.cloudsigma.util.Servers;
-import org.jclouds.compute.ComputeServiceAdapter;
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.HardwareBuilder;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.Processor;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.domain.Volume;
-import org.jclouds.compute.domain.internal.VolumeImpl;
-import org.jclouds.compute.reference.ComputeServiceConstants;
-import org.jclouds.domain.Location;
-import org.jclouds.domain.LoginCredentials;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.LoadingCache;
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.ListeningExecutorService;
-import com.google.common.util.concurrent.UncheckedExecutionException;
-
-/**
- * defines the connection between the {@link org.jclouds.cloudsigma.CloudSigmaApi} implementation
- * and the jclouds {@link ComputeService}
- */
-@Singleton
-public class CloudSigmaComputeServiceAdapter implements
- ComputeServiceAdapter {
- private static final Predicate PREINSTALLED_DISK = Predicates.and(Predicates.notNull(),
- new Predicate() {
-
- @Override
- public boolean apply(DriveInfo drive) {
- return drive.getType().equals(DriveType.DISK) && drive.getDriveType().contains("preinstalled");
- }
-
- });
- private final CloudSigmaApi client;
- private final Predicate driveNotClaimed;
- private final String defaultVncPassword;
- private final LoadingCache cache;
- private final ListeningExecutorService userExecutor;
-
- @Resource
- @Named(ComputeServiceConstants.COMPUTE_LOGGER)
- protected Logger logger = Logger.NULL;
-
- @Inject
- public CloudSigmaComputeServiceAdapter(CloudSigmaApi client, Predicate driveNotClaimed,
- @Named(CloudSigmaConstants.PROPERTY_VNC_PASSWORD) String defaultVncPassword,
- LoadingCache cache, @Named(Constants.PROPERTY_USER_THREADS) ListeningExecutorService userExecutor) {
- this.client = checkNotNull(client, "client");
- this.driveNotClaimed = checkNotNull(driveNotClaimed, "driveNotClaimed");
- this.defaultVncPassword = checkNotNull(defaultVncPassword, "defaultVncPassword");
- checkArgument(defaultVncPassword.length() <= 8, "vnc passwords should be less that 8 characters!");
- this.cache = checkNotNull(cache, "cache");
- this.userExecutor = checkNotNull(userExecutor, "userExecutor");
- }
-
- @Override
- public NodeAndInitialCredentials createNodeWithGroupEncodedIntoName(String tag, String name, Template template) {
- long bootSize = (long) (template.getHardware().getVolumes().get(0).getSize() * 1024 * 1024 * 1024l);
- AffinityType affinityType = AffinityType.HDD;
- if (template.getOptions() instanceof CloudSigmaTemplateOptions) {
- CloudSigmaTemplateOptions options = CloudSigmaTemplateOptions.class.cast(template.getOptions());
- affinityType = options.getDiskDriveAffinity();
- }
- logger.debug(">> imaging boot drive source(%s) bytes(%d) affinityType(%s)",
- template.getImage().getId(), bootSize, affinityType);
- DriveInfo drive = client.cloneDrive(template.getImage().getId(), template.getImage().getId(),
- new CloneDriveOptions().size(bootSize).affinity(affinityType));
- boolean success = driveNotClaimed.apply(drive);
- logger.debug("<< image(%s) complete(%s)", drive.getUuid(), success);
- if (!success) {
- client.destroyDrive(drive.getUuid());
- throw new IllegalStateException("could not image drive in time!");
- }
-
- Server toCreate = Servers.small(name, drive.getUuid(), defaultVncPassword).mem(template.getHardware().getRam())
- .cpu((int) (template.getHardware().getProcessors().get(0).getSpeed())).build();
-
- logger.debug(">> creating server");
- ServerInfo from = client.createServer(toCreate);
- logger.debug("<< created server(%s)", from.getUuid());
- logger.debug(">> starting server(%s)", from.getUuid());
- client.startServer(from.getUuid());
- return new NodeAndInitialCredentials(from, from.getUuid(), LoginCredentials.builder()
- .password(defaultVncPassword).authenticateSudo(true).build());
- }
-
- @Override
- public Iterable listHardwareProfiles() {
- Builder hardware = ImmutableSet.builder();
- for (double cpu : new double[] { 1000, 5000, 10000, 20000 })
- for (int ram : new int[] { 512, 1024, 4 * 1024, 16 * 1024, 32 * 1024 }) {
- final float size = (float) cpu / 100;
- String id = String.format("cpu=%f,ram=%s,disk=%f", cpu, ram, size);
- hardware.add(new HardwareBuilder().supportsImage(new Predicate() {
-
- @Override
- public boolean apply(Image input) {
- String toParse = input.getUserMetadata().get("size");
- return toParse != null && new Float(toParse) <= size;
- }
-
- @Override
- public String toString() {
- return "sizeLessThanOrEqual(" + size + ")";
- }
-
- }).ids(id).ram(ram).processors(ImmutableList.of(new Processor(1, cpu))).hypervisor("kvm")
- .volumes(ImmutableList.of(new VolumeImpl(size, true, true))).build());
- }
- return hardware.build();
- }
-
- /**
- * look up the current standard images and do not error out, if they are not
- * found.
- */
- @Override
- public Iterable listImages() {
- return FluentIterable.from(transformParallel(client.listStandardDrives(),
- new Function>() {
-
- @Override
- public ListenableFuture apply(String input) {
- try {
- return Futures.immediateFuture(cache.getUnchecked(input));
- } catch (CacheLoader.InvalidCacheLoadException e) {
- logger.debug("drive %s not found", input);
- } catch (UncheckedExecutionException e) {
- logger.warn(e, "error finding drive %s: %s", input, e.getMessage());
- }
- return Futures.immediateFuture(null);
- }
-
- @Override
- public String toString() {
- return "seedDriveCache()";
- }
- }, userExecutor, null, logger, "drives")).filter(PREINSTALLED_DISK);
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public Iterable listNodes() {
- return (Iterable) client.listServerInfo();
- }
-
- @Override
- public Iterable listNodesByIds(final Iterable ids) {
- return filter(listNodes(), new Predicate() {
-
- @Override
- public boolean apply(ServerInfo server) {
- return contains(ids, server.getUuid());
- }
- });
- }
-
- @Override
- public Iterable listLocations() {
- // Not using the adapter to determine locations
- return ImmutableSet.of();
- }
-
- @Override
- public ServerInfo getNode(String id) {
- return client.getServerInfo(id);
- }
-
- @Override
- public DriveInfo getImage(String id) {
- return client.getDriveInfo(id);
- }
-
- @Override
- public void destroyNode(String id) {
- ServerInfo server = getNode(id);
- if (server != null) {
- client.stopServer(id);
- client.destroyServer(id);
- for (Device dev : server.getDevices().values())
- client.destroyDrive(dev.getDriveUuid());
- }
- }
-
- @Override
- public void rebootNode(String id) {
- client.resetServer(id);
- }
-
- @Override
- public void resumeNode(String id) {
- client.startServer(id);
-
- }
-
- @Override
- public void suspendNode(String id) {
- client.stopServer(id);
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/CloudSigmaTemplateBuilderImpl.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/CloudSigmaTemplateBuilderImpl.java
deleted file mode 100644
index c609806819..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/CloudSigmaTemplateBuilderImpl.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.compute;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Provider;
-
-import org.jclouds.collect.Memoized;
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.TemplateBuilder;
-import org.jclouds.compute.domain.internal.TemplateBuilderImpl;
-import org.jclouds.compute.options.TemplateOptions;
-import org.jclouds.compute.strategy.GetImageStrategy;
-import org.jclouds.compute.suppliers.ImageCacheSupplier;
-import org.jclouds.domain.Location;
-
-import com.google.common.base.Supplier;
-
-public class CloudSigmaTemplateBuilderImpl extends TemplateBuilderImpl {
- @Inject
- public CloudSigmaTemplateBuilderImpl(@Memoized Supplier> locations,
- ImageCacheSupplier images, @Memoized Supplier> hardwares,
- Supplier defaultLocation2, @Named("DEFAULT") Provider optionsProvider,
- @Named("DEFAULT") Provider defaultTemplateProvider, GetImageStrategy getImageStrategy) {
- super(locations, images, hardwares, defaultLocation2, optionsProvider, defaultTemplateProvider, getImageStrategy);
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/config/CloudSigmaComputeServiceContextModule.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/config/CloudSigmaComputeServiceContextModule.java
deleted file mode 100644
index 9daff85fa8..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/config/CloudSigmaComputeServiceContextModule.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.compute.config;
-
-import static java.util.concurrent.TimeUnit.MILLISECONDS;
-import static org.jclouds.util.Predicates2.retry;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.CloudSigmaApi;
-import org.jclouds.cloudsigma.compute.CloudSigmaComputeServiceAdapter;
-import org.jclouds.cloudsigma.compute.CloudSigmaTemplateBuilderImpl;
-import org.jclouds.cloudsigma.compute.functions.ParseOsFamilyVersion64BitFromImageName;
-import org.jclouds.cloudsigma.compute.functions.PreinstalledDiskToImage;
-import org.jclouds.cloudsigma.compute.functions.ServerInfoToNodeMetadata;
-import org.jclouds.cloudsigma.compute.functions.ServerInfoToNodeMetadata.DeviceToVolume;
-import org.jclouds.cloudsigma.compute.functions.ServerInfoToNodeMetadata.GetImageIdFromServer;
-import org.jclouds.cloudsigma.compute.options.CloudSigmaTemplateOptions;
-import org.jclouds.cloudsigma.domain.Device;
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.cloudsigma.predicates.DriveClaimed;
-import org.jclouds.compute.ComputeServiceAdapter;
-import org.jclouds.compute.config.ComputeServiceAdapterContextModule;
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
-import org.jclouds.compute.domain.TemplateBuilder;
-import org.jclouds.compute.domain.Volume;
-import org.jclouds.compute.options.TemplateOptions;
-import org.jclouds.compute.reference.ComputeServiceConstants.Timeouts;
-import org.jclouds.domain.Location;
-import org.jclouds.functions.IdentityFunction;
-
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.LoadingCache;
-import com.google.inject.Provides;
-import com.google.inject.TypeLiteral;
-
-public class CloudSigmaComputeServiceContextModule extends
- ComputeServiceAdapterContextModule {
-
- @SuppressWarnings({ "unchecked", "rawtypes" })
- @Override
- protected void configure() {
- super.configure();
- bind(new TypeLiteral>() {
- }).to(CloudSigmaComputeServiceAdapter.class);
- bind(new TypeLiteral>() {
- }).to(ServerInfoToNodeMetadata.class);
- bind(new TypeLiteral>() {
- }).to(Class.class.cast(IdentityFunction.class));
- bind(new TypeLiteral>() {
- }).to(PreinstalledDiskToImage.class);
- bind(new TypeLiteral>() {
- }).to(Class.class.cast(IdentityFunction.class));
- bind(new TypeLiteral>() {
- }).to(DeviceToVolume.class);
- bind(new TypeLiteral>() {
- }).to(GetImageIdFromServer.class);
- bind(new TypeLiteral>() {
- }).to(ParseOsFamilyVersion64BitFromImageName.class);
- bind(TemplateBuilder.class)
- .to(CloudSigmaTemplateBuilderImpl.class);
- }
-
- @Provides
- @Singleton
- protected LoadingCache cache(GetDrive getDrive) {
- return CacheBuilder.newBuilder().build(getDrive);
- }
-
- @Singleton
- public static class GetDrive extends CacheLoader {
- private final CloudSigmaApi client;
-
- @Inject
- public GetDrive(CloudSigmaApi client) {
- this.client = client;
- }
-
- @Override
- public DriveInfo load(String input) {
- return client.getDriveInfo(input);
- }
- }
-
- @Provides
- @Singleton
- protected Predicate supplyDriveUnclaimed(DriveClaimed driveClaimed, Timeouts timeouts) {
- return retry(Predicates.not(driveClaimed), timeouts.nodeRunning, 1000, MILLISECONDS);
- }
-
- @Provides
- @Singleton
- protected TemplateOptions templateOptions() {
- return new CloudSigmaTemplateOptions();
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/ParseOsFamilyVersion64BitFromImageName.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/ParseOsFamilyVersion64BitFromImageName.java
deleted file mode 100644
index bbea27d44b..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/ParseOsFamilyVersion64BitFromImageName.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.compute.functions;
-
-import static com.google.common.base.Predicates.and;
-import static com.google.common.base.Predicates.containsPattern;
-import static com.google.common.base.Predicates.not;
-import static com.google.common.base.Predicates.or;
-
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
-import org.jclouds.compute.util.ComputeServiceUtils;
-
-import com.google.common.base.Function;
-
-/**
- * Defaults to version null and 64bit, if the operating system is unrecognized and the pattern
- * "32bit" isn't in the string.
- */
-@Singleton
-public class ParseOsFamilyVersion64BitFromImageName implements Function {
- private final Map> osVersionMap;
-
- @Inject
- public ParseOsFamilyVersion64BitFromImageName(Map> osVersionMap) {
- this.osVersionMap = osVersionMap;
- }
-
- // ex CentOS 5.5 Linux 64bit Preinstalled System with AppFirst Monitoring
- // ex. Centos-5.6-20110917 pub
- public static final Pattern PATTERN = Pattern.compile("([^ -]+)[^0-9]([0-9.]+)[ -].*");
-
- @Override
- public OsFamilyVersion64Bit apply(String input) {
- boolean is64Bit = and(not(containsPattern("32bit")),
- or(containsPattern("64bit"), not(containsPattern("Windows")))).apply(input);
- if (input.contains("Windows")) {
- String version = null;
- Matcher matcher = Pattern.compile(".*(20[01][0-9] R[1-9]).*").matcher(input);
- if (matcher.find()) {
- version = matcher.group(1);
- } else {
- matcher = Pattern.compile(".*(20[01][0-9]).*").matcher(input);
- if (matcher.find())
- version = matcher.group(1);
- }
- return new OsFamilyVersion64Bit(OsFamily.WINDOWS, osVersionMap.get(OsFamily.WINDOWS).get(version), is64Bit);
- } else {
- Matcher matcher = PATTERN.matcher(input);
- if (matcher.find()) {
- OsFamily fam = OsFamily.fromValue(matcher.group(1).toLowerCase());
- if (fam == OsFamily.UNRECOGNIZED)
- return new OsFamilyVersion64Bit(OsFamily.UNRECOGNIZED, null, is64Bit);
- return new OsFamilyVersion64Bit(fam, ComputeServiceUtils.parseVersionOrReturnEmptyString(fam, matcher
- .group(2), osVersionMap), is64Bit);
- } else {
- return new OsFamilyVersion64Bit(OsFamily.UNRECOGNIZED, null, is64Bit);
- }
- }
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/PreinstalledDiskToImage.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/PreinstalledDiskToImage.java
deleted file mode 100644
index c415556fe8..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/PreinstalledDiskToImage.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.compute.functions;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.Image.Status;
-import org.jclouds.compute.domain.ImageBuilder;
-import org.jclouds.compute.domain.OperatingSystem;
-import org.jclouds.compute.domain.OperatingSystem.Builder;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
-import org.jclouds.domain.Location;
-
-import com.google.common.base.Function;
-import com.google.common.base.Supplier;
-import com.google.common.collect.ImmutableMap;
-
-@Singleton
-public class PreinstalledDiskToImage implements Function {
- private final Supplier locationSupplier;
- private final Function imageParser;
-
- @Inject
- public PreinstalledDiskToImage(Supplier locationSupplier,
- Function imageParser) {
- this.locationSupplier = locationSupplier;
- this.imageParser = imageParser;
- }
-
- @Override
- public Image apply(DriveInfo drive) {
- if (drive.getName() == null)
- return null;
- String description = drive.getDescription() != null ? drive.getDescription() : drive.getName();
- Builder builder = OperatingSystem.builder();
- OsFamilyVersion64Bit parsed = imageParser.apply(drive.getName());
- builder.name(drive.getName()).description(description)
- .is64Bit(drive.getBits() != null ? drive.getBits() == 64 : parsed.is64Bit).version(parsed.version)
- .family(parsed.family);
- return new ImageBuilder().ids(drive.getUuid())
- .userMetadata(ImmutableMap. of("size", drive.getSize() / 1024 / 1024 / 1024 + ""))
- .location(locationSupplier.get()).name(drive.getName()).description(description)
- .operatingSystem(builder.build()).status(Status.AVAILABLE).version("").build();
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/ServerInfoToNodeMetadata.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/ServerInfoToNodeMetadata.java
deleted file mode 100644
index 38ef7f40bf..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/ServerInfoToNodeMetadata.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.compute.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.compute.predicates.ImagePredicates.idEquals;
-
-import java.util.Map;
-import java.util.Set;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.Device;
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.cloudsigma.domain.ServerStatus;
-import org.jclouds.collect.Memoized;
-import org.jclouds.compute.domain.HardwareBuilder;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.NodeMetadata.Status;
-import org.jclouds.compute.domain.NodeMetadataBuilder;
-import org.jclouds.compute.domain.Processor;
-import org.jclouds.compute.domain.Volume;
-import org.jclouds.compute.domain.VolumeBuilder;
-import org.jclouds.compute.functions.GroupNamingConvention;
-import org.jclouds.domain.Location;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
-import com.google.common.base.Supplier;
-import com.google.common.cache.LoadingCache;
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.common.util.concurrent.UncheckedExecutionException;
-
-@Singleton
-public class ServerInfoToNodeMetadata implements Function {
- public static final Map serverStatusToNodeStatus = ImmutableMap
- . builder().put(ServerStatus.ACTIVE, Status.RUNNING)//
- .put(ServerStatus.STOPPED, Status.SUSPENDED)//
- .put(ServerStatus.PAUSED, Status.SUSPENDED)//
- .put(ServerStatus.DUMPED, Status.PENDING)//
- .put(ServerStatus.DEAD, Status.TERMINATED)//
- .put(ServerStatus.UNRECOGNIZED, Status.UNRECOGNIZED)//
- .build();
-
- private final Function getImageIdFromServer;
- private final Supplier> images;
- private final Supplier locationSupplier;
- private final Function deviceToVolume;
- private final GroupNamingConvention nodeNamingConvention;
-
- @Inject
- ServerInfoToNodeMetadata(Function getImageIdFromServer, @Memoized Supplier> images,
- Function deviceToVolume, Supplier locationSupplier,
- GroupNamingConvention.Factory namingConvention) {
- this.nodeNamingConvention = checkNotNull(namingConvention, "namingConvention").createWithoutPrefix();
- this.locationSupplier = checkNotNull(locationSupplier, "locationSupplier");
- this.deviceToVolume = checkNotNull(deviceToVolume, "deviceToVolume");
- this.images = checkNotNull(images, "images");
- this.getImageIdFromServer = checkNotNull(getImageIdFromServer, "getImageIdFromServer");
- }
-
- @Override
- public NodeMetadata apply(ServerInfo from) {
- NodeMetadataBuilder builder = new NodeMetadataBuilder();
- builder.ids(from.getUuid());
- builder.name(from.getName());
- builder.location(locationSupplier.get());
- builder.group(nodeNamingConvention.groupInUniqueNameOrNull(from.getName()));
-
- String imageId = getImageIdFromServer.apply(from);
- if (imageId != null) {
- Optional extends Image> image = FluentIterable.from(images.get()).firstMatch(idEquals(imageId));
- if (image.isPresent()) {
- builder.operatingSystem(image.get().getOperatingSystem());
- }
- }
- builder.hardware(new HardwareBuilder().ids(from.getUuid()).hypervisor("kvm")
- .processors(ImmutableList.of(new Processor(1, from.getCpu()))).ram(from.getMem())
- .volumes(Iterables.transform(from.getDevices().values(), deviceToVolume)).build());
- builder.status(serverStatusToNodeStatus.get(from.getStatus()));
- builder.publicAddresses(ImmutableSet. of(from.getVnc().getIp()));
- builder.privateAddresses(ImmutableSet. of());
- return builder.build();
- }
-
- @Singleton
- public static final class DeviceToVolume implements Function {
- @Resource
- protected Logger logger = Logger.NULL;
-
- private final LoadingCache cache;
-
- @Inject
- public DeviceToVolume(LoadingCache cache) {
- this.cache = checkNotNull(cache, "cache");
- }
-
- @Override
- public Volume apply(Device input) {
- VolumeBuilder builder = new VolumeBuilder();
- builder.id(input.getId());
- try {
- DriveInfo drive = cache.getUnchecked(input.getDriveUuid());
- builder.size((float) drive.getSize());
- } catch (NullPointerException e) {
- logger.debug("drive %s not found", input.getDriveUuid());
- } catch (UncheckedExecutionException e) {
- logger.warn(e, "error finding drive %s: %s", input.getDriveUuid(), e.getMessage());
- }
- return builder.durable(true).type(Volume.Type.NAS).build();
- }
- }
-
- /**
- * When we create the boot drive of the server, by convention we set the name
- * to the image it came from.
- *
- *
- */
- @Singleton
- public static class GetImageIdFromServer implements Function {
- @Resource
- protected Logger logger = Logger.NULL;
-
- private final LoadingCache cache;
-
- @Inject
- public GetImageIdFromServer(LoadingCache cache) {
- this.cache = cache;
- }
-
- @Override
- public String apply(Server from) {
- String imageId = null;
- String bootDeviceId = Iterables.get(from.getBootDeviceIds(), 0);
- Device bootDevice = from.getDevices().get(bootDeviceId);
- if (bootDevice != null) {
- try {
- DriveInfo drive = cache.getUnchecked(bootDevice.getDriveUuid());
- imageId = drive.getName();
- } catch (NullPointerException e) {
- logger.debug("drive %s not found", bootDevice.getDriveUuid());
- } catch (UncheckedExecutionException e) {
- logger.warn(e, "error finding drive %s: %s", bootDevice.getDriveUuid(), e.getMessage());
- }
- }
- return imageId;
- }
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/options/CloudSigmaTemplateOptions.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/options/CloudSigmaTemplateOptions.java
deleted file mode 100644
index eac1343791..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/options/CloudSigmaTemplateOptions.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.compute.options;
-
-import org.jclouds.cloudsigma.domain.AffinityType;
-import org.jclouds.compute.options.TemplateOptions;
-import org.jclouds.domain.LoginCredentials;
-import org.jclouds.scriptbuilder.domain.Statement;
-
-import java.util.Map;
-
-public class CloudSigmaTemplateOptions extends TemplateOptions implements Cloneable {
-
- public static final CloudSigmaTemplateOptions NONE = new CloudSigmaTemplateOptions();
-
- private AffinityType diskDriveAffinity = AffinityType.HDD;
-
- public CloudSigmaTemplateOptions diskDriveAffinity(AffinityType diskDriveAffinity) {
- this.diskDriveAffinity = diskDriveAffinity;
- return this;
- }
-
- public AffinityType getDiskDriveAffinity() {
- return diskDriveAffinity;
- }
-
- @Override
- public CloudSigmaTemplateOptions clone() {
- CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
- copyTo(options);
- return options;
- }
-
- @Override
- public void copyTo(TemplateOptions to) {
- super.copyTo(to);
- if (to instanceof CloudSigmaTemplateOptions) {
- CloudSigmaTemplateOptions cTo = CloudSigmaTemplateOptions.class.cast(to);
- cTo.diskDriveAffinity(getDiskDriveAffinity());
- }
- }
-
- public static class Builder {
-
- /**
- * @see CloudSigmaTemplateOptions#diskDriveAffinity
- */
- public static CloudSigmaTemplateOptions diskDriveAffinity(AffinityType diskDriveAffinity) {
- CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
- return options.diskDriveAffinity(diskDriveAffinity);
- }
-
- // methods that only facilitate returning the correct object type
-
- /**
- * @see TemplateOptions#inboundPorts
- */
- public static CloudSigmaTemplateOptions inboundPorts(int... ports) {
- CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
- return CloudSigmaTemplateOptions.class.cast(options.inboundPorts(ports));
- }
-
- /**
- * @see TemplateOptions#port
- */
- public static CloudSigmaTemplateOptions blockOnPort(int port, int seconds) {
- CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
- return CloudSigmaTemplateOptions.class.cast(options.blockOnPort(port, seconds));
- }
-
- /**
- * @see TemplateOptions#installPrivateKey
- */
- public static CloudSigmaTemplateOptions installPrivateKey(String rsaKey) {
- CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
- return CloudSigmaTemplateOptions.class.cast(options.installPrivateKey(rsaKey));
- }
-
- /**
- * @see TemplateOptions#authorizePublicKey
- */
- public static CloudSigmaTemplateOptions authorizePublicKey(String rsaKey) {
- CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
- return CloudSigmaTemplateOptions.class.cast(options.authorizePublicKey(rsaKey));
- }
-
- /**
- * @see TemplateOptions#userMetadata(Map)
- */
- public static CloudSigmaTemplateOptions userMetadata(Map userMetadata) {
- CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
- return CloudSigmaTemplateOptions.class.cast(options.userMetadata(userMetadata));
- }
-
- /**
- * @see TemplateOptions#nodeNames(Iterable)
- */
- public static CloudSigmaTemplateOptions nodeNames(Iterable nodeNames) {
- CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
- return CloudSigmaTemplateOptions.class.cast(options.nodeNames(nodeNames));
- }
-
- /**
- * @see TemplateOptions#nodeNames(Iterable)
- */
- public static CloudSigmaTemplateOptions networks(Iterable networks) {
- CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
- return CloudSigmaTemplateOptions.class.cast(options.networks(networks));
- }
-
- public static CloudSigmaTemplateOptions overrideLoginUser(String user) {
- CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
- return options.overrideLoginUser(user);
- }
-
- public static CloudSigmaTemplateOptions overrideLoginPassword(String password) {
- CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
- return options.overrideLoginPassword(password);
- }
-
- public static CloudSigmaTemplateOptions overrideLoginPrivateKey(String privateKey) {
- CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
- return options.overrideLoginPrivateKey(privateKey);
- }
-
- public static CloudSigmaTemplateOptions overrideAuthenticateSudo(boolean authenticateSudo) {
- CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
- return options.overrideAuthenticateSudo(authenticateSudo);
- }
-
- public static CloudSigmaTemplateOptions overrideLoginCredentials(LoginCredentials credentials) {
- CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
- return options.overrideLoginCredentials(credentials);
- }
- }
-
- // methods that only facilitate returning the correct object type
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions blockOnPort(int port, int seconds) {
- return CloudSigmaTemplateOptions.class.cast(super.blockOnPort(port, seconds));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions inboundPorts(int... ports) {
- return CloudSigmaTemplateOptions.class.cast(super.inboundPorts(ports));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions authorizePublicKey(String publicKey) {
- return CloudSigmaTemplateOptions.class.cast(super.authorizePublicKey(publicKey));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions installPrivateKey(String privateKey) {
- return CloudSigmaTemplateOptions.class.cast(super.installPrivateKey(privateKey));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions blockUntilRunning(boolean blockUntilRunning) {
- return CloudSigmaTemplateOptions.class.cast(super.blockUntilRunning(blockUntilRunning));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions dontAuthorizePublicKey() {
- return CloudSigmaTemplateOptions.class.cast(super.dontAuthorizePublicKey());
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions nameTask(String name) {
- return CloudSigmaTemplateOptions.class.cast(super.nameTask(name));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions runAsRoot(boolean runAsRoot) {
- return CloudSigmaTemplateOptions.class.cast(super.runAsRoot(runAsRoot));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions runScript(Statement script) {
- return CloudSigmaTemplateOptions.class.cast(super.runScript(script));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions overrideLoginCredentials(LoginCredentials overridingCredentials) {
- return CloudSigmaTemplateOptions.class.cast(super.overrideLoginCredentials(overridingCredentials));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions overrideLoginPassword(String password) {
- return CloudSigmaTemplateOptions.class.cast(super.overrideLoginPassword(password));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions overrideLoginPrivateKey(String privateKey) {
- return CloudSigmaTemplateOptions.class.cast(super.overrideLoginPrivateKey(privateKey));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions overrideLoginUser(String loginUser) {
- return CloudSigmaTemplateOptions.class.cast(super.overrideLoginUser(loginUser));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions overrideAuthenticateSudo(boolean authenticateSudo) {
- return CloudSigmaTemplateOptions.class.cast(super.overrideAuthenticateSudo(authenticateSudo));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions userMetadata(Map userMetadata) {
- return CloudSigmaTemplateOptions.class.cast(super.userMetadata(userMetadata));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions userMetadata(String key, String value) {
- return CloudSigmaTemplateOptions.class.cast(super.userMetadata(key, value));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions nodeNames(Iterable nodeNames) {
- return CloudSigmaTemplateOptions.class.cast(super.nodeNames(nodeNames));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public CloudSigmaTemplateOptions networks(Iterable networks) {
- return CloudSigmaTemplateOptions.class.cast(super.networks(networks));
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- if (!super.equals(o)) return false;
-
- CloudSigmaTemplateOptions that = (CloudSigmaTemplateOptions) o;
-
- if (diskDriveAffinity != that.diskDriveAffinity) return false;
-
- return true;
- }
-
- @Override
- public int hashCode() {
- int result = super.hashCode();
- result = 31 * result + (diskDriveAffinity != null ? diskDriveAffinity.hashCode() : 0);
- return result;
- }
-
- @Override
- public String toString() {
- return "CloudSigmaTemplateOptions{" +
- "diskDriveAffinity=" + diskDriveAffinity +
- '}';
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/config/CloudSigmaRestClientModule.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/config/CloudSigmaRestClientModule.java
deleted file mode 100644
index 6532fcf279..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/config/CloudSigmaRestClientModule.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.config;
-
-import java.util.List;
-import java.util.Map;
-
-import org.jclouds.cloudsigma.CloudSigmaApi;
-import org.jclouds.cloudsigma.domain.Device;
-import org.jclouds.cloudsigma.domain.Drive;
-import org.jclouds.cloudsigma.domain.DriveData;
-import org.jclouds.cloudsigma.domain.DriveMetrics;
-import org.jclouds.cloudsigma.domain.NIC;
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.domain.ServerMetrics;
-import org.jclouds.cloudsigma.functions.BaseDriveToMap;
-import org.jclouds.cloudsigma.functions.DriveDataToMap;
-import org.jclouds.cloudsigma.functions.MapToDevices;
-import org.jclouds.cloudsigma.functions.MapToDevices.DeviceToId;
-import org.jclouds.cloudsigma.functions.MapToDriveMetrics;
-import org.jclouds.cloudsigma.functions.MapToNICs;
-import org.jclouds.cloudsigma.functions.MapToServerMetrics;
-import org.jclouds.cloudsigma.functions.ServerToMap;
-import org.jclouds.cloudsigma.handlers.CloudSigmaErrorHandler;
-import org.jclouds.http.HttpErrorHandler;
-import org.jclouds.http.annotation.ClientError;
-import org.jclouds.http.annotation.Redirection;
-import org.jclouds.http.annotation.ServerError;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.config.HttpApiModule;
-
-import com.google.common.base.Function;
-import com.google.inject.TypeLiteral;
-
-/**
- * Configures the CloudSigma connection.
- */
-@ConfiguresRestClient
-public class CloudSigmaRestClientModule extends HttpApiModule {
-
- @Override
- protected void bindErrorHandlers() {
- bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(CloudSigmaErrorHandler.class);
- bind(HttpErrorHandler.class).annotatedWith(ClientError.class).to(CloudSigmaErrorHandler.class);
- bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(CloudSigmaErrorHandler.class);
- }
-
- @Override
- protected void configure() {
- super.configure();
- bind(new TypeLiteral>>() {
- }).to(BaseDriveToMap.class);
- bind(new TypeLiteral>>() {
- }).to(DriveDataToMap.class);
- bind(new TypeLiteral, List>>() {
- }).to(MapToNICs.class);
- bind(new TypeLiteral, Map>>() {
- }).to(MapToDevices.class);
- bind(new TypeLiteral, Map>>() {
- }).to(MapToDriveMetrics.class);
- bind(new TypeLiteral, ServerMetrics>>() {
- }).to(MapToServerMetrics.class);
- bind(new TypeLiteral>() {
- }).to(DeviceToId.class);
- bind(new TypeLiteral>>() {
- }).to(ServerToMap.class);
- }
-
- @Override
- protected void bindRetryHandlers() {
- // TODO
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/AffinityType.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/AffinityType.java
deleted file mode 100644
index ea0f27b29f..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/AffinityType.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * Option for the cloneDrive operation.
- * 'HDD' to specifies a regular "spinning oxide" disk; 'SSD' specifies a solid-state drive.
- */
-public enum AffinityType {
- HDD,
- SSD,
- UNRECOGNIZED;
-
- public String value() {
- return name().toLowerCase();
- }
-
- @Override
- public String toString() {
- return value();
- }
-
- public static AffinityType fromValue(String affinity) {
- try {
- return valueOf(checkNotNull(affinity, "affinity").toUpperCase());
- } catch (IllegalArgumentException e) {
- return UNRECOGNIZED;
- }
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/BlockDevice.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/BlockDevice.java
deleted file mode 100644
index d4baeca274..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/BlockDevice.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-public class BlockDevice extends Device {
- public static class Builder extends Device.Builder {
- private final int index;
-
- public Builder(int index) {
- this.index = index;
- }
-
- @Override
- public Device build() {
- return new BlockDevice(uuid, mediaType, index);
- }
-
- }
-
- private final int index;
-
- public BlockDevice(String driveUuid, MediaType mediaType, int index) {
- super(driveUuid, mediaType);
- checkArgument(index >= 0 && index < 8, "index must be between 0 and 7");
- this.index = index;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + index;
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- BlockDevice other = (BlockDevice) obj;
- if (index != other.index)
- return false;
- return true;
- }
-
- @Override
- public String getId() {
- return String.format("block:%d", index);
- }
-
- public int getIndex() {
- return index;
- }
-
- @Override
- public String toString() {
- return "[id=" + getId() + ", driveUuid=" + driveUuid + ", mediaType=" + mediaType + "]";
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ClaimType.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ClaimType.java
deleted file mode 100644
index c8fbcafd88..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ClaimType.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * either 'exclusive' (the default) or 'shared' to allow multiple servers to access a drive
- * simultaneously
- */
-public enum ClaimType {
- /**
- *
- */
- EXCLUSIVE,
- /**
- * allow multiple servers to access a drive simultaneously
- */
- SHARED, UNRECOGNIZED;
-
- public String value() {
- return name().toLowerCase();
- }
-
- @Override
- public String toString() {
- return value();
- }
-
- public static ClaimType fromValue(String claim) {
- try {
- return valueOf(checkNotNull(claim, "claim").toUpperCase());
- } catch (IllegalArgumentException e) {
- return UNRECOGNIZED;
- }
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/CreateDriveRequest.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/CreateDriveRequest.java
deleted file mode 100644
index 316f021788..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/CreateDriveRequest.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.collect.ImmutableSet;
-
-public class CreateDriveRequest extends Drive {
- public static class Builder extends Drive.Builder {
-
- private Set avoid = ImmutableSet.of();
-
- @Nullable
- private String encryptionCipher;
-
- public Builder avoid(Iterable avoid) {
- this.avoid = ImmutableSet.copyOf(checkNotNull(avoid, "avoid"));
- return this;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder claimType(ClaimType claimType) {
- return Builder.class.cast(super.claimType(claimType));
- }
-
- public Builder encryptionCipher(String encryptionCipher) {
- this.encryptionCipher = encryptionCipher;
- return this;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder name(String name) {
- return Builder.class.cast(super.name(name));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder tags(Iterable tags) {
- return Builder.class.cast(super.tags(tags));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder readers(Iterable readers) {
- return Builder.class.cast(super.readers(readers));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder size(long size) {
- return Builder.class.cast(super.size(size));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder use(Iterable use) {
- return Builder.class.cast(super.use(use));
- }
-
- public CreateDriveRequest build() {
- return new CreateDriveRequest(name, size, claimType, tags, readers, use, encryptionCipher, avoid);
- }
- }
-
- private final Set avoid;
- @Nullable
- private final String encryptionCipher;
-
- public CreateDriveRequest(String name, long size, @Nullable ClaimType claimType, Iterable tags,
- Iterable readers, Iterable use, @Nullable String encryptionCipher, Iterable avoid) {
- super(null, name, size, claimType, tags, readers, use);
- this.encryptionCipher = encryptionCipher;
- this.avoid = ImmutableSet.copyOf(checkNotNull(avoid, "avoid"));
- }
-
- /**
- *
- * @return list of existing drives to ensure this new drive is created on physical different
- * hardware than those existing drives
- */
- public Set getAvoid() {
- return avoid;
- }
-
- /**
- *
- * @return either 'none' or 'aes-xts-plain' (the default)
- */
- @Nullable
- public String getEncryptionCipher() {
- return encryptionCipher;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((avoid == null) ? 0 : avoid.hashCode());
- result = prime * result + ((encryptionCipher == null) ? 0 : encryptionCipher.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (!super.equals(obj))
- return false;
- if (getClass() != obj.getClass())
- return false;
- CreateDriveRequest other = (CreateDriveRequest) obj;
- if (avoid == null) {
- if (other.avoid != null)
- return false;
- } else if (!avoid.equals(other.avoid))
- return false;
- if (encryptionCipher == null) {
- if (other.encryptionCipher != null)
- return false;
- } else if (!encryptionCipher.equals(other.encryptionCipher))
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "[name=" + name + ", size=" + size + ", claimType=" + claimType + ", tags=" + tags
- + ", readers=" + readers + ", use=" + use + ", avoid=" + avoid
- + ", encryptionCipher=" + encryptionCipher + "]";
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Device.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Device.java
deleted file mode 100644
index d60b9b9deb..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Device.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-public abstract class Device {
- public abstract static class Builder {
- protected String uuid;
- protected MediaType mediaType = MediaType.DISK;
-
- public Builder mediaType(MediaType mediaType) {
- this.mediaType = mediaType;
- return this;
- }
-
- public Builder uuid(String uuid) {
- this.uuid = uuid;
- return this;
- }
-
- public abstract Device build();
- }
-
- protected final String driveUuid;
- protected final MediaType mediaType;
-
- public Device(String driveUuid, MediaType mediaType) {
- this.driveUuid = checkNotNull(driveUuid, "driveUuid");
- this.mediaType = checkNotNull(mediaType, "mediaType");
- }
-
- /**
- * id generated based on the device bus, unit, and/or index numbers;
- */
- public abstract String getId();
-
- /**
- *
- * @return Drive UUID to connect as specified device.
- */
- public String getDriveUuid() {
- return driveUuid;
- }
-
- /**
- *
- * @return set to 'cdrom' to simulate a cdrom, set to 'disk' or leave unset to simulate a hard
- * disk.
- */
- public MediaType getMediaType() {
- return mediaType;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((driveUuid == null) ? 0 : driveUuid.hashCode());
- result = prime * result + ((mediaType == null) ? 0 : mediaType.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Device other = (Device) obj;
- if (driveUuid == null) {
- if (other.driveUuid != null)
- return false;
- } else if (!driveUuid.equals(other.driveUuid))
- return false;
- if (mediaType != other.mediaType)
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "[driveUuid=" + driveUuid + ", mediaType=" + mediaType + "]";
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Drive.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Drive.java
deleted file mode 100644
index 6ced120e08..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Drive.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.base.Objects;
-import com.google.common.collect.ImmutableSet;
-
-public class Drive extends Item {
- public static class Builder extends Item.Builder {
- protected long size;
- protected ClaimType claimType = ClaimType.EXCLUSIVE;
- protected Set tags = ImmutableSet.of();
- protected Set readers = ImmutableSet.of();
-
- public Builder claimType(ClaimType claimType) {
- this.claimType = claimType;
- return this;
- }
-
- public Builder tags(Iterable tags) {
- this.tags = ImmutableSet.copyOf(checkNotNull(tags, "tags"));
- return this;
- }
-
- public Builder readers(Iterable readers) {
- this.readers = ImmutableSet.copyOf(checkNotNull(readers, "readers"));
- return this;
- }
-
- public Builder size(long size) {
- this.size = size;
- return this;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder uuid(String uuid) {
- return Builder.class.cast(super.uuid(uuid));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder name(String name) {
- return Builder.class.cast(super.name(name));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder use(Iterable use) {
- return Builder.class.cast(super.use(use));
- }
-
- public Drive build() {
- return new Drive(uuid, name, size, claimType, tags, readers, use);
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((claimType == null) ? 0 : claimType.hashCode());
- result = prime * result + ((tags == null) ? 0 : tags.hashCode());
- result = prime * result + ((readers == null) ? 0 : readers.hashCode());
- result = prime * result + (int) (size ^ (size >>> 32));
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (!super.equals(obj))
- return false;
- if (getClass() != obj.getClass())
- return false;
- Builder other = (Builder) obj;
- if (claimType != other.claimType)
- return false;
- if (!Objects.equal(tags, other.tags))
- return false;
- if (!Objects.equal(readers, other.readers))
- return false;
- if (size != other.size)
- return false;
- return true;
- }
- }
-
- protected final long size;
- protected final ClaimType claimType;
- protected final Set tags;
- protected final Set readers;
-
- public Drive(@Nullable String uuid, String name, long size, @Nullable ClaimType claimType,
- Iterable tags, Iterable readers, Iterable use) {
- super(uuid, name, use);
- this.size = size;
- this.claimType = checkNotNull(claimType, "set claimType to exclusive, not null");
- this.tags = ImmutableSet.copyOf(checkNotNull(tags, "tags"));
- this.readers = ImmutableSet.copyOf(checkNotNull(readers, "readers"));
- }
-
- /**
- *
- * @return either 'exclusive' (the default) or 'shared' to allow multiple servers to access a
- * drive simultaneously
- */
- @Nullable
- public ClaimType getClaimType() {
- return claimType;
- }
-
- /**
- * @return all tags associated with this drive, both user-specified and "system" tags (e.g. "affinity:ssd")
- */
- public Set getTags() {
- return tags;
- }
-
- /**
- *
- * @return list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff'
- * for all users
- */
- public Set getReaders() {
- return readers;
- }
-
- /**
- *
- * @return size of drive in bytes
- */
- public long getSize() {
- return size;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((claimType == null) ? 0 : claimType.hashCode());
- result = prime * result + ((tags == null) ? 0 : tags.hashCode());
- result = prime * result + ((name == null) ? 0 : name.hashCode());
- result = prime * result + ((readers == null) ? 0 : readers.hashCode());
- result = prime * result + (int) (size ^ (size >>> 32));
- result = prime * result + ((use == null) ? 0 : use.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Drive other = (Drive) obj;
- if (claimType != other.claimType)
- return false;
- if (!Objects.equal(tags, other.tags))
- return false;
- if (!Objects.equal(name, other.name))
- return false;
- if (!Objects.equal(readers, other.readers))
- return false;
- if (size != other.size)
- return false;
- if (use == null) {
- if (other.use != null)
- return false;
- } else if (!use.equals(other.use))
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "[uuid=" + uuid + ", name=" + name + ", use=" + use + ", size=" + size + ", claimType=" + claimType
- + ", tags=" + tags + ", readers=" + readers + "]";
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveData.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveData.java
deleted file mode 100644
index 550d87a946..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveData.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import org.jclouds.javax.annotation.Nullable;
-
-public class DriveData extends Drive {
- public static class Builder extends Drive.Builder {
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder claimType(ClaimType claimType) {
- return Builder.class.cast(super.claimType(claimType));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder name(String name) {
- return Builder.class.cast(super.name(name));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder tags(Iterable tags) {
- return Builder.class.cast(super.tags(tags));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder readers(Iterable readers) {
- return Builder.class.cast(super.readers(readers));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder size(long size) {
- return Builder.class.cast(super.size(size));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder use(Iterable use) {
- return Builder.class.cast(super.use(use));
- }
-
- public DriveData build() {
- return new DriveData(uuid, name, size, claimType, tags, readers, use);
- }
- }
-
- public DriveData(@Nullable String uuid, String name, long size, @Nullable ClaimType claimType,
- Iterable tags, Iterable readers, Iterable use) {
- super(uuid, name, size, claimType, tags, readers, use);
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveInfo.java
deleted file mode 100644
index a335a38182..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveInfo.java
+++ /dev/null
@@ -1,466 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.net.URI;
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.collect.ImmutableSet;
-
-public class DriveInfo extends Drive {
- public static class Builder extends Drive.Builder {
-
- protected DriveStatus status;
- protected String user;
- protected Set claimed = ImmutableSet.of();
- @Nullable
- protected String encryptionCipher;
- @Nullable
- protected String imaging;
- protected DriveMetrics metrics;
- private Boolean autoexpanding;
- private Integer bits;
- private String description;
- private Set driveType = ImmutableSet.of();
- private String encryptionKey;
- private Boolean free;
- private String installNotes;
- private String os;
- private DriveType type;
- private URI url;
-
- public Builder status(DriveStatus status) {
- this.status = status;
- return this;
- }
-
- public Builder user(String user) {
- this.user = user;
- return this;
- }
-
- public Builder claimed(Iterable claimed) {
- this.claimed = ImmutableSet.copyOf(checkNotNull(claimed, "claimed"));
- return this;
- }
-
- public Builder imaging(String imaging) {
- this.imaging = imaging;
- return this;
- }
-
- public Builder metrics(DriveMetrics metrics) {
- this.metrics = metrics;
- return this;
- }
-
- public Builder encryptionCipher(String encryptionCipher) {
- this.encryptionCipher = encryptionCipher;
- return this;
- }
-
- public Builder autoexpanding(Boolean autoexpanding) {
- this.autoexpanding = autoexpanding;
- return this;
- }
-
- public Builder bits(Integer bits) {
- this.bits = bits;
- return this;
- }
-
- public Builder description(String description) {
- this.description = description;
- return this;
- }
-
- public Builder driveType(Iterable driveType) {
- this.driveType = ImmutableSet.copyOf(checkNotNull(driveType, "driveType"));
- return this;
- }
-
- public Builder encryptionKey(String encryptionKey) {
- this.encryptionKey = encryptionKey;
- return this;
- }
-
- public Builder free(Boolean free) {
- this.free = free;
- return this;
- }
-
- public Builder installNotes(String installNotes) {
- this.installNotes = installNotes;
- return this;
- }
-
- public Builder os(String os) {
- this.os = os;
- return this;
- }
-
- public Builder type(DriveType type) {
- this.type = type;
- return this;
- }
-
- public Builder url(URI url) {
- this.url = url;
- return this;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder claimType(ClaimType claimType) {
- return Builder.class.cast(super.claimType(claimType));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder tags(Iterable tags) {
- return Builder.class.cast(super.tags(tags));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder readers(Iterable readers) {
- return Builder.class.cast(super.readers(readers));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder size(long size) {
- return Builder.class.cast(super.size(size));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder uuid(String uuid) {
- return Builder.class.cast(super.uuid(uuid));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder name(String name) {
- return Builder.class.cast(super.name(name));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder use(Iterable use) {
- return Builder.class.cast(super.use(use));
- }
-
- public static Builder fromDriveInfo(DriveInfo in) {
- return new Builder().uuid(in.getUuid()).name(in.getName()).size(in.getSize()).claimType(in.getClaimType())
- .readers(in.getReaders()).use(in.getUse()).status(in.getStatus()).user(in.getUser())
- .claimed(in.getClaimed()).encryptionCipher(in.getEncryptionCipher()).imaging(in.getImaging())
- .metrics(in.getMetrics()).autoexpanding(in.getAutoexpanding()).bits(in.getBits())
- .description(in.getDescription()).encryptionKey(in.getEncryptionKey()).free(in.getFree())
- .installNotes(in.getInstallNotes()).type(in.getType()).url(in.getUrl());
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public DriveInfo build() {
- return new DriveInfo(uuid, name, size, claimType, tags, readers, use, status, user, claimed, encryptionCipher,
- imaging, metrics, autoexpanding, bits, description, driveType, encryptionKey, free, installNotes, os,
- type, url);
- }
-
- }
-
- protected final DriveStatus status;
- protected final String user;
- protected final Set claimed;
- @Nullable
- protected final String encryptionCipher;
- @Nullable
- protected final String imaging;
- protected final DriveMetrics metrics;
- private final Boolean autoexpanding;
- private final Integer bits;
- private final String description;
- private final ImmutableSet driveType;
- private final String encryptionKey;
- private final Boolean free;
- private final String installNotes;
- private final String os;
- private final DriveType type;
- private final URI url;
-
- public DriveInfo(String uuid, String name, long size, ClaimType claimType, Iterable tags, Iterable readers,
- Iterable use, DriveStatus status, String user, Set claimed, String encryptionCipher,
- String imaging, DriveMetrics metrics, Boolean autoexpanding, Integer bits, String description,
- Iterable driveType, String encryptionKey, Boolean free, String installNotes, String os,
- DriveType type, URI url) {
- super(uuid, name, size, claimType, tags, readers, use);
- this.status = status;
- this.user = user;
- this.claimed = ImmutableSet.copyOf(checkNotNull(claimed, "claimed"));
- this.encryptionCipher = encryptionCipher;
- this.imaging = imaging;
- this.metrics = checkNotNull(metrics, "metrics");
- this.autoexpanding = autoexpanding;
- this.bits = bits;
- this.description = description;
- this.driveType = ImmutableSet.copyOf(driveType);
- this.encryptionKey = encryptionKey;
- this.free = free;
- this.installNotes = installNotes;
- this.os = os;
- this.type = type;
- this.url = url;
- }
-
- /**
- *
- * @return current status of the drive
- */
- public DriveStatus getStatus() {
- return status;
- }
-
- /**
- *
- * @return owner of the drive
- */
- public String getUser() {
- return user;
- }
-
- /**
- *
- * @return if drive is in use by a server, values are the server uuids
- */
- public Set getClaimed() {
- return claimed;
- }
-
- /**
- *
- * @return either 'none' or 'aes-xts-plain' (the default)
- */
- @Nullable
- public String getEncryptionCipher() {
- return encryptionCipher;
- }
-
- /**
- *
- * @return percentage completed of drive imaging if this is underway, or 'queued' if waiting for
- * another imaging operation to complete first
- */
- public String getImaging() {
- return imaging;
- }
-
- /**
- *
- * @return i/o and request metrics for read and write ops
- */
- public DriveMetrics getMetrics() {
- return metrics;
- }
-
- // TODO
- public Boolean getAutoexpanding() {
- return autoexpanding;
- }
-
- // TODO
- public Integer getBits() {
- return bits;
- }
-
- // TODO undocumented
- public String getDescription() {
- return description;
- }
-
- // TODO
- public Set getDriveType() {
- return driveType;
- }
-
- // TODO
- public String getEncryptionKey() {
- return encryptionKey;
- }
-
- // TODO
- public Boolean getFree() {
- return free;
- }
-
- // TODO
- public String getInstallNotes() {
- return installNotes;
- }
-
- // TODO
- public String getOs() {
- return os;
- }
-
- // TODO
- public DriveType getType() {
- return type;
- }
-
- public URI getUrl() {
- return url;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((autoexpanding == null) ? 0 : autoexpanding.hashCode());
- result = prime * result + ((bits == null) ? 0 : bits.hashCode());
- result = prime * result + ((claimed == null) ? 0 : claimed.hashCode());
- result = prime * result + ((description == null) ? 0 : description.hashCode());
- result = prime * result + ((driveType == null) ? 0 : driveType.hashCode());
- result = prime * result + ((encryptionCipher == null) ? 0 : encryptionCipher.hashCode());
- result = prime * result + ((encryptionKey == null) ? 0 : encryptionKey.hashCode());
- result = prime * result + ((free == null) ? 0 : free.hashCode());
- result = prime * result + ((imaging == null) ? 0 : imaging.hashCode());
- result = prime * result + ((installNotes == null) ? 0 : installNotes.hashCode());
- result = prime * result + ((metrics == null) ? 0 : metrics.hashCode());
- result = prime * result + ((os == null) ? 0 : os.hashCode());
- result = prime * result + ((status == null) ? 0 : status.hashCode());
- result = prime * result + ((type == null) ? 0 : type.hashCode());
- result = prime * result + ((url == null) ? 0 : url.hashCode());
- result = prime * result + ((user == null) ? 0 : user.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (!super.equals(obj))
- return false;
- if (getClass() != obj.getClass())
- return false;
- DriveInfo other = (DriveInfo) obj;
- if (autoexpanding == null) {
- if (other.autoexpanding != null)
- return false;
- } else if (!autoexpanding.equals(other.autoexpanding))
- return false;
- if (bits == null) {
- if (other.bits != null)
- return false;
- } else if (!bits.equals(other.bits))
- return false;
- if (claimed == null) {
- if (other.claimed != null)
- return false;
- } else if (!claimed.equals(other.claimed))
- return false;
- if (description == null) {
- if (other.description != null)
- return false;
- } else if (!description.equals(other.description))
- return false;
- if (driveType == null) {
- if (other.driveType != null)
- return false;
- } else if (!driveType.equals(other.driveType))
- return false;
- if (encryptionCipher == null) {
- if (other.encryptionCipher != null)
- return false;
- } else if (!encryptionCipher.equals(other.encryptionCipher))
- return false;
- if (encryptionKey == null) {
- if (other.encryptionKey != null)
- return false;
- } else if (!encryptionKey.equals(other.encryptionKey))
- return false;
- if (free == null) {
- if (other.free != null)
- return false;
- } else if (!free.equals(other.free))
- return false;
- if (imaging == null) {
- if (other.imaging != null)
- return false;
- } else if (!imaging.equals(other.imaging))
- return false;
- if (installNotes == null) {
- if (other.installNotes != null)
- return false;
- } else if (!installNotes.equals(other.installNotes))
- return false;
- if (metrics == null) {
- if (other.metrics != null)
- return false;
- } else if (!metrics.equals(other.metrics))
- return false;
- if (os == null) {
- if (other.os != null)
- return false;
- } else if (!os.equals(other.os))
- return false;
- if (status != other.status)
- return false;
- if (type != other.type)
- return false;
- if (url == null) {
- if (other.url != null)
- return false;
- } else if (!url.equals(other.url))
- return false;
- if (user == null) {
- if (other.user != null)
- return false;
- } else if (!user.equals(other.user))
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "[size=" + size + ", claimType=" + claimType + ", tags=" + tags + ", readers=" + readers
- + ", uuid=" + uuid + ", name=" + name + ", use=" + use + ", status=" + status
- + ", user=" + user + ", claimed=" + claimed + ", encryptionCipher=" + encryptionCipher
- + ", imaging=" + imaging + ", metrics=" + metrics + "]";
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveMetrics.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveMetrics.java
deleted file mode 100644
index 768cf54593..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveMetrics.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-
-public class DriveMetrics {
- public static class Builder {
- protected long readBytes;
- protected long readRequests;
- protected long writeBytes;
- protected long writeRequests;
-
- public Builder readBytes(long readBytes) {
- this.readBytes = readBytes;
- return this;
- }
-
- public Builder readRequests(long readRequests) {
- this.readRequests = readRequests;
- return this;
- }
-
- public Builder writeBytes(long writeBytes) {
- this.writeBytes = writeBytes;
- return this;
- }
-
- public Builder writeRequests(long writeRequests) {
- this.writeRequests = writeRequests;
- return this;
- }
-
- public DriveMetrics build() {
- return new DriveMetrics(readBytes, readRequests, writeBytes, writeRequests);
- }
- }
-
- protected final long readBytes;
- protected final long readRequests;
- protected final long writeBytes;
- protected final long writeRequests;
-
- public DriveMetrics(long readBytes, long readRequests, long writeBytes, long writeRequests) {
- this.readBytes = readBytes;
- this.readRequests = readRequests;
- this.writeBytes = writeBytes;
- this.writeRequests = writeRequests;
- }
-
- /**
- *
- * @return Cumulative i/o byte/request count for each drive
- */
- public long getReadBytes() {
- return readBytes;
- }
-
- /**
- *
- * @return Cumulative i/o byte/request count for each drive
- */
- public long getReadRequests() {
- return readRequests;
- }
-
- /**
- *
- * @return Cumulative i/o byte/request count for each drive
- */
- public long getWriteBytes() {
- return writeBytes;
- }
-
- /**
- *
- * @return Cumulative i/o byte/request count for each drive
- */
- public long getWriteRequests() {
- return writeRequests;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + (int) (readBytes ^ (readBytes >>> 32));
- result = prime * result + (int) (readRequests ^ (readRequests >>> 32));
- result = prime * result + (int) (writeBytes ^ (writeBytes >>> 32));
- result = prime * result + (int) (writeRequests ^ (writeRequests >>> 32));
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- DriveMetrics other = (DriveMetrics) obj;
- if (readBytes != other.readBytes)
- return false;
- if (readRequests != other.readRequests)
- return false;
- if (writeBytes != other.writeBytes)
- return false;
- if (writeRequests != other.writeRequests)
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "[readBytes=" + readBytes + ", readRequests=" + readRequests + ", writeBytes=" + writeBytes
- + ", writeRequests=" + writeRequests + "]";
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveStatus.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveStatus.java
deleted file mode 100644
index 118b6e9f5d..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveStatus.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-public enum DriveStatus {
- ACTIVE, INACTIVE, COPYING, IMAGING, UNRECOGNIZED;
-
- public String value() {
- return name().toLowerCase();
- }
-
- @Override
- public String toString() {
- return value();
- }
-
- public static DriveStatus fromValue(String status) {
- try {
- return valueOf(checkNotNull(status, "status").toUpperCase());
- } catch (IllegalArgumentException e) {
- return UNRECOGNIZED;
- }
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveType.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveType.java
deleted file mode 100644
index 401574529c..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveType.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-public enum DriveType {
- DISK, CDROM, SHARED, UNRECOGNIZED;
-
- public String value() {
- return name().toLowerCase();
- }
-
- @Override
- public String toString() {
- return value();
- }
-
- public static DriveType fromValue(String type) {
- try {
- return valueOf(checkNotNull(type, "type").toUpperCase());
- } catch (IllegalArgumentException e) {
- return UNRECOGNIZED;
- }
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/IDEDevice.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/IDEDevice.java
deleted file mode 100644
index 690b0c818a..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/IDEDevice.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-public class IDEDevice extends Device {
- public static class Builder extends Device.Builder {
- private final int bus;
- private final int unit;
-
- public Builder(int bus, int unit) {
- this.bus = bus;
- this.unit = unit;
- }
-
- @Override
- public Device build() {
- return new IDEDevice(uuid, mediaType, bus, unit);
- }
-
- }
-
- private final int bus;
- private final int unit;
-
- public IDEDevice(String driveUuid, MediaType mediaType, int bus, int unit) {
- super(driveUuid, mediaType);
- checkArgument(bus == 0 || bus == 1, "bus must be 0 or 1");
- checkArgument(unit == 0 || unit == 1, "unit must be 0 or 1");
- this.bus = bus;
- this.unit = unit;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + bus;
- result = prime * result + unit;
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- IDEDevice other = (IDEDevice) obj;
- if (bus != other.bus)
- return false;
- if (unit != other.unit)
- return false;
- return true;
- }
-
- @Override
- public String getId() {
- return String.format("ide:%d:%d", bus, unit);
- }
-
- public int getBus() {
- return bus;
- }
-
- public int getUnit() {
- return unit;
- }
-
- @Override
- public String toString() {
- return "[id=" + getId() + ", driveUuid=" + driveUuid + ", mediaType=" + mediaType + "]";
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Item.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Item.java
deleted file mode 100644
index 8f74ff9a7f..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Item.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.collect.ImmutableSet;
-
-public class Item {
- public static class Builder {
- protected String uuid;
- protected String name;
- protected Set use = ImmutableSet.of();
-
- public Builder uuid(String uuid) {
- this.uuid = uuid;
- return this;
- }
-
- public Builder name(String name) {
- this.name = name;
- return this;
- }
-
- public Builder use(Iterable use) {
- this.use = ImmutableSet.copyOf(checkNotNull(use, "use"));
- return this;
- }
-
- public Item build() {
- return new Item(uuid, name, use);
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((name == null) ? 0 : name.hashCode());
- result = prime * result + ((use == null) ? 0 : use.hashCode());
- result = prime * result + ((uuid == null) ? 0 : uuid.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Builder other = (Builder) obj;
- if (name == null) {
- if (other.name != null)
- return false;
- } else if (!name.equals(other.name))
- return false;
- if (use == null) {
- if (other.use != null)
- return false;
- } else if (!use.equals(other.use))
- return false;
- if (uuid == null) {
- if (other.uuid != null)
- return false;
- } else if (!uuid.equals(other.uuid))
- return false;
- return true;
- }
- }
-
- @Nullable
- protected final String uuid;
- protected final String name;
- protected final Set use;
-
- public Item(@Nullable String uuid, String name, Iterable use) {
- this.uuid = uuid;
- this.name = checkNotNull(name, "name");
- this.use = ImmutableSet.copyOf(checkNotNull(use, "use"));
- }
-
- /**
- *
- * @return uuid of the item.
- */
- @Nullable
- public String getUuid() {
- return uuid;
- }
-
- /**
- *
- * @return name of the item
- */
- public String getName() {
- return name;
- }
-
- /**
- *
- * @return list of use
- */
- public Set getUse() {
- return use;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((name == null) ? 0 : name.hashCode());
- result = prime * result + ((use == null) ? 0 : use.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Item other = (Item) obj;
- if (name == null) {
- if (other.name != null)
- return false;
- } else if (!name.equals(other.name))
- return false;
- if (use == null) {
- if (other.use != null)
- return false;
- } else if (!use.equals(other.use))
- return false;
-
- return true;
- }
-
- @Override
- public String toString() {
- return "[uuid=" + uuid + ", name=" + name + ", use=" + use + "]";
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/MediaType.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/MediaType.java
deleted file mode 100644
index a04b2ad249..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/MediaType.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * Media type - set to 'cdrom' to simulate a cdrom, set to 'disk' or leave unset to simulate a hard
- * disk.
- */
-public enum MediaType {
- DISK, CDROM, UNRECOGNIZED;
-
- public String value() {
- return name().toLowerCase();
- }
-
- @Override
- public String toString() {
- return value();
- }
-
- public static MediaType fromValue(String type) {
- try {
- return valueOf(checkNotNull(type, "type").toUpperCase());
- } catch (IllegalArgumentException e) {
- return UNRECOGNIZED;
- }
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Model.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Model.java
deleted file mode 100644
index 28a2d75a29..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Model.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-public enum Model {
- E1000, RTl8139, VIRTIO, UNRECOGNIZED;
-
- public String value() {
- return name().toLowerCase();
- }
-
- @Override
- public String toString() {
- return value();
- }
-
- public static Model fromValue(String model) {
- try {
- return valueOf(checkNotNull(model, "model").toUpperCase());
- } catch (IllegalArgumentException e) {
- return UNRECOGNIZED;
- }
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/NIC.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/NIC.java
deleted file mode 100644
index 46f6b29f55..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/NIC.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.collect.ImmutableSet;
-
-public class NIC {
- public static class Builder {
- private String dhcp;
- private Model model;
- private String vlan;
- private String mac;
- // TODO cloudsigma specific
- private Set block = ImmutableSet.of();
-
- public Builder dhcp(String dhcp) {
- this.dhcp = dhcp;
- return this;
- }
-
- public Builder model(Model model) {
- this.model = model;
- return this;
- }
-
- public Builder vlan(String vlan) {
- this.vlan = vlan;
- return this;
- }
-
- public Builder mac(String mac) {
- this.mac = mac;
- return this;
- }
-
- public Builder block(Iterable block) {
- this.block = ImmutableSet.copyOf(checkNotNull(block, "block"));
- return this;
- }
-
- public NIC build() {
- return new NIC(dhcp, model, vlan, mac, block);
- }
- }
-
- private final String dhcp;
- private final Model model;
- private final String vlan;
- private final String mac;
- private final Set block;
-
- public NIC(@Nullable String dhcp, Model model, @Nullable String vlan, @Nullable String mac, Iterable block) {
- this.dhcp = dhcp;
- this.model = checkNotNull(model, "model");
- this.vlan = vlan;
- this.mac = mac;
- this.block = ImmutableSet.copyOf(checkNotNull(block, "block"));
- }
-
- /**
- *
- * @return The IP address offered by DHCP to network interface 0. If unset, no address is
- * offered. Set to 'auto' to allocate a temporary IP at boot.
- */
- public String getDhcp() {
- return dhcp;
- }
-
- /**
- *
- * @return Create network interface with given type (use 'e1000' as default value; 'rtl8139' or
- * 'virtio' are also available).
- */
- public Model getModel() {
- return model;
- }
-
- /**
- *
- * @return The VLAN to which the network interface is attached.
- */
- public String getVlan() {
- return vlan;
- }
-
- /**
- *
- * @return The MAC address of the network interface. If unset, a randomly generated address is
- * used. If set, should be unique on the VLAN.
- */
- public String getMac() {
- return mac;
- }
-
- // TODO undocumented
- public Set getBlock() {
- return block;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((block == null) ? 0 : block.hashCode());
- result = prime * result + ((dhcp == null) ? 0 : dhcp.hashCode());
- result = prime * result + ((mac == null) ? 0 : mac.hashCode());
- result = prime * result + ((model == null) ? 0 : model.hashCode());
- result = prime * result + ((vlan == null) ? 0 : vlan.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- NIC other = (NIC) obj;
- if (block == null) {
- if (other.block != null)
- return false;
- } else if (!block.equals(other.block))
- return false;
- if (dhcp == null) {
- if (other.dhcp != null)
- return false;
- } else if (!dhcp.equals(other.dhcp))
- return false;
- if (mac == null) {
- if (other.mac != null)
- return false;
- } else if (!mac.equals(other.mac))
- return false;
- if (model != other.model)
- return false;
- if (vlan == null) {
- if (other.vlan != null)
- return false;
- } else if (!vlan.equals(other.vlan))
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "[dhcp=" + dhcp + ", model=" + model + ", vlan=" + vlan + ", mac=" + mac + ", block=" + block + "]";
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ProfileInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ProfileInfo.java
deleted file mode 100644
index 377df391b9..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ProfileInfo.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-public class ProfileInfo {
-
- public static class Builder {
- protected String uuid;
- protected String email;
- protected String firstName;
- protected String lastName;
- protected String nickName;
- protected ProfileType type = ProfileType.REGULAR;
-
- public Builder uuid(String uuid) {
- this.uuid = uuid;
- return this;
- }
-
- public Builder email(String email) {
- this.email = email;
- return this;
- }
-
- public Builder firstName(String firstName) {
- this.firstName = firstName;
- return this;
- }
-
- public Builder lastName(String lastName) {
- this.lastName = lastName;
- return this;
- }
-
- public Builder nickName(String nickName) {
- this.nickName = nickName;
- return this;
- }
-
- public Builder type(ProfileType type) {
- this.type = type;
- return this;
- }
-
- public ProfileInfo build() {
- return new ProfileInfo(uuid, email, firstName, lastName, nickName, type);
- }
-
- }
-
- protected final String uuid;
- protected final String email;
- protected final String firstName;
- protected final String lastName;
- protected final String nickName;
- protected final ProfileType type;
-
- public ProfileInfo(String uuid, String email, String firstName, String lastName, String nickName, ProfileType type) {
- this.uuid = checkNotNull(uuid, "uuid");
- this.email = checkNotNull(email, "email");
- this.firstName = checkNotNull(firstName, "firstName");
- this.lastName = checkNotNull(lastName, "lastName");
- this.nickName = checkNotNull(nickName, "nickName");
- this.type = checkNotNull(type, "type");
- }
-
- /**
- *
- * @return uuid of the profile.
- */
- public String getUuid() {
- return uuid;
- }
-
- /**
- * Checks for valid email address
- *
- * @return email of the profile.
- */
- public String getEmail() {
- return email;
- }
-
- /**
- *
- * @return firstName of the profile.
- */
- protected String getFirstName() {
- return firstName;
- }
-
- /**
- *
- * @return lastName of the profile.
- */
- protected String getLastName() {
- return lastName;
- }
-
- /**
- * Used in phpBB nick name
- *
- * @return nickName of the profile.
- */
- protected String getNickName() {
- return nickName;
- }
-
- /**
- *
- * @return type of the profile.
- */
- protected ProfileType getType() {
- return type;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((email == null) ? 0 : email.hashCode());
- result = prime * result + ((firstName == null) ? 0 : firstName.hashCode());
- result = prime * result + ((lastName == null) ? 0 : lastName.hashCode());
- result = prime * result + ((nickName == null) ? 0 : nickName.hashCode());
- result = prime * result + ((type == null) ? 0 : type.hashCode());
- result = prime * result + ((uuid == null) ? 0 : uuid.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- ProfileInfo other = (ProfileInfo) obj;
- if (email == null) {
- if (other.email != null)
- return false;
- } else if (!email.equals(other.email))
- return false;
- if (firstName == null) {
- if (other.firstName != null)
- return false;
- } else if (!firstName.equals(other.firstName))
- return false;
- if (lastName == null) {
- if (other.lastName != null)
- return false;
- } else if (!lastName.equals(other.lastName))
- return false;
- if (nickName == null) {
- if (other.nickName != null)
- return false;
- } else if (!nickName.equals(other.nickName))
- return false;
- if (type != other.type)
- return false;
- if (uuid == null) {
- if (other.uuid != null)
- return false;
- } else if (!uuid.equals(other.uuid))
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "[uuid=" + uuid + ", email=" + email + ", firstName=" + firstName + ", lastName=" + lastName
- + ", nickName=" + nickName + ", type=" + type + "]";
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ProfileType.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ProfileType.java
deleted file mode 100644
index 383a69199f..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ProfileType.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-public enum ProfileType {
- REGULAR, UNRECOGNIZED;
- public String value() {
- return name().toLowerCase();
- }
-
- @Override
- public String toString() {
- return value();
- }
-
- public static ProfileType fromValue(String type) {
- try {
- return valueOf(checkNotNull(type, "type").toUpperCase());
- } catch (IllegalArgumentException e) {
- return UNRECOGNIZED;
- }
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/SCSIDevice.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/SCSIDevice.java
deleted file mode 100644
index 932a7222e5..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/SCSIDevice.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-public class SCSIDevice extends Device {
- public static class Builder extends Device.Builder {
- private final int unit;
-
- public Builder(int unit) {
- this.unit = unit;
- }
-
- @Override
- public Device build() {
- return new SCSIDevice(uuid, mediaType, unit);
- }
-
- }
-
- private static final int bus = 0;
- private final int unit;
-
- public SCSIDevice(String driveUuid, MediaType mediaType, int unit) {
- super(driveUuid, mediaType);
- checkArgument(unit >= 0 && unit < 8, "unit must be between 0 and 7");
- this.unit = unit;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + bus;
- result = prime * result + unit;
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- SCSIDevice other = (SCSIDevice) obj;
- if (unit != other.unit)
- return false;
- return true;
- }
-
- public int getBus() {
- return bus;
- }
-
- public int getUnit() {
- return unit;
- }
-
- @Override
- public String getId() {
- return String.format("scsi:%d:%d", bus, unit);
- }
-
- @Override
- public String toString() {
- return "[id=" + getId() + ", driveUuid=" + driveUuid + ", mediaType=" + mediaType + "]";
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Server.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Server.java
deleted file mode 100644
index ea92d1d0ce..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Server.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
-public class Server extends Item {
-
- public static class Builder extends Item.Builder {
- protected int cpu;
- protected Integer smp;
- protected int mem;
- protected boolean persistent;
- protected Map devices = ImmutableMap.of();
- protected Set bootDeviceIds = ImmutableSet.of();
- protected List nics = ImmutableList.of();
- protected VNC vnc;
- // TODO cloudsigma specific
- protected String description;
-
- public Builder cpu(int cpu) {
- this.cpu = cpu;
- return this;
- }
-
- public Builder smp(Integer smp) {
- this.smp = smp;
- return this;
- }
-
- public Builder mem(int mem) {
- this.mem = mem;
- return this;
- }
-
- public Builder persistent(boolean persistent) {
- this.persistent = persistent;
- return this;
- }
-
- public Builder devices(Map devices) {
- this.devices = ImmutableMap.copyOf(checkNotNull(devices, "devices"));
- return this;
- }
-
- public Builder bootDeviceIds(Iterable bootDeviceIds) {
- this.bootDeviceIds = ImmutableSet.copyOf(checkNotNull(bootDeviceIds, "bootDeviceIds"));
- return this;
- }
-
- public Builder nics(Iterable nics) {
- this.nics = ImmutableList.copyOf(checkNotNull(nics, "nics"));
- return this;
- }
-
- public Builder vnc(VNC vnc) {
- this.vnc = vnc;
- return this;
- }
-
- public Builder description(String description) {
- this.description = description;
- return this;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder uuid(String uuid) {
- return Builder.class.cast(super.uuid(uuid));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder name(String name) {
- return Builder.class.cast(super.name(name));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder use(Iterable use) {
- return Builder.class.cast(super.use(use));
- }
-
- public Server build() {
- return new Server(uuid, name, cpu, smp, mem, persistent, devices, bootDeviceIds, use, nics, vnc, description);
- }
-
- public static Builder fromServer(Server in) {
- return new Builder().uuid(in.getUuid()).name(in.getName()).cpu(in.getCpu()).mem(in.getMem())
- .persistent(in.isPersistent()).description(in.getDescription()).devices(in.getDevices())
- .bootDeviceIds(in.getBootDeviceIds()).use(in.getUse()).nics(in.getNics()).vnc(in.getVnc());
- }
- }
-
- protected final int cpu;
- protected final Integer smp;
- protected final int mem;
- protected final boolean persistent;
- @Nullable
- protected final Map devices;
- protected final Set bootDeviceIds;
- protected final List nics;
- protected final VNC vnc;
- @Nullable
- private final String description;
-
- public Server(@Nullable String uuid, String name, int cpu, @Nullable Integer smp, int mem, boolean persistent,
- Map devices, Iterable bootDeviceIds, Iterable use,
- Iterable nics, VNC vnc, String description) {
- super(uuid, name, use);
- this.cpu = cpu;
- this.smp = smp;
- this.mem = mem;
- this.persistent = persistent;
- this.devices = ImmutableMap.copyOf(checkNotNull(devices, "devices"));
- this.bootDeviceIds = ImmutableSet.copyOf(checkNotNull(bootDeviceIds, "bootDeviceIds"));
- this.nics = ImmutableList.copyOf(checkNotNull(nics, "nics"));
- this.vnc = checkNotNull(vnc, "vnc");
- this.description = description;
- }
-
- /**
- *
- * @return CPU quota in core MHz.
- */
- public int getCpu() {
- return cpu;
- }
-
- /**
- *
- * @return number of virtual processors or null if calculated based on cpu.
- */
- public Integer getSmp() {
- return smp;
- }
-
- /**
- *
- * @return virtual memory size in MB.
- */
- public int getMem() {
- return mem;
- }
-
- /**
- *
- * @return 'true' means that server will revert to a 'stopped' status on server stop or shutdown,
- * rather than being destroyed automatically.
- */
- public boolean isPersistent() {
- return persistent;
- }
-
- /**
- *
- * @return devices present, mapped by id
- */
- public Map getDevices() {
- return devices;
- }
-
- /**
- *
- * @return ids of the devices to boot, e.g. ide:0:0 or ide:1:0
- * @see Device#getId()
- */
- public Set getBootDeviceIds() {
- return bootDeviceIds;
- }
-
- public List getNics() {
- return nics;
- }
-
- public VNC getVnc() {
- return vnc;
- }
-
- // TODO undocumented
- public String getDescription() {
- return description;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((bootDeviceIds == null) ? 0 : bootDeviceIds.hashCode());
- result = prime * result + cpu;
- result = prime * result + ((description == null) ? 0 : description.hashCode());
- result = prime * result + ((devices == null) ? 0 : devices.hashCode());
- result = prime * result + mem;
- result = prime * result + ((nics == null) ? 0 : nics.hashCode());
- result = prime * result + (persistent ? 1231 : 1237);
- result = prime * result + ((smp == null) ? 0 : smp.hashCode());
- result = prime * result + ((vnc == null) ? 0 : vnc.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (!super.equals(obj))
- return false;
- if (getClass() != obj.getClass())
- return false;
- Server other = (Server) obj;
- if (bootDeviceIds == null) {
- if (other.bootDeviceIds != null)
- return false;
- } else if (!bootDeviceIds.equals(other.bootDeviceIds))
- return false;
- if (cpu != other.cpu)
- return false;
- if (description == null) {
- if (other.description != null)
- return false;
- } else if (!description.equals(other.description))
- return false;
- if (devices == null) {
- if (other.devices != null)
- return false;
- } else if (!devices.equals(other.devices))
- return false;
- if (mem != other.mem)
- return false;
- if (nics == null) {
- if (other.nics != null)
- return false;
- } else if (!nics.equals(other.nics))
- return false;
- if (persistent != other.persistent)
- return false;
- if (smp == null) {
- if (other.smp != null)
- return false;
- } else if (!smp.equals(other.smp))
- return false;
- if (vnc == null) {
- if (other.vnc != null)
- return false;
- } else if (!vnc.equals(other.vnc))
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "[uuid=" + uuid + ", name=" + name + ", use=" + use + ", cpu=" + cpu + ", smp=" + smp + ", mem=" + mem
- + ", persistent=" + persistent + ", devices=" + devices + ", bootDeviceIds=" + bootDeviceIds + ", nics="
- + nics + ", vnc=" + vnc + ", description=" + description + "]";
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerInfo.java
deleted file mode 100644
index 0763bd78fd..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerInfo.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import java.util.Date;
-import java.util.Map;
-
-import org.jclouds.javax.annotation.Nullable;
-
-public class ServerInfo extends Server {
-
- public static class Builder extends Server.Builder {
- protected ServerStatus status;
- protected Date started;
- protected String user;
- protected ServerMetrics metrics;
-
- public Builder status(ServerStatus status) {
- this.status = status;
- return this;
- }
-
- public Builder started(Date started) {
- this.started = started;
- return this;
- }
-
- public Builder user(String user) {
- this.user = user;
- return this;
- }
-
- public Builder metrics(ServerMetrics metrics) {
- this.metrics = metrics;
- return this;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder cpu(int cpu) {
- return Builder.class.cast(super.cpu(cpu));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder smp(Integer smp) {
- return Builder.class.cast(super.smp(smp));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder mem(int mem) {
- return Builder.class.cast(super.mem(mem));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder persistent(boolean persistent) {
- return Builder.class.cast(super.persistent(persistent));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder devices(Map devices) {
- return Builder.class.cast(super.devices(devices));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder bootDeviceIds(Iterable bootDeviceIds) {
- return Builder.class.cast(super.bootDeviceIds(bootDeviceIds));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder nics(Iterable nics) {
- return Builder.class.cast(super.nics(nics));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder vnc(VNC vnc) {
- return Builder.class.cast(super.vnc(vnc));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder description(String description) {
- return Builder.class.cast(super.description(description));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder uuid(String uuid) {
- return Builder.class.cast(super.uuid(uuid));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder name(String name) {
- return Builder.class.cast(super.name(name));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder use(Iterable use) {
- return Builder.class.cast(super.use(use));
- }
-
- public ServerInfo build() {
- return new ServerInfo(uuid, name, cpu, smp, mem, persistent, devices, bootDeviceIds, use, nics, vnc,
- description, status, started, user, metrics);
- }
- }
-
- protected final ServerStatus status;
- @Nullable
- protected final Date started;
- @Nullable
- protected final String user;
- protected final ServerMetrics metrics;
-
- public ServerInfo(String uuid, String name, int cpu, Integer smp, int mem, boolean persistent,
- Map devices, Iterable bootDeviceIds, Iterable use,
- Iterable nics, VNC vnc, String description, ServerStatus status, Date started, String user,
- @Nullable ServerMetrics metrics) {
- super(uuid, name, cpu, smp, mem, persistent, devices, bootDeviceIds, use, nics, vnc, description);
- this.status = status;
- this.started = started;
- this.user = user;
- this.metrics = metrics;
- }
-
- /**
- *
- * @return active | stopped | paused | dumped | dead
- */
- public ServerStatus getStatus() {
- return status;
- }
-
- // TODO undocumented
- public Date getStarted() {
- return started;
- }
-
- /**
- *
- * @return metrics, if the server is running, or null
- */
- @Nullable
- public ServerMetrics getMetrics() {
- return metrics;
- }
-
- // TODO undocumented
- /**
- *
- * @return owner of the server.
- */
- public String getUser() {
- return user;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((metrics == null) ? 0 : metrics.hashCode());
- result = prime * result + ((started == null) ? 0 : started.hashCode());
- result = prime * result + ((status == null) ? 0 : status.hashCode());
- result = prime * result + ((user == null) ? 0 : user.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (!super.equals(obj))
- return false;
- if (getClass() != obj.getClass())
- return false;
- ServerInfo other = (ServerInfo) obj;
- if (metrics == null) {
- if (other.metrics != null)
- return false;
- } else if (!metrics.equals(other.metrics))
- return false;
- if (started == null) {
- if (other.started != null)
- return false;
- } else if (!started.equals(other.started))
- return false;
- if (status != other.status)
- return false;
- if (user == null) {
- if (other.user != null)
- return false;
- } else if (!user.equals(other.user))
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "[cpu=" + cpu + ", smp=" + smp + ", mem=" + mem + ", persistent=" + persistent + ", devices=" + devices
- + ", bootDeviceIds=" + bootDeviceIds + ", nics=" + nics + ", vnc=" + vnc + ", uuid=" + uuid + ", name="
- + name + ", use=" + use + ", status=" + status + ", started=" + started + ", user=" + user + ", metrics="
- + metrics + "]";
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerMetrics.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerMetrics.java
deleted file mode 100644
index 7c39b8dbc1..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerMetrics.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-
-import com.google.common.collect.ImmutableMap;
-
-public class ServerMetrics {
-
- public static class Builder {
- protected long txPackets;
- protected long tx;
- protected long rxPackets;
- protected long rx;
- protected Map driveMetrics = ImmutableMap. of();
-
- public Builder txPackets(long txPackets) {
- this.txPackets = txPackets;
- return this;
- }
-
- public Builder tx(long tx) {
- this.tx = tx;
- return this;
- }
-
- public Builder rxPackets(long rxPackets) {
- this.rxPackets = rxPackets;
- return this;
- }
-
- public Builder rx(long rx) {
- this.rx = rx;
- return this;
- }
-
- public Builder driveMetrics(Map driveMetrics) {
- this.driveMetrics = ImmutableMap.copyOf(checkNotNull(driveMetrics, "driveMetrics"));
- return this;
- }
-
- public ServerMetrics build() {
- return new ServerMetrics(tx, txPackets, rx, rxPackets, driveMetrics);
- }
- }
-
- protected final long txPackets;
- protected final long tx;
- protected final long rxPackets;
- protected final long rx;
- protected final Map driveMetrics;
-
- public ServerMetrics(long tx, long txPackets, long rx, long rxPackets, Map driveMetrics) {
- this.txPackets = txPackets;
- this.tx = tx;
- this.rxPackets = rxPackets;
- this.rx = rx;
- this.driveMetrics = ImmutableMap.copyOf(checkNotNull(driveMetrics, "driveMetrics"));
- }
-
- // TODO undocumented
- public long getTxPackets() {
- return txPackets;
- }
-
- // TODO undocumented
- public long getTx() {
- return tx;
- }
-
- // TODO undocumented
- public long getRxPackets() {
- return rxPackets;
- }
-
- // TODO undocumented
- public long getRx() {
- return rx;
- }
-
- /**
- *
- * @return metrics keyed on device id ex. {@code ide:0:0}
- */
- public Map getDriveMetrics() {
- return driveMetrics;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((driveMetrics == null) ? 0 : driveMetrics.hashCode());
- result = prime * result + (int) (rx ^ (rx >>> 32));
- result = prime * result + (int) (rxPackets ^ (rxPackets >>> 32));
- result = prime * result + (int) (tx ^ (tx >>> 32));
- result = prime * result + (int) (txPackets ^ (txPackets >>> 32));
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- ServerMetrics other = (ServerMetrics) obj;
- if (driveMetrics == null) {
- if (other.driveMetrics != null)
- return false;
- } else if (!driveMetrics.equals(other.driveMetrics))
- return false;
- if (rx != other.rx)
- return false;
- if (rxPackets != other.rxPackets)
- return false;
- if (tx != other.tx)
- return false;
- if (txPackets != other.txPackets)
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "[ txPackets=" + txPackets + ", tx=" + tx + ", rxPackets=" + rxPackets + ", rx=" + rx + ", driveMetrics="
- + driveMetrics + "]";
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerStatus.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerStatus.java
deleted file mode 100644
index 19c164a278..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerStatus.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-public enum ServerStatus {
- ACTIVE, STOPPED, PAUSED, DUMPED, DEAD, UNRECOGNIZED;
- public String value() {
- return name().toLowerCase();
- }
-
- @Override
- public String toString() {
- return value();
- }
-
- public static ServerStatus fromValue(String status) {
- try {
- return valueOf(checkNotNull(status, "status").toUpperCase());
- } catch (IllegalArgumentException e) {
- return UNRECOGNIZED;
- }
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/StaticIPInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/StaticIPInfo.java
deleted file mode 100644
index fdef081d1c..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/StaticIPInfo.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.collect.ImmutableSet;
-
-public class StaticIPInfo {
- public static class Builder {
- protected String ip;
- protected String user;
- protected String netmask;
- protected Set nameservers = ImmutableSet.of();
- protected String gateway;
-
- public Builder ip(String ip) {
- this.ip = ip;
- return this;
- }
-
- public Builder user(String user) {
- this.user = user;
- return this;
- }
-
- public Builder nameservers(Iterable nameservers) {
- this.nameservers = ImmutableSet.copyOf(checkNotNull(nameservers, "nameservers"));
- return this;
- }
-
- public Builder gateway(String gateway) {
- this.gateway = gateway;
- return this;
- }
-
- public Builder netmask(String netmask) {
- this.netmask = netmask;
- return this;
- }
-
- public StaticIPInfo build() {
- return new StaticIPInfo(ip, user, netmask, nameservers, gateway);
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((gateway == null) ? 0 : gateway.hashCode());
- result = prime * result + ((nameservers == null) ? 0 : nameservers.hashCode());
- result = prime * result + ((netmask == null) ? 0 : netmask.hashCode());
- result = prime * result + ((user == null) ? 0 : user.hashCode());
- result = prime * result + ((ip == null) ? 0 : ip.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Builder other = (Builder) obj;
- if (gateway == null) {
- if (other.gateway != null)
- return false;
- } else if (!gateway.equals(other.gateway))
- return false;
- if (nameservers == null) {
- if (other.nameservers != null)
- return false;
- } else if (!nameservers.equals(other.nameservers))
- return false;
- if (netmask == null) {
- if (other.netmask != null)
- return false;
- } else if (!netmask.equals(other.netmask))
- return false;
- if (user == null) {
- if (other.user != null)
- return false;
- } else if (!user.equals(other.user))
- return false;
- if (ip == null) {
- if (other.ip != null)
- return false;
- } else if (!ip.equals(other.ip))
- return false;
- return true;
- }
- }
-
- protected final String ip;
- protected final String user;
- protected final String netmask;
- protected final Set nameservers;
- protected final String gateway;
-
- public StaticIPInfo(String ip, String user, String netmask, Iterable nameservers, String gateway) {
- this.ip = checkNotNull(ip, "ip");
- this.user = checkNotNull(user, "user");
- this.netmask = checkNotNull(netmask, "netmask");
- this.nameservers = ImmutableSet.copyOf(checkNotNull(nameservers, "nameservers"));
- this.gateway = checkNotNull(gateway, "gateway");
- }
-
- /**
- *
- * @return ip of the ip.
- */
- @Nullable
- public String getAddress() {
- return ip;
- }
-
- /**
- *
- * @return user owning the ip
- */
- public String getUser() {
- return user;
- }
-
- /**
- *
- * @return netmask of the ip
- */
- public String getNetmask() {
- return netmask;
- }
-
- /**
- *
- * @return nameservers of the ip
- */
- public Set getNameservers() {
- return nameservers;
- }
-
- /**
- *
- * @return gateway of the ip
- */
- public String getGateway() {
- return gateway;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((gateway == null) ? 0 : gateway.hashCode());
- result = prime * result + ((nameservers == null) ? 0 : nameservers.hashCode());
- result = prime * result + ((netmask == null) ? 0 : netmask.hashCode());
- result = prime * result + ((user == null) ? 0 : user.hashCode());
- result = prime * result + ((ip == null) ? 0 : ip.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- StaticIPInfo other = (StaticIPInfo) obj;
- if (gateway == null) {
- if (other.gateway != null)
- return false;
- } else if (!gateway.equals(other.gateway))
- return false;
- if (nameservers == null) {
- if (other.nameservers != null)
- return false;
- } else if (!nameservers.equals(other.nameservers))
- return false;
- if (netmask == null) {
- if (other.netmask != null)
- return false;
- } else if (!netmask.equals(other.netmask))
- return false;
- if (user == null) {
- if (other.user != null)
- return false;
- } else if (!user.equals(other.user))
- return false;
- if (ip == null) {
- if (other.ip != null)
- return false;
- } else if (!ip.equals(other.ip))
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "[ip=" + ip + ", user=" + user + ", netmask=" + netmask + ", nameservers="
- + nameservers + ", gateway=" + gateway + "]";
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/VLANInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/VLANInfo.java
deleted file mode 100644
index 87635e268c..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/VLANInfo.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import org.jclouds.javax.annotation.Nullable;
-
-public class VLANInfo {
- public static class Builder {
- protected String uuid;
- protected String name;
- protected String user;
-
- public Builder uuid(String uuid) {
- this.uuid = uuid;
- return this;
- }
-
- public Builder name(String name) {
- this.name = name;
- return this;
- }
-
- public Builder user(String user) {
- this.user = user;
- return this;
- }
-
- public VLANInfo build() {
- return new VLANInfo(uuid, name, user);
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((name == null) ? 0 : name.hashCode());
- result = prime * result + ((user == null) ? 0 : user.hashCode());
- result = prime * result + ((uuid == null) ? 0 : uuid.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Builder other = (Builder) obj;
- if (name == null) {
- if (other.name != null)
- return false;
- } else if (!name.equals(other.name))
- return false;
- if (user == null) {
- if (other.user != null)
- return false;
- } else if (!user.equals(other.user))
- return false;
- if (uuid == null) {
- if (other.uuid != null)
- return false;
- } else if (!uuid.equals(other.uuid))
- return false;
- return true;
- }
- }
-
- @Nullable
- protected final String uuid;
- protected final String name;
- protected final String user;
-
- public VLANInfo(String uuid, String name, String user) {
- this.uuid = checkNotNull(uuid, "uuid");
- this.name = checkNotNull(name, "name");
- this.user = checkNotNull(user, "user");
- }
-
- /**
- *
- * @return uuid of the vlan.
- */
- @Nullable
- public String getUuid() {
- return uuid;
- }
-
- /**
- *
- * @return name of the vlan
- */
- public String getName() {
- return name;
- }
-
- /**
- *
- * @return user owning the vlan
- */
- public String getUser() {
- return user;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((name == null) ? 0 : name.hashCode());
- result = prime * result + ((user == null) ? 0 : user.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- VLANInfo other = (VLANInfo) obj;
- if (name == null) {
- if (other.name != null)
- return false;
- } else if (!name.equals(other.name))
- return false;
- if (user == null) {
- if (other.user != null)
- return false;
- } else if (!user.equals(other.user))
- return false;
-
- return true;
- }
-
- @Override
- public String toString() {
- return "[uuid=" + uuid + ", name=" + name + ", user=" + user + "]";
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/VNC.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/VNC.java
deleted file mode 100644
index f28a553d43..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/VNC.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.domain;
-
-import org.jclouds.javax.annotation.Nullable;
-
-public class VNC {
- @Nullable
- private final String ip;
- @Nullable
- private final String password;
- private final boolean tls;
-
- public VNC(String ip, String password, boolean tls) {
- this.ip = ip;
- this.password = password;
- this.tls = tls;
- }
-
- /**
- *
- * @return IP address for overlay VNC access on port 5900. Set to 'auto', to reuse nic:0:dhcp if
- * available, or otherwise allocate a temporary IP at boot.
- */
- public String getIp() {
- return ip;
- }
-
- /**
- *
- * @return Password for VNC access. If unset, VNC is disabled.
- */
- public String getPassword() {
- return password;
- }
-
- /**
- *
- * @return Set to 'on' to require VeNCrypt-style TLS auth in addition to the password. If this is
- * unset, only unencrypted VNC is available.
- */
- public boolean isTls() {
- return tls;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((ip == null) ? 0 : ip.hashCode());
- result = prime * result + ((password == null) ? 0 : password.hashCode());
- result = prime * result + (tls ? 1231 : 1237);
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- VNC other = (VNC) obj;
- if (ip == null) {
- if (other.ip != null)
- return false;
- } else if (!ip.equals(other.ip))
- return false;
- if (password == null) {
- if (other.password != null)
- return false;
- } else if (!password.equals(other.password))
- return false;
- if (tls != other.tls)
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "[ip=" + ip + ", password=" + password + ", tls=" + tls + "]";
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/BaseDriveToMap.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/BaseDriveToMap.java
deleted file mode 100644
index 47e9d2ae14..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/BaseDriveToMap.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.ClaimType;
-import org.jclouds.cloudsigma.domain.Drive;
-
-import com.google.common.base.Function;
-import com.google.common.base.Joiner;
-import com.google.common.collect.ImmutableMap;
-
-@Singleton
-public class BaseDriveToMap implements Function> {
- @Override
- public Map apply(Drive from) {
- checkNotNull(from, "drive");
- ImmutableMap.Builder builder = ImmutableMap.builder();
- builder.put("name", from.getName());
- builder.put("size", from.getSize() + "");
- if (from.getClaimType() != ClaimType.EXCLUSIVE)
- builder.put("claim:type", from.getClaimType().toString());
- if (!from.getTags().isEmpty())
- builder.put("tags", Joiner.on(' ').join(from.getTags()));
- if (!from.getReaders().isEmpty())
- builder.put("readers", Joiner.on(' ').join(from.getReaders()));
- if (!from.getUse().isEmpty())
- builder.put("use", Joiner.on(' ').join(from.getUse()));
- return builder.build();
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/DriveDataToMap.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/DriveDataToMap.java
deleted file mode 100644
index 469f88823d..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/DriveDataToMap.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Predicates.equalTo;
-import static com.google.common.base.Predicates.not;
-import static com.google.common.collect.Maps.filterKeys;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.DriveData;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableMap.Builder;
-
-@Singleton
-public class DriveDataToMap implements Function> {
- private final BaseDriveToMap baseDriveToMap;
-
- @Inject
- public DriveDataToMap(BaseDriveToMap baseDriveToMap) {
- this.baseDriveToMap = baseDriveToMap;
- }
-
- @Override
- public Map apply(DriveData from) {
- return renameKey(baseDriveToMap.apply(from), "use", "use");
- }
-
- /**
- * If the supplied map contains the key {@code k1}, its value will be assigned to the key {@code
- * k2}. Note that this doesn't modify the input map.
- *
- * @param
- * type of value the map holds
- * @param in
- * the map you wish to make a copy of
- * @param k1
- * old key
- * @param k2
- * new key
- * @return copy of the map with the value of the key re-routed, or the original, if it {@code k1}
- * wasn't present.
- */
- @VisibleForTesting
- static Map renameKey(Map in, String k1, String k2) {
- if (checkNotNull(in, "input map").containsKey(checkNotNull(k1, "old key"))) {
- Builder builder = ImmutableMap.builder();
- builder.putAll(filterKeys(in, not(equalTo(k1))));
- V tags = in.get(k1);
- builder.put(checkNotNull(k2, "new key"), tags);
- in = builder.build();
- }
- return in;
- }
-
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java
deleted file mode 100644
index e247adc4e8..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.http.HttpResponse;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Iterables;
-
-@Singleton
-public class KeyValuesDelimitedByBlankLinesToDriveInfo implements Function {
- private final ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet setParser;
-
- @Inject
- public KeyValuesDelimitedByBlankLinesToDriveInfo(ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet setParser) {
- this.setParser = setParser;
- }
-
- @Override
- public DriveInfo apply(HttpResponse response) {
- Set drives = setParser.apply(response);
- if (drives.isEmpty())
- return null;
- return Iterables.get(drives, 0);
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToProfileInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToProfileInfo.java
deleted file mode 100644
index 282787ecf2..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToProfileInfo.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.ProfileInfo;
-import org.jclouds.http.HttpResponse;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Iterables;
-
-@Singleton
-public class KeyValuesDelimitedByBlankLinesToProfileInfo implements Function {
- private final ListOfKeyValuesDelimitedByBlankLinesToProfileInfoSet setParser;
-
- @Inject
- public KeyValuesDelimitedByBlankLinesToProfileInfo(ListOfKeyValuesDelimitedByBlankLinesToProfileInfoSet setParser) {
- this.setParser = setParser;
- }
-
- @Override
- public ProfileInfo apply(HttpResponse response) {
- Set drives = setParser.apply(response);
- if (drives.isEmpty())
- return null;
- return Iterables.get(drives, 0);
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java
deleted file mode 100644
index 0f68bb2c32..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.http.HttpResponse;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Iterables;
-
-@Singleton
-public class KeyValuesDelimitedByBlankLinesToServerInfo implements Function {
- private final ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet setParser;
-
- @Inject
- public KeyValuesDelimitedByBlankLinesToServerInfo(ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet setParser) {
- this.setParser = setParser;
- }
-
- @Override
- public ServerInfo apply(HttpResponse response) {
- Set drives = setParser.apply(response);
- if (drives.isEmpty())
- return null;
- return Iterables.get(drives, 0);
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToStaticIPInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToStaticIPInfo.java
deleted file mode 100644
index 7e81d84fd4..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToStaticIPInfo.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.StaticIPInfo;
-import org.jclouds.http.HttpResponse;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Iterables;
-
-@Singleton
-public class KeyValuesDelimitedByBlankLinesToStaticIPInfo implements Function {
- private final ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet setParser;
-
- @Inject
- public KeyValuesDelimitedByBlankLinesToStaticIPInfo(ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet setParser) {
- this.setParser = setParser;
- }
-
- @Override
- public StaticIPInfo apply(HttpResponse response) {
- Set drives = setParser.apply(response);
- if (drives.isEmpty())
- return null;
- return Iterables.get(drives, 0);
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToVLANInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToVLANInfo.java
deleted file mode 100644
index 85b2b2bd38..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToVLANInfo.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.VLANInfo;
-import org.jclouds.http.HttpResponse;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Iterables;
-
-@Singleton
-public class KeyValuesDelimitedByBlankLinesToVLANInfo implements Function {
- private final ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet setParser;
-
- @Inject
- public KeyValuesDelimitedByBlankLinesToVLANInfo(ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet setParser) {
- this.setParser = setParser;
- }
-
- @Override
- public VLANInfo apply(HttpResponse response) {
- Set drives = setParser.apply(response);
- if (drives.isEmpty())
- return null;
- return Iterables.get(drives, 0);
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java
deleted file mode 100644
index 1292d6694a..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ReturnStringIf2xx;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-@Singleton
-public class ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet implements Function> {
- private final ReturnStringIf2xx returnStringIf200;
- private final ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter;
- private final MapToDriveInfo mapToDrive;
-
- @Inject
- ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet(ReturnStringIf2xx returnStringIf200,
- ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter, MapToDriveInfo mapToDrive) {
- this.returnStringIf200 = returnStringIf200;
- this.mapConverter = mapConverter;
- this.mapToDrive = mapToDrive;
- }
-
- @Override
- public Set apply(HttpResponse response) {
- String text = returnStringIf200.apply(response);
- if (text == null || text.trim().equals(""))
- return ImmutableSet. of();
- return ImmutableSet.copyOf(Iterables.transform(mapConverter.apply(text), mapToDrive));
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java
deleted file mode 100644
index 92d83314fc..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.functions;
-
-import java.util.List;
-import java.util.Map;
-
-import javax.inject.Singleton;
-
-import com.google.common.base.Function;
-import com.google.common.base.Splitter;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
-@Singleton
-public class ListOfKeyValuesDelimitedByBlankLinesToListOfMaps implements Function>> {
-
- @Override
- public List> apply(String from) {
- List> maps = Lists.newArrayList();
- for (String listOfKeyValues : Splitter.on("\n\n").split(from)) {
- if (!"".equals(listOfKeyValues)) {
- Map map = Maps.newLinkedHashMap();
- for (String keyValueLine : Splitter.on('\n').split(listOfKeyValues)) {
- if (!"".equals(keyValueLine)) {
- int firstIndex = keyValueLine.indexOf(' ');
- if (firstIndex != -1) {
- String key = keyValueLine.substring(0, firstIndex);
- String value = keyValueLine.substring(firstIndex + 1).replace("\\n", "\n");
- map.put(key, value);
- }
- }
- }
- if (!map.isEmpty())
- maps.add(map);
- }
- }
- return maps;
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToProfileInfoSet.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToProfileInfoSet.java
deleted file mode 100644
index 00bc07d2f8..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToProfileInfoSet.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.ProfileInfo;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ReturnStringIf2xx;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-@Singleton
-public class ListOfKeyValuesDelimitedByBlankLinesToProfileInfoSet implements Function> {
- private final ReturnStringIf2xx returnStringIf200;
- private final ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter;
- private final MapToProfileInfo mapToProfile;
-
- @Inject
- ListOfKeyValuesDelimitedByBlankLinesToProfileInfoSet(ReturnStringIf2xx returnStringIf200,
- ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter, MapToProfileInfo mapToProfile) {
- this.returnStringIf200 = returnStringIf200;
- this.mapConverter = mapConverter;
- this.mapToProfile = mapToProfile;
- }
-
- @Override
- public Set apply(HttpResponse response) {
- String text = returnStringIf200.apply(response);
- if (text == null || text.trim().equals(""))
- return ImmutableSet. of();
- return ImmutableSet.copyOf(Iterables.transform(mapConverter.apply(text), mapToProfile));
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java
deleted file mode 100644
index f1eec32e8d..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ReturnStringIf2xx;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-
-@Singleton
-public class ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet implements Function> {
- private final ReturnStringIf2xx returnStringIf200;
- private final ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter;
- private final MapToServerInfo mapToServer;
-
- @Inject
- ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet(ReturnStringIf2xx returnStringIf200,
- ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter, MapToServerInfo mapToServer) {
- this.returnStringIf200 = returnStringIf200;
- this.mapConverter = mapConverter;
- this.mapToServer = mapToServer;
- }
-
- @Override
- public Set apply(HttpResponse response) {
- String text = returnStringIf200.apply(response);
- if (text == null || text.trim().equals(""))
- return ImmutableSet. of();
- return ImmutableSet.copyOf(Iterables.transform(mapConverter.apply(text), mapToServer));
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet.java
deleted file mode 100644
index 669164ae23..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.StaticIPInfo;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ReturnStringIf2xx;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-@Singleton
-public class ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet implements Function> {
- private final ReturnStringIf2xx returnStringIf200;
- private final ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter;
- private final MapToStaticIPInfo mapToProfile;
-
- @Inject
- ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet(ReturnStringIf2xx returnStringIf200,
- ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter, MapToStaticIPInfo mapToProfile) {
- this.returnStringIf200 = returnStringIf200;
- this.mapConverter = mapConverter;
- this.mapToProfile = mapToProfile;
- }
-
- @Override
- public Set apply(HttpResponse response) {
- String text = returnStringIf200.apply(response);
- if (text == null || text.trim().equals(""))
- return ImmutableSet. of();
- return ImmutableSet.copyOf(Iterables.transform(mapConverter.apply(text), mapToProfile));
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet.java
deleted file mode 100644
index 3413279a6c..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.VLANInfo;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ReturnStringIf2xx;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-@Singleton
-public class ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet implements Function> {
- private final ReturnStringIf2xx returnStringIf200;
- private final ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter;
- private final MapToVLANInfo mapToProfile;
-
- @Inject
- ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet(ReturnStringIf2xx returnStringIf200,
- ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter, MapToVLANInfo mapToProfile) {
- this.returnStringIf200 = returnStringIf200;
- this.mapConverter = mapConverter;
- this.mapToProfile = mapToProfile;
- }
-
- @Override
- public Set apply(HttpResponse response) {
- String text = returnStringIf200.apply(response);
- if (text == null || text.trim().equals(""))
- return ImmutableSet. of();
- return ImmutableSet.copyOf(Iterables.transform(mapConverter.apply(text), mapToProfile));
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java
deleted file mode 100644
index f9da1731f4..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.functions;
-
-import java.util.Map;
-
-import javax.inject.Singleton;
-
-import com.google.common.base.Function;
-import com.google.common.base.Joiner;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Maps;
-
-@Singleton
-public class ListOfMapsToListOfKeyValuesDelimitedByBlankLines implements
- Function>, String> {
-
- @Override
- public String apply(Iterable> from) {
- return Joiner.on("\n\n").join(Iterables.transform(from, new Function, String>() {
-
- @Override
- public String apply(Map from) {
- return Joiner.on('\n').withKeyValueSeparator(" ")
- .join(Maps.transformValues(from, new Function() {
-
- @Override
- public String apply(String from) {
- return from.replace("\n", "\\n");
- }
-
- }));
- }
-
- }));
- }
-}
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDevices.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDevices.java
deleted file mode 100644
index b25a3f01fe..0000000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDevices.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudsigma.functions;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.BlockDevice;
-import org.jclouds.cloudsigma.domain.Device;
-import org.jclouds.cloudsigma.domain.IDEDevice;
-import org.jclouds.cloudsigma.domain.MediaType;
-import org.jclouds.cloudsigma.domain.SCSIDevice;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
-import com.google.common.collect.Maps;
-
-@Singleton
-public class MapToDevices implements Function, Map