From cfcee554b3c5cb264754c355e8b97d3a9b3a5133 Mon Sep 17 00:00:00 2001 From: Adrian Cole Date: Sun, 9 Jan 2011 22:24:41 -0800 Subject: [PATCH] created new providers that run the elasticstack api: org.jclouds.api/elasticstack org.jclouds.provider/elastichosts-lon-b org.jclouds.provider/elastichosts-lon-p org.jclouds.provider/elastichosts-sat-p org.jclouds.provider/openhosting-east1 org.jclouds.provider/serverlove-z1-man org.jclouds.provider/skalicloud-sdg-my --- README.txt | 1 + allcompute/pom.xml | 34 ++++- {elasticstack => apis/elasticstack}/pom.xml | 16 +-- .../elasticstack/ElasticStackAsyncClient.java | 0 .../elasticstack/ElasticStackClient.java | 0 .../ElasticStackContextBuilder.java | 0 .../ElasticStackPropertiesBuilder.java | 0 .../BindDriveDataToPlainTextString.java | 0 .../binders/BindDriveToPlainTextString.java | 0 .../binders/BindServerToPlainTextString.java | 0 .../ElasticStackComputeServiceAdapter.java | 0 ...asticStackComputeServiceContextModule.java | 7 +- .../functions/ServerInfoToNodeMetadata.java | 0 .../functions/WellKnownImageToImage.java | 2 +- .../config/ElasticStackRestClientModule.java | 0 .../elasticstack/domain/BlockDevice.java | 0 .../elasticstack/domain/ClaimType.java | 0 .../domain/CreateDriveRequest.java | 0 .../jclouds/elasticstack/domain/Device.java | 0 .../jclouds/elasticstack/domain/Drive.java | 0 .../elasticstack/domain/DriveData.java | 0 .../elasticstack/domain/DriveInfo.java | 0 .../elasticstack/domain/DriveMetrics.java | 0 .../elasticstack/domain/DriveStatus.java | 0 .../elasticstack/domain/IDEDevice.java | 0 .../domain/ImageConversionType.java | 0 .../org/jclouds/elasticstack/domain/Item.java | 0 .../elasticstack/domain/MediaType.java | 0 .../jclouds/elasticstack/domain/Model.java | 0 .../org/jclouds/elasticstack/domain/NIC.java | 0 .../elasticstack/domain/SCSIDevice.java | 0 .../jclouds/elasticstack/domain/Server.java | 0 .../elasticstack/domain/ServerInfo.java | 0 .../elasticstack/domain/ServerMetrics.java | 0 .../elasticstack/domain/ServerStatus.java | 0 .../org/jclouds/elasticstack/domain/VNC.java | 0 .../elasticstack/domain/WellKnownImage.java | 9 +- .../functions/BaseDriveToMap.java | 0 .../functions/CreateDriveRequestToMap.java | 0 .../functions/DriveDataToMap.java | 0 ...aluesDelimitedByBlankLinesToDriveInfo.java | 0 ...luesDelimitedByBlankLinesToServerInfo.java | 0 ...esDelimitedByBlankLinesToDriveInfoSet.java | 0 ...luesDelimitedByBlankLinesToListOfMaps.java | 0 ...sDelimitedByBlankLinesToServerInfoSet.java | 0 ...oListOfKeyValuesDelimitedByBlankLines.java | 0 .../elasticstack/functions/MapToDevices.java | 0 .../functions/MapToDriveInfo.java | 0 .../functions/MapToDriveMetrics.java | 0 .../elasticstack/functions/MapToNICs.java | 0 .../functions/MapToServerInfo.java | 0 .../functions/MapToServerMetrics.java | 0 .../elasticstack/functions/ReturnPayload.java | 0 .../elasticstack/functions/ServerToMap.java | 0 .../elasticstack/functions/SplitNewlines.java | 0 .../handlers/ElasticStackErrorHandler.java | 0 .../elasticstack/predicates/DriveClaimed.java | 0 .../reference/ElasticStackConstants.java | 0 .../jclouds/elasticstack/util/Servers.java | 0 .../elasticstack}/preinstalled_images.json | 0 .../ElasticStackAsyncClientTest.java | 0 .../ElasticStackClientLiveTest.java | 0 .../ProvidersInPropertiesTest.java | 0 .../BindDriveDataToPlainTextStringTest.java | 0 .../BindDriveToPlainTextStringTest.java | 0 .../BindServerToPlainTextStringTest.java | 0 .../ElasticStackComputeServiceLiveTest.java | 0 .../ElasticStackTemplateBuilderLiveTest.java | 0 .../functions/BaseDriveToMapTest.java | 0 .../CreateDriveRequestToMapTest.java | 0 .../functions/DriveDataToMapTest.java | 0 ...sDelimitedByBlankLinesToDriveInfoTest.java | 0 ...DelimitedByBlankLinesToServerInfoTest.java | 0 ...limitedByBlankLinesToDriveInfoSetTest.java | 0 ...DelimitedByBlankLinesToListOfMapsTest.java | 0 ...imitedByBlankLinesToServerInfoSetTest.java | 0 ...tOfKeyValuesDelimitedByBlankLinesTest.java | 0 .../functions/MapToDriveInfoTest.java | 0 .../functions/MapToServerInfoTest.java | 0 .../functions/ServerToMapTest.java | 0 .../functions/SplitNewlinesTest.java | 0 .../ElasticStackErrorHandlerTest.java | 0 .../src/test/resources/create_drive.txt | 0 .../src/test/resources/create_server.txt | 0 .../src/test/resources/drive.txt | 0 .../src/test/resources/drive_data.txt | 0 .../src/test/resources/log4j.xml | 0 .../src/test/resources/new_server.txt | 0 .../src/test/resources/servers.txt | 0 .../src/test/resources/uuids.txt | 0 apis/pom.xml | 1 + .../src/main/clojure/org/jclouds/compute.clj | 1 + core/src/main/resources/rest.properties | 21 +-- pom.xml | 1 - providers/elastichosts-lon-b/pom.xml | 136 ++++++++++++++++++ ...ostsBlueSquareLondonPropertiesBuilder.java | 47 ++++++ .../preinstalled_images.json | 72 ++++++++++ ...icHostsBlueSquareLondonClientLiveTest.java | 34 +++++ ...lueSquareLondonComputeServiceLiveTest.java | 37 +++++ ...ueSquareLondonTemplateBuilderLiveTest.java | 70 +++++++++ providers/elastichosts-lon-p/pom.xml | 136 ++++++++++++++++++ ...sticHostsPeer1LondonPropertiesBuilder.java | 47 ++++++ .../preinstalled_images.json | 72 ++++++++++ ...ElasticHostsPeer1LondonClientLiveTest.java | 34 +++++ ...ostsPeer1LondonComputeServiceLiveTest.java | 37 +++++ ...stsPeer1LondonTemplateBuilderLiveTest.java | 70 +++++++++ providers/elastichosts-sat-p/pom.xml | 136 ++++++++++++++++++ ...HostsPeer1SanAntonioPropertiesBuilder.java | 47 ++++++ .../preinstalled_images.json | 72 ++++++++++ ...ticHostsPeer1SanAntonioClientLiveTest.java | 34 +++++ ...Peer1SanAntonioComputeServiceLiveTest.java | 37 +++++ ...eer1SanAntonioTemplateBuilderLiveTest.java | 70 +++++++++ providers/openhosting-east1/pom.xml | 136 ++++++++++++++++++ .../OpenHostingEast1ContextBuilder.java | 45 ++++++ .../OpenHostingEast1PropertiesBuilder.java | 47 ++++++ ...stingEast1ComputeServiceContextModule.java | 40 ++++++ .../preinstalled_images.json | 72 ++++++++++ .../OpenHostingEast1ClientLiveTest.java | 34 +++++ ...penHostingEast1ComputeServiceLiveTest.java | 37 +++++ ...enHostingEast1TemplateBuilderLiveTest.java | 70 +++++++++ providers/pom.xml | 6 + providers/serverlove-z1-man/pom.xml | 136 ++++++++++++++++++ .../ServerloveManchesterContextBuilder.java | 45 ++++++ ...ServerloveManchesterPropertiesBuilder.java | 47 ++++++ ...ManchesterComputeServiceContextModule.java | 40 ++++++ .../preinstalled_images.json | 72 ++++++++++ .../ServerloveManchesterClientLiveTest.java | 34 +++++ ...rloveManchesterComputeServiceLiveTest.java | 37 +++++ ...loveManchesterTemplateBuilderLiveTest.java | 70 +++++++++ providers/skalicloud-sdg-my/pom.xml | 136 ++++++++++++++++++ .../SkaliCloudMalaysiaContextBuilder.java | 45 ++++++ .../SkaliCloudMalaysiaPropertiesBuilder.java | 47 ++++++ ...udMalaysiaComputeServiceContextModule.java | 40 ++++++ .../preinstalled_images.json | 53 +++++++ .../SkaliCloudMalaysiaClientLiveTest.java | 34 +++++ ...liCloudMalaysiaComputeServiceLiveTest.java | 37 +++++ ...iCloudMalaysiaTemplateBuilderLiveTest.java | 70 +++++++++ 137 files changed, 2685 insertions(+), 26 deletions(-) rename {elasticstack => apis/elasticstack}/pom.xml (94%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/ElasticStackAsyncClient.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/ElasticStackClient.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/ElasticStackContextBuilder.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/ElasticStackPropertiesBuilder.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextString.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextString.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/binders/BindServerToPlainTextString.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceAdapter.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/compute/config/ElasticStackComputeServiceContextModule.java (97%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/compute/functions/ServerInfoToNodeMetadata.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/compute/functions/WellKnownImageToImage.java (97%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/config/ElasticStackRestClientModule.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/BlockDevice.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/ClaimType.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/CreateDriveRequest.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/Device.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/Drive.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/DriveData.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/DriveInfo.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/DriveMetrics.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/DriveStatus.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/IDEDevice.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/ImageConversionType.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/Item.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/MediaType.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/Model.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/NIC.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/SCSIDevice.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/Server.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/ServerInfo.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/ServerMetrics.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/ServerStatus.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/VNC.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/domain/WellKnownImage.java (90%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/BaseDriveToMap.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMap.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/DriveDataToMap.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/MapToDevices.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/MapToDriveInfo.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/MapToDriveMetrics.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/MapToNICs.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/MapToServerInfo.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/MapToServerMetrics.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/ReturnPayload.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/ServerToMap.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/functions/SplitNewlines.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandler.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/predicates/DriveClaimed.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/reference/ElasticStackConstants.java (100%) rename {elasticstack => apis/elasticstack}/src/main/java/org/jclouds/elasticstack/util/Servers.java (100%) rename {elasticstack/src/main/resources => apis/elasticstack/src/main/resources/elasticstack}/preinstalled_images.json (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/ElasticStackAsyncClientTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/ElasticStackClientLiveTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/ProvidersInPropertiesTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextStringTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextStringTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/binders/BindServerToPlainTextStringTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceLiveTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/compute/ElasticStackTemplateBuilderLiveTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/functions/BaseDriveToMapTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMapTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/functions/DriveDataToMapTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfoTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfoTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/functions/MapToDriveInfoTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/functions/MapToServerInfoTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/functions/ServerToMapTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/functions/SplitNewlinesTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandlerTest.java (100%) rename {elasticstack => apis/elasticstack}/src/test/resources/create_drive.txt (100%) rename {elasticstack => apis/elasticstack}/src/test/resources/create_server.txt (100%) rename {elasticstack => apis/elasticstack}/src/test/resources/drive.txt (100%) rename {elasticstack => apis/elasticstack}/src/test/resources/drive_data.txt (100%) rename {elasticstack => apis/elasticstack}/src/test/resources/log4j.xml (100%) rename {elasticstack => apis/elasticstack}/src/test/resources/new_server.txt (100%) rename {elasticstack => apis/elasticstack}/src/test/resources/servers.txt (100%) rename {elasticstack => apis/elasticstack}/src/test/resources/uuids.txt (100%) create mode 100644 providers/elastichosts-lon-b/pom.xml create mode 100644 providers/elastichosts-lon-b/src/main/java/org/jclouds/elastichosts/ElasticHostsBlueSquareLondonPropertiesBuilder.java create mode 100644 providers/elastichosts-lon-b/src/main/resources/elastichosts-lon-b/preinstalled_images.json create mode 100644 providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/ElasticHostsBlueSquareLondonClientLiveTest.java create mode 100644 providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsBlueSquareLondonComputeServiceLiveTest.java create mode 100644 providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsBlueSquareLondonTemplateBuilderLiveTest.java create mode 100644 providers/elastichosts-lon-p/pom.xml create mode 100644 providers/elastichosts-lon-p/src/main/java/org/jclouds/elastichosts/ElasticHostsPeer1LondonPropertiesBuilder.java create mode 100644 providers/elastichosts-lon-p/src/main/resources/elastichosts-lon-p/preinstalled_images.json create mode 100644 providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/ElasticHostsPeer1LondonClientLiveTest.java create mode 100644 providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LondonComputeServiceLiveTest.java create mode 100644 providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LondonTemplateBuilderLiveTest.java create mode 100644 providers/elastichosts-sat-p/pom.xml create mode 100644 providers/elastichosts-sat-p/src/main/java/org/jclouds/elastichosts/ElasticHostsPeer1SanAntonioPropertiesBuilder.java create mode 100644 providers/elastichosts-sat-p/src/main/resources/elastichosts-sat-p/preinstalled_images.json create mode 100644 providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/ElasticHostsPeer1SanAntonioClientLiveTest.java create mode 100644 providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1SanAntonioComputeServiceLiveTest.java create mode 100644 providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest.java create mode 100644 providers/openhosting-east1/pom.xml create mode 100644 providers/openhosting-east1/src/main/java/org/jclouds/openhosting/OpenHostingEast1ContextBuilder.java create mode 100644 providers/openhosting-east1/src/main/java/org/jclouds/openhosting/OpenHostingEast1PropertiesBuilder.java create mode 100644 providers/openhosting-east1/src/main/java/org/jclouds/openhosting/config/OpenHostingEast1ComputeServiceContextModule.java create mode 100644 providers/openhosting-east1/src/main/resources/openhosting-east1/preinstalled_images.json create mode 100644 providers/openhosting-east1/src/test/java/org/jclouds/openhosting/OpenHostingEast1ClientLiveTest.java create mode 100644 providers/openhosting-east1/src/test/java/org/jclouds/openhosting/compute/OpenHostingEast1ComputeServiceLiveTest.java create mode 100644 providers/openhosting-east1/src/test/java/org/jclouds/openhosting/compute/OpenHostingEast1TemplateBuilderLiveTest.java create mode 100644 providers/serverlove-z1-man/pom.xml create mode 100644 providers/serverlove-z1-man/src/main/java/org/jclouds/serverlove/ServerloveManchesterContextBuilder.java create mode 100644 providers/serverlove-z1-man/src/main/java/org/jclouds/serverlove/ServerloveManchesterPropertiesBuilder.java create mode 100644 providers/serverlove-z1-man/src/main/java/org/jclouds/serverlove/config/ServerloveManchesterComputeServiceContextModule.java create mode 100644 providers/serverlove-z1-man/src/main/resources/serverlove-z1-man/preinstalled_images.json create mode 100644 providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/ServerloveManchesterClientLiveTest.java create mode 100644 providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/compute/ServerloveManchesterComputeServiceLiveTest.java create mode 100644 providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/compute/ServerloveManchesterTemplateBuilderLiveTest.java create mode 100644 providers/skalicloud-sdg-my/pom.xml create mode 100644 providers/skalicloud-sdg-my/src/main/java/org/jclouds/skalicloud/SkaliCloudMalaysiaContextBuilder.java create mode 100644 providers/skalicloud-sdg-my/src/main/java/org/jclouds/skalicloud/SkaliCloudMalaysiaPropertiesBuilder.java create mode 100644 providers/skalicloud-sdg-my/src/main/java/org/jclouds/skalicloud/config/SkaliCloudMalaysiaComputeServiceContextModule.java create mode 100644 providers/skalicloud-sdg-my/src/main/resources/skalicloud-sdg-my/preinstalled_images.json create mode 100644 providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/SkaliCloudMalaysiaClientLiveTest.java create mode 100644 providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/compute/SkaliCloudMalaysiaComputeServiceLiveTest.java create mode 100644 providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/compute/SkaliCloudMalaysiaTemplateBuilderLiveTest.java diff --git a/README.txt b/README.txt index 03d8ea512a..0f66571420 100644 --- a/README.txt +++ b/README.txt @@ -35,6 +35,7 @@ our compute api supports: aws-ec2, gogrid, cloudservers (generic), cloudservers- cloudsigma, elasticstack(generic), bluelock-vclouddirector, slicehost, ecc-ec2, elastichosts-lon-p (Peer 1), elastichosts-sat-p (Peer 1), elastichosts-lon-b (BlueSquare), + openhosting-east1, serverlove-z1-man, skalicloud-sdg-my, vcloudexpress (generic), stub (in-memory) * note * the pom dependency org.jclouds/jclouds-allcompute gives you access to diff --git a/allcompute/pom.xml b/allcompute/pom.xml index a8f7b459f0..8c3cf9c037 100644 --- a/allcompute/pom.xml +++ b/allcompute/pom.xml @@ -105,8 +105,38 @@ ${project.version} - ${project.groupId} - jclouds-elasticstack + org.jclouds.api + elasticstack + ${project.version} + + + org.jclouds.provider + elastichosts-lon-p + ${project.version} + + + org.jclouds.provider + elastichosts-sat-p + ${project.version} + + + org.jclouds.provider + elastichosts-lon-b + ${project.version} + + + org.jclouds.provider + openhosting-east1 + ${project.version} + + + org.jclouds.provider + serverlove-z1-man + ${project.version} + + + org.jclouds.provider + skalicloud-sdg-my ${project.version} diff --git a/elasticstack/pom.xml b/apis/elasticstack/pom.xml similarity index 94% rename from elasticstack/pom.xml rename to apis/elasticstack/pom.xml index 9afc7f0880..6243bc32d3 100644 --- a/elasticstack/pom.xml +++ b/apis/elasticstack/pom.xml @@ -28,10 +28,10 @@ org.jclouds jclouds-project 1.0-SNAPSHOT - ../project/pom.xml + ../../project/pom.xml - org.jclouds - jclouds-elasticstack + org.jclouds.api + elasticstack jclouds elasticstack core jclouds components to access elasticstack @@ -60,25 +60,25 @@ - ${project.groupId} + org.jclouds jclouds-compute ${project.version} - ${project.groupId} + org.jclouds jclouds-jsch ${project.version} test - ${project.groupId} + org.jclouds jclouds-core ${project.version} test-jar test - ${project.groupId} + org.jclouds jclouds-compute ${project.version} test-jar @@ -91,7 +91,7 @@ test - ${project.groupId} + org.jclouds jclouds-log4j ${project.version} test diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackAsyncClient.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackAsyncClient.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackAsyncClient.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackAsyncClient.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackClient.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackClient.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackClient.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackClient.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackContextBuilder.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackContextBuilder.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackContextBuilder.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackContextBuilder.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackPropertiesBuilder.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackPropertiesBuilder.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackPropertiesBuilder.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackPropertiesBuilder.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextString.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextString.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextString.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextString.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextString.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextString.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextString.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextString.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindServerToPlainTextString.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindServerToPlainTextString.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindServerToPlainTextString.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindServerToPlainTextString.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceAdapter.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceAdapter.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceAdapter.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceAdapter.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/compute/config/ElasticStackComputeServiceContextModule.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/compute/config/ElasticStackComputeServiceContextModule.java similarity index 97% rename from elasticstack/src/main/java/org/jclouds/elasticstack/compute/config/ElasticStackComputeServiceContextModule.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/compute/config/ElasticStackComputeServiceContextModule.java index 49d8a9c565..44f8fd3b75 100644 --- a/elasticstack/src/main/java/org/jclouds/elasticstack/compute/config/ElasticStackComputeServiceContextModule.java +++ b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/compute/config/ElasticStackComputeServiceContextModule.java @@ -39,10 +39,10 @@ import org.jclouds.elasticstack.ElasticStackAsyncClient; import org.jclouds.elasticstack.ElasticStackClient; import org.jclouds.elasticstack.compute.ElasticStackComputeServiceAdapter; import org.jclouds.elasticstack.compute.functions.ServerInfoToNodeMetadata; +import org.jclouds.elasticstack.compute.functions.WellKnownImageToImage; import org.jclouds.elasticstack.compute.functions.ServerInfoToNodeMetadata.DeviceToVolume; import org.jclouds.elasticstack.compute.functions.ServerInfoToNodeMetadata.FindImageForId; import org.jclouds.elasticstack.compute.functions.ServerInfoToNodeMetadata.GetImageIdFromServer; -import org.jclouds.elasticstack.compute.functions.WellKnownImageToImage; import org.jclouds.elasticstack.domain.Device; import org.jclouds.elasticstack.domain.DriveInfo; import org.jclouds.elasticstack.domain.Server; @@ -51,6 +51,7 @@ import org.jclouds.elasticstack.domain.WellKnownImage; import org.jclouds.elasticstack.predicates.DriveClaimed; import org.jclouds.functions.IdentityFunction; import org.jclouds.json.Json; +import org.jclouds.location.Provider; import org.jclouds.location.suppliers.OnlyLocationOrFirstZone; import org.jclouds.predicates.RetryablePredicate; import org.jclouds.util.Strings2; @@ -126,9 +127,9 @@ public class ElasticStackComputeServiceContextModule @Singleton @Provides - protected Map provideImages(Json json) throws IOException { + protected Map provideImages(Json json, @Provider String providerName) throws IOException { List wellKnowns = json.fromJson( - Strings2.toStringAndClose(getClass().getResourceAsStream("/preinstalled_images.json")), + Strings2.toStringAndClose(getClass().getResourceAsStream("/"+providerName+"/preinstalled_images.json")), new TypeLiteral>() { }.getType()); return Maps.uniqueIndex(wellKnowns, new Function() { diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/compute/functions/ServerInfoToNodeMetadata.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/compute/functions/ServerInfoToNodeMetadata.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/compute/functions/ServerInfoToNodeMetadata.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/compute/functions/ServerInfoToNodeMetadata.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/compute/functions/WellKnownImageToImage.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/compute/functions/WellKnownImageToImage.java similarity index 97% rename from elasticstack/src/main/java/org/jclouds/elasticstack/compute/functions/WellKnownImageToImage.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/compute/functions/WellKnownImageToImage.java index ea12b435d2..be9ca8777e 100644 --- a/elasticstack/src/main/java/org/jclouds/elasticstack/compute/functions/WellKnownImageToImage.java +++ b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/compute/functions/WellKnownImageToImage.java @@ -64,7 +64,7 @@ public class WellKnownImageToImage implements Function { .description(drive.getName()) .operatingSystem( new OperatingSystemBuilder().family(input.getOsFamily()).version(input.getOsVersion()) - .name(input.getDescription()).description(drive.getName()).is64Bit(true).build()).version("") + .name(input.getDescription()).description(drive.getName()).is64Bit(input.is64bit()).build()).version("") .build(); } } \ No newline at end of file diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/config/ElasticStackRestClientModule.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/config/ElasticStackRestClientModule.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/config/ElasticStackRestClientModule.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/config/ElasticStackRestClientModule.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/BlockDevice.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/BlockDevice.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/BlockDevice.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/BlockDevice.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ClaimType.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ClaimType.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/ClaimType.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ClaimType.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/CreateDriveRequest.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/CreateDriveRequest.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/CreateDriveRequest.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/CreateDriveRequest.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Device.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Device.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/Device.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Device.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Drive.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Drive.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/Drive.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Drive.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveData.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveData.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveData.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveData.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveInfo.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveInfo.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveInfo.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveInfo.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveMetrics.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveMetrics.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveMetrics.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveMetrics.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveStatus.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveStatus.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveStatus.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveStatus.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/IDEDevice.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/IDEDevice.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/IDEDevice.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/IDEDevice.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ImageConversionType.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ImageConversionType.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/ImageConversionType.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ImageConversionType.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Item.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Item.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/Item.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Item.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/MediaType.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/MediaType.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/MediaType.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/MediaType.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Model.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Model.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/Model.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Model.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/NIC.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/NIC.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/NIC.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/NIC.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/SCSIDevice.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/SCSIDevice.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/SCSIDevice.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/SCSIDevice.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Server.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Server.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/Server.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Server.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerInfo.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerInfo.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerInfo.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerInfo.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerMetrics.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerMetrics.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerMetrics.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerMetrics.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerStatus.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerStatus.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerStatus.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerStatus.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/VNC.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/VNC.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/VNC.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/VNC.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/WellKnownImage.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/WellKnownImage.java similarity index 90% rename from elasticstack/src/main/java/org/jclouds/elasticstack/domain/WellKnownImage.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/WellKnownImage.java index b9544d303a..e70cc76eac 100644 --- a/elasticstack/src/main/java/org/jclouds/elasticstack/domain/WellKnownImage.java +++ b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/domain/WellKnownImage.java @@ -33,6 +33,7 @@ public class WellKnownImage { private OsFamily osFamily; private String osVersion; private int size; + private boolean is64bit = true; // intended only for serialization WellKnownImage() { @@ -61,9 +62,13 @@ public class WellKnownImage { return size; } + public boolean is64bit() { + return is64bit; + } + @Override public int hashCode() { - return Objects.hashCode(uuid, description, osFamily, osVersion, size); + return Objects.hashCode(uuid, description, osFamily, osVersion, size, is64bit); } @Override @@ -76,7 +81,7 @@ public class WellKnownImage { @Override public String toString() { return Objects.toStringHelper(this).add("uuid", uuid).add("description", description).add("osFamily", osFamily) - .add("osVersion", osVersion).add("size", size).toString(); + .add("osVersion", osVersion).add("size", size).add("is64bit", is64bit).toString(); } } \ No newline at end of file diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/BaseDriveToMap.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/BaseDriveToMap.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/BaseDriveToMap.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/BaseDriveToMap.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMap.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMap.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMap.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMap.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/DriveDataToMap.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/DriveDataToMap.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/DriveDataToMap.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/DriveDataToMap.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDevices.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDevices.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDevices.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDevices.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveInfo.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveInfo.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveInfo.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveInfo.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveMetrics.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveMetrics.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveMetrics.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveMetrics.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToNICs.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToNICs.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToNICs.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToNICs.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerInfo.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerInfo.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerInfo.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerInfo.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerMetrics.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerMetrics.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerMetrics.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerMetrics.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ReturnPayload.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ReturnPayload.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/ReturnPayload.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ReturnPayload.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ServerToMap.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ServerToMap.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/ServerToMap.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ServerToMap.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/functions/SplitNewlines.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/SplitNewlines.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/functions/SplitNewlines.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/SplitNewlines.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandler.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandler.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandler.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandler.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/predicates/DriveClaimed.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/predicates/DriveClaimed.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/predicates/DriveClaimed.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/predicates/DriveClaimed.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/reference/ElasticStackConstants.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/reference/ElasticStackConstants.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/reference/ElasticStackConstants.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/reference/ElasticStackConstants.java diff --git a/elasticstack/src/main/java/org/jclouds/elasticstack/util/Servers.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/util/Servers.java similarity index 100% rename from elasticstack/src/main/java/org/jclouds/elasticstack/util/Servers.java rename to apis/elasticstack/src/main/java/org/jclouds/elasticstack/util/Servers.java diff --git a/elasticstack/src/main/resources/preinstalled_images.json b/apis/elasticstack/src/main/resources/elasticstack/preinstalled_images.json similarity index 100% rename from elasticstack/src/main/resources/preinstalled_images.json rename to apis/elasticstack/src/main/resources/elasticstack/preinstalled_images.json diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackAsyncClientTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackAsyncClientTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackAsyncClientTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackAsyncClientTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackClientLiveTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackClientLiveTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackClientLiveTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackClientLiveTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/ProvidersInPropertiesTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/ProvidersInPropertiesTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/ProvidersInPropertiesTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/ProvidersInPropertiesTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextStringTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextStringTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextStringTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextStringTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextStringTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextStringTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextStringTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextStringTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindServerToPlainTextStringTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindServerToPlainTextStringTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindServerToPlainTextStringTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindServerToPlainTextStringTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceLiveTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceLiveTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceLiveTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceLiveTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackTemplateBuilderLiveTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackTemplateBuilderLiveTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackTemplateBuilderLiveTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackTemplateBuilderLiveTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/functions/BaseDriveToMapTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/BaseDriveToMapTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/functions/BaseDriveToMapTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/BaseDriveToMapTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMapTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMapTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMapTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMapTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/functions/DriveDataToMapTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/DriveDataToMapTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/functions/DriveDataToMapTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/DriveDataToMapTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfoTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfoTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfoTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfoTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfoTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfoTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfoTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfoTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToDriveInfoTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToDriveInfoTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToDriveInfoTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToDriveInfoTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToServerInfoTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToServerInfoTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToServerInfoTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToServerInfoTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ServerToMapTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ServerToMapTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/functions/ServerToMapTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ServerToMapTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/functions/SplitNewlinesTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/SplitNewlinesTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/functions/SplitNewlinesTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/functions/SplitNewlinesTest.java diff --git a/elasticstack/src/test/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandlerTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandlerTest.java similarity index 100% rename from elasticstack/src/test/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandlerTest.java rename to apis/elasticstack/src/test/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandlerTest.java diff --git a/elasticstack/src/test/resources/create_drive.txt b/apis/elasticstack/src/test/resources/create_drive.txt similarity index 100% rename from elasticstack/src/test/resources/create_drive.txt rename to apis/elasticstack/src/test/resources/create_drive.txt diff --git a/elasticstack/src/test/resources/create_server.txt b/apis/elasticstack/src/test/resources/create_server.txt similarity index 100% rename from elasticstack/src/test/resources/create_server.txt rename to apis/elasticstack/src/test/resources/create_server.txt diff --git a/elasticstack/src/test/resources/drive.txt b/apis/elasticstack/src/test/resources/drive.txt similarity index 100% rename from elasticstack/src/test/resources/drive.txt rename to apis/elasticstack/src/test/resources/drive.txt diff --git a/elasticstack/src/test/resources/drive_data.txt b/apis/elasticstack/src/test/resources/drive_data.txt similarity index 100% rename from elasticstack/src/test/resources/drive_data.txt rename to apis/elasticstack/src/test/resources/drive_data.txt diff --git a/elasticstack/src/test/resources/log4j.xml b/apis/elasticstack/src/test/resources/log4j.xml similarity index 100% rename from elasticstack/src/test/resources/log4j.xml rename to apis/elasticstack/src/test/resources/log4j.xml diff --git a/elasticstack/src/test/resources/new_server.txt b/apis/elasticstack/src/test/resources/new_server.txt similarity index 100% rename from elasticstack/src/test/resources/new_server.txt rename to apis/elasticstack/src/test/resources/new_server.txt diff --git a/elasticstack/src/test/resources/servers.txt b/apis/elasticstack/src/test/resources/servers.txt similarity index 100% rename from elasticstack/src/test/resources/servers.txt rename to apis/elasticstack/src/test/resources/servers.txt diff --git a/elasticstack/src/test/resources/uuids.txt b/apis/elasticstack/src/test/resources/uuids.txt similarity index 100% rename from elasticstack/src/test/resources/uuids.txt rename to apis/elasticstack/src/test/resources/uuids.txt diff --git a/apis/pom.xml b/apis/pom.xml index 40fbc1678c..16cc1aeaa0 100644 --- a/apis/pom.xml +++ b/apis/pom.xml @@ -44,5 +44,6 @@ cloudservers vcloud vcloudexpress + elasticstack diff --git a/compute/src/main/clojure/org/jclouds/compute.clj b/compute/src/main/clojure/org/jclouds/compute.clj index 9b528894c4..1ff9f11304 100644 --- a/compute/src/main/clojure/org/jclouds/compute.clj +++ b/compute/src/main/clojure/org/jclouds/compute.clj @@ -24,6 +24,7 @@ Current supported providers are: [ec2, aws-ec2, ecc-ec2, cloudservers, cloudservers-uk, cloudservers-us, trmk-ecloud, trmk-vcloudexpress, vcloud, bluelock, eucalyptus, slicehost, elastichosts-lon-p, elastichosts-sat-p, elastichosts, + openhosting-east1, serverlove-z1-man, skalicloud-sdg-my, elastichosts-lon-b, cloudsigma, vcloudexpress, stub] Here's an example of getting some compute configuration from rackspace: diff --git a/core/src/main/resources/rest.properties b/core/src/main/resources/rest.properties index 3fa98ff2ba..18b91be832 100644 --- a/core/src/main/resources/rest.properties +++ b/core/src/main/resources/rest.properties @@ -119,20 +119,23 @@ elasticstack.propertiesbuilder=org.jclouds.elasticstack.ElasticStackPropertiesBu elasticstack.contextbuilder=org.jclouds.elasticstack.ElasticStackContextBuilder elasticstack.apiversion=1.0 -elastichosts-lon-p.propertiesbuilder=org.jclouds.elasticstack.ElasticStackPropertiesBuilder +elastichosts-lon-p.propertiesbuilder=org.jclouds.elastichosts.ElasticHostsPeer1LondonPropertiesBuilder elastichosts-lon-p.contextbuilder=org.jclouds.elasticstack.ElasticStackContextBuilder -elastichosts-lon-p.apiversion=1.0 -elastichosts-lon-p.endpoint=https://api.lon-p.elastichosts.com -elastichosts-lon-b.propertiesbuilder=org.jclouds.elasticstack.ElasticStackPropertiesBuilder +elastichosts-lon-b.propertiesbuilder=org.jclouds.elastichosts.ElasticHostsBlueSquareLondonPropertiesBuilder elastichosts-lon-b.contextbuilder=org.jclouds.elasticstack.ElasticStackContextBuilder -elastichosts-lon-b.apiversion=1.0 -elastichosts-lon-b.endpoint=https://api.lon-b.elastichosts.com -elastichosts-sat-p.propertiesbuilder=org.jclouds.elasticstack.ElasticStackPropertiesBuilder +elastichosts-sat-p.propertiesbuilder=org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioPropertiesBuilder elastichosts-sat-p.contextbuilder=org.jclouds.elasticstack.ElasticStackContextBuilder -elastichosts-sat-p.apiversion=1.0 -elastichosts-sat-p.endpoint=https://api.sat-p.elastichosts.com + +skalicloud-sdg-my.propertiesbuilder=org.jclouds.skalicloud.SkaliCloudMalaysiaPropertiesBuilder +skalicloud-sdg-my.contextbuilder=org.jclouds.skalicloud.SkaliCloudMalaysiaContextBuilder + +serverlove-z1-man.propertiesbuilder=org.jclouds.serverlove.ServerloveManchesterPropertiesBuilder +serverlove-z1-man.contextbuilder=org.jclouds.serverlove.ServerloveManchesterContextBuilder + +openhosting-east1.propertiesbuilder=org.jclouds.openhosting.OpenHostingEast1PropertiesBuilder +openhosting-east1.contextbuilder=org.jclouds.openhosting.OpenHostingEast1ContextBuilder cloudsigma.propertiesbuilder=org.jclouds.cloudsigma.CloudSigmaPropertiesBuilder cloudsigma.contextbuilder=org.jclouds.cloudsigma.CloudSigmaContextBuilder diff --git a/pom.xml b/pom.xml index ef7a9a0daf..a4daa0ebcc 100644 --- a/pom.xml +++ b/pom.xml @@ -47,7 +47,6 @@ scriptbuilder azure atmos - elasticstack allcompute allblobstore all diff --git a/providers/elastichosts-lon-b/pom.xml b/providers/elastichosts-lon-b/pom.xml new file mode 100644 index 0000000000..fc2fe2ba28 --- /dev/null +++ b/providers/elastichosts-lon-b/pom.xml @@ -0,0 +1,136 @@ + + + + + 4.0.0 + + org.jclouds + jclouds-project + 1.0-SNAPSHOT + ../../project/pom.xml + + org.jclouds.provider + elastichosts-lon-b + jclouds ElasticHosts BlueSquare London provider + ElasticHosts implementation targeted to BlueSquare London + + + https://api.lon-b.elastichosts.com + 1.0 + FIXME_IDENTITY + FIXME_CREDENTIAL + + + + + org.jclouds.api + elasticstack + ${project.version} + + + org.jclouds.api + elasticstack + ${project.version} + test-jar + test + + + org.jclouds + jclouds-core + ${project.version} + test-jar + test + + + org.jclouds + jclouds-compute + ${project.version} + test-jar + test + + + org.jclouds + jclouds-log4j + ${project.version} + test + + + org.jclouds + jclouds-jsch + ${project.version} + test + + + log4j + log4j + 1.2.16 + test + + + + + + live + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration + integration-test + + test + + + + + test.elastichosts-lon-b.endpoint + ${test.elastichosts-lon-b.endpoint} + + + test.elastichosts-lon-b.apiversion + ${test.elastichosts-lon-b.apiversion} + + + test.elastichosts-lon-b.identity + ${test.elastichosts-lon-b.identity} + + + test.elastichosts-lon-b.credential + ${test.elastichosts-lon-b.credential} + + + + + + + + + + + + + + diff --git a/providers/elastichosts-lon-b/src/main/java/org/jclouds/elastichosts/ElasticHostsBlueSquareLondonPropertiesBuilder.java b/providers/elastichosts-lon-b/src/main/java/org/jclouds/elastichosts/ElasticHostsBlueSquareLondonPropertiesBuilder.java new file mode 100644 index 0000000000..bbaf002b3c --- /dev/null +++ b/providers/elastichosts-lon-b/src/main/java/org/jclouds/elastichosts/ElasticHostsBlueSquareLondonPropertiesBuilder.java @@ -0,0 +1,47 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +package org.jclouds.elastichosts; + +import static org.jclouds.Constants.PROPERTY_API_VERSION; +import static org.jclouds.Constants.PROPERTY_ENDPOINT; + +import java.util.Properties; + +import org.jclouds.elasticstack.ElasticStackPropertiesBuilder; + +/** + * + * @author Adrian Cole + */ +public class ElasticHostsBlueSquareLondonPropertiesBuilder extends ElasticStackPropertiesBuilder { + + @Override + protected Properties defaultProperties() { + Properties properties = super.defaultProperties(); + properties.setProperty(PROPERTY_ENDPOINT, "https://api.lon-p.elastichosts.com"); + properties.setProperty(PROPERTY_API_VERSION, "1.0"); + return properties; + } + + public ElasticHostsBlueSquareLondonPropertiesBuilder(Properties properties) { + super(properties); + } + +} diff --git a/providers/elastichosts-lon-b/src/main/resources/elastichosts-lon-b/preinstalled_images.json b/providers/elastichosts-lon-b/src/main/resources/elastichosts-lon-b/preinstalled_images.json new file mode 100644 index 0000000000..dadd7b7441 --- /dev/null +++ b/providers/elastichosts-lon-b/src/main/resources/elastichosts-lon-b/preinstalled_images.json @@ -0,0 +1,72 @@ +[ + { + "uuid": "38df0986-4d85-4b76-b502-3878ffc80161", + "description": "CentOS Linux 5.5", + "osFamily": "CENTOS", + "osVersion": "5.5", + "size": "3" + }, + { + "uuid": "980cf63c-f21e-4382-997b-6541d5809629", + "description": "Debian Linux 5.0", + "osFamily": "DEBIAN", + "osVersion": "5.0", + "size": "1" + }, + { + "uuid": "aee5589a-88c3-43ef-bb0a-9cab6e64192d", + "description": "Ubuntu Linux 10.04", + "osFamily": "UBUNTU", + "osVersion": "10.04", + "size": "1" + }, + { + "uuid": "bf1d943e-2a55-46bb-a8c7-6099e44a3dde", + "description": "Ubuntu Linux 8.10: Base system with X", + "osFamily": "UBUNTU", + "osVersion": "8.10", + "size": "3" + }, + { + "uuid": "757586d5-f1e9-4d9c-b215-5a391c9a24bf", + "description": "Ubuntu Linux 9.04: Base system with X", + "osFamily": "UBUNTU", + "osVersion": "9.04", + "size": "3" + }, + { + "uuid": "b9d0eb72-d273-43f1-98e3-0d4b87d372c0", + "description": "Windows Web Server 2008", + "osFamily": "WINDOWS", + "osVersion": "2008", + "size": "13" + }, + { + "uuid": "b405b598-4ae4-4ba8-8a2b-a9487d693f34", + "description": "Windows Web Server 2008 R2", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "9397d327-3bf6-46a2-abf6-69553dbb6927", + "description": "Windows Web Server 2008 R2 + SQL Server", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "10a88d1c-6575-46e3-8d2c-7744065ea530", + "description": "Windows Server 2008 Standard R2", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "662c5b3f-9828-4aa2-a866-7cfa53798cdf", + "description": "Windows Server 2008 Standard R2 + SQL Server", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + } +] diff --git a/providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/ElasticHostsBlueSquareLondonClientLiveTest.java b/providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/ElasticHostsBlueSquareLondonClientLiveTest.java new file mode 100644 index 0000000000..8a1dd1944b --- /dev/null +++ b/providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/ElasticHostsBlueSquareLondonClientLiveTest.java @@ -0,0 +1,34 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +package org.jclouds.elastichosts; + +import org.jclouds.elasticstack.ElasticStackClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live", sequential = true) +public class ElasticHostsBlueSquareLondonClientLiveTest extends ElasticStackClientLiveTest { + public ElasticHostsBlueSquareLondonClientLiveTest() { + provider = "elastichosts-lon-b"; + } +} diff --git a/providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsBlueSquareLondonComputeServiceLiveTest.java b/providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsBlueSquareLondonComputeServiceLiveTest.java new file mode 100644 index 0000000000..3b79d1ece1 --- /dev/null +++ b/providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsBlueSquareLondonComputeServiceLiveTest.java @@ -0,0 +1,37 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +package org.jclouds.elastichosts.compute; + +import org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live", sequential = true, testName = "ElasticHostsBlueSquareLondonComputeServiceLiveTest") +public class ElasticHostsBlueSquareLondonComputeServiceLiveTest extends ElasticStackComputeServiceLiveTest { + + public ElasticHostsBlueSquareLondonComputeServiceLiveTest() { + provider = "elastichosts-lon-b"; + tag = "elastichosts"; + } + +} diff --git a/providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsBlueSquareLondonTemplateBuilderLiveTest.java b/providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsBlueSquareLondonTemplateBuilderLiveTest.java new file mode 100644 index 0000000000..8f8424415e --- /dev/null +++ b/providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsBlueSquareLondonTemplateBuilderLiveTest.java @@ -0,0 +1,70 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +package org.jclouds.elastichosts.compute; + +import static org.jclouds.compute.util.ComputeServiceUtils.getCores; +import static org.testng.Assert.assertEquals; + +import org.jclouds.compute.BaseTemplateBuilderLiveTest; +import org.jclouds.compute.domain.OsFamily; +import org.jclouds.compute.domain.Template; +import org.jclouds.compute.domain.os.OsFamilyVersion64Bit; +import org.testng.annotations.Test; + +import com.google.common.base.Predicate; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live") +public class ElasticHostsBlueSquareLondonTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest { + + public ElasticHostsBlueSquareLondonTemplateBuilderLiveTest() { + provider = "elastichosts-lon-b"; + } + + @Override + protected Predicate defineUnsupportedOperatingSystems() { + return new Predicate() { + + @Override + public boolean apply(OsFamilyVersion64Bit input) { + return ((input.family == OsFamily.RHEL) || // + (input.family == OsFamily.CENTOS && !(input.version.equals("5.5") && input.is64Bit)) || // + (input.family == OsFamily.UBUNTU && !(input.version.equals("10.04") && input.is64Bit)) || // + (input.family == OsFamily.WINDOWS && !((input.version.equals("2008") || input.version.equals("2008 R2")) && input.is64Bit)) // + ); + } + + }; + } + + @Test + public void testTemplateBuilder() { + Template defaultTemplate = this.context.getComputeService().templateBuilder().build(); + assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "10.04"); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); + assertEquals(defaultTemplate.getLocation().getId(), "elastichosts-lon-b"); + assertEquals(getCores(defaultTemplate.getHardware()), 1.0d); + } + +} diff --git a/providers/elastichosts-lon-p/pom.xml b/providers/elastichosts-lon-p/pom.xml new file mode 100644 index 0000000000..0d5a6d51ab --- /dev/null +++ b/providers/elastichosts-lon-p/pom.xml @@ -0,0 +1,136 @@ + + + + + 4.0.0 + + org.jclouds + jclouds-project + 1.0-SNAPSHOT + ../../project/pom.xml + + org.jclouds.provider + elastichosts-lon-p + jclouds ElasticHosts Peer1 London provider + ElasticHosts implementation targeted to Peer1 London + + + https://api.lon-p.elastichosts.com + 1.0 + FIXME_IDENTITY + FIXME_CREDENTIAL + + + + + org.jclouds.api + elasticstack + ${project.version} + + + org.jclouds.api + elasticstack + ${project.version} + test-jar + test + + + org.jclouds + jclouds-core + ${project.version} + test-jar + test + + + org.jclouds + jclouds-compute + ${project.version} + test-jar + test + + + org.jclouds + jclouds-log4j + ${project.version} + test + + + org.jclouds + jclouds-jsch + ${project.version} + test + + + log4j + log4j + 1.2.16 + test + + + + + + live + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration + integration-test + + test + + + + + test.elastichosts-lon-p.endpoint + ${test.elastichosts-lon-p.endpoint} + + + test.elastichosts-lon-p.apiversion + ${test.elastichosts-lon-p.apiversion} + + + test.elastichosts-lon-p.identity + ${test.elastichosts-lon-p.identity} + + + test.elastichosts-lon-p.credential + ${test.elastichosts-lon-p.credential} + + + + + + + + + + + + + + diff --git a/providers/elastichosts-lon-p/src/main/java/org/jclouds/elastichosts/ElasticHostsPeer1LondonPropertiesBuilder.java b/providers/elastichosts-lon-p/src/main/java/org/jclouds/elastichosts/ElasticHostsPeer1LondonPropertiesBuilder.java new file mode 100644 index 0000000000..ea501bd324 --- /dev/null +++ b/providers/elastichosts-lon-p/src/main/java/org/jclouds/elastichosts/ElasticHostsPeer1LondonPropertiesBuilder.java @@ -0,0 +1,47 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +package org.jclouds.elastichosts; + +import static org.jclouds.Constants.PROPERTY_API_VERSION; +import static org.jclouds.Constants.PROPERTY_ENDPOINT; + +import java.util.Properties; + +import org.jclouds.elasticstack.ElasticStackPropertiesBuilder; + +/** + * + * @author Adrian Cole + */ +public class ElasticHostsPeer1LondonPropertiesBuilder extends ElasticStackPropertiesBuilder { + + @Override + protected Properties defaultProperties() { + Properties properties = super.defaultProperties(); + properties.setProperty(PROPERTY_ENDPOINT, "https://api.lon-p.elastichosts.com"); + properties.setProperty(PROPERTY_API_VERSION, "1.0"); + return properties; + } + + public ElasticHostsPeer1LondonPropertiesBuilder(Properties properties) { + super(properties); + } + +} diff --git a/providers/elastichosts-lon-p/src/main/resources/elastichosts-lon-p/preinstalled_images.json b/providers/elastichosts-lon-p/src/main/resources/elastichosts-lon-p/preinstalled_images.json new file mode 100644 index 0000000000..dadd7b7441 --- /dev/null +++ b/providers/elastichosts-lon-p/src/main/resources/elastichosts-lon-p/preinstalled_images.json @@ -0,0 +1,72 @@ +[ + { + "uuid": "38df0986-4d85-4b76-b502-3878ffc80161", + "description": "CentOS Linux 5.5", + "osFamily": "CENTOS", + "osVersion": "5.5", + "size": "3" + }, + { + "uuid": "980cf63c-f21e-4382-997b-6541d5809629", + "description": "Debian Linux 5.0", + "osFamily": "DEBIAN", + "osVersion": "5.0", + "size": "1" + }, + { + "uuid": "aee5589a-88c3-43ef-bb0a-9cab6e64192d", + "description": "Ubuntu Linux 10.04", + "osFamily": "UBUNTU", + "osVersion": "10.04", + "size": "1" + }, + { + "uuid": "bf1d943e-2a55-46bb-a8c7-6099e44a3dde", + "description": "Ubuntu Linux 8.10: Base system with X", + "osFamily": "UBUNTU", + "osVersion": "8.10", + "size": "3" + }, + { + "uuid": "757586d5-f1e9-4d9c-b215-5a391c9a24bf", + "description": "Ubuntu Linux 9.04: Base system with X", + "osFamily": "UBUNTU", + "osVersion": "9.04", + "size": "3" + }, + { + "uuid": "b9d0eb72-d273-43f1-98e3-0d4b87d372c0", + "description": "Windows Web Server 2008", + "osFamily": "WINDOWS", + "osVersion": "2008", + "size": "13" + }, + { + "uuid": "b405b598-4ae4-4ba8-8a2b-a9487d693f34", + "description": "Windows Web Server 2008 R2", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "9397d327-3bf6-46a2-abf6-69553dbb6927", + "description": "Windows Web Server 2008 R2 + SQL Server", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "10a88d1c-6575-46e3-8d2c-7744065ea530", + "description": "Windows Server 2008 Standard R2", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "662c5b3f-9828-4aa2-a866-7cfa53798cdf", + "description": "Windows Server 2008 Standard R2 + SQL Server", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + } +] diff --git a/providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/ElasticHostsPeer1LondonClientLiveTest.java b/providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/ElasticHostsPeer1LondonClientLiveTest.java new file mode 100644 index 0000000000..aac5eaa4bb --- /dev/null +++ b/providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/ElasticHostsPeer1LondonClientLiveTest.java @@ -0,0 +1,34 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +package org.jclouds.elastichosts; + +import org.jclouds.elasticstack.ElasticStackClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live", sequential = true) +public class ElasticHostsPeer1LondonClientLiveTest extends ElasticStackClientLiveTest { + public ElasticHostsPeer1LondonClientLiveTest() { + provider = "elastichosts-lon-p"; + } +} diff --git a/providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LondonComputeServiceLiveTest.java b/providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LondonComputeServiceLiveTest.java new file mode 100644 index 0000000000..86c9046e13 --- /dev/null +++ b/providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LondonComputeServiceLiveTest.java @@ -0,0 +1,37 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +package org.jclouds.elastichosts.compute; + +import org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live", sequential = true, testName = "ElasticHostsPeer1LondonComputeServiceLiveTest") +public class ElasticHostsPeer1LondonComputeServiceLiveTest extends ElasticStackComputeServiceLiveTest { + + public ElasticHostsPeer1LondonComputeServiceLiveTest() { + provider = "elastichosts-lon-p"; + tag = "elastichosts"; + } + +} diff --git a/providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LondonTemplateBuilderLiveTest.java b/providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LondonTemplateBuilderLiveTest.java new file mode 100644 index 0000000000..7646f8b5c4 --- /dev/null +++ b/providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LondonTemplateBuilderLiveTest.java @@ -0,0 +1,70 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +package org.jclouds.elastichosts.compute; + +import static org.jclouds.compute.util.ComputeServiceUtils.getCores; +import static org.testng.Assert.assertEquals; + +import org.jclouds.compute.BaseTemplateBuilderLiveTest; +import org.jclouds.compute.domain.OsFamily; +import org.jclouds.compute.domain.Template; +import org.jclouds.compute.domain.os.OsFamilyVersion64Bit; +import org.testng.annotations.Test; + +import com.google.common.base.Predicate; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live") +public class ElasticHostsPeer1LondonTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest { + + public ElasticHostsPeer1LondonTemplateBuilderLiveTest() { + provider = "elastichosts-lon-p"; + } + + @Override + protected Predicate defineUnsupportedOperatingSystems() { + return new Predicate() { + + @Override + public boolean apply(OsFamilyVersion64Bit input) { + return ((input.family == OsFamily.RHEL) || // + (input.family == OsFamily.CENTOS && !(input.version.equals("5.5") && input.is64Bit)) || // + (input.family == OsFamily.UBUNTU && !(input.version.equals("10.04") && input.is64Bit)) || // + (input.family == OsFamily.WINDOWS && !((input.version.equals("2008") || input.version.equals("2008 R2")) && input.is64Bit)) // + ); + } + + }; + } + + @Test + public void testTemplateBuilder() { + Template defaultTemplate = this.context.getComputeService().templateBuilder().build(); + assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "10.04"); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); + assertEquals(defaultTemplate.getLocation().getId(), "elastichosts-lon-p"); + assertEquals(getCores(defaultTemplate.getHardware()), 1.0d); + } + +} diff --git a/providers/elastichosts-sat-p/pom.xml b/providers/elastichosts-sat-p/pom.xml new file mode 100644 index 0000000000..2b7c2a903a --- /dev/null +++ b/providers/elastichosts-sat-p/pom.xml @@ -0,0 +1,136 @@ + + + + + 4.0.0 + + org.jclouds + jclouds-project + 1.0-SNAPSHOT + ../../project/pom.xml + + org.jclouds.provider + elastichosts-sat-p + jclouds ElasticHosts Peer1 London provider + ElasticHosts implementation targeted to Peer1 San Antonio + + + https://api.sat-p.elastichosts.com + 1.0 + FIXME_IDENTITY + FIXME_CREDENTIAL + + + + + org.jclouds.api + elasticstack + ${project.version} + + + org.jclouds.api + elasticstack + ${project.version} + test-jar + test + + + org.jclouds + jclouds-core + ${project.version} + test-jar + test + + + org.jclouds + jclouds-compute + ${project.version} + test-jar + test + + + org.jclouds + jclouds-log4j + ${project.version} + test + + + org.jclouds + jclouds-jsch + ${project.version} + test + + + log4j + log4j + 1.2.16 + test + + + + + + live + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration + integration-test + + test + + + + + test.elastichosts-sat-p.endpoint + ${test.elastichosts-sat-p.endpoint} + + + test.elastichosts-sat-p.apiversion + ${test.elastichosts-sat-p.apiversion} + + + test.elastichosts-sat-p.identity + ${test.elastichosts-sat-p.identity} + + + test.elastichosts-sat-p.credential + ${test.elastichosts-sat-p.credential} + + + + + + + + + + + + + + diff --git a/providers/elastichosts-sat-p/src/main/java/org/jclouds/elastichosts/ElasticHostsPeer1SanAntonioPropertiesBuilder.java b/providers/elastichosts-sat-p/src/main/java/org/jclouds/elastichosts/ElasticHostsPeer1SanAntonioPropertiesBuilder.java new file mode 100644 index 0000000000..13327f11ce --- /dev/null +++ b/providers/elastichosts-sat-p/src/main/java/org/jclouds/elastichosts/ElasticHostsPeer1SanAntonioPropertiesBuilder.java @@ -0,0 +1,47 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +package org.jclouds.elastichosts; + +import static org.jclouds.Constants.PROPERTY_API_VERSION; +import static org.jclouds.Constants.PROPERTY_ENDPOINT; + +import java.util.Properties; + +import org.jclouds.elasticstack.ElasticStackPropertiesBuilder; + +/** + * + * @author Adrian Cole + */ +public class ElasticHostsPeer1SanAntonioPropertiesBuilder extends ElasticStackPropertiesBuilder { + + @Override + protected Properties defaultProperties() { + Properties properties = super.defaultProperties(); + properties.setProperty(PROPERTY_ENDPOINT, "https://api.sat-p.elastichosts.com"); + properties.setProperty(PROPERTY_API_VERSION, "1.0"); + return properties; + } + + public ElasticHostsPeer1SanAntonioPropertiesBuilder(Properties properties) { + super(properties); + } + +} diff --git a/providers/elastichosts-sat-p/src/main/resources/elastichosts-sat-p/preinstalled_images.json b/providers/elastichosts-sat-p/src/main/resources/elastichosts-sat-p/preinstalled_images.json new file mode 100644 index 0000000000..dadd7b7441 --- /dev/null +++ b/providers/elastichosts-sat-p/src/main/resources/elastichosts-sat-p/preinstalled_images.json @@ -0,0 +1,72 @@ +[ + { + "uuid": "38df0986-4d85-4b76-b502-3878ffc80161", + "description": "CentOS Linux 5.5", + "osFamily": "CENTOS", + "osVersion": "5.5", + "size": "3" + }, + { + "uuid": "980cf63c-f21e-4382-997b-6541d5809629", + "description": "Debian Linux 5.0", + "osFamily": "DEBIAN", + "osVersion": "5.0", + "size": "1" + }, + { + "uuid": "aee5589a-88c3-43ef-bb0a-9cab6e64192d", + "description": "Ubuntu Linux 10.04", + "osFamily": "UBUNTU", + "osVersion": "10.04", + "size": "1" + }, + { + "uuid": "bf1d943e-2a55-46bb-a8c7-6099e44a3dde", + "description": "Ubuntu Linux 8.10: Base system with X", + "osFamily": "UBUNTU", + "osVersion": "8.10", + "size": "3" + }, + { + "uuid": "757586d5-f1e9-4d9c-b215-5a391c9a24bf", + "description": "Ubuntu Linux 9.04: Base system with X", + "osFamily": "UBUNTU", + "osVersion": "9.04", + "size": "3" + }, + { + "uuid": "b9d0eb72-d273-43f1-98e3-0d4b87d372c0", + "description": "Windows Web Server 2008", + "osFamily": "WINDOWS", + "osVersion": "2008", + "size": "13" + }, + { + "uuid": "b405b598-4ae4-4ba8-8a2b-a9487d693f34", + "description": "Windows Web Server 2008 R2", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "9397d327-3bf6-46a2-abf6-69553dbb6927", + "description": "Windows Web Server 2008 R2 + SQL Server", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "10a88d1c-6575-46e3-8d2c-7744065ea530", + "description": "Windows Server 2008 Standard R2", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "662c5b3f-9828-4aa2-a866-7cfa53798cdf", + "description": "Windows Server 2008 Standard R2 + SQL Server", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + } +] diff --git a/providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/ElasticHostsPeer1SanAntonioClientLiveTest.java b/providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/ElasticHostsPeer1SanAntonioClientLiveTest.java new file mode 100644 index 0000000000..258c6c3235 --- /dev/null +++ b/providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/ElasticHostsPeer1SanAntonioClientLiveTest.java @@ -0,0 +1,34 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +package org.jclouds.elastichosts; + +import org.jclouds.elasticstack.ElasticStackClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live", sequential = true) +public class ElasticHostsPeer1SanAntonioClientLiveTest extends ElasticStackClientLiveTest { + public ElasticHostsPeer1SanAntonioClientLiveTest() { + provider = "elastichosts-sat-p"; + } +} diff --git a/providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1SanAntonioComputeServiceLiveTest.java b/providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1SanAntonioComputeServiceLiveTest.java new file mode 100644 index 0000000000..f10af1172b --- /dev/null +++ b/providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1SanAntonioComputeServiceLiveTest.java @@ -0,0 +1,37 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +package org.jclouds.elastichosts.compute; + +import org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live", sequential = true, testName = "ElasticHostsPeer1SanAntonioComputeServiceLiveTest") +public class ElasticHostsPeer1SanAntonioComputeServiceLiveTest extends ElasticStackComputeServiceLiveTest { + + public ElasticHostsPeer1SanAntonioComputeServiceLiveTest() { + provider = "elastichosts-sat-p"; + tag = "elastichosts"; + } + +} diff --git a/providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest.java b/providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest.java new file mode 100644 index 0000000000..ae43a8ab2f --- /dev/null +++ b/providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest.java @@ -0,0 +1,70 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +package org.jclouds.elastichosts.compute; + +import static org.jclouds.compute.util.ComputeServiceUtils.getCores; +import static org.testng.Assert.assertEquals; + +import org.jclouds.compute.BaseTemplateBuilderLiveTest; +import org.jclouds.compute.domain.OsFamily; +import org.jclouds.compute.domain.Template; +import org.jclouds.compute.domain.os.OsFamilyVersion64Bit; +import org.testng.annotations.Test; + +import com.google.common.base.Predicate; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live") +public class ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest { + + public ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest() { + provider = "elastichosts-sat-p"; + } + + @Override + protected Predicate defineUnsupportedOperatingSystems() { + return new Predicate() { + + @Override + public boolean apply(OsFamilyVersion64Bit input) { + return ((input.family == OsFamily.RHEL) || // + (input.family == OsFamily.CENTOS && !(input.version.equals("5.5") && input.is64Bit)) || // + (input.family == OsFamily.UBUNTU && !(input.version.equals("10.04") && input.is64Bit)) || // + (input.family == OsFamily.WINDOWS && !((input.version.equals("2008") || input.version.equals("2008 R2")) && input.is64Bit)) // + ); + } + + }; + } + + @Test + public void testTemplateBuilder() { + Template defaultTemplate = this.context.getComputeService().templateBuilder().build(); + assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "10.04"); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); + assertEquals(defaultTemplate.getLocation().getId(), "elastichosts-sat-p"); + assertEquals(getCores(defaultTemplate.getHardware()), 1.0d); + } + +} diff --git a/providers/openhosting-east1/pom.xml b/providers/openhosting-east1/pom.xml new file mode 100644 index 0000000000..9ad7fe02d9 --- /dev/null +++ b/providers/openhosting-east1/pom.xml @@ -0,0 +1,136 @@ + + + + + 4.0.0 + + org.jclouds + jclouds-project + 1.0-SNAPSHOT + ../../project/pom.xml + + org.jclouds.provider + openhosting-east1 + jclouds Open Hosting East1 provider + Open Hosting implementation targeted to East1 + + + https://api.east1.openhosting.com + 1.0 + FIXME_IDENTITY + FIXME_CREDENTIAL + + + + + org.jclouds.api + elasticstack + ${project.version} + + + org.jclouds.api + elasticstack + ${project.version} + test-jar + test + + + org.jclouds + jclouds-core + ${project.version} + test-jar + test + + + org.jclouds + jclouds-compute + ${project.version} + test-jar + test + + + org.jclouds + jclouds-log4j + ${project.version} + test + + + org.jclouds + jclouds-jsch + ${project.version} + test + + + log4j + log4j + 1.2.16 + test + + + + + + live + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration + integration-test + + test + + + + + test.openhosting-east1.endpoint + ${test.openhosting-east1.endpoint} + + + test.openhosting-east1.apiversion + ${test.openhosting-east1.apiversion} + + + test.openhosting-east1.identity + ${test.openhosting-east1.identity} + + + test.openhosting-east1.credential + ${test.openhosting-east1.credential} + + + + + + + + + + + + + + diff --git a/providers/openhosting-east1/src/main/java/org/jclouds/openhosting/OpenHostingEast1ContextBuilder.java b/providers/openhosting-east1/src/main/java/org/jclouds/openhosting/OpenHostingEast1ContextBuilder.java new file mode 100644 index 0000000000..4a07ef594a --- /dev/null +++ b/providers/openhosting-east1/src/main/java/org/jclouds/openhosting/OpenHostingEast1ContextBuilder.java @@ -0,0 +1,45 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.openhosting; + +import java.util.List; +import java.util.Properties; + +import org.jclouds.elasticstack.ElasticStackContextBuilder; +import org.jclouds.openhosting.config.OpenHostingEast1ComputeServiceContextModule; + +import com.google.inject.Module; + +/** + * + * @author Adrian Cole + */ +public class OpenHostingEast1ContextBuilder extends ElasticStackContextBuilder { + + public OpenHostingEast1ContextBuilder(Properties props) { + super(props); + } + + @Override + protected void addContextModule(List modules) { + modules.add(new OpenHostingEast1ComputeServiceContextModule()); + } + +} diff --git a/providers/openhosting-east1/src/main/java/org/jclouds/openhosting/OpenHostingEast1PropertiesBuilder.java b/providers/openhosting-east1/src/main/java/org/jclouds/openhosting/OpenHostingEast1PropertiesBuilder.java new file mode 100644 index 0000000000..a405313d4b --- /dev/null +++ b/providers/openhosting-east1/src/main/java/org/jclouds/openhosting/OpenHostingEast1PropertiesBuilder.java @@ -0,0 +1,47 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.openhosting; + +import static org.jclouds.Constants.PROPERTY_API_VERSION; +import static org.jclouds.Constants.PROPERTY_ENDPOINT; + +import java.util.Properties; + +import org.jclouds.elasticstack.ElasticStackPropertiesBuilder; + +/** + * + * @author Adrian Cole + */ +public class OpenHostingEast1PropertiesBuilder extends ElasticStackPropertiesBuilder { + + @Override + protected Properties defaultProperties() { + Properties properties = super.defaultProperties(); + properties.setProperty(PROPERTY_ENDPOINT, "https://api.east1.openhosting.com"); + properties.setProperty(PROPERTY_API_VERSION, "1.0"); + return properties; + } + + public OpenHostingEast1PropertiesBuilder(Properties properties) { + super(properties); + } + +} diff --git a/providers/openhosting-east1/src/main/java/org/jclouds/openhosting/config/OpenHostingEast1ComputeServiceContextModule.java b/providers/openhosting-east1/src/main/java/org/jclouds/openhosting/config/OpenHostingEast1ComputeServiceContextModule.java new file mode 100644 index 0000000000..edd82c5993 --- /dev/null +++ b/providers/openhosting-east1/src/main/java/org/jclouds/openhosting/config/OpenHostingEast1ComputeServiceContextModule.java @@ -0,0 +1,40 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.openhosting.config; + +import static org.jclouds.compute.domain.OsFamily.UBUNTU; + +import org.jclouds.compute.domain.TemplateBuilder; +import org.jclouds.elasticstack.compute.config.ElasticStackComputeServiceContextModule; + +import com.google.inject.Injector; + +/** + * + * @author Adrian Cole + */ +public class OpenHostingEast1ComputeServiceContextModule extends ElasticStackComputeServiceContextModule { + + @Override + protected TemplateBuilder provideTemplate(Injector injector, TemplateBuilder template) { + return template.osFamily(UBUNTU).osVersionMatches("10.10").os64Bit(true); + } + +} diff --git a/providers/openhosting-east1/src/main/resources/openhosting-east1/preinstalled_images.json b/providers/openhosting-east1/src/main/resources/openhosting-east1/preinstalled_images.json new file mode 100644 index 0000000000..dadd7b7441 --- /dev/null +++ b/providers/openhosting-east1/src/main/resources/openhosting-east1/preinstalled_images.json @@ -0,0 +1,72 @@ +[ + { + "uuid": "38df0986-4d85-4b76-b502-3878ffc80161", + "description": "CentOS Linux 5.5", + "osFamily": "CENTOS", + "osVersion": "5.5", + "size": "3" + }, + { + "uuid": "980cf63c-f21e-4382-997b-6541d5809629", + "description": "Debian Linux 5.0", + "osFamily": "DEBIAN", + "osVersion": "5.0", + "size": "1" + }, + { + "uuid": "aee5589a-88c3-43ef-bb0a-9cab6e64192d", + "description": "Ubuntu Linux 10.04", + "osFamily": "UBUNTU", + "osVersion": "10.04", + "size": "1" + }, + { + "uuid": "bf1d943e-2a55-46bb-a8c7-6099e44a3dde", + "description": "Ubuntu Linux 8.10: Base system with X", + "osFamily": "UBUNTU", + "osVersion": "8.10", + "size": "3" + }, + { + "uuid": "757586d5-f1e9-4d9c-b215-5a391c9a24bf", + "description": "Ubuntu Linux 9.04: Base system with X", + "osFamily": "UBUNTU", + "osVersion": "9.04", + "size": "3" + }, + { + "uuid": "b9d0eb72-d273-43f1-98e3-0d4b87d372c0", + "description": "Windows Web Server 2008", + "osFamily": "WINDOWS", + "osVersion": "2008", + "size": "13" + }, + { + "uuid": "b405b598-4ae4-4ba8-8a2b-a9487d693f34", + "description": "Windows Web Server 2008 R2", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "9397d327-3bf6-46a2-abf6-69553dbb6927", + "description": "Windows Web Server 2008 R2 + SQL Server", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "10a88d1c-6575-46e3-8d2c-7744065ea530", + "description": "Windows Server 2008 Standard R2", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "662c5b3f-9828-4aa2-a866-7cfa53798cdf", + "description": "Windows Server 2008 Standard R2 + SQL Server", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + } +] diff --git a/providers/openhosting-east1/src/test/java/org/jclouds/openhosting/OpenHostingEast1ClientLiveTest.java b/providers/openhosting-east1/src/test/java/org/jclouds/openhosting/OpenHostingEast1ClientLiveTest.java new file mode 100644 index 0000000000..cfe3363a78 --- /dev/null +++ b/providers/openhosting-east1/src/test/java/org/jclouds/openhosting/OpenHostingEast1ClientLiveTest.java @@ -0,0 +1,34 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.openhosting; + +import org.jclouds.elasticstack.ElasticStackClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live", sequential = true) +public class OpenHostingEast1ClientLiveTest extends ElasticStackClientLiveTest { + public OpenHostingEast1ClientLiveTest() { + provider = "openhosting-east1"; + } +} diff --git a/providers/openhosting-east1/src/test/java/org/jclouds/openhosting/compute/OpenHostingEast1ComputeServiceLiveTest.java b/providers/openhosting-east1/src/test/java/org/jclouds/openhosting/compute/OpenHostingEast1ComputeServiceLiveTest.java new file mode 100644 index 0000000000..194eb058d2 --- /dev/null +++ b/providers/openhosting-east1/src/test/java/org/jclouds/openhosting/compute/OpenHostingEast1ComputeServiceLiveTest.java @@ -0,0 +1,37 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.openhosting.compute; + +import org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live", sequential = true, testName = "OpenHostingEast1ComputeServiceLiveTest") +public class OpenHostingEast1ComputeServiceLiveTest extends ElasticStackComputeServiceLiveTest { + + public OpenHostingEast1ComputeServiceLiveTest() { + provider = "openhosting-east1"; + tag = "openhosting"; + } + +} diff --git a/providers/openhosting-east1/src/test/java/org/jclouds/openhosting/compute/OpenHostingEast1TemplateBuilderLiveTest.java b/providers/openhosting-east1/src/test/java/org/jclouds/openhosting/compute/OpenHostingEast1TemplateBuilderLiveTest.java new file mode 100644 index 0000000000..2ba5be35e8 --- /dev/null +++ b/providers/openhosting-east1/src/test/java/org/jclouds/openhosting/compute/OpenHostingEast1TemplateBuilderLiveTest.java @@ -0,0 +1,70 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.openhosting.compute; + +import static org.jclouds.compute.util.ComputeServiceUtils.getCores; +import static org.testng.Assert.assertEquals; + +import org.jclouds.compute.BaseTemplateBuilderLiveTest; +import org.jclouds.compute.domain.OsFamily; +import org.jclouds.compute.domain.Template; +import org.jclouds.compute.domain.os.OsFamilyVersion64Bit; +import org.testng.annotations.Test; + +import com.google.common.base.Predicate; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live") +public class OpenHostingEast1TemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest { + + public OpenHostingEast1TemplateBuilderLiveTest() { + provider = "openhosting-east1"; + } + + @Override + protected Predicate defineUnsupportedOperatingSystems() { + return new Predicate() { + + @Override + public boolean apply(OsFamilyVersion64Bit input) { + return ((input.family == OsFamily.RHEL) || // + (input.family == OsFamily.CENTOS && !(input.version.equals("5.5") && input.is64Bit)) || // + (input.family == OsFamily.UBUNTU && !(input.version.equals("10.10") && input.is64Bit)) || // + (input.family == OsFamily.WINDOWS) // + ); + } + + }; + } + + @Test + public void testTemplateBuilder() { + Template defaultTemplate = this.context.getComputeService().templateBuilder().build(); + assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "10.10"); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); + assertEquals(defaultTemplate.getLocation().getId(), "openhosting-east1"); + assertEquals(getCores(defaultTemplate.getHardware()), 1.0d); + } + +} diff --git a/providers/pom.xml b/providers/pom.xml index 8e024150fb..6cdf3b9fc0 100644 --- a/providers/pom.xml +++ b/providers/pom.xml @@ -50,5 +50,11 @@ bluelock-vcdirector trmk-ecloud trmk-vcloudexpress + elastichosts-lon-p + elastichosts-sat-p + elastichosts-lon-b + openhosting-east1 + serverlove-z1-man + skalicloud-sdg-my diff --git a/providers/serverlove-z1-man/pom.xml b/providers/serverlove-z1-man/pom.xml new file mode 100644 index 0000000000..bd3d6599c4 --- /dev/null +++ b/providers/serverlove-z1-man/pom.xml @@ -0,0 +1,136 @@ + + + + + 4.0.0 + + org.jclouds + jclouds-project + 1.0-SNAPSHOT + ../../project/pom.xml + + org.jclouds.provider + serverlove-z1-man + jclouds Serverlove Manchester provider + Serverlove implementation targeted to Manchester + + + https://api.z1-man.serverlove.com + 1.0 + FIXME_IDENTITY + FIXME_CREDENTIAL + + + + + org.jclouds.api + elasticstack + ${project.version} + + + org.jclouds.api + elasticstack + ${project.version} + test-jar + test + + + org.jclouds + jclouds-core + ${project.version} + test-jar + test + + + org.jclouds + jclouds-compute + ${project.version} + test-jar + test + + + org.jclouds + jclouds-log4j + ${project.version} + test + + + org.jclouds + jclouds-jsch + ${project.version} + test + + + log4j + log4j + 1.2.16 + test + + + + + + live + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration + integration-test + + test + + + + + test.serverlove-z1-man.endpoint + ${test.serverlove-z1-man.endpoint} + + + test.serverlove-z1-man.apiversion + ${test.serverlove-z1-man.apiversion} + + + test.serverlove-z1-man.identity + ${test.serverlove-z1-man.identity} + + + test.serverlove-z1-man.credential + ${test.serverlove-z1-man.credential} + + + + + + + + + + + + + + diff --git a/providers/serverlove-z1-man/src/main/java/org/jclouds/serverlove/ServerloveManchesterContextBuilder.java b/providers/serverlove-z1-man/src/main/java/org/jclouds/serverlove/ServerloveManchesterContextBuilder.java new file mode 100644 index 0000000000..b3a6aab338 --- /dev/null +++ b/providers/serverlove-z1-man/src/main/java/org/jclouds/serverlove/ServerloveManchesterContextBuilder.java @@ -0,0 +1,45 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.serverlove; + +import java.util.List; +import java.util.Properties; + +import org.jclouds.elasticstack.ElasticStackContextBuilder; +import org.jclouds.serverlove.config.ServerloveManchesterComputeServiceContextModule; + +import com.google.inject.Module; + +/** + * + * @author Adrian Cole + */ +public class ServerloveManchesterContextBuilder extends ElasticStackContextBuilder { + + public ServerloveManchesterContextBuilder(Properties props) { + super(props); + } + + @Override + protected void addContextModule(List modules) { + modules.add(new ServerloveManchesterComputeServiceContextModule()); + } + +} diff --git a/providers/serverlove-z1-man/src/main/java/org/jclouds/serverlove/ServerloveManchesterPropertiesBuilder.java b/providers/serverlove-z1-man/src/main/java/org/jclouds/serverlove/ServerloveManchesterPropertiesBuilder.java new file mode 100644 index 0000000000..44c74a37d1 --- /dev/null +++ b/providers/serverlove-z1-man/src/main/java/org/jclouds/serverlove/ServerloveManchesterPropertiesBuilder.java @@ -0,0 +1,47 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.serverlove; + +import static org.jclouds.Constants.PROPERTY_API_VERSION; +import static org.jclouds.Constants.PROPERTY_ENDPOINT; + +import java.util.Properties; + +import org.jclouds.elasticstack.ElasticStackPropertiesBuilder; + +/** + * + * @author Adrian Cole + */ +public class ServerloveManchesterPropertiesBuilder extends ElasticStackPropertiesBuilder { + + @Override + protected Properties defaultProperties() { + Properties properties = super.defaultProperties(); + properties.setProperty(PROPERTY_ENDPOINT, "https://api.z1-man.serverlove.com"); + properties.setProperty(PROPERTY_API_VERSION, "1.0"); + return properties; + } + + public ServerloveManchesterPropertiesBuilder(Properties properties) { + super(properties); + } + +} diff --git a/providers/serverlove-z1-man/src/main/java/org/jclouds/serverlove/config/ServerloveManchesterComputeServiceContextModule.java b/providers/serverlove-z1-man/src/main/java/org/jclouds/serverlove/config/ServerloveManchesterComputeServiceContextModule.java new file mode 100644 index 0000000000..88d797664f --- /dev/null +++ b/providers/serverlove-z1-man/src/main/java/org/jclouds/serverlove/config/ServerloveManchesterComputeServiceContextModule.java @@ -0,0 +1,40 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.serverlove.config; + +import static org.jclouds.compute.domain.OsFamily.UBUNTU; + +import org.jclouds.compute.domain.TemplateBuilder; +import org.jclouds.elasticstack.compute.config.ElasticStackComputeServiceContextModule; + +import com.google.inject.Injector; + +/** + * + * @author Adrian Cole + */ +public class ServerloveManchesterComputeServiceContextModule extends ElasticStackComputeServiceContextModule { + + @Override + protected TemplateBuilder provideTemplate(Injector injector, TemplateBuilder template) { + return template.osFamily(UBUNTU).osVersionMatches("10.10").os64Bit(true); + } + +} diff --git a/providers/serverlove-z1-man/src/main/resources/serverlove-z1-man/preinstalled_images.json b/providers/serverlove-z1-man/src/main/resources/serverlove-z1-man/preinstalled_images.json new file mode 100644 index 0000000000..dadd7b7441 --- /dev/null +++ b/providers/serverlove-z1-man/src/main/resources/serverlove-z1-man/preinstalled_images.json @@ -0,0 +1,72 @@ +[ + { + "uuid": "38df0986-4d85-4b76-b502-3878ffc80161", + "description": "CentOS Linux 5.5", + "osFamily": "CENTOS", + "osVersion": "5.5", + "size": "3" + }, + { + "uuid": "980cf63c-f21e-4382-997b-6541d5809629", + "description": "Debian Linux 5.0", + "osFamily": "DEBIAN", + "osVersion": "5.0", + "size": "1" + }, + { + "uuid": "aee5589a-88c3-43ef-bb0a-9cab6e64192d", + "description": "Ubuntu Linux 10.04", + "osFamily": "UBUNTU", + "osVersion": "10.04", + "size": "1" + }, + { + "uuid": "bf1d943e-2a55-46bb-a8c7-6099e44a3dde", + "description": "Ubuntu Linux 8.10: Base system with X", + "osFamily": "UBUNTU", + "osVersion": "8.10", + "size": "3" + }, + { + "uuid": "757586d5-f1e9-4d9c-b215-5a391c9a24bf", + "description": "Ubuntu Linux 9.04: Base system with X", + "osFamily": "UBUNTU", + "osVersion": "9.04", + "size": "3" + }, + { + "uuid": "b9d0eb72-d273-43f1-98e3-0d4b87d372c0", + "description": "Windows Web Server 2008", + "osFamily": "WINDOWS", + "osVersion": "2008", + "size": "13" + }, + { + "uuid": "b405b598-4ae4-4ba8-8a2b-a9487d693f34", + "description": "Windows Web Server 2008 R2", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "9397d327-3bf6-46a2-abf6-69553dbb6927", + "description": "Windows Web Server 2008 R2 + SQL Server", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "10a88d1c-6575-46e3-8d2c-7744065ea530", + "description": "Windows Server 2008 Standard R2", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "662c5b3f-9828-4aa2-a866-7cfa53798cdf", + "description": "Windows Server 2008 Standard R2 + SQL Server", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + } +] diff --git a/providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/ServerloveManchesterClientLiveTest.java b/providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/ServerloveManchesterClientLiveTest.java new file mode 100644 index 0000000000..bd0997ee12 --- /dev/null +++ b/providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/ServerloveManchesterClientLiveTest.java @@ -0,0 +1,34 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.serverlove; + +import org.jclouds.elasticstack.ElasticStackClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live", sequential = true) +public class ServerloveManchesterClientLiveTest extends ElasticStackClientLiveTest { + public ServerloveManchesterClientLiveTest() { + provider = "serverlove-z1-man"; + } +} diff --git a/providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/compute/ServerloveManchesterComputeServiceLiveTest.java b/providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/compute/ServerloveManchesterComputeServiceLiveTest.java new file mode 100644 index 0000000000..b25780226e --- /dev/null +++ b/providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/compute/ServerloveManchesterComputeServiceLiveTest.java @@ -0,0 +1,37 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.serverlove.compute; + +import org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live", sequential = true, testName = "ServerloveManchesterComputeServiceLiveTest") +public class ServerloveManchesterComputeServiceLiveTest extends ElasticStackComputeServiceLiveTest { + + public ServerloveManchesterComputeServiceLiveTest() { + provider = "serverlove-z1-man"; + tag = "serverlove"; + } + +} diff --git a/providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/compute/ServerloveManchesterTemplateBuilderLiveTest.java b/providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/compute/ServerloveManchesterTemplateBuilderLiveTest.java new file mode 100644 index 0000000000..b4c9e859b0 --- /dev/null +++ b/providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/compute/ServerloveManchesterTemplateBuilderLiveTest.java @@ -0,0 +1,70 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.serverlove.compute; + +import static org.jclouds.compute.util.ComputeServiceUtils.getCores; +import static org.testng.Assert.assertEquals; + +import org.jclouds.compute.BaseTemplateBuilderLiveTest; +import org.jclouds.compute.domain.OsFamily; +import org.jclouds.compute.domain.Template; +import org.jclouds.compute.domain.os.OsFamilyVersion64Bit; +import org.testng.annotations.Test; + +import com.google.common.base.Predicate; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live") +public class ServerloveManchesterTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest { + + public ServerloveManchesterTemplateBuilderLiveTest() { + provider = "serverlove-z1-man"; + } + + @Override + protected Predicate defineUnsupportedOperatingSystems() { + return new Predicate() { + + @Override + public boolean apply(OsFamilyVersion64Bit input) { + return ((input.family == OsFamily.RHEL) || // + (input.family == OsFamily.CENTOS && !(input.version.equals("5.5") && input.is64Bit)) || // + (input.family == OsFamily.UBUNTU && !(input.version.equals("10.10") && input.is64Bit)) || // + (input.family == OsFamily.WINDOWS) // + ); + } + + }; + } + + @Test + public void testTemplateBuilder() { + Template defaultTemplate = this.context.getComputeService().templateBuilder().build(); + assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "10.10"); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); + assertEquals(defaultTemplate.getLocation().getId(), "serverlove-z1-man"); + assertEquals(getCores(defaultTemplate.getHardware()), 1.0d); + } + +} diff --git a/providers/skalicloud-sdg-my/pom.xml b/providers/skalicloud-sdg-my/pom.xml new file mode 100644 index 0000000000..66d359e0e7 --- /dev/null +++ b/providers/skalicloud-sdg-my/pom.xml @@ -0,0 +1,136 @@ + + + + + 4.0.0 + + org.jclouds + jclouds-project + 1.0-SNAPSHOT + ../../project/pom.xml + + org.jclouds.provider + skalicloud-sdg-my + jclouds SkaliCloud Malaysia provider + SkaliCloud implementation targeted to Malaysia + + + https://api.sdg-my.skalicloud.com + 1.0 + FIXME_IDENTITY + FIXME_CREDENTIAL + + + + + org.jclouds.api + elasticstack + ${project.version} + + + org.jclouds.api + elasticstack + ${project.version} + test-jar + test + + + org.jclouds + jclouds-core + ${project.version} + test-jar + test + + + org.jclouds + jclouds-compute + ${project.version} + test-jar + test + + + org.jclouds + jclouds-log4j + ${project.version} + test + + + org.jclouds + jclouds-jsch + ${project.version} + test + + + log4j + log4j + 1.2.16 + test + + + + + + live + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration + integration-test + + test + + + + + test.skalicloud-sdg-my.endpoint + ${test.skalicloud-sdg-my.endpoint} + + + test.skalicloud-sdg-my.apiversion + ${test.skalicloud-sdg-my.apiversion} + + + test.skalicloud-sdg-my.identity + ${test.skalicloud-sdg-my.identity} + + + test.skalicloud-sdg-my.credential + ${test.skalicloud-sdg-my.credential} + + + + + + + + + + + + + + diff --git a/providers/skalicloud-sdg-my/src/main/java/org/jclouds/skalicloud/SkaliCloudMalaysiaContextBuilder.java b/providers/skalicloud-sdg-my/src/main/java/org/jclouds/skalicloud/SkaliCloudMalaysiaContextBuilder.java new file mode 100644 index 0000000000..ed55c73da5 --- /dev/null +++ b/providers/skalicloud-sdg-my/src/main/java/org/jclouds/skalicloud/SkaliCloudMalaysiaContextBuilder.java @@ -0,0 +1,45 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.skalicloud; + +import java.util.List; +import java.util.Properties; + +import org.jclouds.elasticstack.ElasticStackContextBuilder; +import org.jclouds.skalicloud.config.SkaliCloudMalaysiaComputeServiceContextModule; + +import com.google.inject.Module; + +/** + * + * @author Adrian Cole + */ +public class SkaliCloudMalaysiaContextBuilder extends ElasticStackContextBuilder { + + public SkaliCloudMalaysiaContextBuilder(Properties props) { + super(props); + } + + @Override + protected void addContextModule(List modules) { + modules.add(new SkaliCloudMalaysiaComputeServiceContextModule()); + } + +} diff --git a/providers/skalicloud-sdg-my/src/main/java/org/jclouds/skalicloud/SkaliCloudMalaysiaPropertiesBuilder.java b/providers/skalicloud-sdg-my/src/main/java/org/jclouds/skalicloud/SkaliCloudMalaysiaPropertiesBuilder.java new file mode 100644 index 0000000000..a60dbfc1a3 --- /dev/null +++ b/providers/skalicloud-sdg-my/src/main/java/org/jclouds/skalicloud/SkaliCloudMalaysiaPropertiesBuilder.java @@ -0,0 +1,47 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.skalicloud; + +import static org.jclouds.Constants.PROPERTY_API_VERSION; +import static org.jclouds.Constants.PROPERTY_ENDPOINT; + +import java.util.Properties; + +import org.jclouds.elasticstack.ElasticStackPropertiesBuilder; + +/** + * + * @author Adrian Cole + */ +public class SkaliCloudMalaysiaPropertiesBuilder extends ElasticStackPropertiesBuilder { + + @Override + protected Properties defaultProperties() { + Properties properties = super.defaultProperties(); + properties.setProperty(PROPERTY_ENDPOINT, "https://api.sdg-my.skalicloud.com"); + properties.setProperty(PROPERTY_API_VERSION, "1.0"); + return properties; + } + + public SkaliCloudMalaysiaPropertiesBuilder(Properties properties) { + super(properties); + } + +} diff --git a/providers/skalicloud-sdg-my/src/main/java/org/jclouds/skalicloud/config/SkaliCloudMalaysiaComputeServiceContextModule.java b/providers/skalicloud-sdg-my/src/main/java/org/jclouds/skalicloud/config/SkaliCloudMalaysiaComputeServiceContextModule.java new file mode 100644 index 0000000000..1f839f526c --- /dev/null +++ b/providers/skalicloud-sdg-my/src/main/java/org/jclouds/skalicloud/config/SkaliCloudMalaysiaComputeServiceContextModule.java @@ -0,0 +1,40 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.skalicloud.config; + +import static org.jclouds.compute.domain.OsFamily.UBUNTU; + +import org.jclouds.compute.domain.TemplateBuilder; +import org.jclouds.elasticstack.compute.config.ElasticStackComputeServiceContextModule; + +import com.google.inject.Injector; + +/** + * + * @author Adrian Cole + */ +public class SkaliCloudMalaysiaComputeServiceContextModule extends ElasticStackComputeServiceContextModule { + + @Override + protected TemplateBuilder provideTemplate(Injector injector, TemplateBuilder template) { + return template.osFamily(UBUNTU).osVersionMatches("10.10").os64Bit(true); + } + +} \ No newline at end of file diff --git a/providers/skalicloud-sdg-my/src/main/resources/skalicloud-sdg-my/preinstalled_images.json b/providers/skalicloud-sdg-my/src/main/resources/skalicloud-sdg-my/preinstalled_images.json new file mode 100644 index 0000000000..9e63077e83 --- /dev/null +++ b/providers/skalicloud-sdg-my/src/main/resources/skalicloud-sdg-my/preinstalled_images.json @@ -0,0 +1,53 @@ +[ + { + "uuid": "1cf47918-4280-4bbc-8f5f-7c7b2a0c3b3a", + "description": "CentOS 5.5 -32bit", + "osFamily": "CENTOS", + "osVersion": "5.5", + "is64bit": false, + "size": "1" + }, + { + "uuid": "90aa51f2-15c0-4cff-81ee-e93aa20b9468", + "description": "CentOS 5.5 -64bit", + "osFamily": "CENTOS", + "osVersion": "5.5", + "size": "1" + }, + { + "uuid": "c144d7a7-e24b-48ab-954b-6b6ec514ed6f", + "description": "Debian 5 -64bit", + "osFamily": "DEBIAN", + "osVersion": "5.0", + "size": "1" + }, + { + "uuid": "3051699a-a536-4220-aeb5-67f2ec101a09", + "description": "Ubuntu Server 10.10 -64bit", + "osFamily": "UBUNTU", + "osVersion": "10.10", + "size": "1" + }, + { + "uuid": "4d5656b5-74d3-4aa0-9308-6b7377552204", + "description": "Ubuntu Server 10.10 -32bit", + "osFamily": "UBUNTU", + "osVersion": "10.10", + "is64bit": false, + "size": "1" + }, + { + "uuid": "11c4c922-5ff8-4094-b06c-eb8ffaec1ea9", + "description": "Windows 2008R2 Web Edition", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + }, + { + "uuid": "93bf390e-4f46-4252-a8bc-9d6d80e3f955", + "description": "Windows Server 2008R2 Standard", + "osFamily": "WINDOWS", + "osVersion": "2008 R2", + "size": "13" + } +] \ No newline at end of file diff --git a/providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/SkaliCloudMalaysiaClientLiveTest.java b/providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/SkaliCloudMalaysiaClientLiveTest.java new file mode 100644 index 0000000000..f7cedff04e --- /dev/null +++ b/providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/SkaliCloudMalaysiaClientLiveTest.java @@ -0,0 +1,34 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.skalicloud; + +import org.jclouds.elasticstack.ElasticStackClientLiveTest; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live", sequential = true) +public class SkaliCloudMalaysiaClientLiveTest extends ElasticStackClientLiveTest { + public SkaliCloudMalaysiaClientLiveTest() { + provider = "skalicloud-sdg-my"; + } +} diff --git a/providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/compute/SkaliCloudMalaysiaComputeServiceLiveTest.java b/providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/compute/SkaliCloudMalaysiaComputeServiceLiveTest.java new file mode 100644 index 0000000000..7fcab1a4a3 --- /dev/null +++ b/providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/compute/SkaliCloudMalaysiaComputeServiceLiveTest.java @@ -0,0 +1,37 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.skalicloud.compute; + +import org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live", sequential = true, testName = "SkaliCloudMalaysiaComputeServiceLiveTest") +public class SkaliCloudMalaysiaComputeServiceLiveTest extends ElasticStackComputeServiceLiveTest { + + public SkaliCloudMalaysiaComputeServiceLiveTest() { + provider = "skalicloud-sdg-my"; + tag = "skalicloud"; + } + +} diff --git a/providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/compute/SkaliCloudMalaysiaTemplateBuilderLiveTest.java b/providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/compute/SkaliCloudMalaysiaTemplateBuilderLiveTest.java new file mode 100644 index 0000000000..cf6d161a31 --- /dev/null +++ b/providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/compute/SkaliCloudMalaysiaTemplateBuilderLiveTest.java @@ -0,0 +1,70 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.skalicloud.compute; + +import static org.jclouds.compute.util.ComputeServiceUtils.getCores; +import static org.testng.Assert.assertEquals; + +import org.jclouds.compute.BaseTemplateBuilderLiveTest; +import org.jclouds.compute.domain.OsFamily; +import org.jclouds.compute.domain.Template; +import org.jclouds.compute.domain.os.OsFamilyVersion64Bit; +import org.testng.annotations.Test; + +import com.google.common.base.Predicate; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live") +public class SkaliCloudMalaysiaTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest { + + public SkaliCloudMalaysiaTemplateBuilderLiveTest() { + provider = "skalicloud-sdg-my"; + } + + @Override + protected Predicate defineUnsupportedOperatingSystems() { + return new Predicate() { + + @Override + public boolean apply(OsFamilyVersion64Bit input) { + return ((input.family == OsFamily.RHEL) || // + (input.family == OsFamily.CENTOS && !input.version.equals("5.5")) || // + (input.family == OsFamily.UBUNTU && !input.version.equals("10.10")) || // + (input.family == OsFamily.WINDOWS && !(input.version.equals("2008 R2") && input.is64Bit)) // + ); + } + + }; + } + + @Test + public void testTemplateBuilder() { + Template defaultTemplate = this.context.getComputeService().templateBuilder().build(); + assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "10.10"); + assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); + assertEquals(defaultTemplate.getLocation().getId(), "skalicloud-sdg-my"); + assertEquals(getCores(defaultTemplate.getHardware()), 1.0d); + } + +}