diff --git a/README.txt b/README.txt
index a5311e4791..96ac14d007 100644
--- a/README.txt
+++ b/README.txt
@@ -32,7 +32,8 @@ our dev version is 1.0-SNAPSHOT
our compute api supports: aws-ec2, gogrid, cloudservers-us, stub (in-memory), deltacloud,
cloudservers-uk, vcloud (generic), ec2 (generic), byon, nova,
trmk-ecloud, trmk-vcloudexpress, eucalyptus (generic),
- cloudsigma-zrh, elasticstack(generic), bluelock-vclouddirector,
+ cloudsigma-zrh, elasticstack(generic), bluelock-vcloud-vcenterprise,
+ bluelock-vcloud-zone01,
slicehost, eucalyptus-partnercloud-ec2, elastichosts-lon-p (Peer 1),
elastichosts-sat-p (Peer 1), elastichosts-lon-b (BlueSquare),
openhosting-east1, serverlove-z1-man, skalicloud-sdg-my
diff --git a/allcompute/pom.xml b/allcompute/pom.xml
index 406dc89efe..465001759a 100644
--- a/allcompute/pom.xml
+++ b/allcompute/pom.xml
@@ -104,6 +104,16 @@
bluelock-vcdirector
${project.version}
+
+ org.jclouds.provider
+ bluelock-vcloud-vcenterprise
+ ${project.version}
+
+
+ org.jclouds.provider
+ bluelock-vcloud-zone01
+ ${project.version}
+
org.jclouds.provider
gogrid
diff --git a/compute/src/main/clojure/org/jclouds/compute2.clj b/compute/src/main/clojure/org/jclouds/compute2.clj
index 00d3ef2ed3..88afc74f13 100644
--- a/compute/src/main/clojure/org/jclouds/compute2.clj
+++ b/compute/src/main/clojure/org/jclouds/compute2.clj
@@ -20,19 +20,22 @@
(ns org.jclouds.compute2
"A clojure binding to the jclouds ComputeService.
- Current supported providers are:
- [aws-ec2, eucualyptus-partnercloud-ec2, elastichosts-lon-b,
- cloudservers-uk, cloudservers-us, byon, cloudsigma-zrh, stub,
- trmk-ecloud, trmk-vcloudexpress, vcloud, bluelock, eucalyptus,
- slicehost, elastichosts-lon-p, elastichosts-sat-p, elastichosts,
- openhosting-east1, serverlove-z1-man, skalicloud-sdg-my, deltacloud]
+ jclouds supports many compute providers including Amazon EC2 (aws-ec2),
+ Rackspace Cloud Servers (cloudservers-us), GoGrid (gogrid), and BlueLock
+ vCloud (bluelock-vcloud-zone01). There are over a dozen to choose from.
+
+ Current supported providers are available via the following dependency:
+ org.jclouds/jclouds-allcompute
+
+ You can inquire about which providers are loaded via the following:
+ (seq (org.jclouds.providers.Providers/allCompute))
Here's an example of getting some compute configuration from rackspace:
(use 'org.jclouds.compute2)
(use 'clojure.pprint)
- (def provider \"cloudservers\")
+ (def provider \"cloudservers-us\")
(def provider-identity \"username\")
(def provider-credential \"password\")
diff --git a/core/src/main/resources/rest.properties b/core/src/main/resources/rest.properties
index af8b0e75e3..910dcf59cc 100644
--- a/core/src/main/resources/rest.properties
+++ b/core/src/main/resources/rest.properties
@@ -95,6 +95,15 @@ cloudservers-us.propertiesbuilder=org.jclouds.rackspace.cloudservers.CloudServer
bluelock-vcdirector.contextbuilder=org.jclouds.vcloud.bluelock.BluelockVCloudDirectorContextBuilder
bluelock-vcdirector.propertiesbuilder=org.jclouds.vcloud.bluelock.BluelockVCloudDirectorPropertiesBuilder
+bluelock-vcdirector.contextbuilder=org.jclouds.vcloud.bluelock.BluelockVCloudDirectorContextBuilder
+bluelock-vcdirector.propertiesbuilder=org.jclouds.vcloud.bluelock.BluelockVCloudDirectorPropertiesBuilder
+
+bluelock-vcloud-vcenterprise.contextbuilder=org.jclouds.bluelock.vcloud.vcenterprise.BluelockVCloudEnterpriseContextBuilder
+bluelock-vcloud-vcenterprise.propertiesbuilder=org.jclouds.bluelock.vcloud.vcenterprise.BluelockVCloudEnterprisePropertiesBuilder
+
+bluelock-vcloud-zone01.contextbuilder=org.jclouds.bluelock.vcloud.zone01.BluelockVCloudZone01ContextBuilder
+bluelock-vcloud-zone01.propertiesbuilder=org.jclouds.bluelock.vcloud.zone01.BluelockVCloudZone01PropertiesBuilder
+
gogrid.propertiesbuilder=org.jclouds.gogrid.GoGridPropertiesBuilder
gogrid.contextbuilder=org.jclouds.gogrid.GoGridContextBuilder
diff --git a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorContextBuilder.java b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorContextBuilder.java
index 8df5951a8e..c479c0d1ee 100644
--- a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorContextBuilder.java
+++ b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorContextBuilder.java
@@ -42,6 +42,7 @@ import com.google.inject.Module;
*
* @author Adrian Cole
*/
+@Deprecated
public class BluelockVCloudDirectorContextBuilder extends VCloudContextBuilder {
public BluelockVCloudDirectorContextBuilder(Properties props) {
diff --git a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorPropertiesBuilder.java b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorPropertiesBuilder.java
index 899a3912ee..d16116f559 100644
--- a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorPropertiesBuilder.java
+++ b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorPropertiesBuilder.java
@@ -23,6 +23,7 @@ import static org.jclouds.Constants.PROPERTY_ISO3166_CODES;
import static org.jclouds.vcloud.reference.VCloudConstants.PROPERTY_VCLOUD_DEFAULT_NETWORK;
import java.util.Properties;
+import java.util.logging.Logger;
import org.jclouds.vcloud.VCloudPropertiesBuilder;
@@ -31,9 +32,11 @@ import org.jclouds.vcloud.VCloudPropertiesBuilder;
*
* @author Adrian Cole
*/
+@Deprecated
public class BluelockVCloudDirectorPropertiesBuilder extends VCloudPropertiesBuilder {
@Override
protected Properties defaultProperties() {
+ Logger.getAnonymousLogger().warning("this provider is deprecated: please use \"bluelock-vcloud-vcenterprise\"");
Properties properties = super.defaultProperties();
properties.setProperty(PROPERTY_ISO3166_CODES, "US-IN");
properties.setProperty(PROPERTY_ENDPOINT, "https://vcenterprise.bluelock.com/api");
diff --git a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorProviderMetadata.java b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorProviderMetadata.java
index 17c285f082..418f57a83f 100644
--- a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorProviderMetadata.java
+++ b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/BluelockVCloudDirectorProviderMetadata.java
@@ -27,10 +27,11 @@ import org.jclouds.providers.BaseProviderMetadata;
import org.jclouds.providers.ProviderMetadata;
/**
- * Implementation of {@link org.jclouds.types.ProviderMetadata} for Bluelock vCloud Director.
+ * Implementation of {@link org.jclouds.types.ProviderMetadata} for Bluelock vCloud Enterprise.
*
* @author Adrian Cole
*/
+@Deprecated
public class BluelockVCloudDirectorProviderMetadata extends BaseProviderMetadata {
/**
@@ -54,7 +55,7 @@ public class BluelockVCloudDirectorProviderMetadata extends BaseProviderMetadata
*/
@Override
public String getName() {
- return "Bluelock vCloud Director";
+ return "Bluelock vCloud Enterprise";
}
/**
diff --git a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/config/BluelockVCloudDirectorRestClientModule.java b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/config/BluelockVCloudDirectorRestClientModule.java
index 656876228e..3847087c83 100644
--- a/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/config/BluelockVCloudDirectorRestClientModule.java
+++ b/providers/bluelock-vcdirector/src/main/java/org/jclouds/vcloud/bluelock/config/BluelockVCloudDirectorRestClientModule.java
@@ -27,6 +27,7 @@ import org.jclouds.vcloud.config.VCloudRestClientModule;
*
* @author Adrian Cole
*/
+@Deprecated
@RequiresHttp
@ConfiguresRestClient
public class BluelockVCloudDirectorRestClientModule extends VCloudRestClientModule {
diff --git a/providers/bluelock-vcloud-vcenterprise/pom.xml b/providers/bluelock-vcloud-vcenterprise/pom.xml
new file mode 100644
index 0000000000..ef0a7d2ca7
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/pom.xml
@@ -0,0 +1,164 @@
+
+
+
+
+ 4.0.0
+
+ org.jclouds
+ jclouds-project
+ 1.0-SNAPSHOT
+ ../../project/pom.xml
+
+ org.jclouds.provider
+ bluelock-vcloud-vcenterprise
+ jclouds Bluelock vCloud Enterprise provider
+ vCloud implementation targeted to Bluelock vCloud Enterprise
+ bundle
+
+
+ https://vcenterprise.bluelock.com/api
+ 1.0
+ FIXME_IDENTITY
+ FIXME_CREDENTIAL
+
+
+
+
+ org.jclouds.api
+ vcloud
+ ${project.version}
+
+
+ org.jclouds.common
+ vcloud-common
+ ${project.version}
+ test-jar
+ test
+
+
+ org.jclouds.api
+ vcloud
+ ${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.driver
+ jclouds-log4j
+ ${project.version}
+ test
+
+
+ org.jclouds.driver
+ jclouds-jsch
+ ${project.version}
+ test
+
+
+ com.jcraft
+ jsch
+ test
+
+
+ log4j
+ log4j
+ 1.2.16
+ test
+
+
+
+
+
+ live
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ integration
+ integration-test
+
+ test
+
+
+
+
+ test.bluelock-vcloud-vcenterprise.endpoint
+ ${test.bluelock-vcloud-vcenterprise.endpoint}
+
+
+ test.bluelock-vcloud-vcenterprise.apiversion
+ ${test.bluelock-vcloud-vcenterprise.apiversion}
+
+
+ test.bluelock-vcloud-vcenterprise.identity
+ ${test.bluelock-vcloud-vcenterprise.identity}
+
+
+ test.bluelock-vcloud-vcenterprise.credential
+ ${test.bluelock-vcloud-vcenterprise.credential}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+
+
+ ${project.artifactId}
+ org.jclouds.bluelock.vcloud.vcenterprise.*;version="${project.version}"
+ org.jclouds.*;version="${project.version}",*
+
+
+
+
+
+
+
+
diff --git a/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseContextBuilder.java b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseContextBuilder.java
new file mode 100644
index 0000000000..a5772afdfc
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseContextBuilder.java
@@ -0,0 +1,61 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise;
+
+import java.util.List;
+import java.util.Properties;
+
+import org.jclouds.http.config.JavaUrlHttpCommandExecutorServiceModule;
+import org.jclouds.logging.jdk.config.JDKLoggingModule;
+import org.jclouds.vcloud.VCloudContextBuilder;
+import org.jclouds.bluelock.vcloud.vcenterprise.config.BluelockVCloudEnterpriseRestClientModule;
+import org.jclouds.vcloud.compute.config.VCloudComputeServiceContextModule;
+
+import com.google.inject.Injector;
+import com.google.inject.Module;
+
+/**
+ * Creates {@link BlueLockVCloudComputeServiceContext} or {@link Injector} instances based on the
+ * most commonly requested arguments.
+ *
+ * Note that Threadsafe objects will be bound as singletons to the Injector or Context provided.
+ *
+ *
+ * If no Module
s are specified, the default {@link JDKLoggingModule logging} and
+ * {@link JavaUrlHttpCommandExecutorServiceModule http transports} will be installed.
+ *
+ * @author Adrian Cole
+ */
+public class BluelockVCloudEnterpriseContextBuilder extends VCloudContextBuilder {
+
+ public BluelockVCloudEnterpriseContextBuilder(Properties props) {
+ super(props);
+ }
+
+ @Override
+ protected void addContextModule(List modules) {
+ modules.add(new VCloudComputeServiceContextModule());
+ }
+
+ @Override
+ protected void addClientModule(List modules) {
+ modules.add(new BluelockVCloudEnterpriseRestClientModule());
+ }
+
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseContextBuilder.java.new b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseContextBuilder.java.new
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterprisePropertiesBuilder.java b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterprisePropertiesBuilder.java
new file mode 100644
index 0000000000..5ee26e8d44
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterprisePropertiesBuilder.java
@@ -0,0 +1,47 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise;
+
+import static org.jclouds.Constants.PROPERTY_ENDPOINT;
+import static org.jclouds.Constants.PROPERTY_ISO3166_CODES;
+import static org.jclouds.vcloud.reference.VCloudConstants.PROPERTY_VCLOUD_DEFAULT_NETWORK;
+
+import java.util.Properties;
+
+import org.jclouds.vcloud.VCloudPropertiesBuilder;
+
+/**
+ * Builds properties used in bluelock VCloud Clients
+ *
+ * @author Adrian Cole
+ */
+public class BluelockVCloudEnterprisePropertiesBuilder extends VCloudPropertiesBuilder {
+ @Override
+ protected Properties defaultProperties() {
+ Properties properties = super.defaultProperties();
+ properties.setProperty(PROPERTY_ISO3166_CODES, "US-IN");
+ properties.setProperty(PROPERTY_ENDPOINT, "https://vcenterprise.bluelock.com/api");
+ properties.setProperty(PROPERTY_VCLOUD_DEFAULT_NETWORK, "internet01");
+ return properties;
+ }
+
+ public BluelockVCloudEnterprisePropertiesBuilder(Properties properties) {
+ super(properties);
+ }
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseProviderMetadata.java b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseProviderMetadata.java
new file mode 100644
index 0000000000..68a2cb71f6
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseProviderMetadata.java
@@ -0,0 +1,116 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise;
+
+import com.google.common.collect.ImmutableSet;
+
+import java.net.URI;
+import java.util.Set;
+
+import org.jclouds.providers.BaseProviderMetadata;
+import org.jclouds.providers.ProviderMetadata;
+
+/**
+ * Implementation of {@link org.jclouds.types.ProviderMetadata} for Bluelock vCloud Director.
+ *
+ * @author Adrian Cole
+ */
+public class BluelockVCloudEnterpriseProviderMetadata extends BaseProviderMetadata {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getId() {
+ return "bluelock-vcloud-vcenterprise";
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getType() {
+ return ProviderMetadata.COMPUTE_TYPE;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getName() {
+ return "Bluelock vCloud Director";
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getIdentityName() {
+ return "User at Organization (user@org)";
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getCredentialName() {
+ return "Password";
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public URI getHomepage() {
+ return URI.create("http://www.bluelock.com/bluelock-cloud-hosting");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public URI getConsole() {
+ return URI.create("https://vcenterprise.bluelock.com/cloud/");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public URI getApiDocumentation() {
+ return URI.create("http://www.vmware.com/support/pubs/vcd_pubs.html");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Set getLinkedServices() {
+ return ImmutableSet.of("bluelock-vcloud-vcenterprise");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Set getIso3166Codes() {
+ return ImmutableSet.of("US-IN");
+ }
+
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/config/BluelockVCloudEnterpriseRestClientModule.java b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/config/BluelockVCloudEnterpriseRestClientModule.java
new file mode 100644
index 0000000000..c28236a186
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/main/java/org/jclouds/bluelock/vcloud/vcenterprise/config/BluelockVCloudEnterpriseRestClientModule.java
@@ -0,0 +1,34 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise.config;
+
+import org.jclouds.http.RequiresHttp;
+import org.jclouds.rest.ConfiguresRestClient;
+import org.jclouds.vcloud.config.VCloudRestClientModule;
+
+/**
+ * Configures the VCloud authentication service connection, including logging and http transport.
+ *
+ * @author Adrian Cole
+ */
+@RequiresHttp
+@ConfiguresRestClient
+public class BluelockVCloudEnterpriseRestClientModule extends VCloudRestClientModule {
+
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/bluelock-vcloud-vcenterprise/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
new file mode 100644
index 0000000000..0b50f63dbc
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
@@ -0,0 +1 @@
+org.jclouds.bluelock.vcloud.vcenterprise.BluelockVCloudEnterpriseProviderMetadata
diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseProviderTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseProviderTest.java
new file mode 100644
index 0000000000..3f94f08223
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/BluelockVCloudEnterpriseProviderTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise;
+
+import org.jclouds.providers.BaseProviderMetadataTest;
+import org.jclouds.providers.ProviderMetadata;
+import org.testng.annotations.Test;
+
+/**
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "unit", testName = "BluelockVCloudEnterpriseProviderTest")
+public class BluelockVCloudEnterpriseProviderTest extends BaseProviderMetadataTest {
+
+ public BluelockVCloudEnterpriseProviderTest() {
+ super(new BluelockVCloudEnterpriseProviderMetadata(), ProviderMetadata.COMPUTE_TYPE);
+ }
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/DeprecatedBluelockVCloudEnterpriseClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/DeprecatedBluelockVCloudEnterpriseClientLiveTest.java
new file mode 100644
index 0000000000..1d3848e318
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/DeprecatedBluelockVCloudEnterpriseClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise;
+
+import org.jclouds.vcloud.DeprecatedVCloudClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ * @author Adrian Cole
+ */
+@Deprecated
+@Test(groups = "live", singleThreaded = true, testName = "DeprecatedBluelockVCloudEnterpriseClientLiveTest")
+public class DeprecatedBluelockVCloudEnterpriseClientLiveTest extends DeprecatedVCloudClientLiveTest {
+ public DeprecatedBluelockVCloudEnterpriseClientLiveTest() {
+ provider = "bluelock-vcloud-vcenterprise";
+ }
+
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/compute/BluelockVCloudEnterpriseComputeServiceLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/compute/BluelockVCloudEnterpriseComputeServiceLiveTest.java
new file mode 100644
index 0000000000..4a5bef6593
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/compute/BluelockVCloudEnterpriseComputeServiceLiveTest.java
@@ -0,0 +1,70 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise.compute;
+
+import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
+import static org.testng.Assert.assertEquals;
+
+import org.jclouds.compute.domain.Image;
+import org.jclouds.compute.domain.OsFamily;
+import org.jclouds.compute.domain.Template;
+import org.jclouds.compute.domain.TemplateBuilder;
+import org.jclouds.compute.predicates.OperatingSystemPredicates;
+import org.jclouds.vcloud.compute.VCloudComputeServiceLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseComputeServiceLiveTest")
+public class BluelockVCloudEnterpriseComputeServiceLiveTest extends VCloudComputeServiceLiveTest {
+ public BluelockVCloudEnterpriseComputeServiceLiveTest() {
+ provider = "bluelock-vcloud-vcenterprise";
+ // vcloud requires instantiate before deploy, which takes longer than 30 seconds
+ nonBlockDurationSeconds = 300;
+ }
+
+ @Override
+ public void setServiceDefaults() {
+ group = "director";
+ }
+
+ @Test
+ public void testTemplateBuilder() {
+ Template defaultTemplate = client.templateBuilder().build();
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
+ assert OperatingSystemPredicates.supportsApt().apply(defaultTemplate.getImage().getOperatingSystem());
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().getDescription(), "Ubuntu Linux (64-bit)");
+ assert defaultTemplate.getLocation().getId() != null : defaultTemplate.getLocation();
+ assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
+ System.out.println(defaultTemplate.getHardware());
+ }
+
+ @Override
+ protected Template buildTemplate(TemplateBuilder templateBuilder) {
+ Template template = super.buildTemplate(templateBuilder);
+ Image image = template.getImage();
+ assert image.getDefaultCredentials().credential != null : image;
+ return template;
+ }
+
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/compute/BluelockVCloudEnterpriseTemplateBuilderLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/compute/BluelockVCloudEnterpriseTemplateBuilderLiveTest.java
new file mode 100644
index 0000000000..ef0d4cd023
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/compute/BluelockVCloudEnterpriseTemplateBuilderLiveTest.java
@@ -0,0 +1,77 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise.compute;
+
+import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
+import static org.testng.Assert.assertEquals;
+
+import java.io.IOException;
+import java.util.Set;
+
+import org.jclouds.compute.BaseTemplateBuilderLiveTest;
+import org.jclouds.compute.domain.OsFamily;
+import org.jclouds.compute.domain.OsFamilyVersion64Bit;
+import org.jclouds.compute.domain.Template;
+import org.testng.annotations.Test;
+
+import com.google.common.base.Predicate;
+import com.google.common.collect.ImmutableSet;
+
+/**
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", testName = "BluelockVCloudEnterpriseTemplateBuilderLiveTest")
+public class BluelockVCloudEnterpriseTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
+
+ public BluelockVCloudEnterpriseTemplateBuilderLiveTest() {
+ provider = "bluelock-vcloud-vcenterprise";
+ }
+
+ @Override
+ protected Predicate defineUnsupportedOperatingSystems() {
+ return new Predicate() {
+
+ @Override
+ public boolean apply(OsFamilyVersion64Bit input) {
+ switch (input.family) {
+ case UBUNTU:
+ return !input.version.equals("") || !input.is64Bit;
+ default:
+ return true;
+ }
+ }
+
+ };
+ }
+
+ @Override
+ public void testDefaultTemplateBuilder() throws IOException {
+ Template defaultTemplate = context.getComputeService().templateBuilder().build();
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "");
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
+ assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
+ }
+
+ @Override
+ protected Set getIso3166Codes() {
+ return ImmutableSet. of("US-IN");
+ }
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseCatalogClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseCatalogClientLiveTest.java
new file mode 100644
index 0000000000..6a30ec381f
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseCatalogClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise.features;
+
+import org.jclouds.vcloud.features.CatalogClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseCatalogClientLiveTest")
+public class BluelockVCloudEnterpriseCatalogClientLiveTest extends CatalogClientLiveTest {
+
+ public BluelockVCloudEnterpriseCatalogClientLiveTest() {
+ provider = "bluelock-vcloud-vcenterprise";
+ }
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseNetworkClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseNetworkClientLiveTest.java
new file mode 100644
index 0000000000..05ef8f43bd
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseNetworkClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise.features;
+
+import org.jclouds.vcloud.features.NetworkClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseNetworkClientLiveTest")
+public class BluelockVCloudEnterpriseNetworkClientLiveTest extends NetworkClientLiveTest {
+
+ public BluelockVCloudEnterpriseNetworkClientLiveTest() {
+ provider = "bluelock-vcloud-vcenterprise";
+ }
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseOrgClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseOrgClientLiveTest.java
new file mode 100644
index 0000000000..d9d8ea524c
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseOrgClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise.features;
+
+import org.jclouds.vcloud.features.OrgClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseOrgClientLiveTest")
+public class BluelockVCloudEnterpriseOrgClientLiveTest extends OrgClientLiveTest {
+
+ public BluelockVCloudEnterpriseOrgClientLiveTest() {
+ provider = "bluelock-vcloud-vcenterprise";
+ }
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseTaskClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseTaskClientLiveTest.java
new file mode 100644
index 0000000000..4cdd1506d0
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseTaskClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise.features;
+
+import org.jclouds.vcloud.features.TaskClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseTaskClientLiveTest")
+public class BluelockVCloudEnterpriseTaskClientLiveTest extends TaskClientLiveTest {
+
+ public BluelockVCloudEnterpriseTaskClientLiveTest() {
+ provider = "bluelock-vcloud-vcenterprise";
+ }
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVAppClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVAppClientLiveTest.java
new file mode 100644
index 0000000000..14c3995cce
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVAppClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise.features;
+
+import org.jclouds.vcloud.features.VAppClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseVAppClientLiveTest")
+public class BluelockVCloudEnterpriseVAppClientLiveTest extends VAppClientLiveTest {
+
+ public BluelockVCloudEnterpriseVAppClientLiveTest() {
+ provider = "bluelock-vcloud-vcenterprise";
+ }
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVAppTemplateClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVAppTemplateClientLiveTest.java
new file mode 100644
index 0000000000..54cecdadbf
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVAppTemplateClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise.features;
+
+import org.jclouds.vcloud.features.VAppTemplateClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseVAppTemplateClientLiveTest")
+public class BluelockVCloudEnterpriseVAppTemplateClientLiveTest extends VAppTemplateClientLiveTest {
+
+ public BluelockVCloudEnterpriseVAppTemplateClientLiveTest() {
+ provider = "bluelock-vcloud-vcenterprise";
+ }
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVDCClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVDCClientLiveTest.java
new file mode 100644
index 0000000000..2bf6fa6f6a
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVDCClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise.features;
+
+import org.jclouds.vcloud.features.VDCClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseVDCClientLiveTest")
+public class BluelockVCloudEnterpriseVDCClientLiveTest extends VDCClientLiveTest {
+
+ public BluelockVCloudEnterpriseVDCClientLiveTest() {
+ provider = "bluelock-vcloud-vcenterprise";
+ }
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVmClientLiveTest.java b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVmClientLiveTest.java
new file mode 100644
index 0000000000..afa6629c0d
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/test/java/org/jclouds/bluelock/vcloud/vcenterprise/features/BluelockVCloudEnterpriseVmClientLiveTest.java
@@ -0,0 +1,39 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.vcenterprise.features;
+
+import org.jclouds.vcloud.features.VmClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudEnterpriseVmClientLiveTest")
+public class BluelockVCloudEnterpriseVmClientLiveTest extends VmClientLiveTest {
+
+ public BluelockVCloudEnterpriseVmClientLiveTest() {
+ provider = "bluelock-vcloud-vcenterprise";
+ }
+
+ protected void checkApiOutput(String apiOutput) {
+ checkApiOutput1_0_0(apiOutput);
+ }
+}
diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/resources/bluelock/vdc.xml b/providers/bluelock-vcloud-vcenterprise/src/test/resources/bluelock/vdc.xml
new file mode 100644
index 0000000000..0eb6c68bc9
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/test/resources/bluelock/vdc.xml
@@ -0,0 +1,265 @@
+
+
+
+
+
+ people in paradise
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/providers/bluelock-vcloud-vcenterprise/src/test/resources/log4j.xml b/providers/bluelock-vcloud-vcenterprise/src/test/resources/log4j.xml
new file mode 100644
index 0000000000..c1e74e57ff
--- /dev/null
+++ b/providers/bluelock-vcloud-vcenterprise/src/test/resources/log4j.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/providers/bluelock-vcloud-zone01/pom.xml b/providers/bluelock-vcloud-zone01/pom.xml
new file mode 100644
index 0000000000..ace6570bb2
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/pom.xml
@@ -0,0 +1,164 @@
+
+
+
+
+ 4.0.0
+
+ org.jclouds
+ jclouds-project
+ 1.0-SNAPSHOT
+ ../../project/pom.xml
+
+ org.jclouds.provider
+ bluelock-vcloud-zone01
+ jclouds Bluelock vCloud Zone01 provider
+ vCloud implementation targeted to Bluelock vCloud Zone01
+ bundle
+
+
+ https://zone01.bluelock.com/api
+ 1.0
+ FIXME_IDENTITY
+ FIXME_CREDENTIAL
+
+
+
+
+ org.jclouds.api
+ vcloud
+ ${project.version}
+
+
+ org.jclouds.common
+ vcloud-common
+ ${project.version}
+ test-jar
+ test
+
+
+ org.jclouds.api
+ vcloud
+ ${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.driver
+ jclouds-log4j
+ ${project.version}
+ test
+
+
+ org.jclouds.driver
+ jclouds-jsch
+ ${project.version}
+ test
+
+
+ com.jcraft
+ jsch
+ test
+
+
+ log4j
+ log4j
+ 1.2.16
+ test
+
+
+
+
+
+ live
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ integration
+ integration-test
+
+ test
+
+
+
+
+ test.bluelock-vcloud-zone01.endpoint
+ ${test.bluelock-vcloud-zone01.endpoint}
+
+
+ test.bluelock-vcloud-zone01.apiversion
+ ${test.bluelock-vcloud-zone01.apiversion}
+
+
+ test.bluelock-vcloud-zone01.identity
+ ${test.bluelock-vcloud-zone01.identity}
+
+
+ test.bluelock-vcloud-zone01.credential
+ ${test.bluelock-vcloud-zone01.credential}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+
+
+ ${project.artifactId}
+ org.jclouds.bluelock.vcloud.zone01.*;version="${project.version}"
+ org.jclouds.*;version="${project.version}",*
+
+
+
+
+
+
+
+
diff --git a/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ContextBuilder.java b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ContextBuilder.java
new file mode 100644
index 0000000000..0978531e40
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ContextBuilder.java
@@ -0,0 +1,61 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01;
+
+import java.util.List;
+import java.util.Properties;
+
+import org.jclouds.http.config.JavaUrlHttpCommandExecutorServiceModule;
+import org.jclouds.logging.jdk.config.JDKLoggingModule;
+import org.jclouds.vcloud.VCloudContextBuilder;
+import org.jclouds.bluelock.vcloud.zone01.config.BluelockVCloudZone01RestClientModule;
+import org.jclouds.vcloud.compute.config.VCloudComputeServiceContextModule;
+
+import com.google.inject.Injector;
+import com.google.inject.Module;
+
+/**
+ * Creates {@link BlueLockVCloudComputeServiceContext} or {@link Injector} instances based on the
+ * most commonly requested arguments.
+ *
+ * Note that Threadsafe objects will be bound as singletons to the Injector or Context provided.
+ *
+ *
+ * If no Module
s are specified, the default {@link JDKLoggingModule logging} and
+ * {@link JavaUrlHttpCommandExecutorServiceModule http transports} will be installed.
+ *
+ * @author Adrian Cole
+ */
+public class BluelockVCloudZone01ContextBuilder extends VCloudContextBuilder {
+
+ public BluelockVCloudZone01ContextBuilder(Properties props) {
+ super(props);
+ }
+
+ @Override
+ protected void addContextModule(List modules) {
+ modules.add(new VCloudComputeServiceContextModule());
+ }
+
+ @Override
+ protected void addClientModule(List modules) {
+ modules.add(new BluelockVCloudZone01RestClientModule());
+ }
+
+}
diff --git a/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01PropertiesBuilder.java b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01PropertiesBuilder.java
new file mode 100644
index 0000000000..779b1fdf85
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01PropertiesBuilder.java
@@ -0,0 +1,47 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01;
+
+import static org.jclouds.Constants.PROPERTY_ENDPOINT;
+import static org.jclouds.Constants.PROPERTY_ISO3166_CODES;
+import static org.jclouds.vcloud.reference.VCloudConstants.PROPERTY_VCLOUD_DEFAULT_NETWORK;
+
+import java.util.Properties;
+
+import org.jclouds.vcloud.VCloudPropertiesBuilder;
+
+/**
+ * Builds properties used in bluelock VCloud Clients
+ *
+ * @author Adrian Cole
+ */
+public class BluelockVCloudZone01PropertiesBuilder extends VCloudPropertiesBuilder {
+ @Override
+ protected Properties defaultProperties() {
+ Properties properties = super.defaultProperties();
+ properties.setProperty(PROPERTY_ISO3166_CODES, "US-IN");
+ properties.setProperty(PROPERTY_ENDPOINT, "https://zone01.bluelock.com/api");
+ properties.setProperty(PROPERTY_VCLOUD_DEFAULT_NETWORK, "internet01");
+ return properties;
+ }
+
+ public BluelockVCloudZone01PropertiesBuilder(Properties properties) {
+ super(properties);
+ }
+}
diff --git a/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderMetadata.java b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderMetadata.java
new file mode 100644
index 0000000000..d4199e5771
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderMetadata.java
@@ -0,0 +1,116 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01;
+
+import com.google.common.collect.ImmutableSet;
+
+import java.net.URI;
+import java.util.Set;
+
+import org.jclouds.providers.BaseProviderMetadata;
+import org.jclouds.providers.ProviderMetadata;
+
+/**
+ * Implementation of {@link org.jclouds.types.ProviderMetadata} for Bluelock vCloud Zone 1.
+ *
+ * @author Adrian Cole
+ */
+public class BluelockVCloudZone01ProviderMetadata extends BaseProviderMetadata {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getId() {
+ return "bluelock-vcloud-zone01";
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getType() {
+ return ProviderMetadata.COMPUTE_TYPE;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getName() {
+ return "Bluelock vCloud Zone 1";
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getIdentityName() {
+ return "User at Organization (user@org)";
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getCredentialName() {
+ return "Password";
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public URI getHomepage() {
+ return URI.create("http://www.bluelock.com/bluelock-cloud-hosting");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public URI getConsole() {
+ return URI.create("https://zone01.bluelock.com/cloud/");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public URI getApiDocumentation() {
+ return URI.create("http://www.vmware.com/support/pubs/vcd_pubs.html");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Set getLinkedServices() {
+ return ImmutableSet.of("bluelock-vcloud-zone01");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Set getIso3166Codes() {
+ return ImmutableSet.of("US-IN");
+ }
+
+}
diff --git a/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/config/BluelockVCloudZone01RestClientModule.java b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/config/BluelockVCloudZone01RestClientModule.java
new file mode 100644
index 0000000000..61ef8a6834
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/config/BluelockVCloudZone01RestClientModule.java
@@ -0,0 +1,34 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01.config;
+
+import org.jclouds.http.RequiresHttp;
+import org.jclouds.rest.ConfiguresRestClient;
+import org.jclouds.vcloud.config.VCloudRestClientModule;
+
+/**
+ * Configures the VCloud authentication service connection, including logging and http transport.
+ *
+ * @author Adrian Cole
+ */
+@RequiresHttp
+@ConfiguresRestClient
+public class BluelockVCloudZone01RestClientModule extends VCloudRestClientModule {
+
+}
diff --git a/providers/bluelock-vcloud-zone01/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/bluelock-vcloud-zone01/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
new file mode 100644
index 0000000000..6f51746574
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
@@ -0,0 +1 @@
+org.jclouds.bluelock.vcloud.zone01.BluelockVCloudZone01ProviderMetadata
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderTest.java
new file mode 100644
index 0000000000..66d61697de
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01;
+
+import org.jclouds.providers.BaseProviderMetadataTest;
+import org.jclouds.providers.ProviderMetadata;
+import org.testng.annotations.Test;
+
+/**
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "unit", testName = "BluelockVCloudZone01ProviderTest")
+public class BluelockVCloudZone01ProviderTest extends BaseProviderMetadataTest {
+
+ public BluelockVCloudZone01ProviderTest() {
+ super(new BluelockVCloudZone01ProviderMetadata(), ProviderMetadata.COMPUTE_TYPE);
+ }
+}
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/DeprecatedBluelockVCloudZone01ClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/DeprecatedBluelockVCloudZone01ClientLiveTest.java
new file mode 100644
index 0000000000..7036553d6e
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/DeprecatedBluelockVCloudZone01ClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01;
+
+import org.jclouds.vcloud.DeprecatedVCloudClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ * @author Adrian Cole
+ */
+@Deprecated
+@Test(groups = "live", singleThreaded = true, testName = "DeprecatedBluelockVCloudZone01ClientLiveTest")
+public class DeprecatedBluelockVCloudZone01ClientLiveTest extends DeprecatedVCloudClientLiveTest {
+ public DeprecatedBluelockVCloudZone01ClientLiveTest() {
+ provider = "bluelock-vcloud-zone01";
+ }
+
+}
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01ComputeServiceLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01ComputeServiceLiveTest.java
new file mode 100644
index 0000000000..edc603e0dd
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01ComputeServiceLiveTest.java
@@ -0,0 +1,70 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01.compute;
+
+import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
+import static org.testng.Assert.assertEquals;
+
+import org.jclouds.compute.domain.Image;
+import org.jclouds.compute.domain.OsFamily;
+import org.jclouds.compute.domain.Template;
+import org.jclouds.compute.domain.TemplateBuilder;
+import org.jclouds.compute.predicates.OperatingSystemPredicates;
+import org.jclouds.vcloud.compute.VCloudComputeServiceLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01ComputeServiceLiveTest")
+public class BluelockVCloudZone01ComputeServiceLiveTest extends VCloudComputeServiceLiveTest {
+ public BluelockVCloudZone01ComputeServiceLiveTest() {
+ provider = "bluelock-vcloud-zone01";
+ // vcloud requires instantiate before deploy, which takes longer than 30 seconds
+ nonBlockDurationSeconds = 300;
+ }
+
+ @Override
+ public void setServiceDefaults() {
+ group = "director";
+ }
+
+ @Test
+ public void testTemplateBuilder() {
+ Template defaultTemplate = client.templateBuilder().build();
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
+ assert OperatingSystemPredicates.supportsApt().apply(defaultTemplate.getImage().getOperatingSystem());
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().getDescription(), "Ubuntu Linux (64-bit)");
+ assert defaultTemplate.getLocation().getId() != null : defaultTemplate.getLocation();
+ assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
+ System.out.println(defaultTemplate.getHardware());
+ }
+
+ @Override
+ protected Template buildTemplate(TemplateBuilder templateBuilder) {
+ Template template = super.buildTemplate(templateBuilder);
+ Image image = template.getImage();
+ assert image.getDefaultCredentials().credential != null : image;
+ return template;
+ }
+
+}
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01TemplateBuilderLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01TemplateBuilderLiveTest.java
new file mode 100644
index 0000000000..f78f24b232
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01TemplateBuilderLiveTest.java
@@ -0,0 +1,77 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01.compute;
+
+import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
+import static org.testng.Assert.assertEquals;
+
+import java.io.IOException;
+import java.util.Set;
+
+import org.jclouds.compute.BaseTemplateBuilderLiveTest;
+import org.jclouds.compute.domain.OsFamily;
+import org.jclouds.compute.domain.OsFamilyVersion64Bit;
+import org.jclouds.compute.domain.Template;
+import org.testng.annotations.Test;
+
+import com.google.common.base.Predicate;
+import com.google.common.collect.ImmutableSet;
+
+/**
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", testName = "BluelockVCloudZone01TemplateBuilderLiveTest")
+public class BluelockVCloudZone01TemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
+
+ public BluelockVCloudZone01TemplateBuilderLiveTest() {
+ provider = "bluelock-vcloud-zone01";
+ }
+
+ @Override
+ protected Predicate defineUnsupportedOperatingSystems() {
+ return new Predicate() {
+
+ @Override
+ public boolean apply(OsFamilyVersion64Bit input) {
+ switch (input.family) {
+ case UBUNTU:
+ return !input.version.equals("") || !input.is64Bit;
+ default:
+ return true;
+ }
+ }
+
+ };
+ }
+
+ @Override
+ public void testDefaultTemplateBuilder() throws IOException {
+ Template defaultTemplate = context.getComputeService().templateBuilder().build();
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "");
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
+ assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
+ assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
+ }
+
+ @Override
+ protected Set getIso3166Codes() {
+ return ImmutableSet. of("US-IN");
+ }
+}
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01CatalogClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01CatalogClientLiveTest.java
new file mode 100644
index 0000000000..16e6a7af01
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01CatalogClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01.features;
+
+import org.jclouds.vcloud.features.CatalogClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01CatalogClientLiveTest")
+public class BluelockVCloudZone01CatalogClientLiveTest extends CatalogClientLiveTest {
+
+ public BluelockVCloudZone01CatalogClientLiveTest() {
+ provider = "bluelock-vcloud-zone01";
+ }
+}
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01NetworkClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01NetworkClientLiveTest.java
new file mode 100644
index 0000000000..1c1cc78e54
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01NetworkClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01.features;
+
+import org.jclouds.vcloud.features.NetworkClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01NetworkClientLiveTest")
+public class BluelockVCloudZone01NetworkClientLiveTest extends NetworkClientLiveTest {
+
+ public BluelockVCloudZone01NetworkClientLiveTest() {
+ provider = "bluelock-vcloud-zone01";
+ }
+}
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01OrgClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01OrgClientLiveTest.java
new file mode 100644
index 0000000000..286ca58611
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01OrgClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01.features;
+
+import org.jclouds.vcloud.features.OrgClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01OrgClientLiveTest")
+public class BluelockVCloudZone01OrgClientLiveTest extends OrgClientLiveTest {
+
+ public BluelockVCloudZone01OrgClientLiveTest() {
+ provider = "bluelock-vcloud-zone01";
+ }
+}
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01TaskClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01TaskClientLiveTest.java
new file mode 100644
index 0000000000..82d857ad58
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01TaskClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01.features;
+
+import org.jclouds.vcloud.features.TaskClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01TaskClientLiveTest")
+public class BluelockVCloudZone01TaskClientLiveTest extends TaskClientLiveTest {
+
+ public BluelockVCloudZone01TaskClientLiveTest() {
+ provider = "bluelock-vcloud-zone01";
+ }
+}
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppClientLiveTest.java
new file mode 100644
index 0000000000..d8744391c1
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01.features;
+
+import org.jclouds.vcloud.features.VAppClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01VAppClientLiveTest")
+public class BluelockVCloudZone01VAppClientLiveTest extends VAppClientLiveTest {
+
+ public BluelockVCloudZone01VAppClientLiveTest() {
+ provider = "bluelock-vcloud-zone01";
+ }
+}
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppTemplateClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppTemplateClientLiveTest.java
new file mode 100644
index 0000000000..b72b97d814
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppTemplateClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01.features;
+
+import org.jclouds.vcloud.features.VAppTemplateClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01VAppTemplateClientLiveTest")
+public class BluelockVCloudZone01VAppTemplateClientLiveTest extends VAppTemplateClientLiveTest {
+
+ public BluelockVCloudZone01VAppTemplateClientLiveTest() {
+ provider = "bluelock-vcloud-zone01";
+ }
+}
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VDCClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VDCClientLiveTest.java
new file mode 100644
index 0000000000..5b09a5d13f
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VDCClientLiveTest.java
@@ -0,0 +1,35 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01.features;
+
+import org.jclouds.vcloud.features.VDCClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01VDCClientLiveTest")
+public class BluelockVCloudZone01VDCClientLiveTest extends VDCClientLiveTest {
+
+ public BluelockVCloudZone01VDCClientLiveTest() {
+ provider = "bluelock-vcloud-zone01";
+ }
+}
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VmClientLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VmClientLiveTest.java
new file mode 100644
index 0000000000..52276b3f50
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VmClientLiveTest.java
@@ -0,0 +1,39 @@
+/**
+ *
+ * Copyright (C) 2011 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.bluelock.vcloud.zone01.features;
+
+import org.jclouds.vcloud.features.VmClientLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ *
+ *
+ * @author Adrian Cole
+ */
+@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01VmClientLiveTest")
+public class BluelockVCloudZone01VmClientLiveTest extends VmClientLiveTest {
+
+ public BluelockVCloudZone01VmClientLiveTest() {
+ provider = "bluelock-vcloud-zone01";
+ }
+
+ protected void checkApiOutput(String apiOutput) {
+ checkApiOutput1_0_0(apiOutput);
+ }
+}
diff --git a/providers/bluelock-vcloud-zone01/src/test/resources/bluelock/vdc.xml b/providers/bluelock-vcloud-zone01/src/test/resources/bluelock/vdc.xml
new file mode 100644
index 0000000000..0eb6c68bc9
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/test/resources/bluelock/vdc.xml
@@ -0,0 +1,265 @@
+
+
+
+
+
+ people in paradise
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/providers/bluelock-vcloud-zone01/src/test/resources/log4j.xml b/providers/bluelock-vcloud-zone01/src/test/resources/log4j.xml
new file mode 100644
index 0000000000..c1e74e57ff
--- /dev/null
+++ b/providers/bluelock-vcloud-zone01/src/test/resources/log4j.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/providers/pom.xml b/providers/pom.xml
index 59bb182b5f..3b29719485 100644
--- a/providers/pom.xml
+++ b/providers/pom.xml
@@ -54,6 +54,8 @@
cloudfiles-uk
cloudloadbalancers-us
bluelock-vcdirector
+ bluelock-vcloud-vcenterprise
+ bluelock-vcloud-zone01
trmk-ecloud
trmk-vcloudexpress
elastichosts-lon-p